/* Copyright © 2026 ORCNEIT. All rights reserved. Proprietary and confidential. */
.personnel-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:24px; }
.personnel-heading h1 { margin:0; font-size:clamp(26px,2.6vw,36px); line-height:1.2; letter-spacing:-.045em; overflow-wrap:anywhere; }
.personnel-heading h1:focus { outline:none; }
.personnel-number { margin:0 0 8px; color:var(--hr-muted,#666); font-size:12px; overflow-wrap:anywhere; }
.personnel-nav { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 24px; }
.personnel-nav a { padding:11px 16px; background:var(--hr-paper,#fff); border-radius:8px; font-size:12px; }
.personnel-nav a[aria-current] { background:var(--hr-ink,#151515); color:#fff; }
.personnel-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.personnel-template { min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:32px; padding:28px; min-height:170px; border-radius:var(--hr-radius,12px); background:var(--hr-paper,#fff); }
.personnel-template :is(h2,h3) { margin:0; max-width:24ch; overflow-wrap:anywhere; font-size:20px; }
.personnel-template-search { margin-bottom:28px; max-width:680px; }
.personnel-template-group { margin-bottom:32px; }
.personnel-template-group>h2 { font-size:16px; margin:0 0 16px; }
.personnel-template[hidden],.personnel-template-group[hidden],.personnel-empty[hidden] { display:none; }
.personnel-template span { color:var(--hr-muted,#666); font-size:12px; }
.personnel-template:hover { background:#e9e9e9; }
.personnel-section { min-width:0; margin:0 0 20px; padding:26px; background:var(--hr-paper,#fff); border-radius:var(--hr-radius,12px); }
.personnel-section h2 { margin:0 0 24px; }
.personnel-list { display:grid; gap:14px; min-width:0; }
.personnel-list-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,220px) auto; gap:20px; align-items:center; min-width:0; padding:24px; background:var(--hr-paper,#fff); border-radius:var(--hr-radius,12px); }
.personnel-list-item h2 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.personnel-list-item:hover { background:#e9e9e9; }
.personnel-meta { margin:8px 0 0; color:var(--hr-muted,#666); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.personnel-state { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.personnel-empty { margin:0; padding:30px; border-radius:var(--hr-radius,12px); background:var(--hr-paper,#fff); color:var(--hr-muted,#666); font-size:14px; }
.personnel-form { display:grid; gap:24px; min-width:0; }
.personnel-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.personnel-field { display:grid; gap:10px; min-width:0; }
.personnel-field:has(textarea),.personnel-periods { grid-column:1/-1; }
.personnel-field label,.personnel-periods legend { color:var(--hr-muted,#666); font-size:12px; }
.personnel-field :is(input,textarea,select) { min-width:0; max-width:100%; width:100%; }
.personnel-field textarea { resize:vertical; min-height:110px; }
.personnel-field[hidden] { display:none; }
.personnel-field input[type=file] { padding:12px; }
.personnel-field input::file-selector-button { font:inherit; margin-right:12px; border:0; background:#eee; color:#111; padding:8px; border-radius:4px; }
.personnel-periods { border:1px solid var(--hr-line,#ddd); padding:20px; border-radius:8px; min-width:0; margin:0; }
.personnel-periods legend { padding:0 6px; }
.personnel-certificates { grid-column:1/-1; min-width:0; border:0; margin:0; padding:0; }
.personnel-certificates legend { font-size:16px; font-weight:600; margin-bottom:16px; padding:0; }
.personnel-certificate-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.personnel-certificate { min-width:0; border:1px solid #ddd; border-radius:8px; padding:18px; align-self:start; }
.personnel-certificate.is-selected { border-color:#171717; }
.personnel-certificate-choice { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; cursor:pointer; color:#171717; }
.personnel-certificate-choice input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#171717; }
.personnel-certificate-details { display:grid; grid-template-columns:minmax(70px,.65fr) minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:18px; }
.personnel-certificate-details[hidden] { display:none; }
.personnel-period-list { display:grid; gap:20px; margin-bottom:18px; }
.personnel-period { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:12px; align-items:end; }
.personnel-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0; }
.personnel-summary :is(dt,dd) { overflow-wrap:anywhere; }
.personnel-printable { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:14px; line-height:1.8; margin:0; }
.personnel-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.personnel-bottom-actions { margin:26px 0; }
.personnel-field[hidden] { display:none; }
.personnel-attachment-form { display:flex; align-items:end; flex-wrap:wrap; gap:16px; margin-top:20px; }
.personnel-attachment-form .personnel-field { flex:1 1 260px; min-width:0; }
.personnel-attachment-form input { max-width:100%; }
.personnel-new-attachment { min-width:0; padding:20px 0 0; margin:0; border:0; border-top:1px solid var(--hr-line,#ddd); }
.personnel-new-attachment legend { padding:0 0 12px; font-size:16px; font-weight:600; }
.personnel-new-attachment input { max-width:100%; }
.personnel-pending-attachment { margin-top:18px; padding:18px; border:1px solid var(--hr-line,#ddd); border-radius:8px; overflow-wrap:anywhere; }
.personnel-pending-attachment .actions { margin-top:14px; }
.personnel-pager { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:24px; font-size:12px; }
.personnel-blocked { display:grid; justify-items:start; gap:9px; margin-top:18px; }
.personnel-blocked p { margin:0; font-size:12px; color:var(--hr-muted,#666); max-width:65ch; }
.personnel-file { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding:20px 0; border-bottom:1px solid var(--hr-line,#ddd); min-width:0; }
.personnel-file:first-of-type { padding-top:0; }
.personnel-file:last-of-type { border-bottom:0; }
.personnel-file>div { min-width:0; flex:1 1 200px; overflow-wrap:anywhere; }
.personnel-history { display:grid; gap:22px; list-style:none; margin:0; padding:0; }
.personnel-history li { display:grid; gap:6px; min-width:0; }
.personnel-history p { margin:0; }
.personnel-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100svh - 48px); overflow:auto; padding:28px; border:1px solid #bbb; border-radius:14px; color:#171717; background:#fff; }
.personnel-dialog::backdrop { background:rgb(0 0 0 / .4); }
.personnel-dialog h2 { margin:0; font-size:24px; }
.personnel-dialog .actions { flex-wrap:wrap; }
.personnel-dialog .message { margin:0; }
:is(.personnel-section,.personnel-dialog,.personnel-template,.personnel-nav,.personnel-list,.personnel-heading) :is(a,button),a.personnel-template,a.personnel-list-item { font-weight:600; text-decoration:none; }
:is(.personnel-section,.personnel-dialog,.personnel-template,.personnel-nav,.personnel-list,.personnel-heading) :is(a:hover,a:visited),a.personnel-template:hover,a.personnel-list-item:hover { text-decoration:none; }
@media(max-width:1100px) { .personnel-template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .personnel-list-item { grid-template-columns:minmax(0,1fr) minmax(120px,200px); } .personnel-list-item time { grid-column:1/-1; } }
@media(max-width:1000px) { .personnel-certificate-list { grid-template-columns:minmax(0,1fr); } }
@media(max-width:480px) { .personnel-certificate-details { grid-template-columns:minmax(0,1fr); } }
@media(max-width:680px) { .personnel-template-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .personnel-template { padding:22px; min-height:140px; } .personnel-section { padding:22px; } .personnel-form-grid,.personnel-summary { grid-template-columns:minmax(0,1fr); } .personnel-list-item { grid-template-columns:minmax(0,1fr); gap:10px; padding:22px; } .personnel-list-item time { grid-column:auto; } .personnel-period { grid-template-columns:minmax(0,1fr); } .personnel-periods { padding:14px; } .personnel-dialog { padding:22px; } .personnel-nav a { flex:1 1 120px; } .personnel-heading .actions { width:100%; } }
