/* Sokna Core — canonical manager components. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 15px;border:1px solid transparent;border-radius:12px;background:var(--primary);color:#fff;text-decoration:none;font-weight:900;font-size:.76rem;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-shadow:none;}.btn:hover{transform:none;}.btn-primary{background:linear-gradient(180deg,var(--sokna-primary),var(--sokna-primary-strong));color:#fff;border-color:var(--sokna-primary-strong);box-shadow:0 6px 16px rgba(47,98,104,.14);}.btn-secondary{background:var(--sokna-surface-raised);color:#314649;border-color:var(--line);border:1px solid var(--sokna-line-strong);box-shadow:0 1px 0 rgba(255,255,255,.7);}.btn-danger{background:var(--danger);border-color:var(--danger);}.btn-warning{background:var(--warning)}.btn-tertiary{background:transparent;color:var(--primary);border-color:transparent;box-shadow:none;}.btn-tertiary:hover{background:var(--sokna-primary-soft);color:var(--sokna-primary-strong);transform:none;}.btn-sm{min-height:44px;padding:7px 11px;font-size:.72rem;padding-inline:12px;}.icon-btn{width:44px;height:44px;padding:0;min-width:44px;}.btn .ui-icon{width:18px;height:18px}.card{background:var(--sokna-surface);border:1px solid rgba(151,139,124,.24);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);overflow:hidden;}.card+.card{margin-top:16px;}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid rgba(151,139,124,.16);background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));}.card-head h2,.card-head h3{margin:0;font-size:1rem;letter-spacing:-.015em;}.card-head p{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.8;}.card-body{padding:18px;}.page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.copy-stack strong{display:block;font-size:1rem;letter-spacing:-.01em;}.copy-stack small{display:block;margin-top:3px;color:var(--muted);line-height:1.75;font-size:.72rem;}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.form-group{display:grid;gap:6px;align-content:start;}.form-group.full{grid-column:1/-1}.form-label{font-size:.73rem;font-weight:800;color:#384749;margin:0;}.form-control{width:100%;min-height:var(--control-height);padding:10px 13px;border:1px solid var(--sokna-line);border-radius:var(--control-radius);background:#fffefa;color:var(--ink);outline:none;transition:border-color .16s,box-shadow .16s;line-height:1.45;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font-weight:650;}.form-control:hover:not(:disabled){border-color:var(--sokna-line-strong);}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,98,104,.12);}textarea.form-control{min-height:104px;resize:vertical;}.field-error{color:var(--danger);font-size:.7rem;font-weight:750}.form-group small{color:var(--muted);line-height:1.65}.form-check{display:flex;align-items:center;gap:8px;min-height:44px}.form-check input{width:20px;height:20px;accent-color:var(--primary)}.panel-action-bar{display:flex;justify-content:flex-start;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(151,139,124,.17);}[dir=rtl] .panel-action-bar .btn-primary,[dir=rtl] .modal-actions .btn-primary{order:-1}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:12px 14px;text-align:right;border-bottom:1px solid #eee9e2;font-size:.74rem}.data-table th{background:#f7f4ee;color:#596462;font-size:.67rem}.data-table tr:last-child td{border-bottom:0}.data-table a{text-decoration:none;font-weight:850;color:var(--primary)}.panel-list{display:grid;gap:8px;}.panel-list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(151,139,124,.18);border-radius:13px;background:#fffdf9;text-decoration:none;}.panel-list-primary strong{display:block;font-size:.78rem;}.panel-list-primary small{display:block;margin-top:4px;color:var(--muted);font-size:.65rem;}.panel-list-value{text-align:left;font-weight:900}.badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 8px;border-radius:999px;background:#edf3f4;color:var(--primary);font-size:.62rem;font-weight:900;}.status-paid{background:var(--sokna-success-soft);color:#246149;}.status-partial{background:var(--sokna-warning-soft);color:#805514;}.status-unpaid,.status-overdue{background:var(--sokna-danger-soft);color:#913d34;}.status-draft{background:#edf0ef;color:#596563;}.status-open{background:var(--sokna-primary-soft);color:var(--primary);}.empty-state{padding:24px 18px;text-align:center;color:var(--muted);}.empty-state.is-compact{padding:22px 16px}.empty-state strong{display:block;color:var(--ink);font-size:.9rem;margin-bottom:5px;}.empty-state span{font-size:.71rem;line-height:1.8;}.empty-state .btn{margin-top:14px}.flash-stack{display:grid;gap:8px;margin-bottom:14px}.flash{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:.74rem;font-weight:750;box-shadow:0 4px 16px rgba(32,41,42,.04);}.flash-success{border-color:#b9dacb;background:#edf8f3}.flash-warning{border-color:#ebd2a8;background:#fff7e8}.flash-danger{border-color:#e2b6b0;background:#fff0ee}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.detail-item{padding:11px 12px;border:0;border-radius:12px;background:var(--sokna-surface-muted);}.detail-item small{display:block;color:var(--muted);font-size:.61rem;}.detail-item strong{display:block;margin-top:5px;font-size:.78rem;}.section-stack{display:grid;gap:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.section-title h2{margin:0;font-size:.94rem}.notice{padding:12px 14px;border-radius:13px;background:#f5f1eb;border:1px solid var(--line);font-size:.72rem;line-height:1.8}.notice-warning{background:#fff6e7;border-color:#ead0a0}.notice-danger{background:#fff0ee;border-color:#dfb4ae}.money{font-weight:950;direction:rtl;unicode-bidi:isolate;display:inline-block}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;margin-bottom:14px}.pagination{display:flex;gap:6px;margin-top:12px}.surface-block{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fffdf9;border-color:rgba(151,139,124,.20);}.code-box{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f3f0;border:1px solid var(--line);padding:12px;border-radius:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.box{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}

/* Dialog owner */
.panel-overlay-open,body.has-panel-dialog{overflow:hidden}.modal-layer{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:rgba(19,26,28,.48);backdrop-filter:blur(4px);}.modal-layer.hidden{display:none!important}.modal{width:min(580px,100%);max-height:min(88dvh,780px);overflow:auto;background:var(--sokna-surface);border:1px solid rgba(151,139,124,.22);border-radius:22px;box-shadow:var(--elevation-2);}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--sokna-surface));border-bottom-color:rgba(151,139,124,.15);}.modal-head h2{margin:0;font-size:1.02rem;}.modal-body{padding:18px;}.modal-actions{display:flex;gap:8px;justify-content:flex-start;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--sokna-surface-muted);border-top-color:rgba(151,139,124,.15);}.confirm-modal{width:min(480px,100%)}.confirm-message{margin:0;line-height:2}.error-state-card{max-width:760px;margin-inline:auto}.error-state{display:grid;justify-items:start;gap:10px;padding:28px}.error-state h2{margin:4px 0 0}.error-state p{margin:0;color:var(--muted);line-height:2}.error-state-actions{width:100%}

