:root{--blue:#0b63ce;--blue2:#287ee8;--ink:#19334f;--muted:#718197;--bg:#f5f8fc;--panel:#fff;--line:#e5ebf3;--green:#18b888;--red:#ef6373;--orange:#f29b38;--purple:#8a62df;--cyan:#1ab7c8;--shadow:0 10px 28px rgba(20,55,95,.08);--r:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button,input,select,textarea{font:inherit;-webkit-user-select:text;user-select:text}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#2779e5 0,transparent 30%),linear-gradient(145deg,#0b63ce,#173958 65%,#0b1e34)}
.login-card{width:min(450px,100%);background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 90px #0005}.brand-lockup{display:flex;align-items:center;gap:14px;margin-bottom:26px}.brand-icon{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,var(--blue),#38bdf8);display:grid;place-items:center;color:#fff;font-size:24px;font-weight:900}.brand-lockup h1{margin:0;font-size:30px}.brand-lockup p{margin:5px 0 0;color:var(--muted)}
label{display:block;font-size:12px;font-weight:800;margin:10px 0 6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#86b6f3;box-shadow:0 0 0 4px #eaf3ff}
.btn{border:0;border-radius:11px;padding:10px 15px;font-weight:800;cursor:pointer}.primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2))}.soft{background:#edf3fa;color:var(--ink)}.success{background:#e5f8f1;color:#087d5b}.danger{background:#ffe7ea;color:#a82c3b}.wide{width:100%;margin-top:18px}.error{margin-top:12px;padding:12px;border-radius:12px;background:#ffe7ea;color:#a82c3b}
.app{min-height:100vh;display:flex}.sidebar{position:fixed;right:0;top:0;bottom:0;width:280px;background:#fff;border-left:1px solid var(--line);padding:20px 14px;overflow:auto;z-index:40}.side-brand{display:flex;align-items:center;gap:10px;padding:0 8px 17px;border-bottom:1px solid var(--line)}.side-logo{font-size:30px}.side-brand strong{display:block;font-size:20px}.side-brand small{display:block;color:var(--muted);margin-top:4px}.side-brand .icon-btn{margin-right:auto}
#nav{display:flex;flex-direction:column;gap:5px;margin-top:15px}.nav-item{border:0;background:transparent;border-radius:12px;padding:12px 14px;text-align:right;color:#304a67;font-weight:800;cursor:pointer;display:flex;gap:10px;align-items:center}.nav-item:hover{background:#f1f6fc}.nav-item.active{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 8px 18px #0b63ce25}
.workspace{margin-right:280px;width:calc(100% - 280px);min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.top-title{display:flex;align-items:center;gap:12px}.top-title h2{font-size:20px;margin:0}.top-title small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.date-chip{font-size:12px;color:#52677f}.bell{position:relative;border:0;background:#f1f5fa;width:42px;height:42px;border-radius:50%;cursor:pointer}.bell b{position:absolute;top:-2px;left:-2px;min-width:18px;height:18px;border-radius:999px;background:var(--blue);color:#fff;font-size:10px;display:grid;place-items:center}.user-chip{display:flex;align-items:center;gap:8px;min-width:155px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e7f0ff;color:var(--blue);font-weight:900}.user-chip small{display:block;color:var(--muted);margin-top:2px}
.icon-btn{width:38px;height:38px;border:0;border-radius:10px;background:#eef3f9;color:var(--ink);cursor:pointer}.mobile-only{display:none}.content{max-width:1500px;margin:auto;padding:24px}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:16px}.stats.compact{grid-template-columns:repeat(4,1fr)}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:17px;box-shadow:var(--shadow)}.stat-head{display:flex;justify-content:space-between;gap:8px}.stat-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--soft,#eaf2ff);color:var(--tone,var(--blue));font-size:22px}.stat label{margin:0;color:#536b87}.stat strong{display:block;font-size:29px;color:var(--tone,var(--blue));margin-top:6px}.stat small{color:var(--muted)}
.grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:16px}.grid2.equal{grid-template-columns:1fr 1fr}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-head h3{margin:0;font-size:16px}.panel-head small{color:var(--muted)}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:right;padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px}th{background:#fbfcfe;color:#5c7189;font-size:11px}.employee-cell{display:flex;align-items:center;gap:8px}.mini-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-weight:900}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#53657d;font-size:10px;font-weight:900}.badge.ok{background:#e5f8f1;color:#087d5b}.badge.warn{background:#fff1df;color:#a86718}.badge.danger{background:#ffe8eb;color:#ab2f3e}.badge.info{background:#e7f0ff;color:#1f60b0}.badge.purple{background:#f0eaff;color:#6c45be}
.chart{height:250px;display:flex;align-items:flex-end;gap:12px;padding:15px 7px}.bar-group{flex:1;display:flex;align-items:center;flex-direction:column;gap:6px}.bars{height:190px;width:34px;display:flex;align-items:flex-end;gap:3px}.bar{width:50%;border-radius:5px 5px 2px 2px;min-height:2px}.bar.present{background:var(--green)}.bar.absent{background:var(--red)}.bar-label{font-size:10px;color:var(--muted)}
.alert-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-right:4px solid var(--orange);border-radius:12px;padding:11px;margin:8px 0}.alert-row.danger{border-right-color:var(--red)}.alert-row strong{font-size:12px}.alert-row small{display:block;color:var(--muted);margin-top:3px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-box{background:#f9fbfe;border:1px solid var(--line);border-radius:14px;padding:16px}.mini-box strong{display:block;font-size:25px}.mini-box small{color:var(--muted)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 10px;min-width:min(520px,100%)}.search input{border:0;box-shadow:none!important}.actions{display:flex;gap:8px}.inline-filter{display:flex;align-items:center;gap:8px}.inline-filter label{margin:0}.inline-filter input{width:auto}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;color:#52677f}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.person-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.person-head{display:flex;align-items:center;gap:12px}.person-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#e0f2fe);color:var(--blue);font-weight:900;font-size:20px}.person-head h3{margin:0;font-size:15px}.person-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.person-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.info-box{background:#f8fbff;border-radius:11px;padding:10px}.info-box small{display:block;color:var(--muted);font-size:10px}.info-box strong{font-size:11px}.card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}.mini-btn{border:0;border-radius:8px;padding:7px 9px;background:#eef4fb;color:#294a71;font-weight:800;cursor:pointer;font-size:11px}.mini-btn.danger{background:#ffe8eb;color:#a52e3b}
.alert-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.alert-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.alert-card.danger{border-top-color:var(--red)}.alert-card h3{margin:0 0 7px;font-size:13px}.alert-card p{margin:3px 0;color:var(--muted);font-size:11px}.score{font-size:30px;font-weight:900;color:var(--blue);margin-top:12px}.stars{color:#f59e0b}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;text-align:right;box-shadow:var(--shadow);cursor:pointer}.report-card span{font-size:30px}.report-card strong{display:block;margin:10px 0 5px}.report-card small{color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-panel{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.form-grid .full{grid-column:1/-1}.save-row{display:flex;justify-content:flex-end;margin-top:16px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.action-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center;box-shadow:var(--shadow)}.action-card span{font-size:34px}.action-card p{color:var(--muted);min-height:42px}.clone-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.clone-steps div{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.clone-steps b{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.clone-steps i{color:#9aafc5}
.modal{width:min(780px,calc(100% - 24px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px #001a4460}.modal::backdrop{background:#0b213f66}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.modal-head h2{margin:0}.modal-head small{color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
#toast{position:fixed;left:18px;bottom:18px;z-index:100;background:#102d4e;color:#fff;border-radius:12px;padding:12px 15px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.overlay{position:fixed;inset:0;background:#0b213f66;z-index:35}
@media(max-width:1250px){.stats{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.sidebar{transform:translateX(105%);transition:.2s}.sidebar.open{transform:none}.workspace{margin-right:0;width:100%}.mobile-only{display:grid;place-items:center}.grid2,.settings-grid{grid-template-columns:1fr}.date-chip{display:none}.action-grid,.report-grid{grid-template-columns:1fr 1fr}.alert-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.topbar{height:auto;min-height:70px;padding:10px 12px}.top-actions{gap:6px}.user-chip{min-width:0}.user-chip div{display:none}.content{padding:14px}.stats,.stats.compact{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:14px}.stat strong{font-size:23px}.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0}.actions{display:grid;grid-template-columns:1fr 1fr}.cards,.alert-cards,.action-grid,.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full,.full-panel{grid-column:auto}.clone-steps i{display:none}}

.import-zone,.danger-row{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#f8fbff;border:1px dashed #bfd3ea;border-radius:15px;padding:16px}.import-zone strong,.danger-row strong{font-size:14px}.import-zone p,.danger-row p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.8}.file-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-result{margin-top:12px;padding:12px;border-radius:12px;background:#eef8f4;color:#176649;font-size:12px;line-height:1.8}.import-result.has-errors{background:#fff4e8;color:#975916}.danger-panel{border-color:#ffd6dc;background:#fffafb}.danger-row{background:#fff4f6;border-color:#f2b8c1}.danger-row .btn{white-space:nowrap}@media(max-width:700px){.import-zone,.danger-row{align-items:stretch;flex-direction:column}.import-zone .actions{width:100%}.import-zone .actions .btn,.import-zone .actions .file-btn,.danger-row .btn{width:100%}}

/* v2.2 professional screens */
.screen-stats{margin-bottom:16px}.screen-stats .stat{min-height:112px}.screen-stats .stat strong{font-size:24px}.screen-stats .stat label{font-size:11px}
.empty-state{padding:38px 20px;text-align:center;color:var(--muted)}.empty-state .empty-icon{width:58px;height:58px;border-radius:18px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 12px;font-size:25px}.empty-state strong{display:block;color:var(--ink);margin-bottom:5px}
.modal.employee-editor{width:min(940px,calc(100% - 22px));max-height:92vh}.modal.employee-editor form{padding:0}.modal.employee-editor .modal-head{position:sticky;top:0;z-index:3;background:#fff;padding:20px 22px 14px;border-bottom:1px solid var(--line);margin:0}.modal.employee-editor #modalBody{padding:18px 22px;max-height:68vh;overflow:auto}.modal.employee-editor .modal-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--line);padding:14px 22px;margin:0}
.form-section{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:6px 0 0;padding:12px 14px;border-radius:13px;background:linear-gradient(135deg,#f5f9ff,#fbfdff);border:1px solid #e0eaf6}.form-section .section-icon{width:34px;height:34px;border-radius:10px;background:#e4efff;color:var(--blue);display:grid;place-items:center;font-weight:900}.form-section strong{display:block;font-size:13px}.form-section small{display:block;color:var(--muted);margin-top:2px}.field-note{display:block;color:var(--muted);font-size:10px;margin-top:5px}.required-note{color:#b63a49}.license-field.hidden-field{display:none!important}
.confirm-modal{width:min(420px,calc(100% - 28px));border:0;background:transparent;padding:0}.confirm-modal::backdrop{background:#102c4b99;backdrop-filter:blur(3px)}.confirm-card{background:#fff;border-radius:22px;padding:25px;text-align:center;box-shadow:0 30px 90px #001a4460}.confirm-icon{width:64px;height:64px;border-radius:20px;background:#fff0f2;color:#c43c4e;display:grid;place-items:center;font-size:29px;font-weight:900;margin:0 auto 14px}.confirm-card h2{margin:0 0 8px;font-size:19px}.confirm-card p{margin:0;color:var(--muted);line-height:1.8;font-size:12px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
#toast{display:flex;align-items:center;gap:9px;min-width:220px;box-shadow:0 16px 45px #001a4433}#toast::before{content:'✓';width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#ffffff22;font-weight:900}#toast.error-toast{background:#9c2d3b}#toast.error-toast::before{content:'!'}#toast.info-toast{background:#215d9e}#toast.info-toast::before{content:'i'}
.metric-note{display:block;margin-top:4px;color:var(--muted);font-size:10px}.card-highlight{border:1px solid #d8e8fb;background:linear-gradient(180deg,#fff,#fbfdff)}
@media(max-width:700px){.modal.employee-editor #modalBody{max-height:70vh;padding:14px}.modal.employee-editor .modal-head,.modal.employee-editor .modal-actions{padding:14px}.screen-stats{grid-template-columns:repeat(2,1fr)}.confirm-actions{grid-template-columns:1fr 1fr}}


/* v2.3.0 — مركز التحكم والتطوير */
.control-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 28px;margin-bottom:16px;border-radius:22px;background:linear-gradient(135deg,#0b63ce,#18466f 72%,#102d4e);color:#fff;box-shadow:0 16px 34px rgba(11,99,206,.18);overflow:hidden;position:relative}
.control-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:#ffffff12;left:-70px;top:-90px}
.control-hero .eyebrow{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#b9ddff}
.control-hero h2{font-size:26px;margin:8px 0 6px}.control-hero p{margin:0;max-width:720px;color:#d8e9fb;line-height:1.8}
.version-orb{min-width:180px;border:1px solid #ffffff24;background:#ffffff12;border-radius:18px;padding:18px;text-align:center;backdrop-filter:blur(8px);z-index:1}
.version-orb small{display:block;color:#d8e9fb}.version-orb strong{display:block;font-size:28px;margin:7px 0 9px}
.release-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:12px 0 18px;padding:13px;border:1px solid var(--line);background:#f8fbff;border-radius:14px}
.release-flow i{color:#a7b8ca}.release-step{display:flex;align-items:center;gap:7px;color:#6c8097;font-size:11px;font-weight:800}.release-step b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8eef5;color:#61748b}.release-step.active{color:var(--blue)}.release-step.active b{background:var(--blue);color:#fff}
.control-form{margin-top:5px}.policy-list{display:grid;gap:9px}.policy-list>div{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fbfdff}.policy-list b{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-size:11px}.policy-list span{display:block}.policy-list strong{display:block;font-size:12px}.policy-list small{display:block;color:var(--muted);margin-top:3px;line-height:1.5}
.control-head{align-items:flex-start}.control-table input[type="checkbox"]{width:18px;height:18px;accent-color:var(--blue)}
.system-name-cell strong{display:block}.system-name-cell small{display:block;color:var(--muted);margin-top:3px}.version-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eaf2ff;color:#1f60b0;font-weight:900;font-size:10px}
.control-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 0}.control-actions-bar strong{display:block}.control-actions-bar small{display:block;color:var(--muted);margin-top:4px}
.update-status{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;background:#eef3f8;color:#566b83}.update-status.queued{background:#fff0dc;color:#a76412}.update-status.updated{background:#e4f8ef;color:#087c59}.update-status.failed{background:#ffe6ea;color:#aa3040}.update-status.selected{background:#e7f0ff;color:#1d5dac}
@media(max-width:900px){.control-hero{align-items:flex-start;flex-direction:column}.version-orb{width:100%;text-align:right}.release-flow{overflow:auto;justify-content:flex-start}.release-step{min-width:max-content}.control-actions-bar{align-items:stretch;flex-direction:column}.control-actions-bar .actions{width:100%}.control-actions-bar .actions .btn{flex:1}}


/* v2.3.2 - employee document/contract quick view */
.modal.viewer-mode{max-width:980px}
.viewer-body{display:block;padding:2px 0}
.modal.viewer-mode .modal-actions{justify-content:flex-start}
.detail-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.detail-table th{background:#f3f8ff;color:#214769;font-size:12px;font-weight:900;padding:12px 10px;border-bottom:1px solid #dde7f2;white-space:nowrap}
.detail-table td{padding:12px 10px;border-bottom:1px solid #edf2f7;font-size:12px;vertical-align:middle}
.detail-table tbody tr:last-child td{border-bottom:0}
.detail-table tbody tr:nth-child(even) td{background:#fbfdff}
.viewer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.viewer-chip{border:1px solid var(--line);background:#f8fbff;border-radius:16px;padding:14px;text-align:center}.viewer-chip strong{display:block;font-size:22px;color:var(--blue)}.viewer-chip span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.viewer-panel{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;box-shadow:var(--shadow)}
.empty-state.compact{padding:16px}.empty-state.in-panel{border:1px dashed var(--line);border-radius:18px;background:#fbfdff;padding:28px}
.contract-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#0b63ce,#1e4670);color:#fff;margin-bottom:12px}
.contract-identity{display:flex;align-items:center;gap:12px}.contract-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#ffffff26;color:#fff;font-weight:900;font-size:18px}.contract-identity h3{margin:0 0 4px}.contract-identity p{margin:0;color:#dbeaff}
.contract-badge .badge{background:#fff!important;color:#0b63ce!important;border:0}
.contract-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.note-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff;margin-bottom:12px}.note-box strong{display:block;margin-bottom:6px}.note-box p{margin:0;color:#52657b;line-height:1.8}
.panel-head.slim{padding:2px 4px 10px}
@media(max-width:760px){.viewer-stats,.contract-grid{grid-template-columns:1fr}.detail-table{display:block;overflow:auto}.contract-hero{flex-direction:column;align-items:flex-start}}

/* v2.4.0 — branches, clickable cards, forms */
.stat.clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.stat.clickable:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(25,73,121,.12)}
.branch-tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:#eef6ff;color:#0b63ce;font-size:12px;font-weight:800}.branch-tag.all{background:#eefaf5;color:#14946d}
.forms-hero{padding:22px 24px;background:linear-gradient(135deg,#f8fbff,#eef7ff)}.forms-hero h2{margin:4px 0 5px;font-size:24px}.forms-hero p{margin:0;color:var(--muted)}.forms-grid{margin-top:16px}
.contract-sheet{background:#fff;border:1px solid #dce7f2;border-radius:18px;padding:18px;line-height:1.9}.contract-sheet .sheet-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid #174b7a}.contract-sheet .sheet-title{text-align:center;margin:16px 0;font-size:21px;font-weight:900;color:#17324d}.contract-sheet .sheet-party{padding:12px;border:1px solid #e4ebf3;border-radius:12px;background:#fbfdff;margin:9px 0}.contract-sheet .article{padding:12px 0;border-bottom:1px dashed #d8e3ee}.contract-sheet .article:last-child{border-bottom:0}.contract-sheet .signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.contract-sheet .sig{border-top:1px dashed #879db3;padding-top:8px;text-align:center;min-height:55px}.viewer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.status-stack{display:flex;gap:6px;flex-wrap:wrap}.form-sheet-note{padding:10px 12px;background:#f7fbff;border:1px dashed #cbdced;border-radius:12px;color:#4e657b;margin-bottom:12px}
@media(max-width:760px){.contract-sheet .sheet-head{flex-direction:column}.contract-sheet .signatures{grid-template-columns:1fr}.forms-hero{padding:16px}}

/* v2.4.1 — reliable card drill-down */
.stat.card-highlight.clickable{cursor:pointer;user-select:none;position:relative}
.stat.card-highlight.clickable:active{transform:scale(.99)}
.stat.card-highlight.clickable:focus-visible{outline:3px solid rgba(40,126,232,.25);outline-offset:2px}
.metric-note{display:block;margin-top:7px;color:#7890a8;font-size:10px;font-weight:700}
.employee-no-link{border:0;background:#eef6ff;color:#0b63ce;border-radius:9px;padding:7px 10px;font:inherit;font-weight:800;cursor:pointer;min-height:34px}
.employee-no-link:active{transform:scale(.98)}


/* v2.5.0 dynamic form workflow */
.form-template-card{position:relative;text-align:right;min-height:145px}.form-template-card .template-key{font-size:11px;color:var(--muted);direction:ltr;display:block;margin-top:6px}.form-template-card .template-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.form-instances-panel{margin-top:16px}.template-settings-list{display:grid;gap:10px;margin-top:12px}.template-setting-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,2fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdff}.template-setting-row strong{display:block}.template-setting-row small{display:block;color:var(--muted);margin-top:4px}.doc-preview{background:#fff;border:1px solid #dce6f0;border-radius:18px;padding:18px;color:#17324d}.doc-preview .doc-head-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;border:1px solid #8aa0b6;padding:12px;border-radius:10px;margin-bottom:16px}.doc-preview .doc-head-grid .center{text-align:center;font-weight:900;font-size:18px}.doc-preview .doc-head-grid .left{text-align:left}.doc-preview .doc-body{line-height:1.95}.doc-preview .doc-body section{padding:8px 0;border-bottom:1px dashed #d9e3ed}.doc-preview .doc-body h3{font-size:15px;margin:0 0 5px}.doc-preview table{width:100%;border-collapse:collapse;margin:10px 0}.doc-preview th,.doc-preview td{border:1px solid #73869a;padding:7px;text-align:center}.doc-preview .doc-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #aebdcb;margin-top:18px;padding-top:10px;font-size:12px}.signature-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sign-link-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sign-link-box input{flex:1;min-width:220px;direction:ltr}.signed-panel{border:1px solid #cfe7dc;background:#f2fbf6;border-radius:14px;padding:12px;margin-top:12px}.signature-sketch{width:100%;max-width:420px;height:120px;border:1px solid #cbd8e5;border-radius:10px;background:#fff}.form-field-preview{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.template-setting-row{grid-template-columns:1fr}.doc-preview .doc-head-grid{grid-template-columns:1fr;text-align:center;gap:6px}.doc-preview .doc-head-grid .left{text-align:center}.doc-preview .doc-footer{flex-direction:column}.sign-link-box input{min-width:0;width:100%}}

/* v2.5.2 — employee directory + stable organization tabs */
.employee-directory{padding:0;overflow:hidden}.employee-filter-bar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(135px,1fr)) auto;gap:10px;align-items:center;padding:16px;border-bottom:1px solid var(--line);background:#fff}.employee-filter-bar .search{min-width:0}.employee-filter-bar select{min-width:0}.employee-table-wrap{border-radius:0}.employee-table{min-width:1180px}.employee-table th{white-space:nowrap}.employee-table-person{display:flex;align-items:center;gap:9px;min-width:135px}.employee-photo{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid #dbe5ef;background:#f2f6fa;flex:0 0 38px}.employee-name-link{border:0;background:transparent;color:var(--ink);font-weight:900;cursor:pointer;padding:0;text-align:right}.employee-row-actions{display:flex;gap:5px;white-space:nowrap}.employee-table-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.employee-pager{display:flex;align-items:center;gap:8px}.employee-pager .mini-btn:disabled{opacity:.45;cursor:not-allowed}.pager-current{min-width:54px;text-align:center;font-weight:800;color:var(--ink)}
.organization-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.org-tab-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;text-align:right;box-shadow:var(--shadow);cursor:pointer;color:var(--ink);transition:.15s}.org-tab-card>span{width:52px;height:52px;border-radius:15px;background:#eef5fd;display:grid;place-items:center;font-size:24px;color:var(--blue)}.org-tab-card div{min-width:0}.org-tab-card small,.org-tab-card em{display:block;color:var(--muted);font-style:normal}.org-tab-card strong{display:block;font-size:27px;color:var(--blue);margin:2px 0}.org-tab-card.active{border-color:#8ebaf0;box-shadow:0 0 0 2px #e3f0ff inset}.org-data-panel{margin-bottom:16px}.signed-proof{margin-top:20px;padding:14px;border:1px solid #b7dccb;border-radius:12px;background:#f3fbf7}.signed-proof>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.signed-proof small{color:#527060}.signed-proof svg{display:block;width:100%;max-width:430px;height:100px;margin-top:10px;color:#17324d;background:#fff;border-radius:8px;border:1px solid #d9e8e1}
@media(max-width:1100px){.employee-filter-bar{grid-template-columns:1fr 1fr 1fr}.employee-filter-bar .search{grid-column:1/-1}.employee-filter-bar .btn{width:100%}}
@media(max-width:700px){.employee-filter-bar{grid-template-columns:1fr 1fr}.employee-filter-bar .search,.employee-filter-bar .btn{grid-column:1/-1}.employee-table-footer{align-items:flex-start;flex-direction:column}.organization-tabs{grid-template-columns:1fr}.org-tab-card{padding:14px}.sidebar{position:fixed;right:0;top:0;bottom:0;max-height:100%;}.org-data-panel .panel-head{align-items:flex-start;flex-direction:column}.org-data-panel .panel-head .btn{width:100%}}

/* v2.5.4 — document workflow + print continuity */
.doc-preview .document-root{min-height:620px;display:flex;flex-direction:column}
.doc-preview .doc-head-grid{border-top:4px solid var(--blue);background:#f6f9ff}
.doc-preview .doc-head-grid .center{color:#0b4f9c}
.doc-preview .doc-body h1,.doc-preview .doc-body h2,.doc-preview .doc-body h3,.doc-preview .doc-body h4{break-after:avoid-page;page-break-after:avoid}
.doc-preview .doc-body section,.doc-preview .doc-body tr{break-inside:avoid-page;page-break-inside:avoid}
.doc-preview .doc-body th{background:#eaf3ff;color:#123d69}
.doc-preview .doc-ending{margin-top:auto;break-inside:avoid-page;page-break-inside:avoid}
.doc-preview .doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.doc-preview .doc-sign div{border-top:1px dashed #607b96;padding-top:8px;text-align:center}
.doc-preview .doc-footer{border-top:2px solid var(--blue);color:#284d72}
@media(max-width:760px){.doc-preview .doc-sign{grid-template-columns:1fr;gap:20px}}

/* v2.5.4 — fixed mobile scale and long-press behavior */
html,body{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,.app,.workspace,.content,.panel,.stat,.report-card,.alert-card,.nav-item{-webkit-touch-callout:none}
body *:not(input):not(textarea):not(select){-webkit-user-select:none;user-select:none}
input,textarea,select{-webkit-user-select:text;user-select:text}
.employee-no-link,.document-number-link,.employee-name-link{touch-action:manipulation}
.print-preview-frame{width:100%;min-height:70vh;border:1px solid #d9e4ef;border-radius:12px;background:#fff}
.approval-seal{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid #8bc7a4;background:#eefaf3;color:#17633b;border-radius:999px;font-weight:900;margin-bottom:10px}
.doc-sign .signed-proof{margin:0;border:0;background:transparent;padding:0}.doc-sign .signed-proof svg{height:78px}

/* v2.6.0 — unified navy HR MASTER identity (dashboard through payroll and all shared screens) */
:root{
  --blue:#0868e8;
  --blue2:#0758cf;
  --navy:#062f67;
  --navy2:#073d82;
  --ink:#102a4c;
  --muted:#6f7f93;
  --bg:#f7f9fc;
  --panel:#ffffff;
  --line:#e2e8f0;
  --green:#16a66a;
  --red:#ea4554;
  --orange:#f39a1e;
  --purple:#7447d8;
  --shadow:0 4px 14px rgba(24,45,72,.06);
  --r:10px
}
html,body{background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif}
.app{background:var(--bg)}
.sidebar{width:280px;background:linear-gradient(180deg,var(--navy) 0%,#052b5e 100%);border-left:1px solid rgba(255,255,255,.08);padding:0 12px 18px;box-shadow:-6px 0 24px rgba(4,34,75,.08)}
.side-brand{min-height:92px;padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.side-logo{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:22px;overflow:hidden}
.side-brand strong{font-size:15px;color:#fff}.side-brand small{color:#d8e6f7;font-size:11px}.side-brand .icon-btn{background:rgba(255,255,255,.10);color:#fff}
#nav{gap:3px;margin-top:10px}.nav-item{min-height:48px;border-radius:7px;padding:11px 14px;color:#fff;background:transparent;font-size:13px;font-weight:800;border:1px solid transparent}.nav-item:hover{background:rgba(255,255,255,.08)}.nav-item.active{background:linear-gradient(90deg,#0879ff,#0865df);color:#fff;box-shadow:none;border-color:rgba(255,255,255,.12)}
.workspace{margin-right:280px;width:calc(100% - 280px)}
.topbar{height:82px;background:linear-gradient(90deg,#0758be 0%,#073b82 55%,#052e66 100%);border-bottom:0;padding:0 22px;color:#fff;box-shadow:0 2px 7px rgba(1,40,87,.14)}
.top-title h2{font-size:22px;color:#fff;font-weight:900}.top-title small{color:#dce9f8;font-size:12px}.top-actions{direction:ltr}.date-chip{color:#fff;font-weight:700;line-height:1.7;max-width:155px;text-align:left}.bell{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);color:#fff;border-radius:8px}.bell b{background:#f59e0b;color:#fff}.user-chip{direction:rtl;color:#fff}.user-chip small{color:#d8e6f7}.avatar{background:#fff;color:#87a0bb;border:2px solid rgba(255,255,255,.4)}.topbar .btn.soft,.topbar .icon-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff}
.content{max-width:none;padding:22px 18px 28px}
.stats,.stats.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat{border-radius:10px;border:1px solid #e7ebf1;padding:17px 18px;box-shadow:var(--shadow);min-height:112px}.stat-head{align-items:center}.stat-icon{width:54px;height:54px;border-radius:11px;font-size:24px;background:var(--soft,#eaf2ff)}.stat label{font-size:13px;color:#213953}.stat strong{font-size:28px;color:#123b7a}.stat small{font-size:11px}
.panel{border-radius:10px;border:1px solid #e6ebf1;box-shadow:var(--shadow);padding:16px}.panel-head{min-height:42px}.panel-head h3{font-size:15px;color:#163761}.panel-head small{font-size:11px}.grid2{gap:14px}
.toolbar{background:#fff;border:1px solid #e6ebf1;border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);margin-bottom:14px}.search,input,select,textarea{border-radius:7px}.search{border-radius:7px}.btn{border-radius:7px;min-height:38px}.primary{background:linear-gradient(135deg,#0878ff,#065bd1);box-shadow:0 4px 10px rgba(6,95,215,.15)}.soft{background:#f7f9fc;border:1px solid #dfe7f0}.success{border:1px solid #c9ecdd}.danger{border:1px solid #ffd4d9}
.table-wrap{border:1px solid #e4e9ef;border-radius:7px;background:#fff}.panel>.table-wrap{margin:-1px}table{border-collapse:separate;border-spacing:0}th,td{padding:11px 10px;border-bottom:1px solid #e8edf2;border-left:1px solid #edf1f5;font-size:12px}th:first-child,td:first-child{border-left:0}th{background:#fbfcfe;color:#203a59;font-size:11px;font-weight:900}tbody tr:hover td{background:#fbfdff}.badge{border-radius:5px;padding:5px 9px}.badge.ok{background:#e7f8ef;color:#16925f}.badge.warn{background:#fff5e5;color:#c07b13}.badge.danger{background:#ffeaec;color:#cc3746}.badge.info{background:#edf5ff;color:#1761b8}
.employee-directory{border-radius:10px}.employee-filter-bar{padding:14px 16px;background:#fff}.employee-photo,.mini-avatar{border:2px solid #fff;box-shadow:0 0 0 1px #dfe6ee}.employee-no-link{background:#e9f2ff;color:#0b63ce;border-radius:6px}.employee-row-actions .mini-btn,.mini-btn{border-radius:6px;background:#fff;border:1px solid #dfe7f0;color:#1761b8}.mini-btn.danger{background:#fff8f8;border-color:#ffdadd;color:#dc3545}
.organization-tabs{gap:14px}.org-tab-card{border-radius:10px;box-shadow:var(--shadow);padding:16px}.org-tab-card>span{border-radius:10px}.org-tab-card.active{border-color:#78adf3;box-shadow:0 0 0 2px #e7f1ff inset}
.report-card,.action-card,.person-card,.alert-card{border-radius:10px;box-shadow:var(--shadow)}
.alert-row{border-radius:7px}.alert-card{border-top-width:3px}.chip{border-radius:6px;background:#fff}.mini-box,.info-box{border-radius:7px}
.modal-card,.viewer-modal,.confirm-card{border-radius:12px!important}

/* shared page rhythm matching the supplied desktop identity */
.page>.screen-stats:first-child,.page>.stats:first-child{margin-top:0}.page .toolbar+.screen-stats{margin-top:0}.page .panel+.panel{margin-top:14px}
#page-dashboard .grid2 .panel{min-height:280px}
#page-dashboard .mini-grid{align-content:start}
#page-payroll .stat strong{font-variant-numeric:tabular-nums}
#page-contracts .employee-no-link,#page-leaves .employee-no-link,#page-payroll .employee-no-link{font-weight:900}

/* mobile keeps the same visual identity without scaling the app */
@media(max-width:1100px){.stats,.stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:72px}.content{padding:14px}.toolbar{align-items:stretch}.workspace{margin-right:0;width:100%}.sidebar{transform:translateX(105%);transition:transform .2s ease;box-shadow:-14px 0 40px rgba(0,0,0,.22)}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-grid;place-items:center}.top-title{min-width:0}.top-title h2{font-size:17px}.top-actions{gap:6px}.date-chip{display:none}.user-chip{min-width:auto}.user-chip>div{display:none}.topbar .btn.soft{padding:8px 10px}}
@media(max-width:700px){.stats,.stats.compact{grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:96px;padding:13px}.stat-icon{width:42px;height:42px}.stat strong{font-size:22px}.grid2,.grid2.equal{grid-template-columns:1fr}.content{padding:10px}.panel{padding:12px}.toolbar{padding:10px}.sidebar{width:min(86vw,300px)}.employee-filter-bar{padding:10px}.topbar{padding:0 10px}.top-actions .bell{width:38px;height:38px}.top-title small{display:none}}

/* v2.6.7 — approved full dashboard identity */
.dashboard-v262 .dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.dashboard-v262 .dashboard-stat{min-height:118px;padding:19px 20px;background:#fff}
.dashboard-v262 .dashboard-stat .stat-head{height:100%;align-items:center}
.dashboard-v262 .dashboard-stat .stat-icon{width:58px;height:58px;border-radius:12px;font-size:26px}
.dashboard-v262 .dashboard-stat label{font-size:14px;font-weight:850;color:#162e55}
.dashboard-v262 .dashboard-stat strong{font-size:31px;color:#123b7a;line-height:1.1}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr) minmax(300px,1fr);gap:14px;align-items:stretch}
.dashboard-main-grid>.panel{min-width:0;min-height:360px;margin:0!important}
.dashboard-employees-panel .table-wrap{margin-top:4px}
.dashboard-employees-panel table{min-width:620px}
.dashboard-attendance-panel .chart{height:275px;padding:30px 8px 10px}
.dashboard-alerts-panel #dashAlerts{display:grid;gap:8px}
.dashboard-alerts-panel .alert-row{margin:0;padding:11px 12px;background:#fff;border:1px solid #edf1f5;border-right:3px solid #f0a22c}
.dashboard-alerts-panel .alert-row.danger{border-right-color:#e54855;background:#fffafa}
.dashboard-bottom-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.dashboard-bottom-card{display:flex;align-items:center;gap:14px;text-align:right;border:1px solid #e6ebf1;border-radius:10px;background:#fff;padding:16px 18px;min-height:106px;box-shadow:var(--shadow);cursor:pointer;color:#17365d}
.dashboard-bottom-card:hover{border-color:#bcd4f4}
.dashboard-bottom-card>span:last-child{display:grid;gap:2px}
.dashboard-bottom-card b{font-size:13px}.dashboard-bottom-card strong{font-size:25px;color:#123b7a}.dashboard-bottom-card small{font-size:11px;color:#6d8098}
.dashboard-bottom-icon{width:50px;height:50px;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--tone);font-size:23px;flex:0 0 auto}
@media(max-width:1250px){.dashboard-main-grid{grid-template-columns:1fr 1fr}.dashboard-employees-panel{grid-column:1/-1}.dashboard-bottom-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-v262 .dashboard-summary{grid-template-columns:1fr 1fr;gap:9px}.dashboard-v262 .dashboard-stat{min-height:98px;padding:13px}.dashboard-v262 .dashboard-stat .stat-icon{width:42px;height:42px}.dashboard-v262 .dashboard-stat strong{font-size:23px}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-employees-panel{grid-column:auto}.dashboard-main-grid>.panel{min-height:auto}.dashboard-bottom-cards{grid-template-columns:1fr 1fr;gap:9px}.dashboard-bottom-card{min-height:92px;padding:12px}.dashboard-bottom-icon{width:42px;height:42px}}


/* v2.6.7 — unified approved identity, fixed sidebar, single bell and dashboard */
.sidebar{display:flex;flex-direction:column;overflow:hidden;height:100vh}
.side-account{flex:0 0 auto}.side-user-copy{min-width:0}.side-user-copy strong,.side-user-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 10px;scrollbar-width:thin}
.sidebar-footer{flex:0 0 auto;border-top:1px solid rgba(255,255,255,.13);padding:12px 4px 0;margin-top:8px}
.sidebar-logout{width:100%;height:48px;border:0;border-radius:8px;background:transparent;color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;gap:12px;padding:0 14px;cursor:pointer;text-align:right}
.sidebar-logout:hover{background:rgba(255,255,255,.09)}
.system-brand-title{margin-right:auto}.system-brand-title h2{font-size:25px;letter-spacing:.3px}.system-brand-title small{font-size:12px}
.top-actions{margin-left:auto}.top-back{height:42px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:8px;padding:0 16px;font-weight:900;cursor:pointer}.top-back:hover{background:rgba(255,255,255,.12)}

.dashboard-v263 .dashboard-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dashboard-v263 .dashboard-stat{min-height:126px;padding:20px;background:linear-gradient(135deg,#fff 25%,var(--soft) 180%);border-top:3px solid var(--tone);overflow:hidden}
.dashboard-v263 .dashboard-stat .stat-icon{width:62px;height:62px;border-radius:14px;background:var(--soft);color:var(--tone);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 10%,transparent)}
.dashboard-v263 .dashboard-stat label{font-size:14px;font-weight:900;color:#193657}.dashboard-v263 .dashboard-stat strong{font-size:32px;color:var(--tone);font-variant-numeric:tabular-nums}.dashboard-v263 .dashboard-stat small{font-size:11px}
.dashboard-feature-grid,.dashboard-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;align-items:stretch}
.dashboard-feature-grid>.panel{min-height:330px}.dashboard-detail-grid>.panel{min-height:310px}.dashboard-v263 .panel{overflow:hidden}
.dashboard-v263 .panel-head{border-bottom:1px solid #edf1f5;padding-bottom:11px;margin-bottom:14px}.dashboard-v263 .panel-head h3{font-size:16px}
.quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:4px}.quick-actions-grid button{min-height:118px;border:1px solid #e8edf3;background:#fbfdff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:#173a65;font-weight:900}.quick-actions-grid button:hover{border-color:#98bff0;background:#f5f9ff}.quick-actions-grid button span{font-size:32px}.quick-actions-grid button:nth-child(1) span,.quick-actions-grid button:nth-child(3) span{color:#2c7fe8}.quick-actions-grid button:nth-child(2) span{color:#7650d8}.quick-actions-grid button:nth-child(4) span{color:#367ddd}.quick-actions-grid button:nth-child(5) span{color:#f39a1e}.quick-actions-grid button:nth-child(6) span{color:#35aa68}
.department-chart{display:flex;align-items:center;justify-content:center;gap:28px;min-height:245px}.dept-donut{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.dept-donut>div{width:112px;height:112px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px #eef2f6}.dept-donut strong{font-size:30px;color:#163a70}.dept-donut span{font-size:11px;color:#687d94}.dept-legend{display:grid;gap:8px;min-width:150px}.dept-legend button{border:0;background:transparent;display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;text-align:right;color:#263f5c;cursor:pointer;padding:4px}.dept-legend i{width:10px;height:10px;border-radius:3px}.dept-legend b{color:#173f75}
.dashboard-alerts-panel #dashAlerts{display:grid;gap:10px}.dashboard-alerts-panel .alert-row{min-height:67px;background:#fffdf9}.dashboard-alerts-panel .alert-row.danger{background:#fff8f8}
.attendance-gauge-wrap{min-height:245px;display:grid;place-items:center}.attendance-gauge{width:100%}.attendance-arc{width:230px;height:115px;border-radius:230px 230px 0 0;margin:12px auto 22px;position:relative;overflow:hidden}.attendance-arc:after{content:"";position:absolute;left:32px;right:32px;bottom:-1px;height:83px;border-radius:170px 170px 0 0;background:#fff}.attendance-arc>div{position:absolute;z-index:2;left:0;right:0;bottom:9px;text-align:center}.attendance-arc strong{display:block;font-size:27px;color:#14376b}.attendance-arc span{font-size:10px;color:#667b91}.attendance-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.attendance-counts button{border:1px solid #e8edf2;border-radius:9px;background:#fff;padding:10px;cursor:pointer}.attendance-counts b{font-size:22px;color:#173a6e}.attendance-counts small{display:block;color:#647990}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 5px}.dot.green{background:#39b96b}.dot.red{background:#e74b59}.dot.amber{background:#f3b321}
.dashboard-mini-table{border:0}.dashboard-mini-table table{min-width:520px}.dashboard-mini-table th,.dashboard-mini-table td{padding:10px 8px}.text-link{border:0;background:transparent;color:#175fb8;font-weight:900;cursor:pointer;padding:0}.text-link:hover{text-decoration:underline}
.dashboard-system-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e8edf3;border:1px solid #e5eaf0;border-radius:10px;overflow:hidden;margin-top:2px}.dashboard-system-footer>div{background:#fff;padding:14px 18px;display:flex;flex-direction:column;gap:4px}.dashboard-system-footer b{font-size:11px;color:#304c6d}.dashboard-system-footer span{font-size:11px;color:#667c94}

/* colorful large metric cards on all pages */
.screen-stats .stat,.stats.compact .stat{background:linear-gradient(135deg,#fff 38%,var(--soft,#eef5ff) 185%);border-top:3px solid var(--tone,#2f7de8)}
.screen-stats .stat:nth-child(4n+1),.stats.compact .stat:nth-child(4n+1){--tone:#267be8;--soft:#eaf3ff}.screen-stats .stat:nth-child(4n+2),.stats.compact .stat:nth-child(4n+2){--tone:#22a667;--soft:#e8f8ef}.screen-stats .stat:nth-child(4n+3),.stats.compact .stat:nth-child(4n+3){--tone:#f08a1b;--soft:#fff1e3}.screen-stats .stat:nth-child(4n+4),.stats.compact .stat:nth-child(4n+4){--tone:#7447d8;--soft:#f1ebff}.screen-stats .stat strong,.stats.compact .stat strong{color:var(--tone)}.screen-stats .stat-icon,.stats.compact .stat-icon{color:var(--tone);background:var(--soft)}

@media(max-width:1250px){.dashboard-v263 .dashboard-summary{grid-template-columns:repeat(3,1fr)}.dashboard-feature-grid,.dashboard-detail-grid{grid-template-columns:1fr 1fr}.dashboard-feature-grid>.panel:last-child,.dashboard-detail-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:1100px){.sidebar{height:100vh}.system-brand-title{margin-right:0}.topbar{justify-content:space-between}.top-actions{margin-left:0}.dashboard-v263 .dashboard-summary{grid-template-columns:repeat(2,1fr)}.dashboard-feature-grid,.dashboard-detail-grid{grid-template-columns:1fr}.dashboard-feature-grid>.panel:last-child,.dashboard-detail-grid>.panel:last-child{grid-column:auto}}
@media(max-width:700px){.dashboard-v263 .dashboard-summary{grid-template-columns:1fr 1fr}.dashboard-v263 .dashboard-stat{min-height:100px;padding:13px}.dashboard-v263 .dashboard-stat .stat-icon{width:44px;height:44px}.dashboard-v263 .dashboard-stat strong{font-size:23px}.department-chart{flex-direction:column;gap:14px}.dept-donut{width:160px;height:160px}.dept-donut>div{width:94px;height:94px}.quick-actions-grid{grid-template-columns:1fr 1fr}.quick-actions-grid button{min-height:94px}.dashboard-system-footer{grid-template-columns:1fr}.system-brand-title h2{font-size:18px}.system-brand-title small{font-size:10px}.top-back{height:38px;padding:0 10px}.top-actions .date-chip{display:none}}

/* v2.6.7 — exact dashboard composition, fixed desktop sidebar, stronger color identity */
html,body{overflow-x:hidden}
.sidebar{width:232px!important;right:0!important;top:0!important;bottom:0!important;height:100vh!important;position:fixed!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.workspace{margin-right:232px!important;width:calc(100% - 232px)!important;min-width:0!important}
.side-brand{min-height:86px!important}
#nav{flex:1!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
.sidebar-footer{margin-top:auto!important;flex:0 0 auto!important;padding:12px 4px 0!important;background:linear-gradient(180deg,rgba(5,43,94,0),rgba(4,38,82,.35))}
.sidebar-logout{height:50px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important}
.sidebar-logout:hover{background:rgba(255,255,255,.10)!important}
.topbar{height:78px!important;padding:0 18px!important;direction:rtl}
.system-brand-title{margin:0!important;min-width:0}
.top-actions{margin-right:auto!important;margin-left:0!important;direction:ltr!important}
.topbar .bell{display:inline-grid!important;place-items:center!important}
.topbar .bell+ .bell{display:none!important}
.content{width:100%!important;max-width:none!important;min-width:0!important;padding:14px 14px 18px!important;margin:0!important}
.page{min-width:0}

/* Homepage: copy the supplied composition closely and keep it inside the available width. */
.dashboard-v263{width:100%;min-width:0}
.dashboard-v263 .dashboard-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}
.dashboard-v263 .dashboard-stat{min-width:0!important;min-height:104px!important;padding:14px 15px!important;border-top:0!important;border-right:3px solid var(--tone)!important;background:linear-gradient(135deg,#fff 38%,var(--soft) 170%)!important;box-shadow:0 4px 12px rgba(24,45,72,.055)!important}
.dashboard-v263 .dashboard-stat .stat-head{height:100%;align-items:center!important;gap:8px}
.dashboard-v263 .dashboard-stat .stat-icon{width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:12px!important;font-size:24px!important;color:var(--tone)!important;background:var(--soft)!important}
.dashboard-v263 .dashboard-stat label{font-size:12px!important;color:var(--tone)!important;font-weight:900!important}
.dashboard-v263 .dashboard-stat strong{font-size:27px!important;color:var(--tone)!important;margin-top:4px!important}
.dashboard-v263 .dashboard-stat small{font-size:10px!important;color:#657a91!important}

.dashboard-feature-grid,.dashboard-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:10px!important;align-items:stretch!important;min-width:0!important}
.dashboard-feature-grid>.panel{min-height:252px!important;height:252px!important}
.dashboard-detail-grid>.panel{min-height:228px!important;height:228px!important}
.dashboard-v263 .panel{min-width:0!important;padding:12px!important;border-radius:9px!important;box-shadow:0 4px 12px rgba(24,45,72,.05)!important}
.dashboard-v263 .panel-head{min-height:31px!important;padding-bottom:7px!important;margin-bottom:8px!important}
.dashboard-v263 .panel-head h3{font-size:13px!important;color:#0d376f!important}
.dashboard-v263 .link-btn{font-size:10px!important}

.department-chart{min-height:190px!important;height:190px!important;gap:17px!important;padding:4px 0!important}
.dept-donut{width:148px!important;height:148px!important}
.dept-donut>div{width:86px!important;height:86px!important}
.dept-donut strong{font-size:25px!important}
.dept-donut span{font-size:9px!important}
.dept-legend{gap:5px!important;min-width:112px!important;max-width:150px!important}
.dept-legend button{font-size:10px!important;padding:2px!important;grid-template-columns:9px minmax(0,1fr) auto!important}
.dept-legend i{width:8px!important;height:8px!important}

.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:0!important}
.quick-actions-grid button{min-width:0!important;min-height:88px!important;height:88px!important;padding:7px 4px!important;gap:5px!important;font-size:10px!important;background:linear-gradient(145deg,#fff 25%,#f7faff 100%)!important}
.quick-actions-grid button span{font-size:25px!important}
.quick-actions-grid button:nth-child(1){background:linear-gradient(145deg,#fff,#eef5ff)!important}.quick-actions-grid button:nth-child(1) span{color:#287be7!important}
.quick-actions-grid button:nth-child(2){background:linear-gradient(145deg,#fff,#f2edff)!important}.quick-actions-grid button:nth-child(2) span{color:#7447d8!important}
.quick-actions-grid button:nth-child(3){background:linear-gradient(145deg,#fff,#edf5ff)!important}.quick-actions-grid button:nth-child(3) span{color:#287be7!important}
.quick-actions-grid button:nth-child(4){background:linear-gradient(145deg,#fff,#edf5ff)!important}.quick-actions-grid button:nth-child(4) span{color:#377ddd!important}
.quick-actions-grid button:nth-child(5){background:linear-gradient(145deg,#fff,#fff4e8)!important}.quick-actions-grid button:nth-child(5) span{color:#f08a1b!important}
.quick-actions-grid button:nth-child(6){background:linear-gradient(145deg,#fff,#ebf9f1)!important}.quick-actions-grid button:nth-child(6) span{color:#22a667!important}

.dashboard-alerts-panel #dashAlerts{gap:6px!important}
.dashboard-alerts-panel .alert-row{min-height:50px!important;padding:7px 8px!important;margin:0!important;font-size:10px!important}
.dashboard-alerts-panel .alert-row strong{font-size:10px!important}.dashboard-alerts-panel .alert-row small{font-size:9px!important}

.attendance-gauge-wrap{min-height:175px!important;height:175px!important}
.attendance-arc{width:172px!important;height:86px!important;margin:4px auto 12px!important;border-radius:172px 172px 0 0!important}
.attendance-arc:after{left:24px!important;right:24px!important;height:62px!important}
.attendance-arc>div{bottom:5px!important}.attendance-arc strong{font-size:22px!important}.attendance-arc span{font-size:8px!important}
.attendance-counts{gap:6px!important}.attendance-counts button{padding:6px!important}.attendance-counts b{font-size:18px!important}.attendance-counts small{font-size:9px!important}

.dashboard-mini-table{overflow:hidden!important}
.dashboard-mini-table table{min-width:0!important;width:100%!important;table-layout:fixed!important}
.dashboard-mini-table th,.dashboard-mini-table td{padding:6px 4px!important;font-size:9px!important;white-space:normal!important;overflow-wrap:anywhere!important}
.dashboard-mini-table th{font-size:8px!important}
.dashboard-mini-table .badge{font-size:8px!important;padding:3px 5px!important}
.dashboard-mini-table .text-link{font-size:9px!important}

.dashboard-system-footer{direction:ltr!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:0!important;border-radius:8px!important}
.dashboard-system-footer>div{direction:rtl!important;padding:8px 12px!important;gap:2px!important;min-height:48px!important;justify-content:center!important}
.dashboard-system-footer b,.dashboard-system-footer span{font-size:9px!important}

/* Color the text and icons of every large statistics card throughout the system. */
.screen-stats .stat label,.stats.compact .stat label{color:var(--tone)!important;font-weight:900!important}
.screen-stats .stat strong,.stats.compact .stat strong{color:var(--tone)!important}
.screen-stats .stat .stat-icon,.stats.compact .stat .stat-icon{color:var(--tone)!important;background:var(--soft)!important}
.screen-stats .stat,.stats.compact .stat{border-right:3px solid var(--tone)!important;border-top:0!important;background:linear-gradient(135deg,#fff 38%,var(--soft) 175%)!important}

/* Keep the sidebar fixed in desktop / desktop-site mode. Use a drawer only on a genuinely narrow phone viewport. */
@media (min-width:780px){
  .sidebar{transform:none!important;visibility:visible!important}
  .workspace{margin-right:232px!important;width:calc(100% - 232px)!important}
  .mobile-only{display:none!important}
}
@media (max-width:779px){
  .sidebar{width:min(86vw,300px)!important;transform:translateX(105%)!important;transition:transform .2s ease!important;box-shadow:-14px 0 40px rgba(0,0,0,.22)!important}
  .sidebar.open{transform:translateX(0)!important}
  .workspace{margin-right:0!important;width:100%!important}
  .mobile-only{display:inline-grid!important;place-items:center!important}
  .dashboard-v263 .dashboard-summary{grid-template-columns:1fr 1fr!important}
  .dashboard-feature-grid,.dashboard-detail-grid{grid-template-columns:1fr!important}
  .dashboard-feature-grid>.panel,.dashboard-detail-grid>.panel{height:auto!important;min-height:0!important}
  .department-chart{height:auto!important;min-height:190px!important}
  .dashboard-system-footer{grid-template-columns:1fr!important}
}


/* v2.6.7 — full-screen reference dashboard, fixed sidebar, one bell, stronger card color */
@media (min-width:780px){
  html,body,#app,.app{height:100%;min-height:100%;overflow:hidden!important}
  .sidebar{width:210px!important;height:100vh!important;max-height:100vh!important;position:fixed!important;right:0!important;top:0!important;bottom:0!important;transform:none!important;display:flex!important;flex-direction:column!important;padding-bottom:12px!important}
  .workspace{margin-right:210px!important;width:calc(100% - 210px)!important;height:100vh!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .topbar{height:82px!important;flex:0 0 82px!important;padding:0 20px!important}
  .content{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:12px 14px!important}
  #page-dashboard.dashboard-v263{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:118px minmax(0,1.12fr) minmax(0,1fr) 58px!important;gap:10px!important;overflow:hidden!important}
  .dashboard-v263 .dashboard-summary,.dashboard-feature-grid,.dashboard-detail-grid,.dashboard-system-footer{margin:0!important;min-height:0!important}
  .dashboard-v263 .dashboard-summary{height:118px!important;gap:12px!important}
  .dashboard-v263 .dashboard-stat{height:118px!important;min-height:118px!important;padding:15px 16px!important;border-right:0!important;border-top:0!important;border-bottom:3px solid var(--tone)!important;background:linear-gradient(145deg,#fff 34%,var(--soft) 150%)!important}
  .dashboard-v263 .dashboard-stat .stat-icon{width:58px!important;height:58px!important;flex-basis:58px!important;font-size:28px!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 12%,transparent)!important}
  .dashboard-v263 .dashboard-stat label{font-size:13px!important}.dashboard-v263 .dashboard-stat strong{font-size:31px!important}.dashboard-v263 .dashboard-stat small{font-size:11px!important}
  .dashboard-feature-grid,.dashboard-detail-grid{height:100%!important;gap:10px!important}
  .dashboard-feature-grid>.panel,.dashboard-detail-grid>.panel{height:100%!important;min-height:0!important;overflow:hidden!important;padding:13px!important}
  .dashboard-v263 .panel-head h3{font-size:14px!important}.dashboard-v263 .link-btn{font-size:11px!important}
  .department-chart{height:calc(100% - 40px)!important;min-height:0!important;align-items:center!important;justify-content:center!important}
  .dept-donut{width:min(48%,190px)!important;height:auto!important;aspect-ratio:1!important}.dept-donut>div{width:58%!important;height:58%!important}.dept-donut strong{font-size:30px!important}.dept-donut span{font-size:10px!important}
  .dept-legend{max-width:46%!important;min-width:120px!important}.dept-legend button{font-size:11px!important}
  .quick-actions-grid{height:calc(100% - 40px)!important;grid-template-rows:1fr 1fr!important}.quick-actions-grid button{height:auto!important;min-height:0!important;font-size:11px!important}.quick-actions-grid button span{font-size:30px!important}.quick-actions-grid button b{color:#143d72!important}
  .dashboard-alerts-panel #dashAlerts{height:calc(100% - 40px)!important;align-content:start!important;overflow:auto!important}.dashboard-alerts-panel .alert-row{min-height:58px!important;font-size:11px!important}.dashboard-alerts-panel .alert-row strong{font-size:11px!important}.dashboard-alerts-panel .alert-row small{font-size:10px!important}
  .attendance-gauge-wrap{height:calc(100% - 40px)!important;min-height:0!important;display:grid!important;place-items:center!important}.attendance-gauge{width:100%!important}.attendance-arc{width:min(72%,230px)!important;height:auto!important;aspect-ratio:2/1!important;margin:2px auto 12px!important}.attendance-arc strong{font-size:28px!important}.attendance-arc span{font-size:10px!important}.attendance-counts button{padding:8px!important}.attendance-counts b{font-size:21px!important}.attendance-counts small{font-size:10px!important}
  .dashboard-mini-table{height:calc(100% - 40px)!important;overflow:auto!important}.dashboard-mini-table table{height:auto!important}.dashboard-mini-table th,.dashboard-mini-table td{padding:8px 5px!important;font-size:10px!important}.dashboard-mini-table th{font-size:9px!important}.dashboard-mini-table .text-link{font-size:10px!important}.dashboard-mini-table .badge{font-size:9px!important}
  .dashboard-system-footer{height:58px!important}.dashboard-system-footer>div{min-height:58px!important;padding:9px 14px!important}.dashboard-system-footer b,.dashboard-system-footer span{font-size:10px!important}
  #nav{padding-bottom:4px!important}.nav-item{min-height:44px!important;font-size:12px!important}.sidebar-footer{padding-top:8px!important}.sidebar-logout{height:48px!important;color:#fff!important;font-weight:900!important;width:100%!important}
  .topbar .bell{width:43px!important;height:43px!important;font-size:20px!important}.topbar .bell:not(:first-of-type){display:none}
  .system-brand-title h2{font-size:24px!important}.system-brand-title small{font-size:12px!important}
  .screen-stats .stat label,.stats.compact .stat label{font-size:13px!important}.screen-stats .stat strong,.stats.compact .stat strong{font-size:28px!important}.screen-stats .stat .stat-icon,.stats.compact .stat .stat-icon{font-size:26px!important}
  .institution-package-panel{border-top:3px solid #0b67e8!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}.package-note{margin-top:12px;padding:12px 14px;border:1px dashed #bad5f8;border-radius:8px;background:#eef6ff;display:flex;flex-direction:column;gap:4px;color:#31597f;font-size:12px}.package-note b{color:#0b4f9e}
}
@media (max-width:779px){
  html,body,#app,.app{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  #page-dashboard.dashboard-v263{height:auto!important;display:block!important;overflow:visible!important}
}

/* v2.6.7 — navigation integrity + guaranteed sidebar logout.
   Keeps the approved dashboard layout, but prevents the dashboard from remaining
   visible when another screen is selected. */
#page-dashboard.hidden{display:none!important}

@media (min-width:780px){
  /* Keep the approved desktop/desktop-site geometry. */
  .sidebar{position:fixed!important;right:0!important;top:0!important;bottom:0!important;width:232px!important;height:100vh!important;max-height:100vh!important;overflow:hidden!important}
  .workspace{margin-right:232px!important;width:calc(100% - 232px)!important;min-width:0!important}

  /* Do not force the dashboard to display when go() has hidden it. */
  #page-dashboard.dashboard-v263.hidden{display:none!important}
  #page-dashboard.dashboard-v263:not(.hidden){display:block!important;height:auto!important;overflow:visible!important}

  /* The navigation can scroll, while logout is pinned to the visible viewport. */
  #nav{padding-bottom:78px!important;overflow-y:auto!important;overflow-x:hidden!important}
  .sidebar-footer{display:block!important;position:fixed!important;right:12px!important;bottom:12px!important;width:208px!important;z-index:9999!important;margin:0!important;padding:8px 0 0!important;border-top:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,rgba(5,43,94,.18),#052b5e 36%)!important}
  .sidebar-logout{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;height:50px!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;padding:0 14px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:9px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-weight:900!important;cursor:pointer!important;pointer-events:auto!important}
  .sidebar-logout:hover{background:rgba(255,255,255,.14)!important}
}

@media (max-width:779px){
  #page-dashboard.dashboard-v263.hidden{display:none!important}
  #page-dashboard.dashboard-v263:not(.hidden){display:block!important}
  .sidebar-footer{display:block!important;position:absolute!important;right:12px!important;left:12px!important;bottom:12px!important;z-index:9999!important;margin:0!important;padding:8px 0 0!important;background:#052b5e!important}
  .sidebar-logout{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;height:50px!important;color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important}
}
