:root{--blue:#425CC7;--yellow:#FFB71B;--navy:#132048;--bg:#eef3ff;--card:#fff;--muted:#66708a;--border:#dce4f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'Trebuchet MS',Arial,sans-serif;color:var(--navy)}a{text-decoration:none;color:inherit}.app-shell{max-width:430px;min-height:100vh;margin:0 auto;background:linear-gradient(180deg,var(--blue),#3553c9);padding:10px 14px 88px}.app-shell.page{background:var(--bg);max-width:1100px;padding:24px 18px 90px}.topbar{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:8px 0 12px}.brand{display:flex;gap:10px;align-items:center}.brand img{width:38px;height:38px;background:#fff;border-radius:10px;padding:5px}.brand b{display:block;font-size:16px}.brand span{font-size:12px}.round{display:inline-flex;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.14);align-items:center;justify-content:center;margin-inline-start:8px}.employee-card{background:#fff;border-radius:18px;display:flex;gap:14px;align-items:center;padding:12px;margin-bottom:12px}.employee-card img{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#eef1fb}.employee-card h2{margin:0;font-size:15px;color:var(--blue)}.employee-card p,.employee-card small{margin:2px 0;color:var(--navy);font-size:12px}.news-card{background:#fff;border-radius:16px;padding:13px;margin-bottom:12px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{margin:0;color:var(--blue)}.section-title small{font-size:10px;color:var(--yellow);font-weight:bold}.news-item{background:#f5f8ff;border:1px solid var(--border);border-radius:14px;padding:12px;margin-top:9px}.news-item p{margin:6px 0 0;color:var(--muted);font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.quick-grid div{background:#fff;border-radius:14px;padding:12px;text-align:center}.quick-grid small{display:block;color:var(--muted);font-weight:bold;font-size:11px}.quick-grid b{display:block;color:var(--blue);font-size:22px;margin-top:4px}.services-title{color:#fff;margin:14px 0 8px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.services-grid a{background:#fff;border-radius:16px;text-align:center;min-height:78px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(19,32,72,.08)}.services-grid b{font-size:13px;color:var(--blue);margin-top:4px}.services-grid small{font-size:10px;color:var(--navy)}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);max-width:430px;width:100%;background:#fff;border-radius:16px 16px 0 0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 4px 6px;box-shadow:0 -4px 18px rgba(0,0,0,.08);z-index:50}.bottom-nav a{text-align:center;color:var(--blue);font-size:18px}.bottom-nav span{display:block;font-size:10px;font-weight:bold}.bottom-nav .active{color:var(--yellow)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.login-card{width:100%;max-width:390px;background:#fff;border-radius:24px;padding:28px;box-shadow:0 20px 60px rgba(19,32,72,.13);text-align:center}.login-logo{width:140px}.login-card h1{margin:14px 0 4px}.login-card p{color:var(--muted)}label{display:block;text-align:left;margin-top:12px;font-weight:bold;font-size:13px}input,select,textarea{width:100%;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:15px}textarea{min-height:90px}.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:12px 18px;font-weight:bold;cursor:pointer}.btn.full{width:100%;margin-top:18px}.lang-row{margin-top:18px}.lang-row a{padding:8px 12px;border:1px solid var(--border);border-radius:10px;margin:3px}.alert{padding:10px;border-radius:12px;margin:10px 0}.alert.error{background:#ffe5e5;color:#a00}.alert.success{background:#e9fff0;color:#087a2f}.panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;margin:16px 0;box-shadow:0 10px 24px rgba(19,32,72,.04)}.panel h1{margin-top:0}.back{display:inline-block;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 14px;color:var(--blue);font-weight:bold;cursor:pointer}.info-list div,.mini-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1fb;padding:12px 0;align-items:center}.mini-row span{color:var(--muted)}.mini-row em{font-style:normal;background:#edf2ff;color:var(--blue);border-radius:20px;padding:5px 10px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid textarea,.form-grid button{grid-column:1/-1}.settings-list a{display:block;padding:14px;border-bottom:1px solid #edf1fb;color:var(--blue);font-weight:bold}.rtl label{text-align:right}@media (min-width:700px){.app-shell{max-width:1180px;border-radius:0;background:linear-gradient(180deg,var(--blue),#3553c9)}.services-grid{grid-template-columns:repeat(4,1fr)}.bottom-nav{max-width:1180px}.employee-card,.news-card{max-width:620px}.quick-grid{grid-template-columns:repeat(4,1fr);max-width:620px}}@media (max-width:420px){.services-grid a{min-height:74px}.app-shell{padding-left:12px;padding-right:12px}.form-grid{grid-template-columns:1fr}.app-shell.page{padding-top:18px}}
.btn.small{padding:7px 10px;border-radius:9px;font-size:12px}.profile-card{max-width:none}.contact-card{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf1fb;padding:12px 0}.contact-card img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#eef1fb}.contact-card b,.contact-card span,.contact-card small{display:block}.contact-card span{color:var(--muted);font-size:12px}.contact-card small{color:var(--blue);font-size:12px}.dark{--bg:#111827;--card:#172033;color:#fff}.dark .panel,.dark .login-card,.dark .employee-card,.dark .news-card,.dark .services-grid a,.dark .quick-grid div,.dark .bottom-nav{background:#172033;color:#fff}.dark input,.dark select,.dark textarea{background:#0f172a;color:#fff;border-color:#334155}@media (min-width:700px){.app-shell.page{max-width:1180px}.form-grid{grid-template-columns:repeat(2,1fr)}}
.offline:before{content:'Offline mode';position:fixed;top:0;left:50%;transform:translateX(-50%);background:#FFB71B;color:#132048;padding:6px 14px;border-radius:0 0 12px 12px;font-weight:bold;z-index:9999}.install-btn{display:none;align-items:center;justify-content:center;gap:6px;background:#FFB71B;color:#132048;border-radius:12px;padding:10px 12px;font-weight:bold;border:0}.mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.notif-dot{display:inline-flex;min-width:18px;height:18px;border-radius:999px;background:#FFB71B;color:#132048;align-items:center;justify-content:center;font-size:11px;font-weight:bold;margin-inline-start:-8px}.splash-card{background:linear-gradient(135deg,#425CC7,#132048);color:#fff;border-radius:22px;padding:18px;margin:12px 0;display:flex;align-items:center;gap:12px}.splash-card img{width:46px;height:46px;background:#fff;border-radius:14px;padding:6px}.splash-card b{display:block}.splash-card small{opacity:.85}

/* Staff Portal Architect */
.architect-page .panel h2{color:var(--blue);font-weight:800;margin-top:0}.architect-hero{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff}.architect-hero h1{margin:0 0 8px;color:#fff}.architect-tabs{display:flex;gap:8px;overflow:auto;position:sticky;top:0;background:var(--bg);z-index:10;padding:10px 0}.architect-tabs a{background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:var(--blue);font-weight:800;white-space:nowrap}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f7f9ff;border:1px solid var(--border);border-radius:13px;padding:12px;margin:0}.switch-row input{width:auto}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.architect-table{width:100%;border-collapse:collapse;min-width:920px}.architect-table th{background:#edf2ff;color:var(--blue);font-weight:900;text-align:left}.architect-table th,.architect-table td{border-bottom:1px solid var(--border);padding:9px;vertical-align:top}.architect-table input,.architect-table select,.architect-table textarea{min-width:120px;padding:8px;border-radius:9px}.architect-table textarea{min-height:44px}.dark .architect-tabs{background:var(--bg)}.dark .architect-tabs a,.dark .switch-row,.dark .architect-table th{background:#172033}

/* V7 self-service and full appearance */
.google-btn{display:block;margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:#202124;font-weight:800}.top-time{display:block;font-size:10px;opacity:.8;margin-top:2px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.status-pill{padding:7px 12px;border-radius:999px;font-weight:800;font-size:12px}.status-pill.open{background:#dcfce7;color:#166534}.status-pill.closed{background:#fee2e2;color:#991b1b}.update-banner{background:#fff7d6;border:1px solid #f5c84b;border-radius:14px;padding:13px;margin:12px 0}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-field{margin:0}.readonly-value{background:#f5f7fc;border:1px solid var(--border);border-radius:12px;min-height:46px;padding:13px;color:var(--navy)}.photo-upload{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.photo-upload label{flex:1}.completion-bar{height:12px;background:#e8edf8;border-radius:999px;overflow:hidden;margin:14px 0}.completion-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--blue));border-radius:inherit}.document-checklist{display:grid;gap:12px}.document-item{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(250px,1.3fr);align-items:center;gap:12px;border:1px solid var(--border);border-radius:15px;padding:14px}.document-item small{display:block;color:var(--muted);margin-top:4px}.doc-status{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#fee2e2;color:#991b1b}.doc-status.approved{background:#dcfce7;color:#166534}.doc-status.pending-hr-review{background:#fef3c7;color:#92400e}.inline-upload{display:flex;gap:8px;align-items:center}.drop-upload{margin:0;flex:1;border:1px dashed var(--blue);border-radius:12px;padding:10px;text-align:center;color:var(--blue);cursor:pointer}.drop-upload input{display:none}.bahrain-time{background:#edf2ff;border-radius:12px;padding:12px;color:var(--blue);font-weight:800}
html.dark,body.dark{--bg:#0b1220;--card:#121c2e;--muted:#aeb8cc;--border:#31405d;--navy:#f5f7ff;background:#0b1220;color:#f5f7ff}html.dark .app-shell.page,body.dark .app-shell.page{background:#0b1220}html.dark .panel,html.dark .login-card,html.dark .employee-card,html.dark .news-card,html.dark .services-grid a,html.dark .quick-grid div,html.dark .bottom-nav,html.dark .document-item{background:#121c2e;color:#f5f7ff;border-color:#31405d}html.dark input,html.dark select,html.dark textarea,html.dark .readonly-value{background:#0f172a;color:#fff;border-color:#334155}html.dark .readonly-value,html.dark .news-item{background:#172033;color:#fff}html.dark .google-btn{background:#fff;color:#202124}
@media(max-width:700px){.profile-fields{grid-template-columns:1fr}.document-item{grid-template-columns:1fr}.inline-upload{width:100%}}

/* V7.1 bilingual dynamic profile and documents */
html[dir="rtl"] body{text-align:right}html[dir="rtl"] label,html[dir="rtl"] .architect-table th{text-align:right}html[dir="rtl"] .back{direction:rtl}html[dir="rtl"] .mini-row,html[dir="rtl"] .document-item{direction:rtl}.profile-section{margin:18px 0;border-top:1px solid var(--border);padding-top:12px}.profile-section h2{color:var(--blue);font-size:18px;margin:0 0 12px}.multi-select{min-height:120px}.field-help{display:block;color:var(--muted);margin-top:4px}.reject-reason{color:#b91c1c!important;font-weight:700}.view-file{display:inline-block;margin-top:8px}.document-item form input[type=date]{max-width:165px}.dark .profile-section h2{color:#9fb2ff}.dark .update-banner{background:#422f0a;border-color:#8b6500}.dark .doc-status{border:1px solid #475569}.dark .reject-reason{color:#fca5a5!important}

/* V3 polished employee profile */
.profile-page{padding-bottom:110px}.profile-hero-card{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-radius:24px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;box-shadow:0 16px 35px rgba(19,32,72,.18);margin-top:14px}.profile-avatar-wrap{position:relative}.profile-avatar{width:92px;height:92px;border-radius:24px;object-fit:cover;background:#fff;border:4px solid rgba(255,255,255,.25)}.profile-photo-action{position:absolute;right:-6px;bottom:-5px}.profile-photo-action input{display:none}.profile-photo-action span{width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;cursor:pointer;border:3px solid #fff}.profile-identity h1{margin:0 0 4px;color:#fff}.profile-identity p{margin:0 0 9px;opacity:.92}.profile-meta{display:flex;gap:7px;flex-wrap:wrap}.profile-meta span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:5px 9px;border-radius:999px;font-size:11px}.profile-score{text-align:center;background:rgba(255,255,255,.12);border-radius:18px;padding:13px 16px;min-width:100px}.profile-score b{display:block;font-size:30px}.profile-score span{font-size:10px}.profile-progress-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;margin:14px 0}.profile-progress-head{display:flex;justify-content:space-between;gap:12px}.profile-progress-head small{display:block;color:var(--muted);margin-top:3px}.profile-progress-head>span{color:var(--blue);font-size:20px;font-weight:900}.profile-progress{height:9px;background:#e7ebf5;border-radius:999px;overflow:hidden;margin-top:12px}.profile-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--blue));border-radius:inherit}.missing-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.missing-chips span{font-size:10px;font-weight:800;background:#fff4dc;color:#8a5600;border-radius:999px;padding:5px 8px}.profile-window-row{display:flex;align-items:center;gap:9px;justify-content:flex-end}.profile-section-nav{display:flex;gap:7px;overflow:auto;padding:5px 0 11px;position:sticky;top:0;z-index:20;background:var(--bg)}.profile-section-nav button{border:1px solid var(--border);background:var(--card);color:var(--blue);border-radius:999px;padding:9px 12px;font-weight:800;white-space:nowrap}.profile-section-nav button.active{background:var(--blue);color:#fff}.profile-section-panel{display:none;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;margin-bottom:15px}.profile-section-panel.active{display:block}.profile-section-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.profile-section-title>span{width:42px;height:42px;display:grid;place-items:center;background:#edf2ff;border-radius:13px;font-size:20px}.profile-section-title h2{margin:0;color:var(--navy);font-size:20px}.profile-section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.profile-fields-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-field-v3{border:1px solid var(--border);border-radius:15px;padding:12px;background:#fbfcff}.profile-field-v3.editable{border-color:#aebcff;background:#f6f8ff}.field-label{display:flex;align-items:center;gap:6px;margin-bottom:8px}.field-label span{font-weight:800;font-size:12px}.field-label b{color:#e5484d}.field-label em{margin-inline-start:auto;font-size:9px;font-style:normal;border-radius:999px;padding:3px 6px;background:#edf2ff;color:var(--blue)}.profile-field-v3.readonly .field-label em{background:#eef0f4;color:#65708a}.profile-value{font-size:14px;color:var(--navy);font-weight:700;min-height:22px;word-break:break-word}.selected-value-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.selected-value-tags span{background:#e8edff;color:var(--blue);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.profile-action-bar{position:sticky;bottom:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;border-radius:18px;padding:13px 15px;box-shadow:0 16px 35px rgba(19,32,72,.22);z-index:25}.profile-action-bar small{display:block;opacity:.8;margin-top:3px}.profile-action-bar .btn{background:var(--yellow);color:var(--navy)}.profile-history{margin-bottom:20px}
/* V3 documents */
.documents-page-v3{padding-bottom:105px}.documents-hero{display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-radius:24px;padding:22px;margin-top:14px}.documents-hero h1{margin:0 0 5px;color:#fff}.documents-hero p{margin:0;opacity:.86}.documents-score{text-align:center;background:rgba(255,255,255,.13);border-radius:18px;padding:11px 16px;min-width:90px}.documents-score b{display:block;font-size:28px}.documents-score span{font-size:10px}.documents-progress{height:9px;background:#e6eaf4;border-radius:999px;overflow:hidden;margin:12px 3px 15px}.documents-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--blue))}.documents-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.documents-summary span{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:11px;text-align:center}.documents-summary b{display:block;color:var(--blue);font-size:21px}.documents-summary small{font-size:9px;color:var(--muted)}.document-grid-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.document-card-v3{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:16px;box-shadow:0 8px 20px rgba(19,32,72,.04)}.document-card-v3 header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.document-icon{width:42px;height:42px;border-radius:13px;background:#edf2ff;display:grid;place-items:center;font-size:20px}.document-card-v3 h2{font-size:15px;margin:0;color:var(--navy)}.document-card-v3 h2 b{color:#e5484d}.document-card-v3 header p{margin:4px 0 0;color:var(--muted);font-size:10px}.document-rules{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.document-rules span{font-size:9px;background:#f1f4fa;border-radius:999px;padding:5px 7px;color:#66708a}.current-file{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f5f7ff;border-radius:13px;padding:10px;margin:9px 0}.current-file b,.current-file small{display:block;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-file small{font-size:9px;color:var(--muted)}.document-rejection{background:#fff0f0;border:1px solid #fecaca;border-radius:12px;padding:9px;color:#991b1b;margin:8px 0}.document-rejection p{margin:3px 0 0}.document-upload-v3{display:grid;gap:8px}.file-picker{display:flex;align-items:center;gap:10px;border:1px dashed var(--blue);background:#f7f9ff;border-radius:14px;padding:12px;cursor:pointer;margin:0}.file-picker input{display:none}.file-picker>span{font-size:23px}.file-picker b,.file-picker small{display:block}.file-picker small{color:var(--muted);font-size:9px}.expiry-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:0}.expiry-field input{padding:9px}.file-row-v3{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.file-row-v3 b,.file-row-v3 small{display:block}.file-row-v3 small{color:var(--muted)}.empty-state{text-align:center;grid-column:1/-1}.empty-state>span{font-size:48px}
html.dark .profile-progress-card,html.dark .profile-section-panel,html.dark .profile-field-v3,html.dark .documents-summary span,html.dark .document-card-v3,html.dark .current-file,html.dark .file-picker{background:#121c2e;color:#fff;border-color:#31405d}html.dark .profile-field-v3.editable,html.dark .current-file,html.dark .file-picker{background:#17233a}html.dark .profile-value,html.dark .profile-section-title h2,html.dark .document-card-v3 h2{color:#f5f7ff}html.dark .profile-section-nav{background:var(--bg)}
@media(max-width:720px){.profile-hero-card{grid-template-columns:auto 1fr}.profile-score{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:8px;padding:9px 12px}.profile-score b{font-size:22px}.profile-fields-v3,.document-grid-v3{grid-template-columns:1fr}.documents-summary{grid-template-columns:repeat(2,1fr)}.profile-action-bar{bottom:66px}.document-card-v3 header{grid-template-columns:auto 1fr}.document-card-v3 header>.doc-status{grid-column:1/-1;justify-self:start}.file-row-v3{grid-template-columns:1fr auto}.file-row-v3 .btn{grid-column:1/-1}.profile-avatar{width:76px;height:76px}.profile-identity h1{font-size:20px}}@media(max-width:420px){.profile-hero-card,.documents-hero{padding:16px}.profile-meta span{font-size:9px}.documents-hero{align-items:flex-start}.documents-score{min-width:72px;padding:9px}.profile-section-panel{padding:14px}}

.portal-error-card{margin-top:1rem}.portal-error-card .empty-state{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.portal-error-card .empty-state>span{font-size:3rem}

.architect-source-notice{margin:16px;padding:16px;border:1px solid #d8def5;border-radius:16px;background:#f7f9ff}.architect-source-notice b{display:block;color:#243d8f;margin-bottom:6px}.architect-source-notice p{margin:0 0 10px}.architect-source-notice .btn{display:inline-flex}

/* =========================================================
   Enterprise Contacts Directory & Messages
   ========================================================= */
.portal-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:11px 18px;border-radius:999px;box-shadow:0 14px 30px rgba(19,32,72,.28);opacity:0;pointer-events:none;transition:.22s;z-index:9999;font-weight:800;font-size:12px}.portal-toast.show{opacity:1;transform:translate(-50%,0)}
.directory-page,.contact-profile-page,.chat-page{padding-bottom:96px}.directory-hero{margin-top:12px;border-radius:25px;padding:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;box-shadow:0 18px 38px rgba(19,32,72,.18)}.directory-hero .back{display:inline-flex;color:#fff;background:rgba(255,255,255,.13);padding:7px 11px;border-radius:999px;margin-bottom:18px;cursor:pointer}.directory-hero .eyebrow{margin:0 0 5px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.directory-hero h1{margin:0 0 6px;color:#fff;font-size:26px}.directory-hero p{margin:0;max-width:520px;opacity:.85}.directory-count{min-width:92px;padding:13px 15px;text-align:center;border-radius:18px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16)}.directory-count b{display:block;font-size:29px}.directory-count span{font-size:10px;opacity:.8}.directory-toolbar{margin:14px 0;display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:11px;box-shadow:0 7px 20px rgba(19,32,72,.04)}.directory-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:13px;background:#f8faff;padding:0 12px}.directory-search input{border:0;background:transparent;outline:0;width:100%;padding:12px 0;color:var(--navy)}.directory-filters{display:flex;gap:8px}.directory-filters select{min-width:145px;border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--navy);padding:10px 12px}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.directory-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:15px;box-shadow:0 8px 22px rgba(19,32,72,.055);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.directory-card:hover,.directory-card:focus{transform:translateY(-3px);border-color:#aebcff;box-shadow:0 15px 30px rgba(19,32,72,.12);outline:0}.directory-avatar-wrap{position:relative}.directory-avatar{width:62px;height:62px;border-radius:18px;object-fit:cover;background:#eef1f8}.directory-status{position:absolute;width:13px;height:13px;border-radius:50%;right:-2px;bottom:2px;background:#22c55e;border:3px solid var(--card)}.directory-card-body{min-width:0}.directory-card h2{margin:0 0 4px;color:var(--navy);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-position{margin:0 0 7px;color:var(--blue);font-weight:800;font-size:11px}.directory-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px}.directory-meta span{font-size:9px;padding:4px 6px;border-radius:999px;background:#edf2ff;color:#4a5e98}.directory-card small{color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-arrow{font-size:28px;color:#91a0c4}.directory-empty{grid-column:1/-1;padding:48px;text-align:center;background:var(--card);border:1px dashed var(--border);border-radius:20px}.directory-empty span{font-size:48px}.directory-empty b{display:block;margin-top:8px}.directory-empty p{color:var(--muted)}
.contact-profile-page>.back{display:inline-flex;margin:12px 0 8px}.contact-profile-hero{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-radius:25px;padding:22px;display:flex;align-items:center;gap:18px;box-shadow:0 18px 38px rgba(19,32,72,.18)}.contact-profile-hero>img{width:104px;height:104px;border-radius:28px;object-fit:cover;background:#fff;border:4px solid rgba(255,255,255,.22)}.contact-profile-hero h1{margin:7px 0 4px;color:#fff}.contact-profile-hero p{margin:0 0 10px;opacity:.85;font-weight:700}.contact-active{display:inline-flex;align-items:center;gap:6px;font-size:10px;background:rgba(255,255,255,.12);border-radius:999px;padding:5px 8px}.contact-active i{width:8px;height:8px;background:#34d399;border-radius:50%}.contact-profile-tags{display:flex;gap:6px;flex-wrap:wrap}.contact-profile-tags span{font-size:10px;background:rgba(255,255,255,.14);padding:5px 8px;border-radius:999px}.contact-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.contact-action{border:1px solid var(--border);background:var(--card);border-radius:17px;min-height:80px;padding:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--navy);cursor:pointer}.contact-action:hover{border-color:#aebcff;transform:translateY(-2px)}.contact-action span{font-size:21px}.contact-action b{font-size:10px}.contact-action.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.contact-info-card{background:var(--card);border:1px solid var(--border);border-radius:21px;padding:18px}.contact-info-card>header{display:flex;gap:11px;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--border)}.contact-info-card>header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf2ff;font-size:20px}.contact-info-card h2{margin:0;color:var(--navy);font-size:18px}.contact-info-card header p{margin:3px 0 0;color:var(--muted);font-size:10px}.contact-info-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 3px;border-bottom:1px solid var(--border)}.contact-info-list>div:last-child{border:0}.contact-info-list>div>span{font-size:20px}.contact-info-list label{min-width:0}.contact-info-list small{display:block;color:var(--muted);margin-bottom:3px}.contact-info-list a,.contact-info-list b{color:var(--navy);word-break:break-word}.contact-info-list button,.mini-call{border:0;background:#edf2ff;color:var(--blue);width:34px;height:34px;border-radius:11px;display:grid;place-items:center;cursor:pointer}
.chat-page{max-width:1180px}.chat-shell{display:grid;grid-template-columns:330px minmax(0,1fr);height:calc(100vh - 118px);min-height:560px;margin-top:10px;border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--card);box-shadow:0 14px 35px rgba(19,32,72,.09)}.chat-sidebar{display:flex;flex-direction:column;border-inline-end:1px solid var(--border);min-width:0;background:var(--card)}.chat-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:17px 17px 10px}.chat-sidebar-head .back{font-size:11px;cursor:pointer}.chat-sidebar-head h1{margin:6px 0 0;font-size:23px;color:var(--navy)}.chat-sidebar-head>span{width:42px;height:42px;border-radius:14px;background:#edf2ff;display:grid;place-items:center;font-size:20px}.chat-search{margin:0 13px 10px;border:1px solid var(--border);background:#f7f9ff;border-radius:13px;padding:0 11px;display:flex;align-items:center;gap:7px}.chat-search input{width:100%;padding:11px 0;border:0;background:transparent;outline:0;color:var(--navy)}.conversation-list{overflow:auto;padding:0 8px 12px}.conversation-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:15px;margin:2px 0;transition:.15s}.conversation-item:hover,.conversation-item.active{background:#edf2ff}.conversation-item img{width:45px;height:45px;border-radius:14px;object-fit:cover;background:#eef1f8}.conversation-main{min-width:0}.conversation-main>div{display:flex;gap:7px;justify-content:space-between}.conversation-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-main time{font-size:8px;color:var(--muted);white-space:nowrap}.conversation-main p{margin:4px 0 0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-unread{min-width:20px;height:20px;border-radius:999px;background:var(--blue);color:#fff;font-size:9px;font-weight:900;display:grid;place-items:center}.chat-empty-list{text-align:center;color:var(--muted);padding:30px 15px}.chat-empty-list span{font-size:35px}.chat-thread{min-width:0;display:flex;flex-direction:column;background:#f5f7fc}.chat-thread-head{height:72px;display:flex;align-items:center;gap:11px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border)}.chat-thread-head>img{width:45px;height:45px;border-radius:14px;object-fit:cover}.chat-thread-head>div{min-width:0;flex:1}.chat-thread-head h2{margin:0;color:var(--navy);font-size:15px}.chat-thread-head p{margin:3px 0 0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-mobile-back{display:none;font-size:30px}.message-stream{flex:1;overflow:auto;padding:20px;scroll-behavior:smooth}.message-day{text-align:center;margin:5px 0 16px}.message-day span{font-size:9px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:5px 9px}.message-row{display:flex;margin:7px 0}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:min(72%,530px);border-radius:17px 17px 17px 5px;padding:10px 12px;background:var(--card);box-shadow:0 3px 10px rgba(19,32,72,.06)}.message-row.mine .message-bubble{background:var(--blue);color:#fff;border-radius:17px 17px 5px 17px}.message-bubble p{white-space:pre-wrap;word-break:break-word;margin:0 0 5px;line-height:1.45}.message-bubble small{display:block;text-align:end;font-size:8px;opacity:.7}.message-bubble small span{margin-inline-start:4px}.message-attachment{display:block;margin:5px 0;background:rgba(255,255,255,.15);border:1px solid rgba(125,145,200,.25);padding:8px;border-radius:10px;font-size:10px;font-weight:800}.message-row.theirs .message-attachment{color:var(--blue);background:#edf2ff}.chat-composer{min-height:70px;background:var(--card);border-top:1px solid var(--border);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding:11px 14px}.chat-attach{width:39px;height:39px;border-radius:12px;background:#edf2ff;display:grid;place-items:center;cursor:pointer}.chat-attach input{display:none}.chat-composer textarea{resize:none;max-height:110px;min-height:39px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;outline:0;background:#f8faff;color:var(--navy)}.chat-composer button{border:0;width:41px;height:41px;border-radius:13px;background:var(--blue);color:#fff;font-size:18px;cursor:pointer}.chat-placeholder,.chat-thread-empty{margin:auto;text-align:center;color:var(--muted);padding:30px}.chat-placeholder>span,.chat-thread-empty>span{font-size:54px}.chat-placeholder h2,.chat-thread-empty h3{color:var(--navy);margin:10px 0 5px}
html.dark .directory-toolbar,html.dark .directory-card,html.dark .contact-action,html.dark .contact-info-card,html.dark .chat-shell,html.dark .chat-sidebar,html.dark .chat-thread-head,html.dark .chat-composer,html.dark .message-bubble,html.dark .message-day span{background:#121c2e;border-color:#31405d;color:#fff}html.dark .directory-search,html.dark .chat-search,html.dark .chat-composer textarea{background:#17233a;border-color:#31405d;color:#fff}html.dark .directory-filters select{background:#121c2e;border-color:#31405d;color:#fff}html.dark .directory-card h2,html.dark .contact-info-card h2,html.dark .contact-info-list a,html.dark .contact-info-list b,html.dark .chat-sidebar-head h1,html.dark .chat-thread-head h2,html.dark .chat-placeholder h2,html.dark .chat-thread-empty h3{color:#f7f9ff}html.dark .directory-meta span,html.dark .conversation-item:hover,html.dark .conversation-item.active,html.dark .chat-attach{background:#1e2c48;color:#cbd6ff}html.dark .chat-thread{background:#0d1524}html.dark .message-row.mine .message-bubble{background:var(--blue)}
@media(min-width:900px){.app-shell.chat-page{max-width:1180px}.app-shell.directory-page,.app-shell.contact-profile-page{max-width:980px}}
@media(max-width:760px){.directory-toolbar{grid-template-columns:1fr}.directory-filters{display:grid;grid-template-columns:1fr 1fr}.directory-filters select{min-width:0}.directory-grid{grid-template-columns:1fr}.directory-hero{align-items:flex-start}.contact-actions-grid{grid-template-columns:repeat(2,1fr)}.chat-shell{grid-template-columns:1fr;height:calc(100vh - 116px);min-height:520px}.chat-shell.has-thread .chat-sidebar{display:none}.chat-shell:not(.has-thread) .chat-thread{display:none}.chat-mobile-back{display:block}.chat-sidebar{border:0}.message-bubble{max-width:86%}}
@media(max-width:430px){.directory-hero,.contact-profile-hero{padding:17px}.directory-hero h1{font-size:22px}.directory-count{min-width:70px;padding:10px}.contact-profile-hero>img{width:82px;height:82px;border-radius:22px}.contact-profile-hero h1{font-size:20px}.directory-filters{grid-template-columns:1fr}.chat-page{padding-inline:0}.chat-shell{border-radius:0;border-inline:0;margin-top:0}.message-stream{padding:14px 10px}.contact-info-card{padding:14px}}

/* =====================================================================
   APG Staff Portal V7.7 — unified responsive design system
   ===================================================================== */
:root{
  --surface:#ffffff;--surface-soft:#f7f9ff;--text:#132048;--muted:#66708a;
  --border:#dce4f7;--shadow:0 14px 34px rgba(19,32,72,.09);
  --radius-xl:24px;--radius-lg:18px;--nav-height:72px;
}
html,body{min-height:100%;background:#edf2ff;color:var(--text)}
body{overflow-x:hidden;line-height:1.45}
button,input,select,textarea{font:inherit}
.app-shell,.app-shell.page{
  width:100%;max-width:1180px;min-height:100dvh;margin:0 auto;
  padding:14px 18px calc(var(--nav-height) + 26px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 8% 0%,rgba(66,92,199,.11),transparent 31%),
    radial-gradient(circle at 94% 12%,rgba(255,183,27,.09),transparent 24%),
    linear-gradient(180deg,#f8faff 0%,#eef3ff 100%);
}
.portal-page,.home-page{background:
  radial-gradient(circle at 8% 0%,rgba(66,92,199,.11),transparent 31%),
  radial-gradient(circle at 94% 12%,rgba(255,183,27,.09),transparent 24%),
  linear-gradient(180deg,#f8faff 0%,#eef3ff 100%)!important}
.portal-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:76px;padding:8px 4px 14px;margin-bottom:8px;color:var(--text);
  border-bottom:1px solid rgba(207,216,239,.72)
}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--text)}
.brand-logo-box{
  width:58px;height:58px;min-width:58px;border-radius:18px;background:#fff;
  border:1px solid rgba(209,218,241,.9);box-shadow:0 9px 22px rgba(19,32,72,.09);
  display:grid;place-items:center;padding:7px;overflow:hidden
}
.brand-logo-box img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;border-radius:0;padding:0}
.brand-copy{min-width:0;display:block}.brand-copy>b{display:block;font-size:18px;line-height:1.15;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy>span{display:block;margin-top:5px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:10px;color:var(--blue)}
.top-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.round{
  position:relative;margin:0;width:40px;height:40px;border-radius:13px;background:#fff;
  border:1px solid var(--border);box-shadow:0 6px 16px rgba(19,32,72,.06);
  color:var(--blue);display:inline-flex;align-items:center;justify-content:center
}.round:hover{transform:translateY(-1px);border-color:#b8c5ea}.notif-dot,.nav-badge{
  position:absolute;top:-6px;inset-inline-end:-5px;min-width:19px;height:19px;padding:0 5px;
  display:grid;place-items:center;border-radius:999px;background:#e5484d;color:#fff;
  border:2px solid #fff;font-size:9px;font-weight:900;line-height:1
}.notif-dot[hidden],.nav-badge[hidden],.chat-unread[hidden]{display:none!important}
.panel,.employee-card,.news-card,.quick-grid>div,.services-grid>a{
  background:rgba(255,255,255,.96);border:1px solid rgba(218,226,247,.95);
  box-shadow:var(--shadow);border-radius:var(--radius-lg)
}.panel{padding:22px;margin:14px 0}.panel h1,.panel h2,.panel h3{color:var(--text)}
.employee-card{padding:16px;margin:12px 0}.employee-card img{width:62px;height:62px;border-radius:19px}.employee-card h2{font-size:18px;color:var(--text)}
.news-card{padding:17px}.news-item{background:var(--surface-soft);border-color:#e2e8f8}.section-title h3,.services-grid b{color:var(--text)}
.quick-grid{gap:12px}.quick-grid>div{padding:15px}.quick-grid small{color:var(--muted)}.quick-grid b{color:var(--blue)}
.services-title{color:var(--text);font-size:22px;margin:20px 0 10px}.services-grid{gap:12px}.services-grid>a{min-height:94px;padding:15px 9px;transition:.18s ease}.services-grid>a:hover{transform:translateY(-3px);border-color:#bcc8ec}.services-grid small{color:var(--muted)}
.back{background:#fff;color:var(--blue);border-color:var(--border);box-shadow:0 5px 14px rgba(19,32,72,.05)}
.btn{box-shadow:0 7px 16px rgba(66,92,199,.18)}
input,select,textarea{background:#fff;color:var(--text);border-color:var(--border);outline:none}input:focus,select:focus,textarea:focus{border-color:#8da0df;box-shadow:0 0 0 3px rgba(66,92,199,.11)}
.mini-row{background:#fbfcff;border:1px solid #e8edf9;border-radius:13px;margin:8px 0;padding:12px 13px}.mini-row:last-child{border-bottom:1px solid #e8edf9}
.portal-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:8px 0 16px}.portal-page-heading h1{margin:13px 0 4px;font-size:30px}.portal-page-heading p{margin:0;color:var(--muted)}
.bottom-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,1180px);max-width:1180px;
  display:block;padding:7px 7px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);
  border:1px solid rgba(216,224,244,.9);border-bottom:0;border-radius:20px 20px 0 0;
  box-shadow:0 -10px 28px rgba(19,32,72,.12);backdrop-filter:blur(16px);z-index:80
}.bottom-nav-grid{display:grid;grid-template-columns:repeat(var(--nav-count,4),minmax(0,1fr));gap:2px}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-radius:14px;color:#68769b;font-size:20px}.bottom-nav a:hover,.bottom-nav a.active{background:#edf2ff;color:var(--blue)}.bottom-nav a.active:after{content:"";position:absolute;bottom:3px;width:22px;height:3px;border-radius:9px;background:var(--yellow)}.bottom-nav span{font-size:10px}.bottom-nav .nav-icon{position:relative;display:inline-grid;place-items:center;font-size:20px;line-height:1.1}.bottom-nav .nav-badge{top:-8px;inset-inline-end:-12px}

/* Directory and contact profile */
.directory-hero{box-shadow:0 18px 42px rgba(19,32,72,.18)}
.directory-toolbar,.directory-card,.contact-info-card,.contact-action{box-shadow:0 10px 24px rgba(19,32,72,.06)}
.directory-card{border-color:#e0e7f7}.directory-card:hover{transform:translateY(-3px);border-color:#aebce6}.directory-avatar{background:#edf1fb}.directory-card h2{color:var(--text)}

/* Notification center */
.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 16px;border-radius:17px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 20px rgba(19,32,72,.05)}.notification-card.unread{border-inline-start:5px solid var(--blue);background:#fbfcff}.notification-icon{width:44px;height:44px;border-radius:14px;background:#edf2ff;display:grid;place-items:center;font-size:21px}.notification-title{display:flex;justify-content:space-between;gap:10px}.notification-title b{color:var(--text)}.notification-title em{font-style:normal;font-size:9px;text-transform:uppercase;color:var(--blue);background:#edf2ff;border-radius:999px;padding:4px 7px}.notification-card p{margin:5px 0;color:var(--muted)}.notification-card small{color:#8a93a8}.notification-arrow{font-size:28px;color:#98a5c6}.empty-state{text-align:center}.empty-state>span{font-size:48px}

/* Chat viewport and live thread */
.chat-page{
  height:100dvh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column;
  padding-bottom:calc(var(--nav-height) + 12px + env(safe-area-inset-bottom))!important
}.chat-page>.portal-topbar{flex:0 0 auto;margin-bottom:4px}.chat-alert{flex:0 0 auto;margin:4px 0}.chat-shell{
  flex:1 1 auto;height:auto;min-height:0;margin-top:4px;display:grid;grid-template-columns:330px minmax(0,1fr);
  border:1px solid var(--border);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow)
}.chat-sidebar,.chat-thread{min-height:0;overflow:hidden}.chat-sidebar{display:flex;flex-direction:column}.conversation-list{flex:1 1 auto;min-height:0;overflow:auto}.chat-thread{display:flex;flex-direction:column}.message-stream{flex:1 1 auto;min-height:0;overflow:auto}.chat-thread-head,.chat-composer{flex:0 0 auto}.chat-thread-head{height:68px}.chat-composer{min-height:64px;padding:9px 12px}.chat-composer textarea{min-height:40px;max-height:92px}.chat-composer.sending button{opacity:.55;pointer-events:none}.message-row.new-message{animation:messageIn .18s ease-out}@keyframes messageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.portal-toast{position:fixed;left:50%;bottom:calc(var(--nav-height) + 20px);transform:translate(-50%,18px);background:#132048;color:#fff;border-radius:12px;padding:10px 14px;opacity:0;pointer-events:none;transition:.2s;z-index:200;font-weight:800;font-size:12px}.portal-toast.show{opacity:1;transform:translate(-50%,0)}

/* Dark mode */
html.dark body{background:#0b1220;color:#f6f8ff}.dark .app-shell,.dark .app-shell.page{background:radial-gradient(circle at 8% 0%,rgba(66,92,199,.2),transparent 31%),linear-gradient(180deg,#0e1728,#111b2e)!important}.dark .portal-topbar{color:#f7f9ff;border-color:#2d3a54}.dark .brand,.dark .brand-copy>b{color:#f7f9ff}.dark .brand-copy>span{color:#aeb9d2}.dark .brand-logo-box,.dark .round,.dark .panel,.dark .employee-card,.dark .news-card,.dark .quick-grid>div,.dark .services-grid>a,.dark .notification-card,.dark .bottom-nav{background:#141f33;border-color:#31405d;color:#f7f9ff}.dark .services-title,.dark .section-title h3,.dark .services-grid b,.dark .panel h1,.dark .panel h2,.dark .panel h3,.dark .notification-title b{color:#f7f9ff}.dark .news-item,.dark .mini-row,.dark .notification-icon{background:#19263e;border-color:#31405d}.dark .bottom-nav a{color:#a9b6d2}.dark .bottom-nav a.active,.dark .bottom-nav a:hover{background:#1d2c48;color:#fff}.dark .notif-dot,.dark .nav-badge{border-color:#141f33}

@media(min-width:900px){.home-page .employee-card,.home-page .news-card,.home-page .quick-grid{max-width:none}.home-page .services-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){
  .app-shell,.app-shell.page{padding:9px 12px calc(var(--nav-height) + 18px + env(safe-area-inset-bottom))}
  .portal-topbar{min-height:68px;padding:7px 0 11px}.brand-logo-box{width:50px;height:50px;min-width:50px;border-radius:15px;padding:6px}.brand-copy>b{font-size:17px}.brand-copy>span{font-size:11px}.top-actions{gap:4px}.round{width:37px;height:37px;border-radius:12px}
  .portal-page-heading{align-items:flex-start;flex-direction:column}.portal-page-heading h1{font-size:25px}.panel{padding:16px}.bottom-nav{width:100%;border-radius:18px 18px 0 0}.bottom-nav a{min-height:52px}
  .chat-page{padding-inline:0!important;padding-top:7px!important}.chat-page>.portal-topbar{margin-inline:11px}.chat-shell{grid-template-columns:1fr;border-radius:18px 18px 0 0;border-inline:0;margin-top:2px}.chat-shell.has-thread .chat-sidebar{display:none}.chat-shell:not(.has-thread) .chat-thread{display:none}.chat-mobile-back{display:block}.message-stream{padding:13px 10px}.message-bubble{max-width:86%}
  .notification-card{grid-template-columns:auto minmax(0,1fr) auto;padding:13px}.notification-title{display:block}.notification-title em{display:inline-flex;margin-top:4px}
}
@media(max-width:430px){
  .brand-copy>b{font-size:16px}.brand-copy>span{max-width:170px}.top-actions .round:first-child:nth-last-child(4){display:none}
  .directory-hero{margin-inline:0}.directory-count{min-width:72px}.bottom-nav span{font-size:9px}
}
.login-logo{width:118px;height:118px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:28px;padding:15px;box-shadow:0 12px 28px rgba(19,32,72,.11)}


/* V7.7 final portal QA: blue home, readable branding, labeled forms and reliable feedback */
.home-page{background:linear-gradient(160deg,#425CC7 0%,#3553c9 52%,#233c9e 100%)!important;color:#fff}
.home-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 5%,rgba(255,255,255,.14),transparent 28%),radial-gradient(circle at 5% 28%,rgba(255,183,27,.10),transparent 24%)}
.home-page>*{position:relative;z-index:1}.home-page .portal-topbar{color:#fff;border-color:rgba(255,255,255,.18)}.home-page .brand,.home-page .brand-copy>b{color:#fff}.home-page .brand-copy>span{color:rgba(255,255,255,.82)}.home-page .brand-copy small{color:#ffd978}.home-page .round{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:none}.home-page .services-title{color:#fff}.home-page .mini-actions .btn{background:rgba(19,32,72,.62);border:1px solid rgba(255,255,255,.18)}
.brand-logo-box{width:112px;height:58px;min-width:112px;padding:5px 7px;border-radius:15px}.brand-logo-box img{object-fit:contain}.brand-copy>b{font-size:17px}.login-logo-wide{width:230px!important;height:112px!important;border-radius:20px!important;padding:12px 16px!important}
.global-flash{position:relative;z-index:60;border:1px solid transparent;box-shadow:0 8px 20px rgba(19,32,72,.09);animation:flashIn .22s ease-out}.global-flash.success{border-color:#a7e7bb}.global-flash.error{border-color:#ffc4c4}@keyframes flashIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.field-block{margin:0;text-align:start}.field-block>span{display:block;margin:0 0 6px;color:var(--text);font-size:12px;font-weight:900}.full-row{grid-column:1/-1}.leave-form input[type=date]{min-height:48px}.leave-form .btn{margin-top:4px}
.rtl .field-block{text-align:right}.rtl .mini-row{text-align:right}
.profile-photo-action span.processing{animation:pulsePhoto .8s infinite alternate}@keyframes pulsePhoto{to{transform:scale(.88);opacity:.65}}
@media(max-width:760px){.brand-logo-box{width:94px;height:52px;min-width:94px;padding:5px}.brand-copy>b{font-size:15px}.brand-copy>span{font-size:10px}.login-logo-wide{width:205px!important;height:100px!important}.home-page .portal-topbar{padding-top:8px}.global-flash{margin:6px 0 10px}}
@media(max-width:430px){.brand-logo-box{width:82px;height:48px;min-width:82px}.brand-copy>b{font-size:14px}.brand-copy>span{max-width:125px}.top-actions{gap:2px}.round{width:35px;height:35px}}

/* V7.7 profile multi-select dropdowns */
.multi-check-dropdown{position:relative;width:100%}.multi-check-trigger{width:100%;min-height:46px;border:1px solid var(--border);border-radius:13px;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font:inherit;cursor:pointer}.multi-check-dropdown.open .multi-check-trigger{border-color:#8da0df;box-shadow:0 0 0 3px rgba(66,92,199,.11)}.multi-check-menu{display:none;position:absolute;z-index:120;inset-inline:0;top:calc(100% + 6px);max-height:320px;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 45px rgba(19,32,72,.16);padding:9px}.multi-check-dropdown.open .multi-check-menu{display:block}.multi-check-search{display:block;margin:0 0 7px}.multi-check-search input{min-height:40px}.multi-check-options{max-height:245px;overflow:auto;display:grid;gap:4px}.multi-check-options label{display:flex;align-items:center;gap:9px;margin:0;padding:8px 9px;border-radius:10px;cursor:pointer;color:var(--text)}.multi-check-options label:hover{background:#f1f4ff}.multi-check-options input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--blue)}.selected-value-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.selected-value-tags span{padding:4px 8px;border-radius:999px;background:#edf2ff;color:var(--blue);font-size:9px;font-weight:800}

/* V7.7 classroom evaluation */
.evaluation-list-page,.evaluation-form-page,.evaluation-view-page{padding-bottom:96px}.evaluation-hero{margin:10px 0 16px;border-radius:24px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 16px 36px rgba(19,32,72,.17)}.evaluation-hero.compact{display:block}.evaluation-hero small{font-size:10px;letter-spacing:.14em;opacity:.78}.evaluation-hero h1{color:#fff;margin:5px 0 5px;font-size:27px}.evaluation-hero p{margin:0;opacity:.86}.evaluation-new-btn{background:#fff;color:var(--blue);box-shadow:none;white-space:nowrap}.evaluation-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evaluation-mini-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fbfcff}.evaluation-mini-card img{width:48px;height:48px;border-radius:14px;object-fit:cover;background:#eef1f8}.evaluation-mini-card b{display:block;color:var(--text);margin-bottom:3px}.evaluation-mini-card span,.evaluation-mini-card small{display:block;color:var(--muted);font-size:10px}.judgement{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-style:normal;font-size:10px;font-weight:900;white-space:nowrap}.judgement-outstanding{background:#e4f8ec;color:#167044}.judgement-good{background:#e9f0ff;color:#2856ba}.judgement-acceptable{background:#fff4cf;color:#805d00}.judgement-weak{background:#ffe5e6;color:#9c292d}.evaluation-form-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.form-lang-switch{display:flex;background:#edf2ff;border-radius:12px;padding:3px}.form-lang-switch a{padding:7px 11px;border-radius:9px;color:var(--blue);font-weight:900;font-size:11px}.form-lang-switch a.active{background:#fff;box-shadow:0 3px 9px rgba(19,32,72,.08)}.evaluation-form{display:grid;gap:13px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid-3 label,.summary-text-grid label,.evaluation-explanation{display:block}.form-grid-3 label>span,.summary-text-grid label>span,.evaluation-explanation>span{display:block;font-weight:900;font-size:11px;margin-bottom:6px;color:var(--text)}.evaluation-section{overflow:visible}.evaluation-section-head{display:flex;gap:11px;align-items:center;margin-bottom:10px}.evaluation-section-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--blue);color:#fff;font-weight:900}.evaluation-section-head h2{margin:0;font-size:18px}.evaluation-section-head small{color:var(--muted)}.evaluate-reference{display:flex;flex-wrap:wrap;gap:6px;padding:11px;border:1px dashed #cdd7f0;border-radius:14px;background:#f8faff;margin-bottom:13px}.evaluate-reference span{font-size:10px;color:#445272;background:#fff;border:1px solid #e4e9f5;border-radius:999px;padding:5px 8px}.evaluate-reference.compact{margin:7px 0}.judgement-block>b{display:block;margin-bottom:7px}.judgement-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.judgement-option{position:relative;margin:0;cursor:pointer}.judgement-option input{position:absolute;opacity:0;pointer-events:none}.judgement-option span{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:13px;background:#fff;color:var(--text);font-weight:900;font-size:11px}.judgement-option input:checked+span{border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,92,199,.12);background:#edf2ff;color:var(--blue)}.judgement-option.judgement-outstanding input:checked+span{background:#e4f8ec;color:#167044;border-color:#7ed9a6}.judgement-option.judgement-good input:checked+span{background:#e9f0ff;color:#2856ba;border-color:#9fb5eb}.judgement-option.judgement-acceptable input:checked+span{background:#fff4cf;color:#805d00;border-color:#e4c75e}.judgement-option.judgement-weak input:checked+span{background:#ffe5e6;color:#9c292d;border-color:#e8a0a3}.summary-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.summary-text-grid .full{grid-column:1/-1}.evaluation-submit-bar{position:sticky;bottom:calc(var(--nav-height) + 10px);z-index:50;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:13px 15px;box-shadow:0 12px 32px rgba(19,32,72,.16)}.evaluation-submit-bar small{display:block;color:var(--muted);margin-top:3px}.evaluation-print-sheet{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px}.evaluation-print-header{display:flex;align-items:center;gap:14px;border-bottom:3px solid var(--blue);padding-bottom:13px;margin-bottom:14px}.evaluation-print-header img{width:120px;height:60px;object-fit:contain}.evaluation-print-header div{flex:1}.evaluation-print-header h1{margin:0;color:var(--navy)}.evaluation-print-header p{margin:3px 0;color:var(--muted)}.evaluation-print-header>span{font-weight:900;color:var(--blue)}.evaluation-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.evaluation-meta-grid>div{border:1px solid var(--border);border-radius:11px;padding:9px}.evaluation-meta-grid span,.evaluation-print-summary span{display:block;color:var(--muted);font-size:9px;margin-bottom:3px}.evaluation-print-section{border-bottom:1px solid var(--border);padding:10px 0}.evaluation-print-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.evaluation-print-section p{white-space:pre-wrap;margin:7px 0 0}.evaluation-print-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.evaluation-print-summary>div{border:1px solid var(--border);border-radius:11px;padding:10px}.evaluation-print-summary p{white-space:pre-wrap;margin:0}.dark .multi-check-trigger,.dark .multi-check-menu,.dark .multi-check-options label,.dark .evaluation-mini-card,.dark .judgement-option span,.dark .evaluation-print-sheet{background:#141f33;color:#f7f9ff;border-color:#31405d}.dark .evaluate-reference{background:#19263e;border-color:#31405d}.dark .evaluate-reference span{background:#141f33;border-color:#31405d;color:#dbe5fb}.dark .evaluation-print-header h1{color:#f7f9ff}
@media(max-width:760px){.evaluation-card-grid,.form-grid-3,.summary-text-grid,.evaluation-meta-grid,.evaluation-print-summary{grid-template-columns:1fr}.summary-text-grid .full{grid-column:auto}.judgement-options{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-hero{align-items:flex-start;flex-direction:column}.evaluation-new-btn{width:100%}.evaluation-submit-bar{bottom:calc(var(--nav-height) + 8px);align-items:stretch;flex-direction:column}.evaluation-submit-bar .btn{width:100%}.evaluation-print-sheet{padding:14px}.evaluation-print-header img{width:90px}}
@media print{body{background:#fff!important}.portal-topbar,.bottom-nav,.evaluation-form-top{display:none!important}.app-shell{max-width:none!important;padding:0!important}.evaluation-print-sheet{border:0!important;box-shadow:none!important;padding:0!important;font-size:10pt}.evaluation-print-section{break-inside:avoid}.evaluate-reference span{font-size:8pt}.evaluation-print-header img{width:35mm;height:18mm}.evaluation-view-page{padding:0!important}}
.message-row.theirs{align-items:flex-end;gap:7px}.message-avatar{width:30px;height:30px;min-width:30px;border-radius:10px;object-fit:cover;background:#eaf0fb;border:1px solid var(--border)}

/* V7.7 classroom evaluation A4 print target */
@page{size:A4 portrait;margin:12mm}
@media print{.evaluation-print-sheet{width:186mm;max-width:186mm;margin:0 auto!important}}

/* V7.9 profile flow, targeted news slider and role-based My Work */
.profile-section-stacked{display:block!important;margin:0 0 14px}.profile-form{display:grid;gap:0}.profile-action-bar{margin-top:4px}.profile-completion-card{position:relative}.profile-section-nav{display:none!important}.field-helper{display:block;color:var(--muted);font-size:10px;margin-top:5px}.home-actions{align-items:center;justify-content:flex-end}.my-work-home-btn{background:var(--yellow)!important;color:var(--navy)!important;order:-3}.notify-toggle-btn{background:#fff!important;color:var(--blue)!important;border:1px solid rgba(255,255,255,.45)}
.news-slider{overflow:hidden}.news-slider-window{position:relative;min-height:116px;margin-top:9px}.news-slide{position:absolute;inset:0;opacity:0;transform:translateX(22px);pointer-events:none;background:#f5f8ff;border:1px solid var(--border);border-radius:14px;padding:12px;transition:opacity .38s ease,transform .38s ease}.news-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}.news-slide b{color:var(--text);display:block;padding-inline-end:8px}.news-slide p{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-slide>small{display:block;color:var(--blue);font-size:9px;font-weight:800;margin-top:6px}.news-slider-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:9px}.news-slider-controls>button{width:30px;height:30px;border:0;border-radius:10px;background:#edf2ff;color:var(--blue);font-size:20px;cursor:pointer}.news-slider-dots{display:flex;gap:5px}.news-slider-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:#c9d3ef;transition:.2s}.news-slider-dots button.active{width:20px;background:var(--blue)}
.my-work-page{padding-bottom:96px}.page-toolbar{margin:8px 0 10px}.my-work-hero{background:linear-gradient(135deg,var(--blue),var(--navy));border-radius:24px;padding:20px;color:#fff;box-shadow:0 18px 40px rgba(19,32,72,.16)}.my-work-person{display:flex;align-items:center;gap:14px}.my-work-person img{width:66px;height:66px;min-width:66px;border-radius:20px;object-fit:cover;background:#fff;border:3px solid rgba(255,255,255,.35)}.my-work-person small{font-size:9px;letter-spacing:.16em;opacity:.78}.my-work-person h1{margin:3px 0 4px;color:#fff;font-size:28px}.my-work-person p{margin:0;opacity:.9;font-size:12px}.my-work-role-note{display:flex;align-items:center;gap:7px;margin-top:15px;padding:9px 11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:13px;font-size:10px}.work-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0}.work-quick-grid>div{background:#fff;border:1px solid var(--border);border-radius:15px;padding:11px;text-align:center}.work-quick-grid small{display:block;color:var(--muted);font-size:9px;font-weight:800}.work-quick-grid b{display:block;color:var(--blue);font-size:21px;margin-top:3px}.work-section-head{display:flex;align-items:end;justify-content:space-between;margin:18px 2px 9px}.work-section-head small{font-size:8px;letter-spacing:.16em;color:var(--muted)}.work-section-head h2{margin:2px 0 0;font-size:20px}.work-section-head>span{font-size:9px;color:var(--blue);background:#eaf0ff;padding:6px 9px;border-radius:999px;font-weight:800}.work-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-module-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:13px;box-shadow:0 8px 20px rgba(19,32,72,.04);min-height:98px}.work-module-card:hover{border-color:#aebce5;transform:translateY(-1px)}.work-module-icon{width:47px;height:47px;border-radius:15px;background:#edf2ff;display:grid;place-items:center;font-size:23px}.work-module-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.work-module-title b{color:var(--text);font-size:13px}.work-module-title em{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.06em;background:#edf2ff;color:var(--blue);border-radius:999px;padding:4px 6px}.work-module-copy p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.45}.work-module-arrow{color:#94a1c1;font-size:25px}.work-module-card.awaiting-link:after{content:'ERP';position:absolute;top:8px;inset-inline-end:9px;background:#fff4cf;color:#805d00;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900}.work-empty{text-align:center}.work-empty>div{font-size:34px}.work-latest{padding:15px}.dark .news-slide,.dark .work-quick-grid>div,.dark .work-module-card{background:#172033;border-color:#334155}.dark .news-slide b,.dark .work-module-title b{color:#f8fafc}.dark .my-work-home-btn{background:var(--yellow)!important;color:#132048!important}
@media(max-width:700px){.work-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-module-grid{grid-template-columns:1fr}.home-actions{justify-content:stretch}.home-actions .btn,.home-actions .install-btn{flex:1;min-width:120px;text-align:center;justify-content:center}.news-slider-window{min-height:126px}}
@media(max-width:430px){.my-work-person img{width:58px;height:58px;min-width:58px}.my-work-person h1{font-size:24px}.my-work-hero{padding:16px}.home-actions .btn,.home-actions .install-btn{font-size:11px;padding:10px 8px}.news-slider-window{min-height:136px}}
/* V7.9 dependent city fallback */
.city-other-input{margin-top:8px;width:100%}
.city-other-input[hidden]{display:none!important}
.missing-chips a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:inherit}

/* V7.11 compact news, mobile deadline and storage feedback */
.news-slider-compact{padding:9px 11px}.news-slider-compact .section-title{margin-bottom:2px}.news-slider-compact .section-title h3{font-size:13px;margin:0}.news-slider-compact .section-title small{font-size:8px}.news-slider-compact .news-slider-window{min-height:var(--news-slider-height);margin-top:4px}.news-slider-compact .news-slide{padding:9px 11px;border-radius:12px}.news-slider-compact .news-slide b{font-size:12px}.news-slider-compact .news-slide p{font-size:10px;line-height:1.4;margin:4px 0;-webkit-line-clamp:var(--news-slider-lines)}.news-slider-compact .news-slide>small{font-size:8px;margin-top:3px}.news-slider-compact .news-slider-controls{margin-top:5px;gap:7px}.news-slider-compact .news-slider-controls>button{width:25px;height:25px;border-radius:8px;font-size:16px}.news-slider-compact .news-slider-dots button{height:6px;width:6px}.news-slider-compact .news-slider-dots button.active{width:16px}
.profile-window-row{margin:9px 0 13px;min-height:34px}.profile-deadline-chip{display:inline-flex;align-items:center;gap:5px;background:#eef3ff;color:var(--navy);border:1px solid #d9e2fb;border-radius:999px;padding:7px 11px;font-size:11px}.profile-deadline-chip b{color:var(--blue)}
.architect-storage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0}.architect-storage-stats>div{border:1px solid var(--border);border-radius:14px;padding:11px;background:var(--surface-soft,#f7f9ff)}.architect-storage-stats small{display:block;color:var(--muted);font-size:9px}.architect-storage-stats b{font-size:20px;color:var(--blue)}
@media(max-width:700px){.news-slider-compact .news-slider-window{min-height:var(--news-slider-height-mobile)}.profile-window-row{justify-content:flex-end;margin:5px 0 9px;min-height:22px}.profile-deadline-chip{width:auto;justify-content:flex-end;padding:2px 0;font-size:11px;background:transparent;border:0;border-radius:0}.profile-action-bar>div small{display:none}.architect-storage-stats{grid-template-columns:1fr}}
.news-slider-compact{position:relative}.news-slider-compact .news-slider-controls{position:absolute;inset-inline-end:12px;bottom:9px;margin:0;z-index:4;background:rgba(255,255,255,.86);padding:2px 4px;border-radius:10px;backdrop-filter:blur(5px)}.dark .news-slider-compact .news-slider-controls{background:rgba(20,31,51,.88)}

/* V7.12 complete announcements and mobile chat viewport */
.news-slide{color:inherit;text-decoration:none;display:flex;gap:10px;align-items:stretch}.news-slide>img{width:88px;min-width:88px;height:100%;object-fit:cover;border-radius:9px}.news-slide>span{min-width:0;display:flex;flex:1;flex-direction:column;justify-content:center}.news-slide>span>small{display:block;color:var(--blue);font-size:8px;font-weight:800;margin-top:3px}
.announcement-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.announcements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.announcement-tile{overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 9px 24px rgba(19,32,72,.06);cursor:pointer;transition:.18s}.announcement-tile:hover,.announcement-tile:focus{transform:translateY(-2px);border-color:#aab9e7;outline:0;box-shadow:0 15px 32px rgba(19,32,72,.11)}.announcement-thumb{display:block;width:100%;height:210px;object-fit:cover;background:#edf2ff}.announcement-tile-body{padding:16px}.announcement-label{display:inline-flex;align-items:center;gap:5px;color:var(--blue);background:#edf2ff;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.announcement-tile h2{font-size:18px;margin:10px 0 6px;color:var(--text)}.announcement-tile p{color:var(--muted);line-height:1.6;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.announcement-tile small{color:#8a94ab}.announcement-empty{grid-column:1/-1;text-align:center}.managed-announcements{margin-top:18px}.managed-announcement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.managed-announcement-row:last-child{border-bottom:0}.managed-announcement-row small{display:block;color:var(--muted);margin-top:4px}.inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-actions form{margin:0}.btn.danger{background:#b8333a;color:#fff}.btn.secondary{background:#edf2ff;color:var(--blue)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.announcement-detail{padding:0;overflow:hidden;max-width:900px;margin:0 auto}.announcement-hero-image{display:block;width:100%;max-height:520px;object-fit:cover;background:#edf2ff}.announcement-detail-copy{padding:clamp(20px,4vw,44px)}.announcement-detail h1{font-size:clamp(25px,4vw,42px);line-height:1.2;margin:13px 0 8px}.announcement-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.announcement-message{white-space:pre-wrap;line-height:1.9;font-size:15px;margin:24px 0}.announcement-attachment{display:inline-flex}
.announcement-editor{display:grid;gap:18px}.editor-language-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-language-grid section{border:1px solid var(--border);background:#f8faff;border-radius:16px;padding:15px}.editor-language-grid h2{font-size:17px;margin:0 0 12px}.announcement-editor label{display:grid;gap:6px;font-weight:800;font-size:11px}.announcement-editor label+label{margin-top:11px}.announcement-editor input,.announcement-editor textarea,.announcement-editor select{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);padding:11px;font:inherit}.announcement-editor textarea{resize:vertical;line-height:1.55}.announcement-editor label small{color:var(--muted);font-weight:400}.form-note{margin:0;color:#167044;background:#e4f8ec;padding:9px 11px;border-radius:12px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.announcement-editor fieldset{border:1px solid var(--border);border-radius:16px;padding:15px}.announcement-editor legend{font-weight:900;padding:0 6px}.audience-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.announcement-editor select[multiple]{min-height:145px}.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dark .announcement-tile,.dark .announcement-editor section,.dark .announcement-editor input,.dark .announcement-editor textarea,.dark .announcement-editor select{background:#141f33;border-color:#31405d;color:#f7f9ff}.dark .announcement-tile h2{color:#f7f9ff}
.chat-page{height:var(--app-viewport-height,100dvh);min-height:0}.chat-composer{padding-bottom:max(9px,env(safe-area-inset-bottom));position:relative;z-index:4}
@media(max-width:760px){.announcements-grid,.editor-language-grid,.audience-columns,.form-grid.two{grid-template-columns:1fr}.announcement-heading{align-items:stretch}.announcement-heading .btn{text-align:center}.managed-announcement-row{align-items:flex-start;flex-direction:column}.announcement-thumb{height:190px}.chat-page{height:var(--app-viewport-height,100dvh)!important;padding-bottom:calc(var(--nav-height) + 4px)!important}.chat-page>.portal-topbar{min-height:54px;padding-top:2px;padding-bottom:5px}.chat-page .brand-logo-box{height:42px;width:78px;min-width:78px}.chat-thread-head{height:56px;padding-block:6px}.chat-thread-head>img{width:39px;height:39px}.chat-composer{min-height:58px;padding:7px 9px max(7px,env(safe-area-inset-bottom))}.chat-composer textarea{min-height:38px;max-height:76px}.keyboard-open .chat-page{padding-bottom:0!important}.keyboard-open .chat-page+.bottom-nav,.keyboard-open .bottom-nav{display:none!important}}
@media(max-width:430px){.news-slide>img{width:70px;min-width:70px}.announcement-detail-copy{padding:18px}.announcement-editor{padding:12px}.announcement-tile-body{padding:13px}}

/* V7.12 classroom evaluation analytics */
.evaluation-tabs{display:flex;gap:6px;margin:-5px 0 14px;padding:4px;background:#e7edfb;border-radius:14px;width:max-content;max-width:100%}.evaluation-tabs a{padding:9px 14px;border-radius:10px;font-size:11px;font-weight:900;color:var(--muted)}.evaluation-tabs a.active{background:var(--card);color:var(--blue);box-shadow:0 4px 12px rgba(19,32,72,.08)}.evaluation-filter-panel{margin-bottom:12px}.evaluation-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.evaluation-filter-grid label{display:grid;gap:5px;font-size:10px;font-weight:900}.evaluation-filter-grid input,.evaluation-filter-grid select{width:100%;min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--card);color:var(--text);padding:8px}.evaluation-filter-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.evaluation-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0}.evaluation-kpis>div{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:12px;min-height:91px}.evaluation-kpis small{display:block;color:var(--muted);font-size:9px;font-weight:800;min-height:24px}.evaluation-kpis b{display:block;color:var(--blue);font-size:21px;margin-top:4px}.evaluation-kpis em{font-style:normal;font-size:9px;color:var(--muted)}.evaluation-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:11px}.evaluation-bar-chart h2,.evaluation-trend h2,.section-performance h2,.analytics-records h2{font-size:17px;margin-top:0}.analytics-bar-row{margin:10px 0}.analytics-bar-row>div{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:5px}.analytics-bar-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-bar-row b{color:var(--blue);white-space:nowrap}.analytics-bar-row>i,.section-performance-grid i{display:block;height:8px;background:#e8edf8;border-radius:999px;overflow:hidden}.analytics-bar-row>i>em,.section-performance-grid i>em{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#7b91e8);border-radius:999px}.judgement-bg-outstanding{background:#22a567!important}.judgement-bg-good{background:#4d79dd!important}.judgement-bg-acceptable{background:#d9a514!important}.judgement-bg-weak{background:#c84b51!important}.section-performance{margin-bottom:11px}.section-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.section-performance-grid>div{padding:11px;border:1px solid var(--border);border-radius:13px;background:#fafbff}.section-performance-grid span{display:block;font-size:10px;min-height:30px}.section-performance-grid b{display:block;color:var(--blue);margin:4px 0 7px}.section-performance-grid small{display:block;color:var(--muted);font-size:8px;margin-top:6px}.trend-bars{height:220px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid var(--border);padding:20px 4px 25px}.trend-bars>div{height:100%;flex:1;min-width:22px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative}.trend-bars b{width:min(28px,80%);min-height:3px;background:linear-gradient(180deg,var(--yellow),#f0a500);border-radius:7px 7px 2px 2px}.trend-bars span{position:absolute;bottom:-20px;font-size:8px;color:var(--muted)}.trend-bars small{font-size:8px;color:var(--blue);margin-bottom:3px}.table-scroll{overflow:auto}.analytics-records table{width:100%;border-collapse:collapse}.analytics-records th,.analytics-records td{text-align:start;border-bottom:1px solid var(--border);padding:9px;font-size:10px}.analytics-records th{color:var(--muted);white-space:nowrap}.analytics-records td a{color:var(--blue);font-weight:900}.dark .evaluation-tabs{background:#18253c}.dark .evaluation-filter-grid input,.dark .evaluation-filter-grid select,.dark .evaluation-kpis>div,.dark .section-performance-grid>div{background:#141f33;border-color:#31405d;color:#f7f9ff}.dark .analytics-bar-row>i,.dark .section-performance-grid i{background:#283650}
@media(max-width:900px){.evaluation-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.evaluation-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.evaluation-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-chart-grid,.section-performance-grid{grid-template-columns:1fr}.evaluation-tabs{width:100%}.evaluation-tabs a{flex:1;text-align:center}}

/* V7.12.1 — file selection visibility + IT Help Desk */
.profile-action-bar{position:static!important;bottom:auto!important;margin-top:18px!important;z-index:auto!important}
.selected-file-preview{display:flex;align-items:center;gap:9px;margin-top:8px;padding:9px 10px;border:1px solid #b9c7ef;background:#f4f7ff;border-radius:12px;color:var(--navy)}.selected-file-preview[hidden]{display:none!important}.selected-file-preview>span{font-size:20px}.selected-file-preview>div{min-width:0;flex:1}.selected-file-preview b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.selected-file-preview small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.selected-file-preview button{border:0;background:#e7ecf8;color:#5b6782;border-radius:999px;width:26px;height:26px;cursor:pointer;font-size:17px}.dark .selected-file-preview{background:#17243d;border-color:#3d4c68;color:#f7f9ff}
.it-helpdesk-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-radius:24px;padding:22px;margin:14px 0}.it-helpdesk-hero small{font-size:9px;font-weight:900;letter-spacing:1.2px;opacity:.8}.it-helpdesk-hero h1{color:#fff;margin:4px 0 6px}.it-helpdesk-hero p{margin:0;opacity:.88;max-width:780px}.it-helpdesk-hero>span{font-size:42px;background:rgba(255,255,255,.12);width:76px;height:76px;display:grid;place-items:center;border-radius:20px}.it-ticket-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.it-ticket-form .span2,.it-management-form .span2{grid-column:1/-1}.it-ticket-list{display:grid;gap:9px}.it-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:15px;padding:12px;color:var(--text);background:var(--card)}.it-ticket-row:hover{border-color:#a9b9eb;box-shadow:0 8px 20px rgba(19,32,72,.06)}.it-ticket-row small{display:block;color:var(--muted);margin-top:4px}.it-ticket-row-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.it-ticket-row-meta em{font-style:normal}.priority-urgent,.priority-high,.priority-normal,.priority-low{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.priority-urgent{background:#ffe4e6;color:#a91f2d}.priority-high{background:#fff0d6;color:#925100}.priority-normal{background:#e7efff;color:#315fc2}.priority-low{background:#e6f7eb;color:#257140}.it-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;background:#edf1f8;color:#55627e}.it-empty{text-align:center;padding:24px}.it-empty span{font-size:34px}.it-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-bottom:12px}.it-kpis>div{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:11px}.it-kpis small{display:block;color:var(--muted);font-size:8px;font-weight:900;min-height:20px}.it-kpis b{display:block;color:var(--blue);font-size:20px}.it-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:end}.it-filter-grid input,.it-filter-grid select,.it-management-form input,.it-management-form select,.it-management-form textarea,.it-reply-form textarea,.it-reply-form select,.it-reply-form input{width:100%;border:1px solid var(--border);border-radius:11px;padding:10px;background:var(--card);color:var(--text);font:inherit}.it-filter-grid label{display:grid;gap:4px}.it-filter-grid label small{font-size:9px;color:var(--muted)}.it-filter-actions{display:flex;gap:6px}.it-ticket-table{width:100%;border-collapse:collapse}.it-ticket-table th,.it-ticket-table td{padding:10px;border-bottom:1px solid var(--border);text-align:start;font-size:10px;vertical-align:top}.it-ticket-table tbody tr{cursor:pointer}.it-ticket-table tbody tr:hover{background:#f7f9ff}.it-ticket-table td small{display:block;color:var(--muted);margin-top:3px}.it-pager{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.it-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.it-ticket-header{display:flex;justify-content:space-between;gap:20px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;margin:12px 0}.it-ticket-header small{color:var(--blue);font-weight:900}.it-ticket-header h1{margin:4px 0 7px}.it-ticket-header p{white-space:pre-wrap;color:var(--muted);margin:0}.it-ticket-header>div:last-child{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.it-ticket-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.it-ticket-meta>div{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:11px}.it-ticket-meta small,.it-ticket-meta span{display:block;color:var(--muted);font-size:8px}.it-ticket-meta b{display:block;margin:4px 0;font-size:11px}.it-management-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.it-management-form label{display:grid;gap:5px;font-size:10px;font-weight:900}.it-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.it-thread{display:grid;gap:9px;margin-bottom:12px}.it-reply{border:1px solid var(--border);border-radius:14px;padding:11px;background:#fbfcff}.it-reply.internal{background:#fff8dd;border-color:#ecd98a}.it-reply header{display:flex;gap:7px;align-items:center}.it-reply header small{margin-inline-start:auto;color:var(--muted);font-size:8px}.it-reply header span{font-size:8px;color:#8a6500}.it-reply p{white-space:pre-wrap;margin:7px 0}.it-reply a,.it-attachment-line{display:block;color:var(--blue);font-size:10px;font-weight:800;margin-top:5px}.it-reply-form{display:grid;gap:8px}.it-timeline{position:relative}.it-event{display:grid;grid-template-columns:16px 1fr;gap:8px;padding:7px 0}.it-event>i{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:5px;box-shadow:0 0 0 4px #e8edff}.it-event.internal>i{background:#d0a319;box-shadow:0 0 0 4px #fff2bd}.it-event b{font-size:10px;text-transform:capitalize}.it-event p{margin:3px 0;color:var(--muted);font-size:9px}.it-event small{color:#8992a7;font-size:8px}
.dark .it-ticket-table tbody tr:hover,.dark .it-reply{background:#141f33}.dark .it-reply.internal{background:#392f13}.dark .it-ticket-form input,.dark .it-ticket-form select,.dark .it-ticket-form textarea{background:#141f33;color:#f7f9ff;border-color:#31405d}
@media(max-width:1000px){.it-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.it-ticket-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.it-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.it-ticket-form,.it-filter-grid,.it-management-form,.it-report-grid,.it-detail-grid{grid-template-columns:1fr}.it-ticket-form .span2,.it-management-form .span2{grid-column:auto}.it-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.it-ticket-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.it-ticket-row{align-items:flex-start;flex-direction:column}.it-ticket-row-meta{justify-content:flex-start}.it-helpdesk-hero>span{width:58px;height:58px;font-size:30px}.it-ticket-header{flex-direction:column}.it-ticket-table{min-width:850px}}
@media print{.bottom-nav,.portal-topbar,.page-toolbar,.it-management-form,.it-reply-form{display:none!important}.app-shell.page{padding:0!important}.panel,.it-ticket-header,.it-ticket-meta>div{box-shadow:none!important}}

.chat-composer .chat-file-preview{position:absolute;left:10px;right:10px;bottom:calc(100% + 5px);margin:0;box-shadow:0 8px 24px rgba(19,32,72,.14);z-index:8}.document-upload-v3 .selected-file-preview{margin:8px 0}.file-picker:has(input:valid){border-color:#8fa5e9}

/* V7.12.2 — responsive profile request history */
.profile-history .profile-update-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.25fr) auto;gap:12px;align-items:center;overflow:hidden}.profile-history .profile-update-row>b,.profile-history .profile-update-row>span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.profile-history .profile-update-row>span{white-space:normal}.profile-history .profile-update-row>em{justify-self:end;white-space:nowrap;max-width:100%}
@media(max-width:620px){.profile-history{padding:15px}.profile-history .profile-update-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:12px}.profile-history .profile-update-row>b{grid-column:1/2;font-size:12px}.profile-history .profile-update-row>span{grid-column:1/-1;grid-row:2;color:var(--muted);padding-inline-end:4px}.profile-history .profile-update-row>em{grid-column:2;grid-row:1;align-self:start;font-size:10px;padding:5px 8px}.profile-history .profile-section-title h2{font-size:17px}}

/* V7.12.2 — full-screen IT live operations board */
.it-live-body{margin:0;background:#07111f;color:#f5f7ff;font-family:'Trebuchet MS',Arial,sans-serif;overflow-x:hidden}.it-live-board{min-height:100vh;padding:18px 22px 28px;background:radial-gradient(circle at 8% 0%,rgba(66,92,199,.28),transparent 30%),linear-gradient(180deg,#0b1730,#07111f)}.it-live-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}.it-live-brand{display:flex;align-items:center;gap:13px}.it-live-brand img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:14px;padding:6px}.it-live-brand small{display:block;color:#9fb2ff;font-weight:900;letter-spacing:1.3px}.it-live-brand h1{margin:2px 0 0;font-size:clamp(20px,2.2vw,34px);color:#fff}.it-live-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.it-live-control,.it-live-sort{border:1px solid rgba(255,255,255,.18);background:#13213a;color:#eaf0ff;border-radius:11px;min-height:40px;padding:8px 11px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.it-live-control.primary{background:var(--blue);border-color:var(--blue)}.it-live-control.enabled{border-color:#65d69b;background:#12382b}.it-live-sort{padding:4px 7px}.it-live-sort span{font-size:9px;color:#aab8d5}.it-live-sort select{width:auto;min-width:150px;background:#0e1a30;color:#fff;border:0;padding:7px;border-radius:7px}.it-live-alert{margin:13px 0;background:linear-gradient(90deg,#ffb71b,#ffd56c);color:#132048;border-radius:13px;padding:11px 15px;box-shadow:0 12px 35px rgba(255,183,27,.22);display:flex;align-items:center;gap:10px}.it-live-alert[hidden]{display:none}.it-live-alert b{font-size:14px}.it-live-alert span{font-weight:700}.it-live-alert.pulse{animation:itLivePulse .9s ease 2}@keyframes itLivePulse{50%{transform:scale(1.012);box-shadow:0 0 0 7px rgba(255,183,27,.12)}}.it-live-kpis{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin:14px 0 10px}.it-live-kpis>div{background:#111f37;border:1px solid #253653;border-radius:12px;padding:10px 12px}.it-live-kpis small{display:block;color:#93a3c3;font-size:8px;font-weight:900;letter-spacing:.7px}.it-live-kpis b{display:block;font-size:25px;margin-top:3px}.it-live-kpis .urgent b{color:#ff8d91}.it-live-kpis .overdue b{color:#ffb71b}.it-live-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#91a1bf;font-size:10px;margin:7px 2px 10px}.it-live-meta span:first-child{color:#55d494}.it-live-meta span:first-child.offline{color:#ff8d91}.it-live-list{display:grid;gap:7px}.it-live-ticket{display:grid;grid-template-columns:minmax(360px,2fr) minmax(150px,.8fr) minmax(120px,.6fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #253653;background:#0f1c31;border-radius:12px;color:#eef3ff;transition:.15s ease;position:relative;overflow:hidden}.it-live-ticket:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#6f86d8}.rtl .it-live-ticket:before{left:auto;right:0}.it-live-ticket:hover{background:#162742;border-color:#49649a;transform:translateY(-1px)}.it-live-ticket.priority-urgent:before{background:#ff5d68}.it-live-ticket.priority-high:before{background:#ffb71b}.it-live-ticket.priority-low:before{background:#55c77c}.it-live-ticket.is-overdue{border-color:#725321}.it-live-ticket-main{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;align-items:center}.it-live-ticket-no b{display:block;color:#9fb2ff;font-size:13px}.it-live-ticket-no time{display:block;color:#8a9ab8;font-size:9px;margin-top:2px}.it-live-issue{min-width:0}.it-live-issue h2{font-size:13px;margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.it-live-issue p{font-size:9px;color:#91a1bf;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.it-live-location small,.it-live-assigned small{display:block;color:#7f91b4;font-size:7px;font-weight:900}.it-live-location b,.it-live-assigned b{display:block;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.it-live-badges{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.it-live-badges span{white-space:nowrap}.live-overdue{background:#573e0d;color:#ffd66f;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.it-live-empty,.it-live-loading{text-align:center;padding:70px 20px;border:1px dashed #304462;border-radius:16px;color:#9aa9c5}.it-live-empty span,.it-live-loading span{font-size:38px}.it-live-empty h2{color:#f7f9ff;margin:8px 0 3px}.it-live-empty p{margin:0}.it-live-loading{display:grid;place-items:center;gap:7px}.it-live-body:fullscreen .it-live-board,.it-live-body:-webkit-full-screen .it-live-board{min-height:100vh}
@media(max-width:1100px){.it-live-kpis{grid-template-columns:repeat(4,1fr)}.it-live-ticket{grid-template-columns:minmax(320px,2fr) minmax(150px,1fr) auto}.it-live-assigned{display:none}.it-live-header{align-items:flex-start;flex-direction:column}.it-live-controls{justify-content:flex-start}}
@media(max-width:720px){.it-live-board{padding:12px}.it-live-brand img{width:42px;height:42px}.it-live-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.it-live-sort{grid-column:1/-1}.it-live-sort select{flex:1}.it-live-control{justify-content:center}.it-live-kpis{grid-template-columns:repeat(2,1fr)}.it-live-ticket{grid-template-columns:1fr;gap:7px;padding:11px 12px}.it-live-ticket-main{grid-template-columns:82px minmax(0,1fr)}.it-live-location,.it-live-assigned{display:block}.it-live-badges{justify-content:flex-start}.it-live-meta{gap:8px;justify-content:space-between}}

/* V7.13 filter correctness: explicit hidden state wins over component display rules */
.directory-card[hidden],.conversation-item[hidden],.directory-empty[hidden],.chat-empty-filter[hidden]{display:none!important}

/* V7.13 Printing Management */
.printing-page{padding-bottom:100px}.print-hero{margin:12px 0 16px;padding:22px;border-radius:24px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 18px 38px rgba(19,32,72,.16)}.print-hero small{opacity:.7;letter-spacing:.12em}.print-hero h1{color:#fff;margin:4px 0 7px}.print-hero p{margin:0;opacity:.85}.print-hours{min-width:190px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:14px;border-radius:18px}.print-hours b,.print-hours span,.print-hours small{display:block}.print-hours b{font-size:20px}.print-form-card{padding:18px}.print-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.print-form-grid .span2{grid-column:1/-1}.print-file-list{display:grid;gap:7px;margin-top:8px}.print-file-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:#f6f8ff;border:1px solid var(--border);border-radius:12px;padding:9px 11px}.print-file-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-file-list small{color:var(--muted)}.urgent-print{display:flex;gap:11px;align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;padding:13px}.urgent-print input{width:20px;height:20px;margin-top:3px;accent-color:#ef4444}.urgent-print span{display:grid;gap:3px}.urgent-print small{color:#9a5a2f}.print-submit{width:100%;margin-top:14px;min-height:48px}.quota-summary>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quota-summary span{background:#f7f9ff;border:1px solid var(--border);border-radius:13px;padding:12px;text-align:center}.quota-summary b,.quota-summary small{display:block}.quota-summary b{font-size:22px;color:var(--navy)}.print-request-list{display:grid;gap:8px}.print-request-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;color:inherit}.print-request-row:hover{background:#f7f9ff}.print-request-row>div:last-child{text-align:end;display:grid;gap:3px}.print-request-row small{color:var(--muted)}.print-request-row em{font-style:normal;font-weight:800;color:var(--blue)}.approval-cards,.print-queue{display:grid;gap:12px}.approval-card.urgent,.print-job.urgent{border:2px solid #f59e0b}.approval-head,.job-main{display:flex;justify-content:space-between;gap:15px}.approval-head h3,.job-main h3{margin:3px 0}.approval-head p,.job-main p{margin:4px 0;color:var(--muted)}.approval-details{display:grid;gap:5px;padding:12px 0}.approval-actions,.production-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:center}.production-form{grid-template-columns:minmax(180px,1.1fr) minmax(110px,.6fr) minmax(90px,.5fr) minmax(180px,1fr) auto}.production-form select,.production-form input,.approval-actions input{min-height:42px}.completed-pill{background:#e9f9ef;color:#157a3b;border-radius:999px;padding:9px 12px;font-weight:800;white-space:nowrap}.print-stat-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-bottom:14px}.print-stat-grid>div{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:13px;text-align:center}.print-stat-grid b,.print-stat-grid small{display:block}.print-stat-grid b{font-size:23px;color:var(--navy)}.print-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.print-detail-head{display:flex;justify-content:space-between;gap:18px}.print-detail-head>div:last-child{text-align:end;display:grid;gap:6px}.print-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.print-detail-grid dl{display:grid;grid-template-columns:160px 1fr;gap:8px}.print-detail-grid dt{color:var(--muted)}.print-detail-grid dd{margin:0;font-weight:800}.detail-file-list{display:grid;gap:8px}.detail-file-list a{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px}.note-box{background:#f7f9ff;border-radius:12px;padding:11px}.event-timeline{display:grid;gap:0}.event-timeline>div{display:grid;grid-template-columns:18px 1fr;gap:10px}.event-timeline>div>span{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:6px;box-shadow:0 0 0 4px #eaf0ff}.event-timeline section{border-inline-start:1px solid var(--border);padding:0 0 18px 14px}.event-timeline small{display:block;color:var(--muted);margin-top:3px}.event-timeline p{margin:5px 0 0}.table-scroll{overflow:auto}.report-table{width:100%;border-collapse:collapse;min-width:850px}.report-table th,.report-table td{padding:10px;border-bottom:1px solid var(--border);text-align:start}.report-table th{background:#f5f7fd;color:var(--navy)}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.settings-grid label{display:grid;gap:5px}.settings-note{grid-column:1/-1;background:#fff7ed;border:1px solid #fed7aa;padding:10px;border-radius:10px}.settings-inline{display:grid;grid-template-columns:1fr 220px auto;gap:8px}.settings-list,.chip-list{display:grid;gap:8px;margin-top:12px}.settings-list form{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) repeat(3,auto) 110px auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px}.chip-list form{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:9px 11px}
@media(max-width:1100px){.print-stat-grid{grid-template-columns:repeat(4,1fr)}.settings-grid{grid-template-columns:repeat(2,1fr)}.settings-list form{grid-template-columns:repeat(2,1fr)}.production-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.print-hero{align-items:flex-start;flex-direction:column}.print-hours{width:100%}.print-form-grid,.print-detail-grid,.print-filter-grid,.settings-grid{grid-template-columns:1fr}.print-stat-grid{grid-template-columns:repeat(2,1fr)}.quota-summary>div{grid-template-columns:repeat(2,1fr)}.print-request-row{grid-template-columns:1fr}.print-request-row>div:last-child{text-align:start}.approval-actions,.production-form,.settings-inline{grid-template-columns:1fr}.print-detail-head,.approval-head,.job-main{flex-direction:column}.print-detail-head>div:last-child{text-align:start}.settings-list form{grid-template-columns:1fr}.print-detail-grid dl{grid-template-columns:120px 1fr}}
.chat-search-tools{display:grid;grid-template-columns:1fr 112px;gap:7px;padding:0 13px 10px}.chat-search-tools .chat-search{margin:0}.chat-filter{border:1px solid var(--border);border-radius:13px;background:#f7f9ff;color:var(--navy);padding:0 9px;min-width:0}.chat-empty-filter{display:none}@media(max-width:720px){.chat-search-tools{grid-template-columns:1fr}.chat-filter{min-height:40px}}

/* V7.14 Academic My Work + Media Requests */
.academic-work-page,.media-work-page{padding-bottom:90px}.academic-hero,.media-hero{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-radius:24px;padding:24px;margin:10px 0 18px;box-shadow:0 14px 30px rgba(19,32,72,.14)}.academic-hero h1,.media-hero h1{margin:5px 0 8px;font-size:28px}.academic-hero p,.media-hero p{margin:0;opacity:.92;line-height:1.55}.academic-top-grid,.two-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.academic-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.academic-form{display:grid;gap:14px}.academic-form label,.attendance-date{display:grid;gap:6px}.academic-form input,.academic-form select,.academic-form textarea,.academic-top-grid input,.academic-top-grid select,.attendance-list input,.attendance-list select,.media-queue-card input,.media-queue-card select{width:100%;border:1px solid #dbe2f3;border-radius:12px;padding:11px;background:var(--card);color:inherit}.academic-form textarea{min-height:88px;resize:vertical}.auto-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:rgba(66,92,199,.07);border:1px solid rgba(66,92,199,.15);border-radius:16px;padding:12px;margin:4px 0 16px}.auto-info.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.auto-info div{display:grid;gap:4px}.auto-info small{opacity:.65}.auto-info b{font-size:14px}.template-block{border:1px solid #dfe5f4;border-radius:18px;padding:16px;background:var(--card);display:grid;gap:12px}.template-block h3{margin:0 0 4px;color:var(--blue)}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.work-record-list{display:grid;gap:10px}.work-record-list article{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid #e2e7f2;border-radius:14px}.work-record-list article div{display:grid;gap:4px}.work-record-list small{opacity:.68}.work-record-list span{font-weight:700;background:#eef2ff;color:var(--blue);padding:5px 9px;border-radius:999px}.standards-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.standards-summary span{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px;border-radius:14px;background:#f6f8ff;border:1px solid #e1e7f6}.standards-summary span small{grid-column:1/-1;opacity:.7}.student-level-grid,.attendance-list{display:grid;gap:8px}.student-level-row,.attendance-student{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(210px,1fr);gap:12px;align-items:center;border:1px solid #e2e7f2;border-radius:14px;padding:11px}.student-level-row div,.attendance-student>div{display:grid;gap:3px}.student-level-row small,.attendance-student small{opacity:.65}.attendance-student{grid-template-columns:minmax(220px,1.5fr) 180px 110px minmax(160px,1fr)}.attendance-student.attendance-exception{border-color:#ffb71b;background:rgba(255,183,27,.08)}.attendance-save{margin-top:16px}.attendance-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.attendance-mode-tabs a{padding:10px 14px;border-radius:12px;background:#eef2ff;color:var(--blue);font-weight:800}.attendance-mode-tabs a.active{background:var(--blue);color:#fff}.media-queue{display:grid;gap:12px}.media-queue-card{border:1px solid #e1e7f5;border-radius:18px;padding:15px;background:var(--card)}.media-queue-head{display:flex;justify-content:space-between;gap:12px}.media-queue-head div{display:grid;gap:4px}.media-queue-head span{font-weight:800;color:var(--blue)}.media-meta{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;font-size:13px}.install-btn{display:inline-flex}.portal-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);max-width:min(520px,90vw);padding:12px 16px;border-radius:14px;background:#132048;color:#fff;z-index:9999;opacity:0;pointer-events:none;transition:.2s;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.18)}.portal-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.academic-top-grid,.two-field,.auto-info,.auto-info.compact,.standards-summary{grid-template-columns:1fr}.student-level-row,.attendance-student{grid-template-columns:1fr}.form-actions .btn{flex:1}.academic-hero,.media-hero{padding:18px}.academic-hero h1,.media-hero h1{font-size:24px}}