/* Personnel */
.employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.employee-card{display:grid;gap:12px;padding:15px;border:1px solid rgba(151,139,124,.20);border-radius:15px;background:#fffdf9;text-decoration:none;box-shadow:none;transition:border-color .15s,transform .15s;}.employee-card:hover,.employee-card:focus-visible{border-color:rgba(47,98,104,.30);transform:translateY(-1px);background:#fff;box-shadow:0 8px 22px rgba(32,49,52,.055);}.employee-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.employee-card-title strong{display:block;font-size:.9rem;}.employee-card-title small{display:none}.employee-card-meta{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.68rem;}.employee-card-meta>span:not(.muted){padding:4px 8px;border-radius:999px;background:var(--sokna-surface-muted);color:#4b5655;}.employee-filters{align-items:end}

/* Directory: account ↔ employee relationship is explicit and never shows DB identifiers. */
.status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:16px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#f6f3ed}.status-tabs a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border-radius:12px;text-decoration:none;color:var(--muted);font-weight:800;font-size:.74rem}.status-tabs a b{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#ebe8e2;color:#59615f}.status-tabs a.is-active{background:#fff;color:var(--primary);box-shadow:0 2px 10px rgba(37,50,52,.08)}.status-tabs a.is-active b{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary)}.directory-list{gap:12px}.directory-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none}.directory-card.is-linked{color:inherit}.directory-card-copy{min-width:0;display:grid;gap:4px}.directory-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.directory-card-copy strong{font-size:.9rem}.directory-card-copy small{color:var(--muted);font-size:.72rem}.identity-hint{margin-top:3px;color:var(--info);font-size:.7rem;line-height:1.75}.directory-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.directory-card-actions form{margin:0}.connection-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#e9f4ef;color:#246149;font-size:.7rem;font-weight:850;white-space:nowrap}.connection-pill .ui-icon{width:16px;height:16px}

/* Money entry */
.money-input{position:relative;display:block;align-items:center;}.money-input .form-control{padding-left:72px;padding-right:13px;text-align:right;direction:rtl;font-weight:800;font-variant-numeric:tabular-nums;padding-inline-end:13px;padding-inline-start:66px;background:#fffefa;}.money-input>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.66rem;font-weight:800;pointer-events:none;white-space:nowrap;background:#fff;padding-right:6px;inset-inline-end:auto;inset-inline-start:13px;}

/* Audit: human first, technical details optional. */
.audit-list{display:grid}.audit-entry{padding:16px 18px;border-bottom:1px solid var(--line)}.audit-entry:last-child{border-bottom:0}.audit-entry-head{display:flex;justify-content:space-between;gap:10px}.audit-entry-title{display:grid;gap:4px}.audit-entry-title small,.audit-entry-meta{color:var(--muted);font-size:.7rem}.audit-entry-meta{margin-top:8px}.audit-detail-grid,.audit-technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.audit-detail,.audit-technical-grid>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:#faf9f6}.audit-detail small,.audit-technical-grid small{display:block;color:var(--muted);font-size:.65rem}.audit-detail strong{display:block;margin-top:4px;font-size:.75rem}.audit-technical{margin-top:10px}.audit-technical summary{cursor:pointer;color:var(--muted);font-size:.7rem;font-weight:800}.audit-technical code{font-size:.68rem;overflow-wrap:anywhere}.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}

/* Payroll compact workflow */
.payment-more{border:1px solid var(--line);border-radius:13px;background:var(--sokna-surface-muted);border-color:rgba(151,139,124,.20);}.payment-more summary{cursor:pointer;padding:12px 14px;font-weight:800}.payment-more-body{padding:0 14px 14px}

/* Jalali date picker — centered dialog, RTL actions, swipe-ready month surface. */
.jalali-date-control{position:relative;display:flex;align-items:center}.jalali-date-control .form-control{padding-inline-end:54px}.jalali-date-button{position:absolute;inset-inline-end:2px;top:2px;width:44px;height:44px;border:0;border-radius:11px;background:var(--sokna-primary-soft);color:var(--primary);display:grid;place-items:center;}.jalali-picker-layer{padding:14px}.jalali-picker-dialog{width:min(390px,calc(100vw - 24px));max-height:min(88dvh,720px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:14px;background:#fff;color:var(--ink);box-shadow:0 25px 70px rgba(20,27,30,.28)}.jalali-picker-dialog header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}.jalali-picker-dialog header strong{text-align:center;font-size:1.02rem}.jalali-picker-dialog header button{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;font:800 1.35rem var(--font-ui)}.jalali-weekdays,.jalali-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.jalali-weekdays{margin:13px 0 6px;color:var(--muted);font-size:.72rem;text-align:center}.jalali-days{touch-action:pan-y;transition:opacity .14s,transform .14s;grid-template-rows:repeat(6,minmax(40px,1fr));height:270px}.jalali-days.slide-next{transform:translateX(-10px);opacity:.55}.jalali-days.slide-prev{transform:translateX(10px);opacity:.55}.jalali-days button,.jalali-days .is-empty{min-width:0;min-height:40px;height:40px}.jalali-days button{border:0;border-radius:11px;background:transparent;color:var(--ink);font:700 .83rem var(--font-ui)}.jalali-days button:hover{background:var(--surface-soft)}.jalali-days button.is-today{outline:1px solid color-mix(in srgb,var(--primary) 48%,var(--line))}.jalali-days button.is-selected{background:var(--primary);color:#fff;outline:0}.jalali-picker-dialog footer{display:flex;justify-content:space-between;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);direction:rtl}

/* Semantic select owner: source select stays form truth. */
.panel-choice-source{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}.panel-choice-trigger,.panel-choice-option,.panel-choice-close,.panel-choice-backdrop{-webkit-tap-highlight-color:transparent}.panel-choice-trigger{position:relative;display:flex!important;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;text-align:start;cursor:pointer;color:var(--text);background:#fff;font-weight:700;justify-content:space-between;padding-inline:13px 14px;}.panel-choice-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-choice-trigger>i{width:9px;height:9px;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor!important;transform:rotate(45deg)!important;justify-self:center;opacity:.72;flex:0 0 auto;border:0!important;border-right:2px solid currentColor!important;margin:0!important;}.panel-choice-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.panel-choice-layer{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:18px}.panel-choice-layer.hidden{display:none!important}.panel-choice-backdrop{position:absolute;inset:0;background:rgba(24,29,31,.52)}.panel-choice-sheet{position:relative;z-index:1;width:min(460px,calc(100vw - 28px));max-height:min(78dvh,720px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--elevation-2);overflow:hidden;transition:transform .18s ease}.panel-choice-grip{display:none;width:44px;height:5px;border-radius:99px;background:#d4cec7;margin:9px auto 0;touch-action:none}.panel-choice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid rgba(151,139,124,.15)}.panel-choice-head small{display:block;color:var(--muted);font-size:.68rem}.panel-choice-head h2{margin:3px 0 0;font-size:1.08rem}.panel-choice-search{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--sokna-surface-muted)}.panel-choice-search.hidden{display:none!important}.panel-choice-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);font-size:1.45rem}.panel-choice-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px}.panel-choice-group{padding:10px 12px 5px;color:var(--muted);font-size:.7rem;font-weight:800}.panel-choice-option{width:100%;min-height:50px;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);text-align:start;font:inherit;}.panel-choice-option>span{min-width:0;overflow-wrap:anywhere}.panel-choice-option>i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-style:normal;opacity:0}.panel-choice-option.is-selected{border-color:rgba(47,98,104,.23);background:var(--sokna-primary-soft);}.panel-choice-option.is-selected>i{opacity:1}.panel-choice-option[hidden],.panel-choice-group[hidden]{display:none!important}


:where(.btn,.form-control,.panel-choice-trigger,.jalali-date-button,.side-nav a,.panel-list-card,.employee-card,.directory-card,a):focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px;box-shadow:none}
html[data-input-modality=pointer] .panel-choice-layer button:focus-visible,html[data-input-modality=pointer] .jalali-picker-layer button:focus-visible{outline:none;box-shadow:none}

@media(max-width:720px){.form-grid{grid-template-columns:1fr}.page-grid,.employee-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters .form-control:first-of-type{grid-column:1/-1}.status-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.status-tabs a{padding-inline:6px;font-size:.66rem}.status-tabs a b{min-width:22px;height:22px}.directory-card{align-items:center;flex-direction:row}.directory-card-actions{display:flex}.directory-card-actions .btn{width:auto}.directory-card-actions form{grid-column:auto}.directory-card-actions form .btn{width:auto}.audit-detail-grid,.audit-technical-grid,.audit-filters{grid-template-columns:1fr}.panel-choice-layer.mode-browse{place-items:end center;padding:0}.panel-choice-layer.mode-browse .panel-choice-sheet{width:100%;max-height:min(78dvh,700px);border-radius:24px 24px 0 0;border-inline:0;border-bottom:0}.panel-choice-layer.mode-browse .panel-choice-grip{display:block}.panel-choice-layer.mode-compact{place-items:center;padding:14px}.modal-layer{padding:10px}.modal{max-height:92dvh}.modal-actions .btn{flex:1}.toolbar{align-items:flex-start}.toolbar-actions{flex:none}}
@media(max-width:420px){.directory-card-actions{display:flex;margin-inline-start:auto}.directory-card-actions form{grid-column:auto}.filters{grid-template-columns:1fr}.filters .form-control:first-of-type{grid-column:auto}}

/* Legacy refinements retained only where still used. */
.field-static{min-height:48px;display:grid;align-content:center;gap:2px;padding:9px 13px;border:1.5px solid var(--line);border-radius:13px;background:var(--surface-soft)}.field-static strong{font-size:.8rem}.field-static small{font-size:.66rem;color:var(--muted)}
.settings-advanced{width:100%;border:1px solid var(--line);border-radius:14px;background:#f8f7f4;overflow:hidden}.settings-advanced>summary{min-height:46px;display:flex;align-items:center;padding:10px 13px;cursor:pointer;font-weight:850;color:var(--primary)}.settings-advanced-body{padding:14px;border-top:1px solid var(--line);background:#fff}.settings-advanced-card{overflow:hidden}.settings-advanced-card-summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer;list-style:none}.settings-advanced-card-summary::-webkit-details-marker{display:none}.settings-advanced-card-summary span{display:grid;gap:3px}.settings-advanced-card-summary small{color:var(--muted);font-size:.68rem;font-weight:650}.settings-advanced-card-summary .ui-icon{transition:transform .16s}.settings-advanced-card[open] .settings-advanced-card-summary .ui-icon{transform:rotate(-90deg)}
.reminder-value{display:grid;justify-items:end;gap:6px;flex:none}
@media(max-width:720px){.reminder-value{justify-items:start}.panel-list-card{align-items:flex-start}.settings-advanced-card-summary{min-height:58px}}

/* Core 2.1 connection and advanced-details contract */
.card-title-with-icon{display:flex;align-items:center;gap:12px;}.card-title-with-icon .card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--surface-soft);color:var(--primary);flex:0 0 auto}.card-title-with-icon .card-icon .ui-icon{width:21px;height:21px}.connection-last-paired{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--muted);font-size:.93rem}.connection-last-paired .ui-icon{width:18px;height:18px;color:var(--success)}.pairing-key-panel{padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--sokna-surface-muted);margin-bottom:14px}.pairing-key-panel>p{margin:6px 0 12px;color:var(--muted);line-height:1.8}.advanced-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--sokna-surface);overflow:hidden;border-color:rgba(151,139,124,.18);}.advanced-details>summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:12px 14px;cursor:pointer;font-weight:800;color:var(--text);list-style:none;font-size:.74rem;}.advanced-details>summary::-webkit-details-marker{display:none}.advanced-details>summary .ui-icon{width:18px;height:18px;color:var(--primary)}.advanced-details[open]>summary{border-bottom:1px solid var(--border)}.advanced-details-body{padding:14px}.muted-copy{margin:0 0 12px;color:var(--muted);line-height:1.8}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.u-mt-10{margin-top:10px}.u-mt-12{margin-top:12px}.u-mt-16{margin-top:16px}.u-mb-0{margin-bottom:0}.connection-advanced-actions{margin-top:14px}.code-box code{display:block;overflow-wrap:anywhere;word-break:break-all}

/* Core 2.1 access-management progressive disclosure */
.access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-detail-section+.access-detail-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.access-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.compact-list .panel-list-card{min-height:54px;padding:10px 12px}.access-local-login{margin:10px 0 0;color:var(--muted)}.access-danger-actions{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line)}@media(max-width:640px){.access-summary-grid{grid-template-columns:1fr}.access-detail-head{align-items:flex-start;flex-direction:column}.access-detail-head .btn{width:100%}}
/* Core 2.1 interaction/clarity layer */
.core-error-summary{margin:0 0 16px;padding:12px 14px;border:1px solid #d8a49d;border-radius:12px;background:#fff4f2;color:#7a2f28;outline:0}.core-error-summary ul{margin:8px 0 0;padding-right:20px}.form-group.has-error .form-control{border-color:#b84a3f;box-shadow:0 0 0 2px rgba(184,74,63,.08)}.core-field-error{display:block;margin-top:6px;color:#9b382f;font-weight:700}.compact-message{padding:10px 12px;border-radius:11px;background:var(--sokna-surface-muted);color:var(--text-muted,#626b65);font-size:13px;line-height:1.8;border:1px solid rgba(151,139,124,.12);}.compact-message.warning{background:#fff7e8;color:#73530a}.access-role-form{padding:14px;margin-bottom:12px}.core-file-control{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px;border:1px solid var(--border,#ddd6ca);border-radius:12px;background:#fffefa;border-color:var(--sokna-line);}.core-file-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.core-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted,#626b65);font-size:13px;direction:ltr;unicode-bidi:plaintext;max-width:100%;}
@media(max-width:720px){.core-file-control{align-items:stretch;flex-direction:column}.core-file-control .btn{width:100%}.core-file-name{text-align:center}.access-role-form .form-grid{grid-template-columns:1fr}}


/* Core 2.1 panel-wide visual contract */
:root{--control-height:48px;--control-radius:12px;}
.form-group>small:not(.core-field-error){margin-top:0;line-height:1.7;color:var(--muted)}
.form-group.has-error .money-input .form-control,.form-group.has-error .panel-choice-trigger,.form-group.has-error .jalali-date-control .form-control{border-color:#b84a3f;box-shadow:0 0 0 2px rgba(184,74,63,.08)}
.panel-choice-trigger[aria-expanded=true]>i{transform:rotate(225deg)!important}

.period-ready-head-copy{display:grid;gap:3px}.period-ready-head-copy strong,.period-ready-head-copy small{display:block}.payroll-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-exceptions-card{margin-bottom:16px}.period-exception-copy{min-width:0;display:grid;gap:4px}.period-exception-copy strong{font-size:.9rem}.period-exception-copy span{color:var(--text);font-size:.76rem;font-weight:750}.period-exception-copy small{color:var(--muted);line-height:1.75}.period-exception-action{display:flex;align-items:center}.period-exception-action .btn{white-space:nowrap}
.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}
@media(max-width:720px){.payroll-summary-grid{grid-template-columns:1fr 1fr}.payroll-summary-grid .detail-item:first-child{grid-column:1/-1}.period-exception{grid-template-columns:1fr;align-items:stretch}.period-exception-action .btn{width:100%}}
@media(max-width:420px){.payroll-summary-grid{grid-template-columns:1fr}.payroll-summary-grid .detail-item:first-child{grid-column:auto}}

/* Progressive disclosure and compact business UI. */
.unit-filter{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:min(330px,100%);min-height:52px;gap:4px;margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:16px;background:rgba(248,244,237,.9);overflow:hidden;scrollbar-width:none;border-color:rgba(151,139,124,.20);}.unit-filter::-webkit-scrollbar{display:none}.unit-filter a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:7px 10px;border-radius:12px;text-decoration:none;color:var(--muted);font-size:.69rem;font-weight:850;white-space:nowrap;}.unit-filter a.is-active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(32,49,52,.06);}

.unit-selector{border:0;padding:0;margin:0;min-width:0}.unit-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:7px;}.unit-option{display:grid;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fffdf9;transition:background .16s,border-color .16s,box-shadow .16s;position:relative;box-shadow:0 1px 0 rgba(255,255,255,.7);}.unit-option.is-selected{border-color:rgba(47,98,104,.40);background:linear-gradient(145deg,#f7fbfa,var(--sokna-primary-soft));box-shadow:0 6px 18px rgba(47,98,104,.06);}.unit-option-head{display:flex;align-items:center;gap:10px;}.unit-option-head input{width:21px;height:21px;accent-color:var(--primary);flex:none;position:absolute;opacity:0;pointer-events:none;}.unit-option-head strong,.unit-option-head small{display:block}.unit-option-head small{margin-top:2px;color:var(--muted);font-size:.66rem}.unit-option-role{display:grid;gap:6px;padding-top:10px;border-top:1px solid rgba(151,139,124,.14);}.unit-end-hint{color:var(--warning);font-size:.68rem;line-height:1.7}.simple-unit-list{display:grid;gap:8px;margin-top:14px}.simple-unit-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.simple-unit-list span{color:var(--muted);font-size:.72rem}
.human-timeline{display:grid;gap:0}.timeline-row{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding:7px 0}.timeline-row:not(:last-child):before{content:"";position:absolute;inset-inline-start:7px;top:21px;bottom:-7px;width:1px;background:var(--line)}.timeline-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--primary)}.timeline-row strong,.timeline-row span,.timeline-row small{display:block}.timeline-row span:not(.timeline-dot){margin-top:2px;font-size:.72rem}.timeline-row small{margin-top:3px;color:var(--muted);font-size:.65rem}
.simple-search{grid-template-columns:minmax(0,1fr) auto}.list-options{display:flex;justify-content:flex-end;margin:-3px 0 12px}.text-action{font-size:.7rem;color:var(--primary);font-weight:800;text-decoration:none}
.history-list{display:grid}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line);text-decoration:none;border-bottom-color:rgba(151,139,124,.16);}.history-row:last-child{border-bottom:0}.history-row strong,.history-row small{display:block}.history-row small{margin-top:3px;color:var(--muted);font-size:.66rem}.history-row-values{text-align:left}.history-row-values strong{margin-top:3px}
.audit-filter-simple{grid-template-columns:minmax(220px,360px);justify-content:start}.audit-compact-list{display:grid}.audit-tech-row{border-bottom:1px solid var(--line)}.audit-tech-row:last-child{border-bottom:0}.audit-tech-row>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;cursor:pointer;list-style:none}.audit-tech-row>summary::-webkit-details-marker{display:none}.audit-tech-row>summary span{display:grid;gap:3px}.audit-tech-row>summary small{color:var(--muted);font-size:.65rem}.audit-tech-row>summary>.ui-icon{width:17px;transition:transform .16s}.audit-tech-row[open]>summary>.ui-icon{transform:rotate(-90deg)}.audit-tech-body{padding:0 16px 15px}.technical-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.67rem}.technical-meta span{padding:5px 8px;border-radius:8px;background:var(--surface-soft)}
.access-scope-summary{margin:0 0 12px;color:var(--muted);font-size:.72rem}.compact-settings-form .panel-action-bar{margin-top:12px}.icon-btn[title]{position:relative}
@media(max-width:820px){.unit-selector-grid{grid-template-columns:1fr}}
@media(max-width:520px){.history-row{align-items:flex-start}.simple-unit-list>div{align-items:flex-start;flex-direction:column}.audit-filter-simple{grid-template-columns:1fr}}

/* =========================================================
   Warm Operational UI canonical skin
   These rules intentionally normalize all existing screens.
   ========================================================= */



.btn-primary:hover{box-shadow:0 8px 20px rgba(47,98,104,.18)}.btn-secondary:hover{background:var(--sokna-surface-muted);border-color:var(--sokna-primary);color:var(--sokna-primary-strong);}.icon-btn.is-success{color:var(--success);background:var(--sokna-success-soft)}
.form-card>.card-body{padding:0}.personnel-form{display:grid}.form-section{padding:22px;border-bottom:1px solid rgba(151,139,124,.17);background:var(--sokna-surface)}.form-section:last-of-type{border-bottom:0}.form-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.form-section-head h2{margin:0;font-size:.98rem;letter-spacing:-.015em}.form-section-head p{margin:3px 0 0;color:var(--muted);font-size:.69rem;line-height:1.7}.form-section-icon,.card-title-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--sokna-primary-soft);color:var(--primary)}.form-section-icon .ui-icon,.card-title-icon .ui-icon{width:19px;height:19px}.form-section-quiet{background:linear-gradient(180deg,var(--sokna-surface),var(--sokna-surface-muted))}.form-section-optional{padding:0}.form-section-optional>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 22px;cursor:pointer;list-style:none}.form-section-optional>summary::-webkit-details-marker{display:none}.optional-section-copy strong,.optional-section-copy small{display:block}.optional-section-copy strong{font-size:.9rem}.optional-section-copy small{margin-top:2px;color:var(--muted);font-size:.66rem}.optional-section-action{display:flex;align-items:center;gap:5px;color:var(--primary);font-size:.68rem;font-weight:900}.optional-section-action .ui-icon{width:16px;height:16px;transition:transform .16s}.form-section-optional[open] .optional-section-action .ui-icon{transform:rotate(-90deg)}.optional-section-body{padding:2px 22px 22px}.sticky-action-bar{margin:0;padding:16px 22px 19px;background:var(--sokna-surface-muted);border-top:1px solid rgba(151,139,124,.17)}
.field-optional{display:inline-flex;margin-inline-start:5px;color:var(--muted);font-size:.62rem;font-weight:700}.form-control::placeholder{color:#9aa09d;font-weight:500}.form-hint{font-size:.65rem!important}
.unit-option:hover{border-color:var(--sokna-line-strong)}.unit-option-check{width:27px;height:27px;display:grid;place-items:center;border:1.5px solid var(--sokna-line-strong);border-radius:9px;background:#fff;color:transparent;flex:none}.unit-option-check .ui-icon{width:16px}.unit-option.is-selected .unit-option-check{background:var(--primary);border-color:var(--primary);color:#fff}.unit-option-copy{min-width:0}.unit-option-copy strong,.unit-option-copy small{display:block}.unit-option-copy strong{font-size:.84rem}.unit-option-copy small{margin-top:2px;color:var(--muted);font-size:.64rem}.unit-option:not(.is-selected) .unit-option-role{opacity:.48}.form-grid-after-selector{margin-top:14px}

.card-head-compact{align-items:center}.payout-card{overflow:visible}.banking-summary{display:grid;gap:0;border:1px solid rgba(151,139,124,.20);border-radius:14px;overflow:hidden;background:#fff}.banking-summary-bank{display:flex;align-items:center;gap:11px;padding:13px 14px;background:linear-gradient(90deg,var(--sokna-primary-soft),#fff)}.bank-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(47,98,104,.08)}.banking-summary-bank small,.banking-summary-bank strong,.banking-row small,.banking-row strong{display:block}.banking-summary-bank small,.banking-row small{color:var(--muted);font-size:.62rem}.banking-summary-bank strong{margin-top:1px;font-size:.78rem}.banking-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid rgba(151,139,124,.14)}.banking-number{margin-top:3px;font-size:.78rem;direction:ltr;unicode-bidi:isolate;text-align:left;letter-spacing:.015em}.banking-inline-editor{margin-top:12px;padding:14px;border:1px solid rgba(151,139,124,.18);border-radius:14px;background:var(--sokna-surface-muted);}.input-with-action,.iban-input-shell{position:relative;display:flex;align-items:center}.input-with-action .form-control,.iban-input-shell .form-control{padding-inline-end:52px}.input-action{position:absolute;inset-inline-end:2px;top:2px;height:44px}.iban-input-shell>span{position:absolute;inset-inline-start:13px;z-index:2;color:var(--primary);font-weight:950;direction:ltr}.iban-input-shell .form-control{padding-inline-start:42px;direction:ltr;text-align:left}.bank-number-input{font-variant-numeric:tabular-nums;letter-spacing:.025em;direction:ltr!important;text-align:left!important;unicode-bidi:plaintext;}.bank-detected{display:flex;align-items:center;gap:5px;color:var(--sokna-primary)!important;font-size:.65rem!important;}.bank-detected.is-unknown{color:var(--sokna-muted)!important;}.compact-message-inline{display:flex;align-items:center;gap:10px;padding:12px 13px}.compact-message-inline>.ui-icon{width:20px;color:var(--muted)}.compact-message-inline strong,.compact-message-inline small{display:block}.compact-message-inline small{margin-top:2px;color:var(--muted);font-size:.64rem}





.panel-choice-sheet,.jalali-picker-dialog{background:var(--sokna-surface);border-color:rgba(151,139,124,.22);box-shadow:var(--elevation-2)}





:where(.btn,.form-control,.panel-choice-trigger,.jalali-date-button,.side-nav a,.panel-list-card,.employee-card,.directory-card,.unit-option,a):focus-visible{outline:3px solid rgba(47,98,104,.24);outline-offset:2px;box-shadow:none}
@media(max-width:720px){.form-section{padding:18px 15px}.form-section-optional>summary{padding:16px 15px}.optional-section-body{padding:2px 15px 18px}.sticky-action-bar{padding:14px 15px 17px}.form-section-head{margin-bottom:15px}.form-section-icon{width:36px;height:36px}.unit-selector-grid{grid-template-columns:1fr}.banking-inline-editor{padding:13px}.card-head,.card-body{padding-inline:15px}.form-control,.panel-choice-trigger{font-size:16px}}
@media(max-width:480px){.form-section-optional>summary{grid-template-columns:36px minmax(0,1fr)}.optional-section-action{grid-column:2;margin-top:3px}.banking-row{align-items:flex-start}.sticky-action-bar .btn-primary{flex:1}.card-head-compact{align-items:flex-start}.card-head-compact>.btn{flex:none}}
.unit-option-head input:focus-visible + .unit-option-check{outline:3px solid rgba(47,98,104,.25);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* =========================================================
   Sokna Core 2.5 — operational presentation contracts
   ========================================================= */
.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 16px}.page-intro>div>strong,.page-intro>div>small{display:block}.page-intro>div>strong{font-size:1.05rem;letter-spacing:-.02em}.page-intro>div>small{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.7}.page-intro-actions{align-items:center}
.status-strip{display:flex;align-items:center;gap:10px;padding:11px 13px;margin:0 0 14px;border:1px solid var(--line);border-radius:13px;background:var(--sokna-surface-muted)}.status-strip>span:first-child{display:grid;place-items:center;flex:none}.status-strip .ui-icon{width:20px;height:20px}.status-strip strong,.status-strip small{display:block}.status-strip strong{font-size:.78rem}.status-strip small{margin-top:2px;color:var(--muted);font-size:.65rem}.status-strip-success{background:var(--sokna-success-soft);border-color:rgba(47,118,95,.18);color:var(--sokna-success)}.status-strip-warning{background:var(--sokna-warning-soft);border-color:rgba(138,91,20,.18);color:var(--sokna-warning)}.status-strip-neutral{background:var(--sokna-surface-muted)}
.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid rgba(151,139,124,.18);border-radius:16px;overflow:hidden;background:rgba(151,139,124,.18)}.metric-item{min-width:0;padding:14px 15px;background:var(--sokna-surface);text-align:right}.metric-item small,.metric-item strong{display:block}.metric-item small{color:var(--muted);font-size:.62rem}.metric-item strong{margin-top:4px;font-size:.98rem;letter-spacing:-.02em}.metric-emphasis{background:linear-gradient(145deg,var(--sokna-primary-soft),#fff)}.metric-emphasis strong{color:var(--sokna-primary);font-size:1.14rem}.metric-warning{background:linear-gradient(145deg,var(--sokna-warning-soft),#fff)}.metric-ok{background:linear-gradient(145deg,var(--sokna-success-soft),#fff)}.metric-strip.compact .metric-item{padding:11px 12px}.metric-strip.compact .metric-item strong{font-size:.78rem}
.home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;padding:4px 2px}.home-hero-copy strong,.home-hero-copy small{display:block}.home-hero-copy strong{font-size:1.25rem;letter-spacing:-.025em}.home-hero-copy small{margin-top:4px;color:var(--muted);font-size:.73rem}.home-date{color:var(--muted);font-size:.7rem;font-weight:780}.home-metrics{margin-bottom:18px}.home-section,.workflow-section{margin-top:18px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title-row h2{margin:0;font-size:.92rem;letter-spacing:-.01em}.section-title-row p{margin:3px 0 0;color:var(--muted);font-size:.66rem;line-height:1.7}
.action-list{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:15px;overflow:hidden;background:var(--sokna-surface)}.action-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid rgba(151,139,124,.14);text-decoration:none;color:inherit}.action-row:last-child{border-bottom:0}.action-row:hover{background:var(--sokna-surface-muted)}.action-row.is-warning{background:linear-gradient(90deg,var(--sokna-warning-soft),#fff)}.action-row-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.action-row-icon-warning{background:rgba(255,243,223,.9);color:var(--sokna-warning)}.action-row-icon .ui-icon{width:18px}.action-row-copy strong,.action-row-copy small{display:block}.action-row-copy strong{font-size:.78rem}.action-row-copy small{margin-top:2px;color:var(--muted);font-size:.64rem}.action-row-value{font-weight:900;font-size:.72rem}.action-row-chevron{color:var(--muted)}.action-row-chevron .ui-icon{width:17px}
.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.quick-action{display:flex;align-items:center;gap:9px;min-height:58px;padding:11px 12px;border:1px solid rgba(151,139,124,.18);border-radius:14px;background:var(--sokna-surface);color:var(--ink);text-decoration:none;font-size:.72rem;font-weight:850}.quick-action .ui-icon{width:19px;color:var(--sokna-primary)}.quick-action:hover{border-color:rgba(47,98,104,.28);background:#fff}

.personnel-list{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:16px;overflow:hidden;background:var(--sokna-surface)}.personnel-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid rgba(151,139,124,.14);text-decoration:none;color:inherit}.personnel-row:last-child{border-bottom:0}.personnel-row:hover,.personnel-row:focus-visible{background:var(--sokna-surface-muted)}.personnel-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--sokna-primary-soft);color:var(--sokna-primary);font-weight:950}.personnel-row-copy strong,.personnel-row-copy small{display:block}.personnel-row-copy strong{font-size:.83rem}.personnel-row-copy small{margin-top:3px;color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.personnel-row-end{display:flex;align-items:center;gap:7px;color:var(--muted)}.personnel-row-end .ui-icon{width:17px}.personnel-empty{margin-top:14px}.personnel-search{grid-template-columns:minmax(0,1fr) auto}

.payroll-overview{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:14px;align-items:stretch;margin-bottom:18px}.payroll-balance{padding:18px;border-radius:16px;background:linear-gradient(145deg,var(--sokna-primary-strong),var(--sokna-primary));color:#fff}.payroll-balance small,.payroll-balance strong,.payroll-balance span{display:block}.payroll-balance small{font-size:.64rem;color:#d9e9e8}.payroll-balance strong{margin-top:4px;font-size:1.38rem;letter-spacing:-.025em}.payroll-balance span{margin-top:6px;color:#d9e9e8;font-size:.66rem}.payroll-metric-strip{height:100%}.unit-summary-list{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:16px;overflow:hidden;background:var(--sokna-surface)}.unit-summary-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid rgba(151,139,124,.14);color:inherit;text-decoration:none}.unit-summary-row:last-child{border-bottom:0}.unit-summary-row:hover{background:var(--sokna-surface-muted)}.unit-summary-row.is-muted{opacity:.72}.unit-summary-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.unit-summary-icon .ui-icon{width:18px}.unit-summary-copy strong,.unit-summary-copy small{display:block}.unit-summary-copy strong{font-size:.8rem}.unit-summary-copy small{margin-top:2px;color:var(--muted);font-size:.63rem}.unit-summary-value{text-align:left}.unit-summary-value small,.unit-summary-value strong{display:block}.unit-summary-value small{font-size:.59rem;color:var(--muted)}.unit-summary-value strong{margin-top:2px;font-size:.75rem}.unit-summary-chevron{color:var(--muted)}.unit-summary-chevron .ui-icon{width:17px}.unit-summary-form{grid-template-columns:38px minmax(0,1fr) auto}.history-row.is-static{cursor:default}

.payroll-period-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:18px}.payroll-period-balance{padding:17px;border:1px solid rgba(151,139,124,.18);border-radius:16px;background:linear-gradient(145deg,var(--sokna-primary-soft),#fff)}.payroll-period-balance small,.payroll-period-balance strong,.payroll-period-balance span{display:block}.payroll-period-balance small{font-size:.62rem;color:var(--muted)}.payroll-period-balance strong{margin-top:4px;font-size:1.24rem;color:var(--sokna-primary)}.payroll-period-balance span{margin-top:5px;color:var(--muted);font-size:.64rem}.period-mini-metrics{display:flex;gap:8px}.period-mini-metrics>span{min-width:96px;padding:12px;border:1px solid rgba(151,139,124,.18);border-radius:14px;background:var(--sokna-surface);text-align:center}.period-mini-metrics small,.period-mini-metrics strong{display:block}.period-mini-metrics small{font-size:.58rem;color:var(--muted)}.period-mini-metrics strong{margin-top:4px;font-size:.92rem}.period-mini-metrics .is-warning{background:var(--sokna-warning-soft)}
.payroll-person-list{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:16px;overflow:hidden;background:var(--sokna-surface)}.payroll-person-row{border-bottom:1px solid rgba(151,139,124,.14)}.payroll-person-row:last-child{border-bottom:0}.payroll-person-row>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto 18px;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}.payroll-person-row>summary::-webkit-details-marker{display:none}.payroll-person-row[open]>summary{background:var(--sokna-surface-muted)}.payroll-person-main strong,.payroll-person-main small,.payroll-person-balance small,.payroll-person-balance strong{display:block}.payroll-person-main strong{font-size:.8rem}.payroll-person-main small{margin-top:2px;color:var(--muted);font-size:.62rem}.payroll-person-balance{text-align:left}.payroll-person-balance small{color:var(--muted);font-size:.58rem}.payroll-person-balance strong{font-size:.72rem}.details-chevron{color:var(--muted);transition:transform var(--transition-fast)}.details-chevron .ui-icon{width:17px}.payroll-person-row[open] .details-chevron{transform:rotate(-90deg)}.payroll-person-details{padding:13px 14px 15px;background:#fff;border-top:1px solid rgba(151,139,124,.12)}.adjustment-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:.64rem}.payroll-person-actions{margin-top:12px}.payment-list{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:14px;overflow:hidden}.payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid rgba(151,139,124,.12);background:var(--sokna-surface)}.payment-row:last-child{border-bottom:0}.payment-row span>strong,.payment-row span>small{display:block}.payment-row span>strong{font-size:.75rem}.payment-row span>small{margin-top:2px;color:var(--muted);font-size:.6rem}.payment-row-amount{text-align:left}.inline-empty{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid rgba(151,139,124,.15);border-radius:12px;background:var(--sokna-surface-muted);color:var(--muted);font-size:.68rem}.inline-empty strong{color:var(--ink)}

.finance-profile{display:grid;gap:14px}.finance-section{padding:16px;border:1px solid rgba(151,139,124,.18);border-radius:16px;background:var(--sokna-surface)}.finance-section+.finance-section{margin-top:0}.salary-focus{display:grid;gap:3px;padding-top:4px}.salary-focus span,.salary-focus strong,.salary-focus small{display:block}.salary-focus span{color:var(--muted);font-size:.63rem}.salary-focus strong{font-size:1.22rem;color:var(--sokna-primary);letter-spacing:-.02em}.salary-focus small{color:var(--muted);font-size:.64rem}.banking-summary-compact{display:grid;border:1px solid rgba(151,139,124,.16);border-radius:14px;overflow:hidden;background:#fff}.banking-bank-line{display:flex;align-items:center;gap:10px;padding:11px 12px;background:linear-gradient(90deg,var(--sokna-primary-soft),#fff)}.banking-bank-line strong{font-size:.75rem}.iban-field{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:stretch;border:1px solid var(--sokna-line);border-radius:12px;overflow:hidden;background:#fffefa}.iban-field:focus-within{border-color:var(--sokna-primary);box-shadow:0 0 0 3px rgba(47,98,104,.12)}.iban-prefix{display:grid;place-items:center;border-inline-end:1px solid var(--sokna-line);background:var(--sokna-primary-soft);color:var(--sokna-primary);font-weight:950;direction:ltr}.iban-field .form-control{border:0;border-radius:0;box-shadow:none!important}.bank-detected.is-valid-bank{color:var(--sokna-success)!important}

.support-login-panel{display:grid;gap:12px}.support-login-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-login-summary>div{padding:12px 13px;border:1px solid rgba(151,139,124,.18);border-radius:13px;background:var(--sokna-surface)}.support-login-summary small,.support-login-summary strong,.support-login-summary code{display:block}.support-login-summary small{color:var(--muted);font-size:.6rem}.support-login-summary code,.support-login-summary strong{margin-top:4px;font-size:.72rem}.support-login-actions{padding-inline:0}.support-login-note{margin-top:2px}.danger-details>summary{color:var(--sokna-danger)}
.support-diagnostic-list{display:grid;gap:9px}.support-diagnostic-item{border:1px solid rgba(151,139,124,.18);border-radius:14px;background:var(--sokna-surface);overflow:hidden}.support-diagnostic-item>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:12px 13px;cursor:pointer}.support-diagnostic-item>summary::-webkit-details-marker{display:none}.support-diagnostic-item>summary strong,.support-diagnostic-item>summary small{display:block}.support-diagnostic-item>summary strong{font-size:.76rem}.support-diagnostic-item>summary small{margin-top:2px;color:var(--muted);font-size:.61rem}.support-diagnostic-body{padding:12px 13px;border-top:1px solid rgba(151,139,124,.14)}

.maintenance-card{padding:17px;border:1px solid rgba(151,139,124,.18);border-radius:16px;background:var(--sokna-surface);box-shadow:var(--elevation-1);margin-bottom:14px}.maintenance-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.maintenance-card-head h2{margin:0;font-size:.93rem}.maintenance-card-head p{margin:4px 0 0;color:var(--muted);font-size:.66rem;line-height:1.7}.maintenance-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;margin-top:14px}.maintenance-actions form{margin:0}.update-file-pick{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:13px;border:1px dashed var(--sokna-line-strong);border-radius:14px;background:var(--sokna-surface-muted)}.update-file-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.update-file-copy strong,.update-file-copy small{display:block}.update-file-copy strong{font-size:.76rem}.update-file-copy small{margin-top:2px;color:var(--muted);font-size:.61rem}.update-file-pick>.core-file-control,.update-file-pick>input{grid-column:1/-1;min-width:0;max-width:100%}.maintenance-package-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.maintenance-package-summary>span{padding:10px 11px;border-radius:12px;background:var(--sokna-surface-muted)}.maintenance-package-summary small,.maintenance-package-summary strong{display:block}.maintenance-package-summary small{font-size:.59rem;color:var(--muted)}.maintenance-package-summary strong{margin-top:3px;font-size:.73rem}.maintenance-recovery{margin-top:14px;border:1px solid rgba(151,139,124,.18);border-radius:14px;background:var(--sokna-surface)}.maintenance-recovery>summary{padding:12px 14px;font-weight:850;cursor:pointer}.maintenance-recovery-body{padding:0 14px 14px}.maintenance-recovery-body>p{color:var(--muted);font-size:.65rem}.maintenance-history{margin-top:10px}

.modal-actions .btn-secondary,.sticky-action-bar .btn-secondary{min-width:104px}.text-action,.link-action{color:var(--sokna-primary);font-weight:820;text-decoration:none}.text-action:hover,.link-action:hover{text-decoration:underline}

@media(max-width:720px){.home-hero{align-items:flex-start}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-item{padding:11px 9px}.metric-item strong{font-size:.82rem}.metric-emphasis strong{font-size:.94rem}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action{justify-content:center;flex-direction:column;text-align:center;gap:5px;padding:9px 7px;font-size:.65rem}.payroll-overview{grid-template-columns:1fr}.payroll-period-summary{grid-template-columns:1fr}.period-mini-metrics{justify-content:stretch}.period-mini-metrics>span{flex:1}.action-row{grid-template-columns:32px minmax(0,1fr) auto}.action-row-value{display:none}.payroll-person-row>summary{grid-template-columns:minmax(0,1fr) auto 18px}.payroll-person-row>summary>.status-badge{grid-column:1/3;justify-self:start}.payroll-person-balance{grid-column:2;grid-row:1;text-align:left}.support-login-summary{grid-template-columns:1fr}.maintenance-actions{justify-content:flex-start}.page-intro-actions{align-items:flex-start}.page-intro-actions>.btn{flex:none}}
@media(max-width:480px){.metric-strip{border-radius:14px}.metric-item small{font-size:.56rem}.metric-item strong{font-size:.74rem}.home-hero-copy strong{font-size:1.08rem}.personnel-row{grid-template-columns:38px minmax(0,1fr) auto;padding:11px 12px}.personnel-avatar{width:36px;height:36px}.unit-summary-row{grid-template-columns:34px minmax(0,1fr) auto 16px;padding:12px}.unit-summary-value strong{font-size:.68rem}.payroll-person-row>summary{padding:12px}.maintenance-package-summary{grid-template-columns:1fr}.modal-actions{gap:8px}.modal-actions>.btn:not(.icon-btn){flex:1}.sticky-action-bar{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(104px,.8fr);gap:8px}.sticky-action-bar .btn{width:100%}}

/* Sokna Core 2.5 — UAT refinements and operational components. */
.connection-list{display:grid;gap:10px}.connection-row{border:1px solid rgba(151,139,124,.18);border-radius:16px;background:var(--sokna-surface);overflow:hidden}.connection-row-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px}.connection-row-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.connection-row-copy strong,.connection-row-copy small{display:block}.connection-row-copy strong{font-size:.82rem}.connection-row-copy small{margin-top:3px;font-size:.64rem}.connection-row-actions{display:flex;align-items:center;gap:7px}.connection-row-actions form{margin:0}.connection-details{border-top:1px solid rgba(151,139,124,.14);border-radius:0}
.settings-payroll-form{max-width:760px}.settings-unit-filter{margin-bottom:16px}.settings-block{display:grid;border:1px solid rgba(151,139,124,.18);border-radius:16px;background:var(--sokna-surface);overflow:hidden}.settings-block>.section-title-row{padding:15px 16px;border-bottom:1px solid rgba(151,139,124,.14);margin:0}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 16px;border-bottom:1px solid rgba(151,139,124,.13)}.setting-row:last-child{border-bottom:0}.setting-copy strong,.setting-copy small{display:block}.setting-copy strong{font-size:.78rem}.setting-copy small{margin-top:4px;color:var(--muted);font-size:.63rem;line-height:1.7}.number-stepper{display:grid;grid-template-columns:44px 58px 44px;align-items:center;direction:rtl;border:1px solid var(--sokna-line);border-radius:14px;overflow:hidden;background:#fff}.stepper-btn{width:44px;height:44px;border:0;display:grid;place-items:center;font:900 1.15rem var(--font-ui);cursor:pointer}.stepper-btn .ui-icon{width:17px}.stepper-plus{background:var(--sokna-primary);color:#fff}.stepper-minus{background:var(--sokna-warning-soft);color:#7f5718}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-value{width:58px;height:44px;border:0;border-inline:1px solid var(--sokna-line);text-align:center;background:#fff;color:var(--ink);font:900 .9rem var(--font-ui);outline:0}.setting-switch{cursor:pointer}.setting-switch>input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:50px;height:28px;padding:3px;border-radius:999px;background:#d8ddda;transition:.18s}.switch-track>span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(20,30,30,.15);transition:.18s}.setting-switch>input:checked+.switch-track{background:var(--sokna-primary)}.setting-switch>input:checked+.switch-track>span{transform:translateX(-22px)}.settings-save{max-width:760px}
.employee-note-section{display:grid;gap:8px;padding:14px 0}.employee-note-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employee-note-copy strong,.employee-note-copy p{display:block}.employee-note-copy strong{font-size:.78rem}.employee-note-copy p{margin:5px 0 0;color:var(--muted);font-size:.68rem;line-height:1.9;white-space:pre-wrap}.employee-note-editor{margin-top:6px}.employee-note-editor textarea{min-height:84px}.banking-inline-editor .bank-number-input{direction:ltr;text-align:left}.banking-summary-empty{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.68rem}
.finance-card{padding:16px;border:1px solid rgba(151,139,124,.18);border-radius:17px;background:var(--sokna-surface);box-shadow:0 8px 24px rgba(43,37,31,.035)}.finance-card-primary{background:linear-gradient(145deg,#fff,var(--sokna-primary-soft))}.finance-card-secondary{background:var(--sokna-surface)}.finance-card .section-title-row{margin-bottom:10px}.finance-card .panel-list{border-top:1px solid rgba(151,139,124,.12);padding-top:8px}.finance-empty-line{color:var(--muted);font-size:.68rem;padding:5px 0 2px}.context-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:11px 13px;border:1px solid rgba(151,139,124,.17);border-radius:13px;background:var(--sokna-surface-muted)}.context-summary strong,.context-summary small{display:block}.context-summary strong{font-size:.76rem}.context-summary small{color:var(--muted);font-size:.63rem}.finance-payment-note{padding:10px 12px;border-radius:12px;background:var(--sokna-warning-soft);color:#6d4d18;font-size:.68rem;line-height:1.8}.excess-classification.hidden{display:none}.excess-classification{grid-column:1/-1;padding:12px;border-radius:13px;background:var(--sokna-warning-soft);border:1px solid rgba(154,103,24,.18)}
.access-user-list{display:grid;gap:9px}.access-user-row{border:1px solid rgba(151,139,124,.18);border-radius:15px;background:var(--sokna-surface);overflow:hidden}.access-user-row>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;cursor:pointer}.access-user-row>summary::-webkit-details-marker{display:none}.access-user-summary strong,.access-user-summary small{display:block}.access-user-summary strong{font-size:.8rem}.access-user-summary small{margin-top:3px;color:var(--muted);font-size:.63rem}.access-user-editor{padding:14px;border-top:1px solid rgba(151,139,124,.14)}.pending-accounts-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;margin-bottom:12px;border-radius:13px;background:var(--sokna-warning-soft);color:#6e501b;text-decoration:none;font-weight:850;font-size:.7rem}
.directory-system-tabs{max-width:310px}.directory-decision-button{white-space:nowrap}.directory-decision-list{display:grid;gap:8px}.directory-decision-option{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;text-align:right;padding:12px;border:1px solid rgba(151,139,124,.18);border-radius:13px;background:var(--sokna-surface);color:var(--ink)}.directory-decision-option .ui-icon{width:18px;color:var(--sokna-primary)}
.payment-row small time{white-space:nowrap}.payroll-person-row.is-paid>summary>.status-badge{display:none}.payroll-section-hint{display:none}

/* 2.6 owned interaction components: progressive notes, payment actions, directory decisions. */
.optional-note{grid-column:1/-1;border-top:1px solid rgba(151,139,124,.14);padding-top:2px}.optional-note>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 2px;color:var(--sokna-primary);font-size:.7rem;font-weight:850;cursor:pointer}.optional-note>summary::-webkit-details-marker{display:none}.optional-note>summary .ui-icon{width:17px;transition:transform var(--transition-fast)}.optional-note[open]>summary .ui-icon{transform:rotate(45deg)}.optional-note-body{padding:4px 0 2px}.optional-note-body textarea.form-control{min-height:82px;resize:none}
.employee-note-title{display:inline-flex!important;align-items:center;gap:7px}.employee-note-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.employee-note-icon .ui-icon{width:16px;height:16px}
.payment-action-trigger{width:44px;height:44px;min-width:44px;border-radius:11px;color:var(--sokna-primary);background:transparent}.payment-action-trigger:hover,.payment-action-trigger:focus-visible{background:var(--sokna-primary-soft);color:var(--sokna-primary-strong)}.payment-action-trigger .ui-icon{width:20px;height:20px}.payment-action-layer{place-items:center}.payment-action-sheet{width:min(430px,100%)}.payment-action-summary{display:grid;gap:5px}.payment-action-summary>strong{font-size:.9rem}.payment-action-summary>span{font-size:1.02rem;font-weight:950;color:var(--sokna-primary)}.payment-action-summary>small{color:var(--muted);font-size:.66rem;line-height:1.8}.payment-action-summary>p{margin:6px 0 0;padding-top:8px;border-top:1px solid rgba(151,139,124,.14);font-size:.69rem;line-height:1.9}.payment-void-action{color:var(--sokna-danger);border-color:color-mix(in srgb,var(--sokna-danger) 34%,var(--sokna-line));background:var(--sokna-danger-soft)}.payment-void-action:hover{color:#85342c;border-color:var(--sokna-danger)}
.directory-decision-option.is-primary{border-color:rgba(47,98,104,.34);background:linear-gradient(145deg,var(--sokna-primary-soft),#fff)}.directory-decision-option.is-primary strong{color:var(--sokna-primary-strong)}.directory-decision-option small{display:block;margin-top:3px;color:var(--muted);font-size:.64rem;line-height:1.75}.directory-decision-more{display:grid;gap:2px;padding-top:4px;border-top:1px solid rgba(151,139,124,.14)}.directory-decision-more form{margin:0}.directory-decision-more .text-action{display:flex;align-items:center;gap:7px;width:100%;min-height:44px;padding:8px 2px;border:0;background:transparent;text-align:right;cursor:pointer}.directory-decision-more .text-action .ui-icon{width:17px}.directory-decision-more .text-action.is-muted{color:var(--muted)}
@media(max-width:720px){.payment-action-layer{place-items:end center;padding:0}.payment-action-sheet{width:100%;max-height:min(82dvh,720px);border-radius:22px 22px 0 0;border-inline:0;border-bottom:0}.connection-row-main{grid-template-columns:38px minmax(0,1fr);}.connection-row-actions{grid-column:1/-1;justify-content:flex-start;padding-inline-start:49px}.setting-row{grid-template-columns:minmax(0,1fr) auto}.directory-system-tabs{max-width:100%}.access-user-editor .form-grid{grid-template-columns:1fr}.payment-row{grid-template-columns:minmax(0,1fr) auto auto}}
@media(max-width:420px){.status-tabs a span{font-size:.62rem}.status-tabs a{gap:4px}.setting-row{padding:13px 12px}.number-stepper{grid-template-columns:42px 52px 42px}.stepper-btn{width:42px;height:42px}.stepper-value{width:52px;height:42px}.connection-row-actions{padding-inline-start:0}.directory-card{padding:12px}.jalali-days{height:258px;grid-template-rows:repeat(6,38px)}.jalali-days button,.jalali-days .is-empty{height:38px;min-height:38px}}

.quick-action-secondary{background:var(--sokna-surface-muted);color:var(--ink);box-shadow:none}.quick-action-secondary .ui-icon{color:var(--sokna-primary)}
.directory-review-section{display:grid;gap:10px}
.support-link-list{display:grid;gap:8px;margin-top:10px}.support-link-list .nav-entry-card{margin:0}
@media(max-width:720px){.panel-topbar .mobile-menu{width:52px;height:52px;min-width:52px;min-height:52px}}

.nav-entry-card{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;min-height:70px;padding:13px 14px;margin:0 0 14px;border:1px solid rgba(151,139,124,.18);border-radius:15px;background:var(--sokna-surface);color:var(--ink);text-decoration:none;box-shadow:0 7px 22px rgba(43,37,31,.03);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.nav-entry-card:hover,.nav-entry-card:focus-visible{background:#fff;border-color:rgba(47,98,104,.3);outline:none}.nav-entry-card:active{transform:translateY(1px)}.nav-entry-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--sokna-primary-soft);color:var(--sokna-primary)}.nav-entry-icon .ui-icon{width:20px;height:20px}.nav-entry-copy strong,.nav-entry-copy small{display:block}.nav-entry-copy strong{font-size:.79rem}.nav-entry-copy small{margin-top:3px;color:var(--muted);font-size:.63rem;line-height:1.7}.nav-entry-chevron{color:var(--muted)}.nav-entry-chevron .ui-icon{width:18px}.access-user-row>summary .row-actions>.ui-icon{transition:transform var(--transition-fast)}.access-user-row[open]>summary .row-actions>.ui-icon{transform:rotate(-90deg)}

/* Operational error references are copyable technical tokens and must never wrap in RTL UI. */
.error-ref{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.02em}
