@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--primary:#0b5ed7;--secondary:#10396f;--gold:#f3b51b;--ink:#0b2f63;--muted:#60708a;--line:#d8e4f3;--surface:#fff;--bg:#eef5fd}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 15%,#d9ebff 0,transparent 34%),linear-gradient(135deg,#f7fbff,#edf4fc);min-height:100vh}a{color:var(--primary)}.portal-header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.brand-lockup{display:flex;align-items:center;gap:13px}.brand-lockup img{width:52px;height:52px;object-fit:contain}.brand-lockup strong{display:block;font-size:17px}.brand-lockup span{display:block;font-size:11px;color:var(--muted)}.portal-actions{display:flex;align-items:center;gap:12px}.role-chip,.ghost-btn{border:1px solid #bed5ef;background:#f4f9ff;border-radius:12px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none}.ghost-btn{background:#fff}.portal-layout{display:grid;grid-template-columns:250px 1fr;max-width:1440px;margin:0 auto;min-height:calc(100vh - 78px)}.portal-sidebar{background:linear-gradient(180deg,var(--secondary),var(--primary));padding:30px 18px;color:#fff}.profile-badge{padding:16px;border:1px solid rgba(255,255,255,.22);border-radius:16px;margin-bottom:22px;background:rgba(255,255,255,.08)}.profile-badge b{display:block}.profile-badge span{font-size:12px;opacity:.8}.portal-sidebar nav{display:grid;gap:8px}.portal-sidebar nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:600}.portal-sidebar nav a:hover,.portal-sidebar nav a.active{background:rgba(255,255,255,.17)}.portal-main{padding:30px}.page-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--primary);font-size:10px;font-weight:800}.page-title{font-size:32px;margin:5px 0 4px}.page-subtitle{color:var(--muted);margin:0 0 24px}.notice{padding:13px 16px;border-radius:12px;margin-bottom:18px;background:#e9f7ef;color:#17613a;border:1px solid #bfe4cd}.alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;background:#ffe9e9;color:#8d2424;border:1px solid #ffcaca}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(30,76,126,.07)}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card h2{font-size:19px;margin:0 0 16px}.card p{color:var(--muted)}label{display:block;font-weight:600;font-size:12px;margin:12px 0}input,select,textarea{width:100%;border:1px solid #c9d9eb;border-radius:11px;padding:11px 12px;margin-top:6px;font:inherit;color:var(--ink);background:#fff}textarea{min-height:92px;resize:vertical}.btn,button{border:0;background:linear-gradient(135deg,var(--primary),#1e87ea);color:#fff;padding:11px 18px;border-radius:11px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 8px 18px rgba(11,94,215,.18)}.country-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:10px 0 16px}.country-checks label{margin:0;font-weight:500;display:flex;align-items:center;gap:8px}.country-checks input{width:auto;margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid #e7eef7;font-size:12px}.table th{color:#466080;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.status{display:inline-block;border-radius:999px;padding:5px 9px;background:#e9f7ef;color:#17613a;font-weight:700}.country-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.country-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(145deg,#fff,#f5f9ff)}.country-card strong{display:block;margin-bottom:12px}.login-page{display:grid;place-items:center;padding:28px}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 26px 80px rgba(19,61,105,.16)}.login-brand{background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;padding:54px;position:relative}.login-brand img{width:90px;background:#fff;border-radius:18px;padding:8px}.login-brand h1{font-size:38px;line-height:1.12;margin:28px 0 14px}.login-brand p{opacity:.85}.login-form{padding:54px}.login-form h2{font-size:30px;margin:0}.login-form .btn{width:100%;margin-top:8px}.mini-muted{color:var(--muted);font-size:12px}@media(max-width:900px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{display:none}.portal-main{padding:20px}.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:span 12}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.portal-header{padding:0 16px}.brand-lockup strong{font-size:13px}.portal-actions .role-chip{display:none}}
:root{--on-primary:#fff;--on-secondary:#fff}.portal-sidebar{color:var(--on-secondary)}.portal-sidebar nav a,.profile-badge{color:var(--on-secondary)!important}.role-chip{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}button,.btn{color:var(--on-primary);background:linear-gradient(135deg,var(--primary),var(--secondary))}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.company-row{border:1px solid var(--line);border-radius:14px;margin:12px 0;background:#fff}.company-row summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:15px 16px;align-items:center}.company-row summary span{display:flex;flex-direction:column}.company-row summary small{color:var(--muted);font-size:11px}.company-actions-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;padding:0 16px 18px;border-top:1px solid var(--line)}.company-actions-grid h3{margin:18px 0 5px}.country-checks.compact{font-size:11px;max-height:180px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:10px}.inline-reset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.inline-reset small{display:block;color:var(--muted)}.danger{background:#b42318!important}.top-gap{margin-top:18px}.logo-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px}.logo-preview img{width:72px;height:72px;object-fit:contain}.logo-preview span{font-size:12px;color:var(--muted)}label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}@media(max-width:900px){.company-actions-grid,.two-col{grid-template-columns:1fr}.company-row summary{align-items:flex-start;flex-direction:column}}
/* Domain-based branded login V1 */
.login-brand{color:var(--on-secondary);background:linear-gradient(145deg,var(--secondary),var(--primary))}
.login-kicker{color:var(--on-secondary)!important;opacity:.82}
.login-company-logo{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:96px;max-width:220px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.login-company-logo img{width:auto!important;height:auto;max-width:190px;max-height:92px;background:transparent!important;border-radius:8px!important;padding:0!important;object-fit:contain}
.login-company-name{margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--on-secondary) 25%,transparent);font-weight:700;letter-spacing:.02em}
.login-preview-link{display:grid;gap:5px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;background:#f7fbff;overflow-wrap:anywhere}
.login-preview-link b{font-size:12px}.login-preview-link a{font-size:12px}.login-preview-link small,.optional{font-size:10px;color:var(--muted);font-weight:400}

/* Domain login alignment correction V1.2 */
.login-company-logo{display:flex!important;width:max-content;margin:0 0 18px 0;vertical-align:top}
.login-kicker{display:block!important;margin:0 0 14px 0;max-width:100%;line-height:1.7;overflow-wrap:anywhere}
.login-brand h1{margin-top:0!important}
@media(max-width:900px){.login-company-logo{margin-left:auto;margin-right:auto}}

/* Login logo cleanup and centering V1 */
.login-company-logo{margin:0 auto 24px!important;display:flex!important;align-items:center;justify-content:center}
.login-brand{text-align:center}
.login-brand h1{text-align:left}
.login-brand p{text-align:left}
.login-company-name{text-align:left}
.student-search{display:flex;gap:14px;align-items:end}.student-search label{flex:1}.student-search button{width:auto;min-width:120px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:13px 12px;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:top}.table-wrap th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#607086}.table-wrap td small{display:block;color:#75849a;margin-top:4px}.table-wrap .btn{display:inline-flex;width:auto;padding:8px 13px;text-decoration:none}
@media(max-width:720px){.student-search{display:block}.student-search button{width:100%;margin-top:10px}}
/* Phase 1B: aligned operational tables and workflow UI */
.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.data-table th,.data-table td{padding:16px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid #dbe7f4;white-space:nowrap}.data-table th{font-size:13px;color:#143f76;background:#f6faff}.data-table td:first-child{min-width:220px}.data-table small{display:block;margin-top:5px;color:#617792;white-space:normal}.data-table tr:last-child td{border-bottom:0}.data-table .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.empty-cell{text-align:center!important;color:#657a94;padding:30px!important}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.metric-card{background:#fff;border:1px solid #d9e6f4;border-radius:18px;padding:20px;box-shadow:0 12px 32px rgba(17,62,111,.07)}.metric-card b{display:block;font-size:24px;color:var(--secondary)}.metric-card span{color:#6a7f98;font-size:13px}.stage-update-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:1/-1}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workflow-stage-card{border:1px solid #d9e6f4;border-radius:16px;padding:16px;background:#fbfdff}.workflow-stage-card.new-stage{border-style:dashed;background:#f4f9ff}.stage-flags{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.stage-flags label{display:flex;align-items:center;gap:6px;font-size:12px}.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--pill) 13%,white);color:var(--pill);font-weight:700;font-size:12px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-title-row h2{margin-bottom:4px}@media(max-width:900px){.metric-grid,.workflow-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.stage-update-form{grid-template-columns:1fr}.data-table th,.data-table td{padding:13px 12px}}
.workflow-permission-form{margin-top:16px;padding:16px;border:1px solid #d8e5f3;border-radius:16px;background:#f8fbff}.permission-toggle{display:flex!important;align-items:center;gap:10px}.permission-toggle input{width:auto!important}
/* Phase 1C: workflow management and performance dashboard */
.dashboard-title-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.date-filter{display:flex;gap:10px;align-items:end;background:#fff;padding:14px;border-radius:16px;box-shadow:0 12px 30px rgba(17,55,95,.08)}.date-filter label{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.kpi-tile{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:linear-gradient(145deg,#fff,#f1f7ff);border:1px solid #dbe9f8;border-radius:20px;padding:20px;box-shadow:0 14px 34px rgba(17,55,95,.09);transition:.2s}.kpi-tile:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(17,55,95,.14)}.kpi-tile span{color:#55708f;font-weight:700}.kpi-tile strong{font-size:34px;color:var(--secondary)}.kpi-tile small{color:#8296ad}.funnel-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:center}.funnel-step{position:relative;text-align:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);padding:18px 10px;border-radius:16px}.funnel-step b{display:block;font-size:26px}.funnel-step span{font-size:12px;font-weight:700}.reason-bars{display:grid;gap:10px}.reason-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid #dce8f5;background:#f7fbff;border-radius:14px;padding:12px 14px}.reason-bar div{display:flex;flex-direction:column}.reason-bar span{font-size:12px;color:#6d829a;text-transform:capitalize}.reason-bar strong{font-size:22px;color:var(--primary)}.workflow-list{display:grid;gap:14px}.workflow-row{border:1px solid #d9e6f4;background:#fafdff;border-radius:18px;padding:16px}.workflow-main{display:grid;grid-template-columns:2fr 1.4fr .55fr .55fr;gap:12px}.compact-flags{display:flex;flex-wrap:wrap;gap:9px 16px;margin:14px 0}.compact-flags label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700}.add-stage-panel{margin-top:16px;border:1px dashed #9ebddd;border-radius:16px;padding:14px;background:#f7fbff}.add-stage-panel summary{cursor:pointer;font-weight:800;color:var(--secondary)}.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reason-card{border:1px solid #d9e6f4;border-radius:18px;padding:16px;background:#fbfdff}.timeline{display:grid;gap:14px}.timeline-item{position:relative;padding:12px 16px 12px 22px;border-left:3px solid var(--primary);background:#f7fbff;border-radius:0 14px 14px 0}.timeline-item span{display:block;color:#6f8298;font-size:12px;margin-top:3px}.timeline-item p{margin:7px 0 0}.section-heading{display:flex;justify-content:space-between;gap:20px}.section-heading p{margin:4px 0 0;color:#6d829a}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.funnel-row{grid-template-columns:repeat(3,1fr)}.workflow-main{grid-template-columns:1fr 1fr}.reason-grid{grid-template-columns:1fr}.dashboard-title-row{flex-direction:column}.date-filter{width:100%;flex-wrap:wrap}}
@media(max-width:680px){.kpi-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:1fr 1fr}.workflow-main{grid-template-columns:1fr}.date-filter{display:grid;grid-template-columns:1fr 1fr}.date-filter button{grid-column:1/-1}}
/* Phase 1D-A: management dashboard, branches, operational roles */
.dashboard-filter-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 10px 30px rgba(17,55,95,.07);margin-bottom:16px}.dashboard-filter-grid{display:grid;grid-template-columns:1.45fr .82fr .82fr 1fr 1.15fr auto;gap:10px;align-items:end}.dashboard-filter-grid label{margin:0}.dashboard-filter-grid input,.dashboard-filter-grid select{height:42px;padding:8px 10px;margin-top:5px}.filter-actions{display:flex;gap:8px;align-items:center}.filter-actions .ghost-btn{height:42px;display:inline-flex;align-items:center}.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.executive-strip>div{background:linear-gradient(145deg,#fff,#f5f9ff);border:1px solid #dce8f5;border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 9px 24px rgba(20,62,108,.06)}.executive-strip span{font-size:11px;color:#6d819a;font-weight:700}.executive-strip b{font-size:22px;color:var(--secondary)}.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.executive-kpi{display:grid!important;grid-template-columns:46px 1fr;gap:13px;align-items:center}.kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);font-size:20px;font-weight:800;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent)}.executive-kpi strong{font-size:30px!important;line-height:1}.trend-up{color:#16804a!important}.trend-down{color:#b42318!important}.modern-funnel{margin-top:16px}.modern-funnel .funnel-step{min-height:88px;display:grid;place-items:center;align-content:center}.performance-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f3ff;color:#135ea8;font-weight:800}.branch-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.branch-admin-card{border:1px solid #d9e6f4;border-radius:18px;padding:16px;background:#fbfdff}.branch-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.branch-card-top b{display:block;font-size:16px}.branch-card-top small{display:block;color:#73869c;margin-top:4px}.priority-pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.priority-normal{background:#edf4fb;color:#48647e}.priority-important{background:#fff2cc;color:#8b6700}.priority-urgent{background:#ffe4e1;color:#a62e22}.task-update-form{min-width:280px;padding:10px}.compact-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.compact-inline-form label{margin:0}.compact-date-filter{padding:10px 12px}.compact-date-filter input{width:150px}.compact-date-filter label{font-size:10px}.portal-sidebar nav a[href*="settings"]{margin-top:8px}.portal-main>.dashboard-grid:first-of-type{margin-top:8px}
@media(max-width:1180px){.dashboard-filter-grid{grid-template-columns:repeat(3,1fr)}.filter-actions{grid-column:span 3}.kpi-grid-4{grid-template-columns:repeat(2,1fr)}.branch-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dashboard-filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.executive-strip,.kpi-grid-4,.branch-card-grid{grid-template-columns:1fr}.compact-inline-form{grid-template-columns:1fr}.compact-date-filter input{width:100%}}

/* Phase 1D-A.1 corrections */
.staff-admin-list{display:grid;gap:14px}.staff-admin-row{border:1px solid #dbe7f4;border-radius:18px;padding:16px;background:#fff}.staff-main-form{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end}.staff-name{display:flex;flex-direction:column;gap:4px}.staff-name small,.task-meta{color:#6b7c93}.staff-secondary-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #e8eef5}.password-reset-inline{display:flex;gap:8px;align-items:center}.password-reset-inline input{min-width:240px}.danger{background:#c5362b!important;color:#fff!important}
.front-kpis{margin:18px 0}.entry-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.entry-choice{border:1px solid #cfdef0;background:#fff;color:#123b6d;border-radius:18px;padding:20px;text-align:left;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px rgba(24,66,112,.07)}.entry-choice.active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.entry-choice b{font-size:18px}.entry-choice span{font-weight:500;color:#667891}.entry-panel.is-hidden{display:none}
.application-card-list{display:grid;gap:12px}.application-update-card{display:grid;grid-template-columns:minmax(240px,2fr) minmax(190px,1fr) minmax(180px,1fr) minmax(160px,1fr) auto;gap:12px;align-items:end;border:1px solid #dce7f2;padding:15px;border-radius:16px;background:#fff}.application-update-card>div{display:flex;flex-direction:column;gap:5px}.application-update-card small{color:#6b7c93}
.task-card-list{display:grid;gap:16px}.task-thread-card{background:#fff;border:1px solid #dce7f2;border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(23,60,104,.06)}.task-thread-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.task-thread-head>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-thread-head>div:first-child{flex-direction:column;align-items:flex-start}.task-conversation{margin:16px 0;display:grid;gap:10px;max-height:360px;overflow:auto;padding:4px}.task-message{max-width:78%;background:#f1f6fc;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.task-message.mine{margin-left:auto;background:color-mix(in srgb,var(--primary) 12%,white)}.task-message small{color:#70839a;font-size:11px}.task-message-form{display:grid;grid-template-columns:1fr auto;gap:10px}.task-admin-update{margin-top:14px}.task-admin-update summary{cursor:pointer;font-weight:700}
.counsellor-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0}.public-share .app-sidebar{display:none!important}.public-share .app-shell{margin-left:0!important}.public-share [data-portal-link],.public-share [data-logout-link]{display:none!important}
@media(max-width:1100px){.staff-main-form{grid-template-columns:1fr 1fr}.application-update-card{grid-template-columns:1fr 1fr}.counsellor-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.entry-choice-grid,.staff-main-form,.application-update-card,.counsellor-kpis{grid-template-columns:1fr}.staff-secondary-actions,.password-reset-inline{flex-direction:column;align-items:stretch}.password-reset-inline input{min-width:0}.task-thread-head{flex-direction:column}.task-message{max-width:92%}}
/* Phase 1D-B: compact operational UX + branded actionable KPIs */
.branded-kpi,.clickable-metric{position:relative;overflow:hidden;text-decoration:none!important;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 10%,white),color-mix(in srgb,var(--secondary) 5%,white))!important;border-color:color-mix(in srgb,var(--primary) 24%,#dbe7f3)!important}.branded-kpi:after,.clickable-metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-35px;background:color-mix(in srgb,var(--primary) 10%,transparent)}.clickable-metric{display:flex!important;flex-direction:column;gap:6px;color:inherit}.clickable-metric:hover,.branded-kpi:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 14%,transparent)}
.front-office-kpis{margin:22px 0}.front-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.front-action-card{display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:center;padding:24px;border-radius:22px;text-decoration:none;color:var(--secondary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,white),#fff);border:1px solid color-mix(in srgb,var(--primary) 22%,#dbe7f3);box-shadow:0 12px 30px rgba(17,55,95,.08)}.front-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(17,55,95,.13)}.front-action-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);font-size:26px;font-weight:900}.front-action-card b{font-size:19px}.front-action-card span{display:block;margin-top:5px;color:#687b91;line-height:1.45}.front-action-card em{font-style:normal;font-weight:800;color:var(--primary);white-space:nowrap}
.compact-filter-row{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;align-items:end}.compact-filter-row label{margin:0}.compact-table td,.compact-table th{padding:12px 14px;vertical-align:middle}.compact-table td small{display:block;color:#718399;margin-top:4px}.mini-btn{padding:8px 12px!important;min-height:34px!important;font-size:12px!important;border-radius:10px!important}.ghost-inline{background:#edf5ff!important;color:var(--secondary)!important}.application-list-table .application-inline-form{display:flex;gap:8px;align-items:center;min-width:260px}.application-list-table .status-select{min-width:170px}.standalone-main{max-width:1450px;margin:0 auto;padding:32px}.staff-filter-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:14px}.staff-table select{min-width:125px}.row-actions{display:flex;gap:8px;align-items:center}.row-menu{position:relative}.row-menu summary{list-style:none;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border:1px solid #cddded;border-radius:10px;font-weight:900}.row-menu summary::-webkit-details-marker{display:none}.row-menu-panel{position:absolute;right:0;top:40px;width:280px;background:#fff;border:1px solid #d7e4f1;border-radius:14px;padding:12px;box-shadow:0 18px 38px rgba(10,45,82,.18);z-index:20}.row-menu-panel form{display:grid;gap:8px;margin-bottom:8px}.row-menu-panel input{width:100%}.compact-permission{white-space:nowrap}
@media(max-width:900px){.front-action-grid{grid-template-columns:1fr}.compact-filter-row{grid-template-columns:1fr 1fr}.staff-filter-row{grid-template-columns:1fr}.front-action-card{grid-template-columns:50px 1fr}.front-action-card em{grid-column:2}.application-list-table .application-inline-form{min-width:220px}}

/* Phase 1D-C: unified white-label KPI, timeline and notification design */
body{background:radial-gradient(circle at 8% 14%,color-mix(in srgb,var(--primary) 10%,transparent) 0,transparent 31%),linear-gradient(135deg,color-mix(in srgb,var(--primary) 4%,#f8fbff),color-mix(in srgb,var(--secondary) 3%,#eef5fd));}
.portal-header{border-bottom-color:color-mix(in srgb,var(--primary) 20%,#d8e4f3)}
.card{border-color:color-mix(in srgb,var(--primary) 15%,var(--line))}
.data-table th,.table th{background:color-mix(in srgb,var(--primary) 7%,#f7fbff);color:color-mix(in srgb,var(--secondary) 86%,#1b365d)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.kpi-grid,.metric-grid{gap:16px}
.kpi-standard{min-height:148px!important;display:grid!important;grid-template-rows:auto auto auto auto!important;place-items:center!important;align-content:center!important;text-align:center!important;gap:7px!important;padding:18px!important;color:var(--ink)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 12%,white),color-mix(in srgb,var(--secondary) 6%,white))!important;border:1px solid color-mix(in srgb,var(--primary) 24%,#d7e5f4)!important;border-radius:20px!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 10%,transparent)!important;transition:.18s ease;overflow:hidden;position:relative;text-decoration:none!important}
.kpi-standard:after{content:"";position:absolute;width:100px;height:100px;right:-42px;top:-48px;border-radius:50%;background:color-mix(in srgb,var(--secondary) 9%,transparent);pointer-events:none}
.kpi-standard:hover{transform:translateY(-3px);box-shadow:0 18px 38px color-mix(in srgb,var(--primary) 16%,transparent)!important}
.kpi-standard .kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 20%,transparent);z-index:1}
.kpi-standard .kpi-icon img{width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1)}
.kpi-standard>strong,.kpi-standard>b{font-size:31px!important;line-height:1!important;color:var(--secondary)!important;margin:0!important;z-index:1}
.kpi-standard>span{font-size:13px!important;font-weight:800!important;color:color-mix(in srgb,var(--secondary) 82%,#4d6580)!important;z-index:1}
.kpi-standard>small{font-size:10px!important;margin:0!important;z-index:1}
.executive-kpi{grid-template-columns:none!important}
.front-office-kpis .kpi-standard{min-height:150px!important}
.executive-strip>div{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 6%,white),white);border-color:color-mix(in srgb,var(--primary) 18%,#dce8f5)}
.student-stage-inline-form{display:flex;gap:8px;align-items:center;min-width:265px}.student-stage-inline-form .status-select{min-width:175px}
.activity-timeline{position:relative;display:grid;gap:0}.activity-timeline:before{content:"";position:absolute;left:12px;top:10px;bottom:10px;width:2px;background:color-mix(in srgb,var(--primary) 25%,#dbe7f4)}.activity-event{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:12px 0;position:relative}.activity-marker{width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 12%,white);margin-top:5px;z-index:1}.activity-event div:last-child{display:grid;gap:4px}.activity-event span,.activity-event small{font-size:11px;color:var(--muted)}
.notification-list{display:grid}.notification-item{display:grid;grid-template-columns:16px 1fr;gap:12px;padding:16px 8px;border-bottom:1px solid #e7eef7;text-decoration:none;color:inherit}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:color-mix(in srgb,var(--primary) 5%,white)}.notification-dot{width:9px;height:9px;border-radius:50%;background:#b9c8d8;margin-top:6px}.notification-item.unread .notification-dot{background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,white)}.notification-item p{margin:4px 0}.notification-item small{color:var(--muted)}
@media(max-width:900px){.student-stage-inline-form{min-width:220px;flex-direction:column;align-items:stretch}.student-stage-inline-form .status-select{min-width:0}.kpi-standard{min-height:132px!important}}
/* Phase 1D-D dashboard polish */
.kpi-standard .kpi-icon img{filter:none!important;width:25px;height:25px}
.analytics-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0}.analytics-card{min-width:0}.analytics-card.span-12{grid-column:1/-1}.chart-bars,.counsellor-chart{display:grid;gap:14px}.chart-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}.bar-stack,.multi-bars{display:grid;gap:7px}.bar-stack span,.multi-bars span{height:22px;width:max(8%,var(--w));max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 60%,white));display:flex;align-items:center;padding:0 9px;transition:.2s}.bar-stack span.alt,.multi-bars span.alt{background:linear-gradient(90deg,var(--secondary),color-mix(in srgb,var(--secondary) 58%,white))}.bar-stack span.success,.multi-bars span.success{background:linear-gradient(90deg,#17885a,#62c693)}.multi-bars span.warn{background:linear-gradient(90deg,#d88914,#f1be61)}.bar-stack i,.multi-bars i{font-style:normal;font-size:10px;font-weight:800;color:#fff;white-space:nowrap}.donut-layout{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}.donut-chart{width:170px;height:170px;border-radius:50%;display:grid;place-items:center}.donut-chart>div{width:104px;height:104px;background:#fff;border-radius:50%;display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 1px #edf2f7}.donut-chart b{font-size:28px;color:var(--secondary)}.donut-chart span{font-size:11px;color:var(--muted)}.donut-legend{display:grid;gap:9px}.donut-legend>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center}.donut-legend>div>span{width:10px;height:10px;border-radius:50%}.donut-legend b{font-size:12px}.donut-legend em{font-size:11px;font-style:normal;color:var(--muted)}.counsellor-chart-row{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid #edf2f7}.counsellor-chart-row:last-child{border-bottom:0}.counsellor-chart-row>div:first-child{display:grid}.counsellor-chart-row small{color:var(--muted)}
.application-combined-form{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) auto auto;gap:10px;align-items:center;min-width:600px}.application-combined-form select{min-width:0}.application-combined-form .save-row-btn{white-space:nowrap}.student-link{color:var(--secondary);text-decoration:none}.student-link:hover{text-decoration:underline}
.student360-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.student360-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.student360-meta span{padding:8px 11px;border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,white);border:1px solid color-mix(in srgb,var(--primary) 18%,#dce6f2);font-size:12px}.student360-tabs{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:70px;background:rgba(244,248,253,.94);backdrop-filter:blur(10px);padding:10px 0;z-index:4}.student360-tabs a{padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #dce8f5;text-decoration:none;font-size:12px;font-weight:800;color:var(--secondary)}.student360-tabs a:hover{background:color-mix(in srgb,var(--primary) 7%,white)}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.donut-layout{grid-template-columns:1fr;justify-items:center}.chart-row,.counsellor-chart-row{grid-template-columns:1fr}.application-combined-form{grid-template-columns:1fr;min-width:300px}.student360-hero{grid-template-columns:1fr}}


/* Phase 1F: master lists, filters, bell, backup & scalable operations */
.global-notification-bell{position:fixed;right:122px;top:20px;z-index:1200;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary,#0b5ed7) 8%,white);border:1px solid color-mix(in srgb,var(--primary,#0b5ed7) 26%,#d8e5f2);color:var(--secondary,#10396f);box-shadow:0 8px 22px rgba(20,60,105,.08)}.global-notification-bell svg{width:22px;height:22px}.notification-count{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #fff}.master-filter-card{padding:16px!important}.master-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.master-filter-grid label{margin:0}.master-filter-grid .filter-actions{display:flex;gap:8px;align-items:end}.master-table-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;color:var(--muted)}.master-table-head b{font-size:15px;color:var(--secondary)}.student-link{text-decoration:none;color:var(--secondary)}.student-link:hover{text-decoration:underline}.saved-view-box{margin-top:12px;border-top:1px solid #e3ecf5;padding-top:10px}.saved-view-box summary{cursor:pointer;font-weight:800;color:var(--secondary)}.saved-view-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.saved-view-links a{padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,white);text-decoration:none;font-size:12px;font-weight:800}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.pagination a,.pagination span{padding:8px 11px;border-radius:10px;border:1px solid #d9e5f2;text-decoration:none}.pagination a{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.applications-master-table .status-select{min-width:180px}.applications-master-table td:last-child{white-space:nowrap}.master-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.master-summary-kpis .kpi-standard{min-height:120px!important}.schedule-followup-details summary{cursor:pointer;font-size:18px;font-weight:900;color:var(--secondary)}.task-conversation.tall{max-height:520px}.export-table td:last-child{width:140px}.health-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0}.health-card{min-height:100px}.health-card b{font-size:17px}.health-warning{border-color:#f1b5ae!important;background:#fff5f3!important}.system-stat-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e6edf5}.cron-command{display:block;padding:14px;border-radius:12px;background:#102b4e;color:#fff;overflow:auto;margin:10px 0}.muted{color:var(--muted)}
@media(max-width:1180px){.master-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.global-notification-bell{right:76px;top:18px;width:38px;height:38px}.master-filter-grid,.master-summary-kpis,.health-kpis{grid-template-columns:1fr}.master-table-head{align-items:flex-start;flex-direction:column}.pagination{justify-content:center}}


/* Phase 1G-A: operational corrections */
.global-notification-bell{right:205px!important;top:18px!important;position:fixed!important}
.compact-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:11px;background:color-mix(in srgb,var(--primary) 9%,white);border:1px solid color-mix(in srgb,var(--primary) 22%,#dce7f3);color:var(--secondary);font-weight:800;font-size:12px;text-decoration:none}.compact-btn:hover{background:color-mix(in srgb,var(--primary) 14%,white)}
.followup-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.followup-actions details{position:relative}.followup-actions summary{list-style:none;cursor:pointer;padding:8px 11px;border-radius:10px;border:1px solid #cbdced;font-size:11px;font-weight:800}.followup-actions summary::-webkit-details-marker{display:none}.followup-popover{position:absolute;right:0;top:42px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 16px 38px rgba(17,54,96,.16);min-width:330px}.followup-popover label{margin:7px 0}.followup-popover .two-action-buttons{display:flex;gap:8px;margin-top:8px}.followup-history-note{font-size:11px;color:var(--muted);margin-top:4px}.visit-time-stack{display:grid;gap:3px}.visit-time-stack small{margin:0!important}.availability-form{display:flex;align-items:end;gap:10px;margin:8px 0 18px}.availability-form label{margin:0;min-width:210px}.availability-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#8696aa}.availability-dot.available{background:#169b62}.availability-dot.in_counselling,.availability-dot.on_call{background:#d88710}.availability-dot.in_meeting{background:#7d5bd6}.availability-dot.break{background:#d05f4f}.availability-dot.offline{background:#8696aa}.availability-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f3f7fb;font-size:10px;font-weight:800;color:var(--secondary)}
.login-brand{display:flex;flex-direction:column;justify-content:center}.login-company-logo{min-height:110px!important}.login-company-logo img{max-height:100px!important}.login-brand h1{margin-top:4px!important}
@media(max-width:900px){.global-notification-bell{right:76px!important;top:18px!important}.followup-popover{position:fixed;left:16px;right:16px;top:auto;bottom:18px;min-width:0}.availability-form{align-items:stretch;flex-direction:column}}

/* Phase 1G-A2 UI/workflow corrections */
.global-notification-bell{position:relative!important;right:auto!important;top:auto!important;z-index:auto!important;width:40px!important;height:40px!important;min-width:40px;flex:0 0 40px;border-radius:12px!important;display:inline-grid!important;place-items:center!important;margin-right:2px;text-decoration:none}
.global-notification-bell svg{width:20px!important;height:20px!important;display:block}.portal-actions{position:relative;gap:10px!important}.notification-count{right:-6px!important;top:-7px!important}.portal-sidebar>.global-notification-bell{display:none!important}
.student360-shell .portal-main{min-width:0}.student360-tabs{top:78px;padding:10px 0}.section-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.action-btn,.compact-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px;padding:9px 13px!important;border-radius:10px!important;background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:var(--on-primary)!important;border:0!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;box-shadow:0 7px 16px rgba(20,66,116,.12)}
.action-btn.secondary,.compact-btn.secondary{background:#fff!important;color:var(--secondary)!important;border:1px solid #cbdced!important;box-shadow:none!important}.row-action-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.doc-update-btn,.visit-action-btn{padding:7px 10px!important;font-size:11px!important;border-radius:9px!important}
.master-filter-card.compact-master-filter{padding:13px 14px!important}.master-filter-grid.inline-master-filters{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(125px,1fr)) minmax(90px,.55fr) auto!important;gap:9px!important;align-items:end!important}.master-filter-grid.inline-app-filters{grid-template-columns:minmax(210px,1.5fr) repeat(4,minmax(120px,1fr)) minmax(90px,.55fr) auto!important;gap:9px!important;align-items:end!important}
.master-filter-grid.inline-master-filters input,.master-filter-grid.inline-master-filters select,.master-filter-grid.inline-app-filters input,.master-filter-grid.inline-app-filters select{height:40px;padding:7px 9px;font-size:12px}.master-filter-card.compact-master-filter .saved-view-box{margin-top:9px;padding-top:8px}
.master-summary-kpis.clickable-kpis .kpi-standard{position:relative;text-decoration:none;color:inherit}.master-summary-kpis.clickable-kpis .kpi-standard:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(23,69,118,.10)}.student-master-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 15px}.student-master-kpis .kpi-standard{min-height:105px!important}
.crm-dialog{border:0;border-radius:18px;padding:0;width:min(560px,calc(100vw - 28px));box-shadow:0 28px 90px rgba(13,45,83,.28);color:var(--ink)}.crm-dialog::backdrop{background:rgba(9,35,66,.48);backdrop-filter:blur(3px)}.crm-dialog-card{padding:22px;background:#fff;border-radius:18px}.crm-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.crm-dialog-head h3{margin:0;font-size:20px}.dialog-close{width:34px;height:34px;border-radius:10px;padding:0!important;display:grid!important;place-items:center!important;background:#eef4fb!important;color:var(--secondary)!important;box-shadow:none!important;font-size:18px!important}.dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dialog-actions button{flex:1 1 140px}.followup-update-btn{padding:8px 11px!important;font-size:11px!important}.visit-note{max-width:320px;white-space:normal}.student360-side-layout{max-width:1440px;margin:0 auto}
@media(max-width:1250px){.master-filter-grid.inline-master-filters,.master-filter-grid.inline-app-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.master-filter-grid.inline-master-filters,.master-filter-grid.inline-app-filters,.student-master-kpis{grid-template-columns:1fr!important}.global-notification-bell{width:38px!important;height:38px!important;min-width:38px}}

/* Phase 1G-A3 */
.master-record-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start;margin-top:14px}
.master-filter-rail{position:sticky;top:92px;padding:14px!important}
.vertical-master-filters{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.vertical-master-filters label{display:grid;gap:5px;font-size:11px;font-weight:800;min-width:0}
.vertical-master-filters input,.vertical-master-filters select{height:39px!important;padding:7px 9px!important;font-size:12px!important;width:100%}
.vertical-master-filters .filter-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
.master-list-card{min-width:0;margin:0!important}
.master-summary-kpis{margin-bottom:12px!important}
.button-summary{display:inline-flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);border-radius:10px;padding:9px 13px!important;font-weight:800;cursor:pointer;list-style:none;width:max-content}
.button-summary::-webkit-details-marker{display:none}
.compact-task-kpis{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin:12px 0 16px}.compact-task-kpis .metric-card{text-decoration:none;color:inherit;min-height:95px}
.saved-view-links a{display:block;padding:7px 9px;border:1px solid #d8e5f4;border-radius:8px;margin:5px 0;text-decoration:none;font-weight:700}
@media(max-width:1100px){.master-record-layout{grid-template-columns:220px minmax(0,1fr)}}@media(max-width:850px){.master-record-layout{grid-template-columns:1fr}.master-filter-rail{position:relative;top:auto}.compact-task-kpis{grid-template-columns:1fr}}

/* Phase 1G-A4 — unified operational UX */
.unified-search-card{padding:14px 16px!important;margin-bottom:14px!important}
.unified-search-bar{display:grid;grid-template-columns:minmax(240px,1.55fr) minmax(180px,.9fr) minmax(180px,.9fr) auto auto;gap:10px;align-items:end}
.unified-search-bar>label{display:grid;gap:5px;min-width:0;font-size:11px;font-weight:800}
.unified-search-bar input,.unified-search-bar select{width:100%;height:42px;padding:8px 11px;border:1px solid #cbdced;border-radius:10px;background:#fff;color:var(--ink);font-size:13px}
.unified-search-actions{display:flex;gap:8px;align-items:end;white-space:nowrap}
.more-filter-dropdown{position:relative;align-self:end}
.more-filter-dropdown>summary{list-style:none;cursor:pointer;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #cbdced;border-radius:10px;background:#fff;color:var(--secondary);font-weight:800;white-space:nowrap}
.more-filter-dropdown>summary::-webkit-details-marker{display:none}
.more-filter-panel{position:absolute;right:0;top:48px;z-index:80;width:min(520px,88vw);padding:14px;background:#fff;border:1px solid #d6e4f2;border-radius:14px;box-shadow:0 20px 45px rgba(13,45,83,.18);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.more-filter-panel label{display:grid;gap:5px;font-size:11px;font-weight:800}
.inline-secondary-action{height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #cbdced;border-radius:10px;background:#fff;color:var(--secondary);font-weight:800;text-decoration:none}
.master-record-layout{display:block!important;margin-top:0!important}
.master-filter-rail{position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.master-list-card{margin-top:0!important}
.quick-student-results{display:grid;gap:8px;margin-top:12px}
.quick-student-row{display:grid;grid-template-columns:auto minmax(220px,1.4fr) minmax(140px,.7fr) minmax(140px,.7fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #d9e5f2;border-radius:11px;background:#fff}
.quick-student-row:hover{background:#f7fbff}
.quick-student-row small{display:block;color:var(--muted);margin-top:2px}
.quick-select{width:18px;height:18px}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-grid .span-2{grid-column:1/-1}
.crm-dialog form label{display:grid;gap:5px;margin-bottom:8px;font-size:12px;font-weight:800}
.crm-dialog input,.crm-dialog select,.crm-dialog textarea{width:100%;border:1px solid #cbdced;border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit}
.crm-dialog textarea{min-height:82px;resize:vertical}
.compact-filter-row{display:grid!important;grid-template-columns:minmax(260px,1.5fr) minmax(170px,.8fr) minmax(160px,.7fr) auto auto!important;gap:10px!important;align-items:end!important}
.section-action-row button,.row-action-group button,.quick-revisit-btn{font-weight:800!important}
@media(max-width:1000px){.unified-search-bar{grid-template-columns:1fr 1fr 1fr}.unified-search-actions{grid-column:1/-1}.quick-student-row{grid-template-columns:auto 1fr auto}.quick-hide-sm{display:none!important}}
@media(max-width:700px){.unified-search-bar{grid-template-columns:1fr}.unified-search-actions{grid-column:auto;flex-wrap:wrap}.more-filter-panel{position:fixed;left:14px;right:14px;top:115px;width:auto;grid-template-columns:1fr}.modal-grid{grid-template-columns:1fr}.modal-grid .span-2{grid-column:auto}}

/* Phase 1G-A4.1 — forced compact toolbar + modal polish */
.unified-search-card{
  padding:14px 16px!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}
.unified-search-bar{
  display:grid!important;
  grid-template-columns:minmax(230px,1.45fr) minmax(180px,1fr) minmax(180px,1fr) auto minmax(210px,auto)!important;
  gap:10px!important;
  align-items:end!important;
}
.unified-search-bar>label{margin:0!important}
.unified-search-bar .unified-search-actions{
  display:flex!important;
  align-items:end!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.unified-search-bar button,
.unified-search-bar .inline-secondary-action,
.more-filter-dropdown>summary{
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:9px!important;
}
.master-filter-rail,.vertical-master-filters{display:none!important}
.master-record-layout{display:block!important}
.crm-dialog{
  position:fixed!important;
  inset:0!important;
  margin:auto!important;
  width:min(580px,calc(100vw - 34px))!important;
  max-height:min(720px,calc(100vh - 48px))!important;
  overflow:auto!important;
  border:0!important;
  border-radius:18px!important;
  padding:0!important;
  box-shadow:0 28px 90px rgba(10,37,70,.34)!important;
}
.crm-dialog::backdrop{background:rgba(14,30,52,.58)!important}
.crm-dialog-card{padding:22px 24px!important}
.crm-dialog-head{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:10px}
.visit-action-btn,.compact-btn.secondary.open-followup-modal,.compact-btn.secondary.open-task-modal,.compact-btn.secondary.open-escalation-modal{
  cursor:pointer!important
}
@media(max-width:1050px){
  .unified-search-bar{grid-template-columns:1fr 1fr!important}
  .unified-search-bar .unified-search-actions{grid-column:1/-1!important;justify-content:flex-start!important}
}
@media(max-width:700px){
  .unified-search-bar{grid-template-columns:1fr!important}
}

/* CORE-1 workspace/module licensing */
.workspace-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#eef4fb;border:1px solid #d6e3f1;border-radius:12px;margin-right:8px}
.workspace-tab{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800;color:var(--secondary)}
.workspace-tab.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);box-shadow:0 5px 12px rgba(20,66,116,.14)}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.module-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d9e5f1;border-radius:12px;background:#fff}
.module-toggle-card b{display:block}.module-toggle-card small{display:block;color:var(--muted);margin-top:2px}
.module-switch{width:20px;height:20px}
.module-badges{display:flex;gap:6px;flex-wrap:wrap}
.module-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef5ff;border:1px solid #d5e4f4;color:var(--secondary);font-size:11px;font-weight:800}
.hrm-placeholder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
@media(max-width:900px){.module-grid,.hrm-placeholder-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.workspace-switcher{width:100%;margin:8px 0 0}.workspace-tab{flex:1}.module-grid,.hrm-placeholder-grid{grid-template-columns:1fr}}

/* CORE-3 Employee Master */
.status-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef5ff;border:1px solid #d7e4f3;font-size:11px;font-weight:800;text-transform:capitalize}
.metric-card[href]{cursor:pointer}.metric-card[href]:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(22,67,112,.10)}

/* CORE-3.1 inactive HRM stages */
.portal-sidebar nav .nav-disabled{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-radius:10px;color:rgba(255,255,255,.62);font-weight:700;cursor:not-allowed}
.portal-sidebar nav .nav-disabled small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.12);padding:3px 6px;border-radius:999px}

.mini-summary{padding:9px 11px;margin-top:8px;border:1px solid #dbe6f2;border-radius:10px;background:#f8fbff;font-size:12px}


/* UI Foundation 2.0 - responsive shell correction */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.portal-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  grid-template-columns:clamp(220px,15vw,250px) minmax(0,1fr)!important;
}
.portal-main{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:clamp(18px,2vw,32px)!important;
  overflow-x:hidden;
}
.portal-sidebar{min-width:0!important}
.portal-main>.card,.portal-main>section,.portal-main>.dashboard-grid{max-width:100%;min-width:0}
.table-wrap{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}
.data-table{min-width:max-content}

/* KPI cards: compact, even and predictable at every width */
.student-master-kpis,.master-summary-kpis,.kpi-grid-4,.counsellor-kpis,.hrm-placeholder-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.student-master-kpis .kpi-standard,.master-summary-kpis .kpi-standard{
  min-width:0!important;
  min-height:112px!important;
  height:auto!important;
  padding:14px!important;
}
.kpi-standard .kpi-icon{width:42px!important;height:42px!important;border-radius:12px!important}
.kpi-standard>strong,.kpi-standard>b{font-size:27px!important}
.kpi-standard>span{font-size:12px!important}

/* Login branding: preserve original logo proportions and true centering */
.login-company-logo{
  width:min(100%,300px)!important;
  min-width:0!important;
  min-height:92px!important;
  height:112px!important;
  padding:10px 18px!important;
  margin:0 auto 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.login-company-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:92px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}

@media(max-width:1100px){
  .portal-layout{grid-template-columns:220px minmax(0,1fr)!important}
  .student-master-kpis,.master-summary-kpis,.kpi-grid-4,.counsellor-kpis,.hrm-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:900px){
  .portal-header{
    width:100%!important;
    height:auto!important;
    min-height:70px!important;
    padding:10px 14px!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .brand-lockup{min-width:0;flex:1 1 240px}
  .brand-lockup img{width:44px!important;height:44px!important;flex:0 0 auto}
  .brand-lockup>div{min-width:0}
  .brand-lockup strong{font-size:13px!important;white-space:normal;line-height:1.25}
  .portal-actions{margin-left:auto;gap:7px!important;flex-wrap:wrap;justify-content:flex-end}
  .portal-actions .role-chip{display:none!important}
  .ghost-btn{padding:8px 10px!important}
  .workspace-switcher{order:3;flex:1 1 100%;width:100%;margin:0!important}
  .workspace-tab{flex:1}

  .portal-layout{display:block!important;width:100%!important}
  .portal-sidebar{
    display:block!important;
    width:100%!important;
    padding:9px 12px!important;
    position:relative!important;
    min-height:0!important;
    overflow:hidden;
  }
  .portal-sidebar .profile-badge{display:none!important}
  .portal-sidebar nav{
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .portal-sidebar nav::-webkit-scrollbar{display:none}
  .portal-sidebar nav a,.portal-sidebar nav .nav-disabled{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:9px 11px!important;
    font-size:11px!important;
    border-radius:9px!important;
  }
  .portal-sidebar nav .nav-disabled small{display:none}
  .portal-main{padding:16px!important}
  .page-title{font-size:clamp(24px,7vw,30px)!important}
  .page-subtitle{font-size:13px;line-height:1.5}
  .student-master-kpis,.master-summary-kpis,.kpi-grid-4,.counsellor-kpis,.hrm-placeholder-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .student-master-kpis .kpi-standard,.master-summary-kpis .kpi-standard,.kpi-standard{
    min-height:106px!important;
    padding:12px!important;
    border-radius:16px!important;
  }
  .kpi-standard .kpi-icon{width:38px!important;height:38px!important}
  .kpi-standard>strong,.kpi-standard>b{font-size:24px!important}
  .card{border-radius:16px!important;padding:16px!important}
  .unified-search-card{padding:12px!important}
  .unified-search-bar{grid-template-columns:1fr!important}
  .unified-search-bar .unified-search-actions{grid-column:auto!important;justify-content:flex-start!important;flex-wrap:wrap}
}

@media(max-width:520px){
  .portal-header{padding:8px 10px!important}
  .brand-lockup{flex-basis:180px}
  .brand-lockup span{display:none!important}
  .portal-main{padding:12px!important}
  .student-master-kpis,.master-summary-kpis,.kpi-grid-4,.counsellor-kpis,.hrm-placeholder-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .student-master-kpis .kpi-standard,.master-summary-kpis .kpi-standard,.kpi-standard{
    min-height:98px!important;
    padding:10px!important;
  }
  .kpi-standard .kpi-icon{width:34px!important;height:34px!important}
  .kpi-standard>strong,.kpi-standard>b{font-size:22px!important}
  .kpi-standard>span{font-size:10.5px!important;line-height:1.25;text-align:center}
  .data-table th,.data-table td{padding:10px 11px!important;font-size:11px!important}
  .crm-dialog{width:calc(100vw - 20px)!important;max-height:calc(100vh - 24px)!important}
}

@media(max-width:360px){
  .student-master-kpis,.master-summary-kpis,.kpi-grid-4,.counsellor-kpis,.hrm-placeholder-grid{grid-template-columns:1fr!important}
}


/* UI FOUNDATION 2.0 — BATCH 2 */
:root{--ad-success:#1f9d68;--ad-success-soft:#eaf8f2;--ad-warning:#d58a13;--ad-warning-soft:#fff6df;--ad-danger:#d64b4b;--ad-danger-soft:#fff0f0;--ad-info:#3978d4;--ad-info-soft:#edf5ff;--ad-purple:#7a5bd0;--ad-purple-soft:#f3efff;--ad-neutral:#6b7b91;--ad-neutral-soft:#f2f5f8;--ad-shadow:0 10px 28px rgba(27,65,105,.07)}
.ad-icon{display:block;flex:0 0 auto}.ad-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.ad-page-head .page-subtitle{margin-bottom:0}.ad-page-actions{display:flex;gap:9px;flex-wrap:wrap}.ad-page-actions a,.ad-page-actions button{display:inline-flex;align-items:center;gap:7px}.ad-dashboard-gap{margin-top:18px}
.ad-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.ad-kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ad-kpi-card{min-width:0;min-height:112px;padding:16px;background:#fff;border:1px solid #e1e9f2;border-radius:16px;box-shadow:var(--ad-shadow);display:flex;align-items:center;gap:13px;text-decoration:none!important;color:var(--ink);transition:.15s}.ad-kpi-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(27,65,105,.11)}.ad-kpi-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto}.ad-kpi-card>div{min-width:0}.ad-kpi-card strong{display:block;font-size:26px;line-height:1;font-weight:800;margin-bottom:5px;color:#163b68}.ad-kpi-card span:not(.ad-kpi-icon){display:block;font-size:12px;font-weight:800;color:#233f63}.ad-kpi-card small{display:block;margin-top:4px;color:#7b899b;font-size:10.5px;line-height:1.3}.ad-kpi-card.success .ad-kpi-icon{background:var(--ad-success-soft);color:var(--ad-success)}.ad-kpi-card.warning .ad-kpi-icon{background:var(--ad-warning-soft);color:var(--ad-warning)}.ad-kpi-card.danger .ad-kpi-icon{background:var(--ad-danger-soft);color:var(--ad-danger)}.ad-kpi-card.info .ad-kpi-icon{background:var(--ad-info-soft);color:var(--ad-info)}.ad-kpi-card.purple .ad-kpi-icon{background:var(--ad-purple-soft);color:var(--ad-purple)}
.ad-soft-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}.ad-soft-icon.info{color:var(--ad-info);background:var(--ad-info-soft)}.ad-soft-icon.success{color:var(--ad-success);background:var(--ad-success-soft)}.ad-soft-icon.warning{color:var(--ad-warning);background:var(--ad-warning-soft)}.ad-soft-icon.purple{color:var(--ad-purple);background:var(--ad-purple-soft)}
.ad-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ad-quick-card{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e2eaf3;border-radius:13px;text-decoration:none!important;color:var(--ink);background:#fff}.ad-quick-card>div{flex:1}.ad-quick-card b{display:block;font-size:12px}.ad-quick-card small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px}.ad-quick-card:hover{background:#f8fbff;border-color:#cbdced}
.ad-check-list{display:grid}.ad-check-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f7}.ad-check-list>div:last-child{border:0}.ad-check{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.ad-check.success{background:var(--ad-success-soft);color:var(--ad-success)}.ad-check.muted{background:var(--ad-neutral-soft);color:var(--ad-neutral)}.ad-check-list b{display:block;font-size:11px}.ad-check-list small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.status-pill.status-neutral{background:var(--ad-neutral-soft);border-color:#dfe6ee;color:#53647a}.field-help{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:4px;line-height:1.35}
.hrm-nav{display:grid!important;gap:6px!important}.hrm-nav>a,.hrm-nav .nav-disabled,.hrm-nav-group>summary,.hrm-nav-group .group-label{display:flex!important;align-items:center!important;gap:10px!important;color:#fff;text-decoration:none;padding:10px 11px!important;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.hrm-nav>a.active,.hrm-nav>a:hover,.hrm-nav-group[open]>summary{background:rgba(255,255,255,.16)}.hrm-nav-group>summary::-webkit-details-marker{display:none}.hrm-nav-group>summary .ad-icon:last-child{margin-left:auto;transition:.15s}.hrm-nav-group[open]>summary .ad-icon:last-child{transform:rotate(90deg)}.hrm-nav-group>div{display:grid;gap:3px;padding:4px 0 3px 28px}.hrm-nav-group>div>a{color:rgba(255,255,255,.83);text-decoration:none;font-size:11px;font-weight:650;padding:8px 10px;border-radius:8px}.hrm-nav-group>div>a:hover,.hrm-nav-group>div>a.active{background:rgba(255,255,255,.15);color:#fff}.hrm-nav-group.disabled .group-label{cursor:not-allowed;color:rgba(255,255,255,.58)}.hrm-nav-group.disabled small,.hrm-nav-self .nav-disabled small{margin-left:auto;font-size:8px;text-transform:uppercase;background:rgba(255,255,255,.11);padding:3px 6px;border-radius:999px}
.ad-tabs{display:flex;gap:6px;padding:5px;background:#eaf1f8;border:1px solid #d7e3ef;border-radius:12px;margin-bottom:15px;overflow-x:auto}.ad-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#536b87;padding:9px 13px;border-radius:9px;font-size:11px;font-weight:800}.ad-tabs a.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px rgba(31,68,110,.08)}
.ad-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ad-policy-card{padding:16px;border:1px solid #e0e8f1;border-radius:15px;background:linear-gradient(145deg,#fff,#fbfdff)}.ad-policy-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.ad-policy-head b{display:block;font-size:12px}.ad-policy-head small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.ad-policy-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.ad-policy-card dl>div{padding:10px;border-radius:10px;background:#f6f9fc}.ad-policy-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7c8ca1;font-weight:800}.ad-policy-card dd{margin:3px 0 0;font-size:12px;font-weight:800;color:#234a76}
.ad-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ad-detail-grid>div{padding:13px;border:1px solid #e3eaf2;border-radius:12px}.ad-detail-grid small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ad-detail-grid b{display:block;margin-top:4px;font-size:12px}

/* login branding: preserve company colors and logo proportions */
.login-shell{width:min(980px,calc(100vw - 32px))!important;min-height:600px}.login-brand{padding:48px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}.login-company-logo{width:100%!important;max-width:320px!important;height:124px!important;min-height:124px!important;margin:0 auto 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.98)!important;border-radius:18px!important;padding:12px 20px!important}.login-company-logo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:96px!important;object-fit:contain!important;object-position:center center!important;margin:0 auto!important}.login-brand h1,.login-brand p{text-align:center!important;max-width:390px!important}.login-brand h1{font-size:34px!important;margin:6px 0 12px!important}.login-brand p{line-height:1.55;margin:0 auto 16px!important}.login-form{display:flex;flex-direction:column;justify-content:center;padding:48px!important}

@media(max-width:1150px){.ad-kpi-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ad-page-head{flex-direction:column}.ad-kpi-grid,.ad-kpi-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-kpi-card{min-height:98px;padding:12px}.ad-kpi-icon{width:40px;height:40px}.ad-kpi-card strong{font-size:22px}.ad-policy-grid{grid-template-columns:1fr}.ad-detail-grid{grid-template-columns:1fr 1fr}.hrm-nav{display:flex!important;gap:7px!important;overflow-x:auto!important}.hrm-nav>a,.hrm-nav-group,.hrm-nav .nav-disabled{flex:0 0 auto!important}.hrm-nav-group>summary,.hrm-nav-group .group-label{white-space:nowrap!important;padding:9px 11px!important}.hrm-nav-group>div{position:absolute;z-index:60;background:var(--secondary);min-width:190px;padding:8px;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.2)}.portal-sidebar{overflow:visible!important}.login-page{padding:14px!important;place-items:start center!important}.login-shell{grid-template-columns:1fr!important;min-height:0!important;width:min(560px,100%)!important}.login-brand{display:flex!important;padding:26px 24px 22px!important}.login-company-logo{height:94px!important;min-height:94px!important;max-width:280px!important;margin-bottom:12px!important}.login-company-logo img{max-height:72px!important}.login-brand h1{font-size:24px!important;margin:2px 0 8px!important}.login-brand p{font-size:12px!important;margin-bottom:6px!important}.login-form{padding:28px 24px 30px!important}}
@media(max-width:560px){.ad-kpi-grid,.ad-kpi-grid-5{grid-template-columns:1fr 1fr}.ad-kpi-card{gap:9px;padding:10px;min-height:90px}.ad-kpi-icon{width:36px;height:36px}.ad-kpi-card strong{font-size:20px}.ad-kpi-card small{display:none}.ad-quick-grid{grid-template-columns:1fr}.ad-detail-grid{grid-template-columns:1fr}.login-brand{padding:20px 18px!important}.login-company-logo{height:82px!important;min-height:82px!important}.login-company-logo img{max-height:62px!important}.login-brand h1{font-size:20px!important}.login-brand p{display:none}}


/* CRM Build 1 — Drop / Deferred Lifecycle */
.student360-stage-block{text-align:right;min-width:180px}.lifecycle-pill{display:inline-flex;margin-top:9px;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.lifecycle-active{background:#eaf8f2;color:#17764e;border-color:#c9eddc}.lifecycle-dropped{background:#fff0f0;color:#b53535;border-color:#f3cece}.lifecycle-deferred{background:#fff6df;color:#a76b08;border-color:#f2dda7}.lifecycle-actions{margin-top:9px}.lifecycle-summary-card{margin-top:14px}.lifecycle-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.lifecycle-summary-grid>div{padding:12px;border:1px solid #e3eaf2;border-radius:11px;background:#fbfdff}.lifecycle-summary-grid small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.lifecycle-summary-grid b{display:block;margin-top:4px;font-size:12px}.lifecycle-freeze-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff8e9;border:1px solid #f3e1b6;font-size:11px;color:#6f5420}.lifecycle-freeze-preview{display:grid;gap:5px;padding:11px;border-radius:10px;background:#f6f9fc;border:1px solid #e1e9f2}.lifecycle-freeze-preview span{font-size:11px;color:#53677f}.lifecycle-history{display:grid;gap:8px;margin-bottom:12px}.lifecycle-history-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #e4ebf3;border-radius:10px;background:#fbfdff}.lifecycle-history-row>div{min-width:0}.lifecycle-history-row b{display:block;font-size:11px}.lifecycle-history-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px;line-height:1.4}.lifecycle-history-row p{margin:5px 0 0;font-size:10.5px;color:#52667d}
@media(max-width:760px){.student360-stage-block{text-align:left;min-width:0}.lifecycle-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.lifecycle-summary-grid{grid-template-columns:1fr}}


/* ============================================================
   THEME ENGINE v1 — 10 VISUAL THEMES
   IMPORTANT: Theme rules deliberately avoid changing grid columns,
   widths, responsive breakpoints or page alignment.
   Company --primary / --secondary remain the brand source.
   ============================================================ */

html[data-ui-theme]{
 --theme-page:#edf5ff;
 --theme-surface:#ffffff;
 --theme-surface-2:#f7fbff;
 --theme-line:#d9e6f4;
 --theme-text:#0d335f;
 --theme-muted:#6d829a;
 --theme-radius:18px;
 --theme-shadow:0 12px 35px rgba(30,76,126,.07);
 --theme-kpi-number:var(--secondary);
 --theme-card-accent:var(--primary);
 --theme-sidebar-bg:linear-gradient(180deg,var(--secondary),var(--primary));
 --theme-header-bg:#fff;
 --theme-input-bg:#fff;
 --theme-button-bg:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#49a2ff));
}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) body{background:var(--theme-page);color:var(--theme-text)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .portal-header{background:var(--theme-header-bg)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .portal-sidebar{background:var(--theme-sidebar-bg)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .card,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .dashboard-filter-card,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .unified-search-card{background:var(--theme-surface);border-color:var(--theme-line);box-shadow:var(--theme-shadow)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .card{border-radius:var(--theme-radius)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) input,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) select,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) textarea{background:var(--theme-input-bg);border-color:var(--theme-line)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .btn,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) button:not(.dialog-close){background:var(--theme-button-bg)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .kpi-tile{background:var(--theme-surface);border-color:var(--theme-line);box-shadow:var(--theme-shadow);border-radius:var(--theme-radius)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .kpi-tile strong{color:var(--theme-kpi-number)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .executive-strip>div{background:var(--theme-surface);border-color:var(--theme-line)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .funnel-step{background:linear-gradient(135deg,var(--primary),var(--secondary))}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .data-table th{color:color-mix(in srgb,var(--theme-text) 76%,white)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .ad-kpi-card{background:var(--theme-surface);border-color:var(--theme-line)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .ad-kpi-card strong{color:var(--theme-kpi-number)}
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .page-subtitle,
html[data-ui-theme]:not([data-ui-theme="classic_blue"]) .mini-muted{color:var(--theme-muted)}

/* 1 — CLASSIC BLUE
   Intentionally no visual overrides beyond the existing platform.
   This is the exact rollback/safety theme. */
html[data-ui-theme="classic_blue"]{
 --theme-page:#edf5ff;--theme-surface:#fff;--theme-surface-2:#f7fbff;
 --theme-line:#d9e6f4;--theme-radius:20px;
 --theme-shadow:0 12px 35px rgba(30,76,126,.07);
 --theme-kpi-number:var(--secondary);
 --theme-sidebar-bg:var(--secondary);
 --theme-header-bg:#fff;
}

/* 2 — PROFESSIONAL LIGHT
   Clean white cards, semantic number treatments, subtle left KPI marker. */
html[data-ui-theme="professional_light"]{
 --theme-page:#f3f7fb;--theme-surface:#fff;--theme-surface-2:#f8fafc;
 --theme-line:#e3e9f0;--theme-radius:14px;
 --theme-shadow:0 8px 24px rgba(29,55,84,.055);
 --theme-kpi-number:#163b68;
 --theme-sidebar-bg:linear-gradient(180deg,var(--secondary),color-mix(in srgb,var(--secondary) 74%,var(--primary)));
}
html[data-ui-theme="professional_light"] .kpi-tile{position:relative;overflow:hidden}
html[data-ui-theme="professional_light"] .kpi-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary)}
html[data-ui-theme="professional_light"] .kpi-tile:nth-child(3n+2):before{background:var(--ad-success)}
html[data-ui-theme="professional_light"] .kpi-tile:nth-child(3n):before{background:var(--ad-purple)}
html[data-ui-theme="professional_light"] .kpi-tile:nth-child(3n+2) strong{color:var(--ad-success)}
html[data-ui-theme="professional_light"] .kpi-tile:nth-child(3n) strong{color:var(--ad-purple)}
html[data-ui-theme="professional_light"] .funnel-step{background:#fff;color:var(--secondary);border:1px solid #e1e8f0;box-shadow:inset 0 4px 0 var(--primary)}
html[data-ui-theme="professional_light"] .portal-header{border-bottom:1px solid #e8edf3}

/* 3 — EXECUTIVE EDGE
   Sharper corners, strong executive typography, navy number bars. */
html[data-ui-theme="executive_edge"]{
 --theme-page:#eef2f6;--theme-surface:#fff;--theme-surface-2:#f6f8fa;
 --theme-line:#d5dde7;--theme-radius:8px;
 --theme-shadow:0 5px 15px rgba(18,34,54,.06);
 --theme-kpi-number:var(--secondary);
 --theme-sidebar-bg:linear-gradient(180deg,#152b46,var(--secondary));
 --theme-header-bg:#fbfcfd;
}
html[data-ui-theme="executive_edge"] .card,
html[data-ui-theme="executive_edge"] .kpi-tile{border-top:3px solid color-mix(in srgb,var(--primary) 72%,#fff)}
html[data-ui-theme="executive_edge"] .kpi-tile strong{font-weight:900;letter-spacing:-.04em}
html[data-ui-theme="executive_edge"] .kpi-icon{border-radius:7px!important}
html[data-ui-theme="executive_edge"] .funnel-step{border-radius:7px;background:var(--secondary)}
html[data-ui-theme="executive_edge"] .role-chip{border-radius:6px}

/* 4 — OPERATIONS GRID
   Strong operational rails/status signals without changing grid geometry. */
html[data-ui-theme="operations_grid"]{
 --theme-page:#f1f5f7;--theme-surface:#fff;--theme-surface-2:#f5f8fa;
 --theme-line:#dbe3e8;--theme-radius:10px;
 --theme-shadow:0 3px 12px rgba(25,52,68,.05);
 --theme-kpi-number:#183e58;
 --theme-sidebar-bg:linear-gradient(180deg,var(--secondary),color-mix(in srgb,var(--secondary) 82%,#0c6672));
}
html[data-ui-theme="operations_grid"] .kpi-tile{position:relative;border-left:5px solid var(--primary)}
html[data-ui-theme="operations_grid"] .kpi-tile:nth-child(4n+2){border-left-color:var(--ad-success)}
html[data-ui-theme="operations_grid"] .kpi-tile:nth-child(4n+3){border-left-color:var(--ad-warning)}
html[data-ui-theme="operations_grid"] .kpi-tile:nth-child(4n){border-left-color:var(--ad-purple)}
html[data-ui-theme="operations_grid"] .kpi-tile:nth-child(4n+2) strong{color:var(--ad-success)}
html[data-ui-theme="operations_grid"] .kpi-tile:nth-child(4n+3) strong{color:var(--ad-warning)}
html[data-ui-theme="operations_grid"] .funnel-step{border-radius:9px;background:color-mix(in srgb,var(--primary) 84%,var(--secondary))}
html[data-ui-theme="operations_grid"] .executive-strip>div{box-shadow:none;border-left:3px solid var(--primary)}

/* 5 — MODERN SOFT
   Soft SaaS feel, pill-like visual details and gentle elevation. */
html[data-ui-theme="modern_soft"]{
 --theme-page:color-mix(in srgb,var(--primary) 5%,#f8f9fd);
 --theme-surface:#fff;--theme-surface-2:#fbfbfe;
 --theme-line:color-mix(in srgb,var(--primary) 12%,#e7e9ef);
 --theme-radius:24px;
 --theme-shadow:0 14px 32px rgba(40,55,88,.06);
 --theme-kpi-number:color-mix(in srgb,var(--secondary) 86%,#6b58a7);
 --theme-sidebar-bg:linear-gradient(180deg,var(--secondary),color-mix(in srgb,var(--primary) 55%,var(--secondary)));
}
html[data-ui-theme="modern_soft"] .kpi-tile{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--primary) 4%,#fff))}
html[data-ui-theme="modern_soft"] .kpi-icon{border-radius:16px!important}
html[data-ui-theme="modern_soft"] .funnel-step{border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#fff),var(--secondary))}
html[data-ui-theme="modern_soft"] .status-pill{border-radius:14px}

/* 6 — GLASS PANEL
   Translucent layered surfaces and subtle background glow. */
html[data-ui-theme="glass_panel"]{
 --theme-page:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,#eef5fb),#f7f9fc 52%,color-mix(in srgb,var(--secondary) 7%,#f3f5f8));
 --theme-surface:rgba(255,255,255,.82);
 --theme-surface-2:rgba(248,251,255,.78);
 --theme-line:rgba(164,184,205,.42);
 --theme-radius:18px;
 --theme-shadow:0 18px 45px rgba(31,65,98,.09);
 --theme-kpi-number:var(--secondary);
}
html[data-ui-theme="glass_panel"] body{background:var(--theme-page);background-attachment:fixed}
html[data-ui-theme="glass_panel"] .card,
html[data-ui-theme="glass_panel"] .kpi-tile,
html[data-ui-theme="glass_panel"] .dashboard-filter-card,
html[data-ui-theme="glass_panel"] .executive-strip>div{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html[data-ui-theme="glass_panel"] .kpi-tile{box-shadow:0 12px 35px rgba(40,70,100,.08),inset 0 1px 0 rgba(255,255,255,.8)}
html[data-ui-theme="glass_panel"] .funnel-step{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 80%,transparent),color-mix(in srgb,var(--secondary) 88%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.24)}

/* 7 — MIDNIGHT EXECUTIVE
   Dark chrome, bright work surfaces. Content layout remains identical. */
html[data-ui-theme="midnight_exec"]{
 --theme-page:#e9eef4;--theme-surface:#fff;--theme-surface-2:#f7f9fb;
 --theme-line:#d6dee7;--theme-radius:14px;
 --theme-shadow:0 10px 28px rgba(12,25,42,.09);
 --theme-kpi-number:#102f52;
 --theme-sidebar-bg:linear-gradient(180deg,#071d34,#102f52);
 --theme-header-bg:#10253e;
}
html[data-ui-theme="midnight_exec"] .portal-header .brand-lockup strong,
html[data-ui-theme="midnight_exec"] .portal-header .brand-lockup span{color:#fff}
html[data-ui-theme="midnight_exec"] .portal-header .ghost-btn,
html[data-ui-theme="midnight_exec"] .portal-header .role-chip{border-color:rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.08)}
html[data-ui-theme="midnight_exec"] .workspace-switcher{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}
html[data-ui-theme="midnight_exec"] .workspace-tab{color:#dce8f4}
html[data-ui-theme="midnight_exec"] .workspace-tab.active{background:var(--primary);color:var(--on-primary)}
html[data-ui-theme="midnight_exec"] .kpi-tile{border-bottom:3px solid var(--primary)}
html[data-ui-theme="midnight_exec"] .funnel-step{background:#102f52;border-bottom:3px solid var(--primary)}

/* 8 — OUTLINE PRECISION
   Minimal shadows, precise borders and line-based emphasis. */
html[data-ui-theme="outline_precision"]{
 --theme-page:#f7f8fa;--theme-surface:#fff;--theme-surface-2:#fff;
 --theme-line:#ccd5df;--theme-radius:6px;
 --theme-shadow:none;
 --theme-kpi-number:#1e354e;
 --theme-sidebar-bg:var(--secondary);
}
html[data-ui-theme="outline_precision"] .card,
html[data-ui-theme="outline_precision"] .kpi-tile,
html[data-ui-theme="outline_precision"] .executive-strip>div{box-shadow:none}
html[data-ui-theme="outline_precision"] .kpi-tile{border-width:1px;border-top:4px solid var(--primary)}
html[data-ui-theme="outline_precision"] .kpi-icon{background:transparent!important;border:1px solid var(--line);box-shadow:none!important}
html[data-ui-theme="outline_precision"] .funnel-step{background:#fff;color:var(--secondary);border:2px solid var(--primary);border-radius:6px}
html[data-ui-theme="outline_precision"] .btn,
html[data-ui-theme="outline_precision"] button:not(.dialog-close){box-shadow:none}

/* 9 — LAYERED CARDS
   Raised panels, inset accents and layered card treatment. */
html[data-ui-theme="layered_cards"]{
 --theme-page:#edf2f8;--theme-surface:#fff;--theme-surface-2:#f8fbff;
 --theme-line:#d8e3ef;--theme-radius:17px;
 --theme-shadow:0 12px 0 rgba(31,72,115,.025),0 18px 38px rgba(31,72,115,.075);
 --theme-kpi-number:var(--secondary);
}
html[data-ui-theme="layered_cards"] .card{box-shadow:0 7px 0 color-mix(in srgb,var(--primary) 5%,#e7edf4),0 16px 34px rgba(31,72,115,.065)}
html[data-ui-theme="layered_cards"] .kpi-tile{position:relative;overflow:hidden}
html[data-ui-theme="layered_cards"] .kpi-tile:after{content:"";position:absolute;right:-22px;top:-22px;width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--primary) 9%,transparent)}
html[data-ui-theme="layered_cards"] .kpi-tile:nth-child(3n+2):after{background:color-mix(in srgb,var(--ad-success) 12%,transparent)}
html[data-ui-theme="layered_cards"] .kpi-tile:nth-child(3n):after{background:color-mix(in srgb,var(--ad-purple) 12%,transparent)}
html[data-ui-theme="layered_cards"] .funnel-step{box-shadow:0 6px 0 color-mix(in srgb,var(--secondary) 80%,#000)}

/* 10 — COMMAND CENTER
   Strong visual control-room styling; same grid/alignment underneath. */
html[data-ui-theme="command_center"]{
 --theme-page:#eef2f5;--theme-surface:#fbfcfd;--theme-surface-2:#f3f6f8;
 --theme-line:#d5dee6;--theme-radius:9px;
 --theme-shadow:0 4px 14px rgba(22,43,60,.055);
 --theme-kpi-number:#153b57;
 --theme-sidebar-bg:linear-gradient(180deg,#173a56,var(--secondary));
 --theme-header-bg:#f9fbfc;
}
html[data-ui-theme="command_center"] .kpi-tile{position:relative;border-left:4px solid var(--primary);box-shadow:var(--theme-shadow)}
html[data-ui-theme="command_center"] .kpi-tile:before{content:"STATUS";position:absolute;right:10px;top:8px;font-size:7px;letter-spacing:.14em;font-weight:900;color:#9aa9b5}
html[data-ui-theme="command_center"] .kpi-tile:nth-child(3n+2){border-left-color:var(--ad-success)}
html[data-ui-theme="command_center"] .kpi-tile:nth-child(3n){border-left-color:var(--ad-warning)}
html[data-ui-theme="command_center"] .executive-strip>div{border-radius:7px;border-left:3px solid var(--primary)}
html[data-ui-theme="command_center"] .funnel-step{border-radius:7px;background:linear-gradient(90deg,var(--secondary),color-mix(in srgb,var(--secondary) 72%,var(--primary)))}
html[data-ui-theme="command_center"] .page-kicker{letter-spacing:.2em}

/* Theme selection UI */
.theme-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.theme-choice{margin:0!important;display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:11px;border:1px solid #dce6f0;border-radius:14px;background:#fff;cursor:pointer;transition:.15s}
.theme-choice:hover,.theme-choice.selected{border-color:var(--primary);box-shadow:0 8px 22px rgba(31,70,112,.08)}
.theme-choice input{position:absolute;opacity:0;pointer-events:none}
.theme-choice-copy strong{display:block;font-size:12px}.theme-choice-copy>span{display:inline-block;margin:4px 0;padding:3px 6px;border-radius:999px;background:#eef4fb;color:#486681;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.theme-choice-copy small{display:block;color:var(--muted);font-size:9.5px;line-height:1.35}
.theme-mini-preview{position:relative;height:72px;border-radius:9px;overflow:hidden;background:#edf4fb;border:1px solid #d8e4f0}
.theme-mini-preview .tp-sidebar{position:absolute;left:0;top:0;bottom:0;width:22%;background:#174a80}.theme-mini-preview .tp-header{position:absolute;left:22%;right:0;top:0;height:15%;background:#fff}.theme-mini-preview .tp-card{position:absolute;top:28%;height:24%;background:#fff;border-radius:5px;border:1px solid #dce7f1}.theme-mini-preview .tp-one{left:28%;width:20%}.theme-mini-preview .tp-two{left:52%;width:20%}.theme-mini-preview .tp-three{left:76%;width:17%}.theme-mini-preview .tp-number{position:absolute;left:31%;top:31%;font-size:10px;color:#174a80}
.theme-mini-preview[data-preview-theme="professional_light"]{background:#f3f7fb}.theme-mini-preview[data-preview-theme="professional_light"] .tp-card{border-radius:3px;border-left:3px solid #3978d4}
.theme-mini-preview[data-preview-theme="executive_edge"]{background:#eef2f6}.theme-mini-preview[data-preview-theme="executive_edge"] .tp-sidebar{background:#152b46}.theme-mini-preview[data-preview-theme="executive_edge"] .tp-card{border-radius:1px;border-top:2px solid #3978d4}
.theme-mini-preview[data-preview-theme="operations_grid"]{background:#f1f5f7}.theme-mini-preview[data-preview-theme="operations_grid"] .tp-card{border-radius:2px;border-left:3px solid #1f9d68}
.theme-mini-preview[data-preview-theme="modern_soft"]{background:#f6f3fb}.theme-mini-preview[data-preview-theme="modern_soft"] .tp-card{border-radius:9px;box-shadow:0 4px 10px rgba(70,70,120,.08)}
.theme-mini-preview[data-preview-theme="glass_panel"]{background:linear-gradient(135deg,#dcecf7,#f3f6fb)}.theme-mini-preview[data-preview-theme="glass_panel"] .tp-card{background:rgba(255,255,255,.72)}
.theme-mini-preview[data-preview-theme="midnight_exec"]{background:#e8edf3}.theme-mini-preview[data-preview-theme="midnight_exec"] .tp-sidebar,.theme-mini-preview[data-preview-theme="midnight_exec"] .tp-header{background:#10253e}.theme-mini-preview[data-preview-theme="midnight_exec"] .tp-card{border-bottom:2px solid #3978d4}
.theme-mini-preview[data-preview-theme="outline_precision"]{background:#f7f8fa}.theme-mini-preview[data-preview-theme="outline_precision"] .tp-card{border-radius:0;box-shadow:none;border:1px solid #8799aa}
.theme-mini-preview[data-preview-theme="layered_cards"] .tp-card{box-shadow:0 3px 0 #d8e3ef;border-radius:5px}
.theme-mini-preview[data-preview-theme="command_center"]{background:#eef2f5}.theme-mini-preview[data-preview-theme="command_center"] .tp-card{border-radius:2px;border-left:3px solid #d58a13}
.theme-apply-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid #e5edf5}.theme-apply-row b{display:block;font-size:11px}.theme-apply-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}
.theme-license-form .permission-toggle span{display:flex;flex-direction:column}.theme-license-form .permission-toggle small{font-weight:500;color:var(--muted);font-size:9px;margin-top:2px}

@media(max-width:900px){.theme-choice-grid{grid-template-columns:1fr}.theme-appearance-card{grid-column:1/-1!important}}
@media(max-width:560px){.theme-choice{grid-template-columns:88px 1fr}.theme-mini-preview{height:62px}.theme-apply-row{align-items:stretch;flex-direction:column}}


/* ============================================================
   THEME ENGINE v1.1 — Conversion Journey Contrast Fix
   Visual-only patch. No layout/grid/responsive changes.
   ============================================================ */

/* Base safety: any dark/brand funnel must remain readable */
html[data-ui-theme] .modern-funnel .funnel-step{
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;
}
html[data-ui-theme] .modern-funnel .funnel-step b,
html[data-ui-theme] .modern-funnel .funnel-step span{
  color:inherit!important;
}

/* 1 Classic Blue — original brand look, corrected contrast */
html[data-ui-theme="classic_blue"] .modern-funnel .funnel-step{
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff!important;
  border:1px solid color-mix(in srgb,var(--primary) 62%,#fff);
  box-shadow:none;
}
html[data-ui-theme="classic_blue"] .modern-funnel .funnel-step b{font-weight:800}

/* 2 Professional Light — white cards + top accent */
html[data-ui-theme="professional_light"] .modern-funnel .funnel-step{
  background:#fff;
  color:#173a63!important;
  border:1px solid #dfe7ef;
  border-top:4px solid var(--primary);
  box-shadow:0 5px 14px rgba(32,63,96,.05);
}
html[data-ui-theme="professional_light"] .modern-funnel .funnel-step:nth-child(3n+2){border-top-color:var(--ad-success)}
html[data-ui-theme="professional_light"] .modern-funnel .funnel-step:nth-child(3n){border-top-color:var(--ad-purple)}

/* 3 Executive Edge — dark executive cards, crisp white typography */
html[data-ui-theme="executive_edge"] .modern-funnel .funnel-step{
  background:#18314d;
  color:#fff!important;
  border:1px solid #294967;
  border-bottom:3px solid var(--primary);
  box-shadow:none;
}

/* 4 Operations Grid — light operational tiles with strong rail */
html[data-ui-theme="operations_grid"] .modern-funnel .funnel-step{
  background:#fff;
  color:#17384f!important;
  border:1px solid #d8e2e8;
  border-left:5px solid var(--primary);
  box-shadow:none;
}
html[data-ui-theme="operations_grid"] .modern-funnel .funnel-step:nth-child(4n+2){border-left-color:var(--ad-success)}
html[data-ui-theme="operations_grid"] .modern-funnel .funnel-step:nth-child(4n+3){border-left-color:var(--ad-warning)}
html[data-ui-theme="operations_grid"] .modern-funnel .funnel-step:nth-child(4n){border-left-color:var(--ad-purple)}

/* 5 Modern Soft — pale tinted cards, dark text */
html[data-ui-theme="modern_soft"] .modern-funnel .funnel-step{
  background:color-mix(in srgb,var(--primary) 8%,#fff);
  color:#244466!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#e8edf3);
  box-shadow:0 8px 18px rgba(43,61,89,.05);
}
html[data-ui-theme="modern_soft"] .modern-funnel .funnel-step:nth-child(even){
  background:color-mix(in srgb,var(--ad-purple) 7%,#fff);
}

/* 6 Glass Panel — translucent but readable */
html[data-ui-theme="glass_panel"] .modern-funnel .funnel-step{
  background:rgba(255,255,255,.72);
  color:#173a5c!important;
  border:1px solid rgba(151,178,202,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 20px rgba(41,71,101,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* 7 Midnight Executive — true dark card + white */
html[data-ui-theme="midnight_exec"] .modern-funnel .funnel-step{
  background:#102f52;
  color:#fff!important;
  border:1px solid #25496e;
  border-bottom:3px solid var(--primary);
  box-shadow:none;
}

/* 8 Outline Precision — white, no shadow, strong outline */
html[data-ui-theme="outline_precision"] .modern-funnel .funnel-step{
  background:#fff;
  color:#1f3c58!important;
  border:2px solid var(--primary);
  box-shadow:none;
}

/* 9 Layered Cards — light raised cards */
html[data-ui-theme="layered_cards"] .modern-funnel .funnel-step{
  background:#fff;
  color:#173b61!important;
  border:1px solid #d6e2ee;
  box-shadow:0 5px 0 color-mix(in srgb,var(--primary) 9%,#dfe8f1);
}
html[data-ui-theme="layered_cards"] .modern-funnel .funnel-step:nth-child(3n+2){
  box-shadow:0 5px 0 color-mix(in srgb,var(--ad-success) 12%,#dfe8f1);
}
html[data-ui-theme="layered_cards"] .modern-funnel .funnel-step:nth-child(3n){
  box-shadow:0 5px 0 color-mix(in srgb,var(--ad-purple) 12%,#dfe8f1);
}

/* 10 Command Center — darker control-room tiles, high contrast */
html[data-ui-theme="command_center"] .modern-funnel .funnel-step{
  background:linear-gradient(90deg,#173a56,#224d6b);
  color:#fff!important;
  border:1px solid #355e78;
  border-left:4px solid var(--primary);
  box-shadow:none;
}
html[data-ui-theme="command_center"] .modern-funnel .funnel-step:nth-child(3n+2){border-left-color:var(--ad-success)}
html[data-ui-theme="command_center"] .modern-funnel .funnel-step:nth-child(3n){border-left-color:var(--ad-warning)}

/* Small-screen readability only; no structural breakpoint changes */
@media(max-width:680px){
  html[data-ui-theme] .modern-funnel .funnel-step{
    min-height:74px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}


/* HRM Attendance Phase 4A */
.attendance-exceptions{display:flex;gap:5px;flex-wrap:wrap}.status-pill.status-warning{background:#fff6df;color:#a76b08;border-color:#f2dda7}.status-pill.status-danger{background:#fff0f0;color:#b53535;border-color:#f3cece}

/* HRM Attendance Phase 4B */
.geofence-mode-note{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#f8fbff;margin-bottom:12px}.geofence-mode-note b{font-size:11px}.geofence-mode-note span{font-size:10px;color:var(--muted)}.ad-kpi-warning .ad-icon-box{background:#fff6df;color:#a76b08}@media(max-width:680px){.geofence-mode-note{align-items:flex-start;flex-direction:column}}

/* HRM Attendance Phase 4B.1 — Interactive Geofence Map */
.geofence-dialog-card{width:min(860px,calc(100vw - 32px));max-width:860px}.geofence-mode-switch{display:flex;gap:8px;margin:12px 0;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7fafc}.geofence-mode-switch .geo-mode-btn{flex:1;background:transparent;color:var(--secondary);box-shadow:none;border:1px solid transparent;padding:9px 12px}.geofence-mode-switch .geo-mode-btn.active{background:#fff;border-color:var(--line);box-shadow:0 4px 12px rgba(20,50,80,.06)}.geo-mode-panel{display:none}.geo-mode-panel.active{display:block}.geo-search-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.geo-search-row label{margin:0}.geo-search-row .ghost-btn{margin-bottom:1px;white-space:nowrap}.geo-search-status{min-height:20px;margin:5px 0 7px;color:var(--muted);font-size:10px}.geofence-map{height:360px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#eef3f7}.geo-map-help{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:var(--muted);font-size:9.5px}.geo-radius-row{display:grid;grid-template-columns:minmax(220px,1fr) 1fr;gap:14px;align-items:end;margin-top:12px}.geo-radius-row label{margin:0}.geo-radius-presets{display:flex;gap:7px;flex-wrap:wrap}.geo-radius-presets button{background:#f4f8fc;color:var(--secondary);border:1px solid var(--line);box-shadow:none;padding:8px 10px}.geo-coordinate-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.geo-coordinate-readout span{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f8fbff;color:var(--muted);font-size:9px}.geo-coordinate-readout b{display:block;margin-top:3px;color:var(--secondary);font-size:10.5px}.geofence-map .leaflet-control-attribution{font-size:8px}@media(max-width:700px){.geofence-dialog-card{width:calc(100vw - 18px)}.geofence-map{height:300px}.geo-search-row,.geo-radius-row{grid-template-columns:1fr}.geo-map-help{flex-direction:column;gap:3px}.geo-coordinate-readout{grid-template-columns:1fr}.geofence-mode-switch{flex-direction:column}}


/* HRM Phase 4C + 4B.1 geofence dialog alignment correction */
.geofence-dialog{width:min(900px,calc(100vw - 32px))!important;max-width:900px!important;overflow:hidden!important}
.geofence-dialog .geofence-dialog-card{width:100%!important;max-width:none!important;box-sizing:border-box;overflow:hidden}
.geofence-dialog form,.geofence-dialog .geo-mode-panel,.geofence-dialog .modal-grid,.geofence-dialog label{min-width:0}
.geofence-dialog input,.geofence-dialog select,.geofence-dialog textarea{max-width:100%;box-sizing:border-box}
.geofence-dialog .dialog-actions{margin-left:0;margin-right:0}
.tracking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:16px}.employee-tracking-map{height:520px;border:1px solid var(--line);border-radius:14px;background:#eef3f7}.tracking-session-list{display:grid;gap:10px}.tracking-session{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdff}.tracking-session-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.tracking-session-head b,.tracking-session-head small{display:block}.tracking-session-head small{margin-top:3px;color:var(--muted);font-size:9.5px}.tracking-session-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.tracking-session-meta span{padding:7px;border-radius:8px;background:#f3f7fb;color:var(--muted);font-size:9px}.tracking-session-meta b{display:block;color:var(--secondary);margin-top:2px}.tracking-session details{margin-top:9px}.tracking-session summary{cursor:pointer;font-size:10px;font-weight:800}.tracking-point-list{display:grid;gap:5px;margin-top:7px;max-height:240px;overflow:auto}.tracking-point-list>div{display:grid;grid-template-columns:78px 1fr auto;gap:7px;align-items:center;padding:6px 8px;border:1px solid #e7edf3;border-radius:8px;background:#fff;font-size:9px}.tracking-point-list span{color:var(--muted)}.tracking-point-list small{color:var(--muted)}.tracking-empty{padding:24px;text-align:center;color:var(--muted);font-size:11px}.employee-tracking-map .leaflet-control-attribution{font-size:8px}
@media(max-width:980px){.tracking-layout{grid-template-columns:1fr}.employee-tracking-map{height:420px}}
@media(max-width:700px){.geofence-dialog{width:calc(100vw - 18px)!important}.tracking-session-meta{grid-template-columns:1fr}.tracking-point-list>div{grid-template-columns:1fr}.employee-tracking-map{height:340px}}

.geo-search-results{display:grid;gap:6px;margin:0 0 8px}.geo-search-result{display:block;width:100%;text-align:left;background:#fff!important;color:var(--secondary)!important;border:1px solid var(--line)!important;box-shadow:none!important;padding:8px 10px!important;font-size:10px!important;line-height:1.35}.tracking-permission-toggle{grid-column:1/-1;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbff}

/* HRM Phase 4C.2 — Geofence map/search/tab repair */
.geo-search-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;align-items:end}
.geo-search-row label{margin:0;min-width:0}
.geo-search-submit{height:36px;margin:0!important;align-self:end;background:var(--primary)!important;color:var(--on-primary)!important;border:1px solid var(--primary)!important;border-radius:10px!important;box-shadow:none!important;padding:0 14px!important;font-size:10px!important;font-weight:800!important;display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap}
.geo-search-submit:disabled{opacity:.55;cursor:wait}
.geofence-map{position:relative;z-index:0;min-height:360px}
.geo-mode-panel{display:none!important}.geo-mode-panel.active{display:block!important}
#geoManualMode.active{padding-top:8px}
@media(max-width:700px){.geo-search-row{grid-template-columns:1fr}.geo-search-submit{width:100%}}


/* HRM Phase 5A — Employee Self Service: My Attendance */
.ess-attendance-today-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:14px;margin-bottom:14px}.ess-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ess-card-head h2{margin:4px 0 0}.ess-today-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.ess-today-stats>div,.ess-shift-time{padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fbff}.ess-today-stats small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ess-today-stats b{display:block;margin-top:4px;font-size:12px}.ess-att-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.ess-info-note{margin-top:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:10px;background:#fbfdff}.ess-shift-time{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 8px}.ess-shift-time span{color:var(--muted);font-size:10px}.ess-month-filter{margin-bottom:14px}.ess-att-kpis{margin-top:0!important}.ess-empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px;color:var(--muted)}.ess-empty-state b{color:var(--secondary)}.ess-web-note{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;margin-top:14px;border:1px solid #dbe6f0;border-radius:11px;background:#f8fbff;color:var(--muted);font-size:10px}.ess-web-note b{color:var(--secondary);white-space:nowrap}.status-pill.status-success{background:#eaf8f2;color:#17764e;border-color:#c9eddc}.status-pill.status-purple{background:#f2efff;color:#6945be;border-color:#ddd4fb}
@media(max-width:900px){.ess-attendance-today-grid{grid-template-columns:1fr}.ess-today-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ess-today-stats{grid-template-columns:1fr}.ess-web-note{flex-direction:column}.ess-att-table th:nth-child(2),.ess-att-table td:nth-child(2){display:none}}


/* HRM Phase 5B — Leave Management */
.leave-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.leave-balance-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.leave-balance-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.leave-balance-card b{font-size:11px}.leave-balance-card>div:first-child span{font-size:8.5px;color:var(--muted);text-transform:uppercase}.leave-balance-card>strong{display:block;margin-top:12px;font-size:24px;color:var(--secondary)}.leave-balance-card>small{display:block;color:var(--muted);font-size:9px}.leave-balance-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.leave-balance-meta span{font-size:8.5px;color:var(--muted)}.leave-weekday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 13px}.field-help{display:block;color:var(--muted);font-size:9px}
@media(max-width:1050px){.leave-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.leave-balance-grid,.leave-weekday-grid{grid-template-columns:1fr}}


/* HRM Phase 5C — Holiday Calendar */
.holiday-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.holiday-list-card{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.holiday-date-box{width:54px;min-width:54px;height:54px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 8%,#fff);color:var(--secondary);border:1px solid color-mix(in srgb,var(--primary) 15%,#e5ebf2)}.holiday-date-box strong{font-size:18px;line-height:1}.holiday-date-box span{font-size:8px;font-weight:800;text-transform:uppercase;margin-top:4px}.holiday-list-card>div:last-child b{display:block;font-size:11px}.holiday-list-card>div:last-child small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.holiday-list-card p{margin:5px 0 0;color:var(--muted);font-size:9.5px}.holiday-day-banner{display:flex;gap:10px;align-items:center;padding:11px 13px;margin-bottom:12px;border-radius:11px;border:1px solid #ddd4fb;background:#f5f2ff;color:#5d3ca5}.holiday-day-banner b{display:block;font-size:11px}.holiday-day-banner span{display:block;margin-top:2px;font-size:9.5px;color:#735ab0}.ess-holiday-shortcut{margin-top:14px}
@media(max-width:700px){.holiday-list-grid{grid-template-columns:1fr}}

/* HRM Phase 5B.1 */
.leave-group-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.leave-group-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.leave-group-title{display:flex;justify-content:space-between;gap:8px}.leave-group-title b{display:block;font-size:11px}.leave-group-title small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.leave-group-entitlements{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.leave-group-entitlements span{padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px;color:var(--muted)}.leave-group-entitlements b{color:var(--secondary)}.bulk-leave-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bulk-leave-toolbar label{min-width:210px;margin:0}
@media(max-width:900px){.leave-group-card-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.leave-group-card-grid{grid-template-columns:1fr}.bulk-leave-toolbar>*{width:100%}}

/* HRM Phase 6A — Payroll Foundation */
.payroll-money{font-variant-numeric:tabular-nums}.salary-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-adjustment-note{font-size:9px;color:var(--muted)}

/* HRM Phase 6B — Variable Payroll */
.variable-payroll-table input[type=number],.variable-payroll-table input[type=text],.variable-payroll-table input:not([type]){min-width:90px}.variable-payroll-table td:last-child input{min-width:150px}.variable-payroll-table th,.variable-payroll-table td{vertical-align:middle}


/* HRM Phase 6C — Payroll Review / Approval / Lock */
.hrm-subnav{display:grid!important;gap:4px!important;padding:5px 7px 8px 29px!important}.hrm-subnav a{display:flex!important;align-items:center;gap:8px;padding:8px 10px!important;border-radius:9px!important;font-size:10px!important;text-decoration:none!important;color:rgba(255,255,255,.82)!important}.hrm-subnav a svg{opacity:.78}.hrm-subnav a:hover,.hrm-subnav a.active{background:rgba(255,255,255,.13)!important;color:#fff!important}.hrm-subnav a.active{font-weight:800}.payroll-subnav-link{display:inline-flex!important;align-items:center;gap:6px}.payroll-lock-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;border:1px solid #d8e0ea;border-radius:12px;background:#f8fafc;color:var(--secondary)}.payroll-lock-banner b{display:block;font-size:11px}.payroll-lock-banner span{display:block;margin-top:2px;color:var(--muted);font-size:9.5px}
.payroll-workflow{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.payroll-workflow-track{display:flex;align-items:center;gap:0;flex:1}.payroll-workflow-step{position:relative;display:flex;align-items:center;gap:7px;flex:1;color:var(--muted)}.payroll-workflow-step:not(:last-child):after{content:"";position:absolute;left:31px;right:6px;top:13px;height:2px;background:#dce5ee;z-index:0}.payroll-workflow-step span{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef3f8;border:1px solid #d7e0e9;font-size:9px;font-weight:800}.payroll-workflow-step b{position:relative;z-index:1;background:#fff;padding-right:7px;font-size:9.5px}.payroll-workflow-step.done span{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.payroll-workflow-step.done:not(:last-child):after{background:color-mix(in srgb,var(--primary) 55%,#dce5ee)}.payroll-workflow-step.current b{color:var(--secondary)}.payroll-workflow-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.payroll-workflow-actions form{margin:0}.payroll-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.payroll-review-table .payroll-positive{color:#138a55;font-weight:700}.payroll-review-table .payroll-negative{color:#bd3b3b;font-weight:700}.payroll-audit-timeline{display:grid;gap:8px}.payroll-audit-row{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.payroll-audit-row:last-child{border-bottom:0}.payroll-audit-row>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef5ff;color:var(--primary)}.payroll-audit-row b{display:block;font-size:10px}.payroll-audit-row small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.payroll-breakdown-dialog{max-width:720px}.payslip-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payslip-breakdown-grid section{border:1px solid var(--line);border-radius:11px;padding:12px}.payslip-breakdown-grid h4{margin:0 0 8px;font-size:10px}.payslip-breakdown-grid section>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:9.5px}.payslip-breakdown-grid section>div:last-child{border-bottom:0}
.payslip-page{background:#edf2f7;padding:28px}.payslip-actions{max-width:900px;margin:0 auto 12px;display:flex;justify-content:space-between}.payslip-sheet{max-width:900px;margin:auto;background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:28px;box-shadow:0 16px 45px rgba(30,60,90,.08)}.payslip-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:2px solid var(--secondary)}.payslip-header>div:last-child{text-align:right}.payslip-header>div:last-child b{display:block;font-size:17px;color:var(--secondary)}.payslip-header>div:last-child span{display:block;color:var(--muted);font-size:9px;margin-top:4px}.payslip-employee{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dfe7ef;border:1px solid #dfe7ef;margin:18px 0;border-radius:11px;overflow:hidden}.payslip-employee>div{background:#fff;padding:11px}.payslip-employee small{display:block;font-size:8px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.payslip-employee b{display:block;font-size:10px;margin-top:3px}.payslip-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payslip-columns>section{border:1px solid #dfe7ef;border-radius:11px;padding:14px}.payslip-columns h3{margin:0 0 10px;font-size:12px;color:var(--secondary)}.payslip-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf1f5;font-size:10px}.payslip-line:last-child{border-bottom:0}.payslip-line small{display:block;color:var(--muted);font-size:8px}.payslip-line.variable{color:#345}.payslip-totals{margin-top:14px;margin-left:auto;max-width:430px;border:1px solid #dfe7ef;border-radius:11px;overflow:hidden}.payslip-totals>div{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1px solid #e7edf3;font-size:10px}.payslip-totals>div:last-child{border-bottom:0}.payslip-totals .net{background:var(--secondary);color:var(--on-secondary);font-size:13px}.payslip-footer{text-align:center;margin-top:22px;color:var(--muted);font-size:8.5px}
@media(max-width:1100px){.payroll-workflow{align-items:flex-start;flex-direction:column}.payroll-workflow-actions{justify-content:flex-start}.payroll-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.payroll-workflow-track{width:100%;overflow:auto}.payroll-workflow-step{min-width:120px}.payroll-kpi-grid{grid-template-columns:1fr 1fr}.payslip-breakdown-grid,.payslip-columns,.payslip-employee{grid-template-columns:1fr}.payslip-page{padding:8px}.payslip-sheet{padding:16px;border-radius:10px}.payslip-header{align-items:flex-start;gap:12px;flex-direction:column}.payslip-header>div:last-child{text-align:left}}
@media print{.no-print{display:none!important}.payslip-page{background:#fff;padding:0}.payslip-sheet{border:0;box-shadow:none;max-width:none;padding:10mm}}

/* HRM Phase 6C.1 — Payroll readiness */
.payroll-readiness-card{margin-bottom:14px}.payroll-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-readiness-grid>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.payroll-readiness-grid strong{display:block;font-size:22px;color:var(--secondary)}.payroll-readiness-grid span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.payroll-readiness-grid .ready{background:#f2fbf7;border-color:#d7eee2}.payroll-readiness-grid .needs-action{background:#fff8ee;border-color:#f2dfbd}.payroll-missing-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:11px 12px;border:1px solid #f0dfbf;border-radius:11px;background:#fffaf1}.payroll-missing-list>b{font-size:10px}.payroll-missing-list>div{display:flex;gap:6px;flex-wrap:wrap;flex:1}.payroll-missing-list>div span{padding:5px 7px;border-radius:7px;background:#fff;border:1px solid #eadbc1;font-size:8.5px}
@media(max-width:650px){.payroll-readiness-grid{grid-template-columns:1fr}}

/* HRM Phase 6C.1 v2 — Salary history */
.employee-salary-history{margin-top:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.employee-salary-history-head{margin-bottom:8px}.employee-salary-history-head b{display:block;font-size:10px;color:var(--secondary)}.employee-salary-history-head small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.employee-salary-history-list{display:grid;gap:6px;max-height:190px;overflow:auto}.salary-history-row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:9px;align-items:center;padding:8px 9px;border:1px solid #e2e9f1;border-radius:9px;background:#fff}.salary-history-row b{display:block;font-size:9.5px;color:var(--secondary)}.salary-history-row span,.salary-history-row small{display:block;margin-top:2px;color:var(--muted);font-size:8px;white-space:normal}.salary-history-empty{padding:10px;text-align:center;color:var(--muted);font-size:9px}
@media(max-width:650px){.salary-history-row{grid-template-columns:1fr}}

/* HRM Phase 6C.1 v3 — salary persistence hotfix */


/* HRM Phase 6C.1 v4 — salary-group guard */
#epSalaryGroup:invalid,#newSalaryGroup:invalid{border-color:#d59b2d}


/* HRM Phase 6C.2 — Payroll UI corrections + employee bulk onboarding */
.employee-master-cta,.inline-primary-action{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:9px;border:1px solid var(--primary);background:var(--primary);color:var(--on-primary)!important;text-decoration:none!important;font-size:9.5px;font-weight:800;white-space:nowrap}.employee-master-cta:hover,.inline-primary-action:hover{filter:brightness(.96);text-decoration:none!important}
.payroll-workflow-actions .payroll-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #b9cce1!important;border-radius:10px;background:#fff!important;color:var(--secondary)!important;font-weight:800!important;line-height:1!important;white-space:nowrap;box-shadow:none!important}.payroll-workflow-actions .payroll-secondary-btn:hover{background:#f5f9fd!important;border-color:var(--primary)!important;color:var(--primary)!important}
.employee-import-dialog{max-width:700px}.employee-import-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}.employee-import-steps>div{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fbff}.employee-import-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:9px}.employee-import-steps span{font-size:9px;font-weight:700}.employee-import-note{padding:11px 12px;border:1px solid #dce6f0;border-radius:10px;background:#fbfdff;margin-bottom:10px}.employee-import-note b{display:block;font-size:9.5px}.employee-import-note span{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.5}.employee-template-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--secondary)!important;text-decoration:none!important;font-size:9px;font-weight:800}.import-alert{white-space:normal;line-height:1.55}
@media(max-width:650px){.employee-import-steps{grid-template-columns:1fr}.payroll-missing-list .employee-master-cta{width:100%;justify-content:center}}

/* HRM Phase 7A — Employee Master + Employee 360 */
.employee-directory-page,.employee360-page{max-width:1500px}.employee-directory-toolbar{padding:14px 16px;margin-bottom:14px}.employee-directory-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) 170px 180px auto;gap:9px;align-items:end}.employee-directory-filters label{margin:0}.employee-filter-actions{display:flex;gap:7px;align-items:center}.employee-branch-tabs{display:flex;gap:7px;overflow:auto;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.employee-branch-tabs a{white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--secondary);text-decoration:none;font-size:9px;font-weight:700}.employee-branch-tabs a.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.employee-directory-card{padding:18px}.employee-directory-list{display:grid;gap:7px}.employee-directory-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.65fr) 100px 130px;gap:14px;align-items:center;padding:12px 13px;border:1px solid #e0e8f1;border-radius:12px;background:#fff;transition:.15s ease}.employee-directory-row:hover{border-color:#b9d1eb;box-shadow:0 6px 18px rgba(37,79,122,.06);transform:translateY(-1px)}.employee-directory-identity{display:flex;align-items:center;gap:11px}.employee-avatar,.employee360-avatar{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#f3f7fc;border:2px solid #b8d0e8;color:var(--secondary);font-size:11px;font-weight:800}.employee-directory-identity b{display:block;font-size:11px}.employee-directory-identity small,.employee-directory-meta small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.employee-directory-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.employee-group-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f6fc;border:1px solid #d9e5f1;color:var(--secondary);font-size:8.5px;font-weight:700}.employee-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:9px;background:var(--primary);color:var(--on-primary)!important;text-decoration:none!important;font-size:9px;font-weight:800}.employee-directory-empty{padding:34px;text-align:center;color:var(--muted)}.employee-directory-empty b{font-size:11px}
.employee360-back{margin-bottom:10px}.employee360-hero{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:19px 21px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 10px 28px rgba(30,76,126,.06)}.employee360-avatar{width:58px;height:58px;font-size:15px}.employee360-title h1{margin:2px 0;font-size:25px}.employee360-title p{margin:0;color:var(--muted);font-size:10px}.employee360-hero-status{text-align:right}.employee360-hero-status small{display:block;margin-top:6px;color:var(--muted);font-size:8.5px}.employee360-tabs{display:flex;gap:4px;margin:13px 0;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:auto}.employee360-tabs a{flex:0 0 auto;padding:9px 12px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:9px;font-weight:700;white-space:nowrap}.employee360-tabs a:hover{background:#f4f8fc;color:var(--secondary)}.employee360-tabs a.active{background:var(--primary);color:var(--on-primary)}.employee360-panel{padding:20px}.employee360-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.employee360-form label{margin:7px 0}.employee360-toggle{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:10px}.employee360-toggle input{width:auto;margin:0}.employee360-save{display:flex;justify-content:flex-end;padding-top:8px}.employee360-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.employee360-stat{display:grid;gap:3px;padding:14px}.employee360-stat strong{font-size:20px}.employee360-stat small{color:var(--muted);font-size:8.5px}.employee360-history-block{margin-top:18px}.employee360-history-block h3{font-size:11px}.employee360-history-row{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;margin-bottom:6px}.employee360-history-row b{display:block;font-size:10px}.employee360-history-row span{font-size:9px}.employee360-history-row small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.employee360-empty{display:grid;place-items:center;gap:5px;min-height:100px;padding:20px;text-align:center;color:var(--muted);border:1px dashed #cad9e8;border-radius:11px;background:#fbfdff}.employee360-empty b{color:var(--secondary);font-size:10px}.employee360-empty span{font-size:8.5px;max-width:580px}
@media(max-width:1000px){.employee-directory-filters{grid-template-columns:1fr 1fr}.employee-filter-actions{grid-column:span 2}.employee-directory-row{grid-template-columns:1fr 170px 120px}.employee-directory-row>div:nth-child(3){display:none}}
@media(max-width:700px){.employee-directory-filters{grid-template-columns:1fr}.employee-filter-actions{grid-column:auto}.employee-directory-row{grid-template-columns:1fr auto}.employee-directory-meta{grid-column:1/-1}.employee-directory-row>div:nth-child(3){display:none}.employee360-hero{grid-template-columns:auto 1fr}.employee360-hero-status{grid-column:1/-1;text-align:left}.employee360-form,.employee360-summary-grid,.employee360-history-row{grid-template-columns:1fr}.employee360-save{grid-column:auto}}

/* HRM Phase 7B */
.employee-master-view-switch{display:flex;gap:6px;margin-bottom:10px}.employee-master-view-switch a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--secondary);text-decoration:none;font-size:9px;font-weight:800}.employee-master-view-switch a.active{background:var(--secondary);color:var(--on-secondary);border-color:var(--secondary)}.employee-directory-groups{display:grid;gap:16px}.employee-department-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 7px}.employee-department-heading>div{display:flex;align-items:center;gap:7px}.employee-department-heading b{font-size:11px;color:var(--secondary)}.employee-department-heading span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#edf4fb;color:var(--secondary);font-size:8px;font-weight:800}.employee-exit-btn{margin-top:8px;padding:7px 9px;border:1px solid #e0a4a4;border-radius:8px;background:#fff5f5;color:#a62b2b;font-size:8.5px;font-weight:800}.offboarding-dialog{max-width:760px}.offboarding-warning{margin:10px 0;padding:10px 12px;border:1px solid #efd7ae;border-radius:9px;background:#fffaf0;color:#805a18;font-size:9px}.attendance-policy-grid,.attendance-resolution-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.attendance-policy-grid .permission-toggle{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px}.attendance-review-actions{display:flex;gap:5px;align-items:center}.attendance-review-actions input{min-width:120px}.attendance-resolution-card{margin-bottom:12px}.attendance-resolution-form label{margin:0}.attendance-resolution-form textarea{min-height:84px}
@media(max-width:700px){.attendance-policy-grid,.attendance-resolution-form{grid-template-columns:1fr}.attendance-review-actions{flex-direction:column;align-items:stretch}.employee-master-view-switch{overflow:auto}}

/* HRM Phase 7C — Employee KPI Tiles + Attendance Policy */
.employee-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.employee-kpi-tile{display:flex;flex-direction:column;min-height:166px;padding:15px;border:1px solid #dbe6f1;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fbff);color:var(--ink)!important;text-decoration:none!important;box-shadow:0 7px 20px rgba(28,70,112,.055);transition:.15s ease}.employee-kpi-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 45%,#dbe6f1);box-shadow:0 13px 28px rgba(28,70,112,.11)}.employee-kpi-top{display:flex;justify-content:space-between}.employee-kpi-top .employee-avatar{width:46px;height:46px}.status-dot{width:9px;height:9px;border-radius:50%;background:#a8b6c4;box-shadow:0 0 0 4px #eef2f5}.status-dot.active{background:#28a36a;box-shadow:0 0 0 4px #e7f6ef}.employee-kpi-body{display:grid;gap:2px;margin-top:11px}.employee-kpi-body b{font-size:11.5px;color:var(--secondary)}.employee-kpi-body span{font-size:8.5px;color:var(--primary);font-weight:700}.employee-kpi-body small{font-size:8px;color:var(--muted)}.employee-kpi-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #e6edf5}.employee-kpi-footer span{font-size:8.3px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-policy-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.attendance-policy-editor label{margin:5px 0}.attendance-policy-editor .permission-toggle{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 11px;border:1px solid var(--line);border-radius:10px}.attendance-policy-editor .permission-toggle input{width:auto;margin:0}@media(max-width:760px){.employee-tile-grid{grid-template-columns:1fr 1fr}.attendance-policy-editor{grid-template-columns:1fr}}@media(max-width:520px){.employee-tile-grid{grid-template-columns:1fr}}

/* HRM Phase 7E — Payroll Automation */
.payroll-automation-form{display:grid;gap:9px}.settings-choice{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.settings-choice input{width:auto!important;margin-top:3px}.settings-choice b{display:block;font-size:10px;color:var(--secondary)}.settings-choice span{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}.variable-checkpoint-card{margin-bottom:13px}.variable-checkpoint-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.variable-checkpoint-actions span{font-size:8.5px;color:var(--muted)}.variable-check-status{display:grid;gap:3px;padding:11px 12px;border-radius:10px;margin-bottom:12px}.variable-check-status.pending{background:#fff8e9;border:1px solid #efd8a9}.variable-check-status.ready{background:#eefaf4;border:1px solid #cde9da}.variable-check-status b{font-size:10px}.variable-check-status span{font-size:8.5px;color:var(--muted)}.payroll-check-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.salary-request-admin-card{margin-bottom:13px}.salary-request-chips{display:flex;gap:6px;flex-wrap:wrap}.salary-request-chips span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#f8fbff;font-size:8.5px}.salary-request-existing{display:grid;gap:3px;padding:12px;border:1px solid #dce6ef;border-radius:10px;background:#f8fbff;margin-top:10px}.salary-request-existing b{font-size:10px}.salary-request-existing span{font-size:8.5px;color:var(--muted)}.payroll-check-dialog{max-width:660px}
@media(max-width:650px){.payroll-check-actions,.variable-checkpoint-actions{align-items:stretch;flex-direction:column}.payroll-check-actions>a,.payroll-check-actions form,.variable-checkpoint-actions form{width:100%}.payroll-check-actions button,.variable-checkpoint-actions button{width:100%}}

/* CORE-1 — Shared Company Workspace */
.company-core-page{max-width:1500px}.company-core-nav a{display:flex!important;align-items:center;gap:9px}.core-kpi-link{text-decoration:none!important;color:inherit!important}.core-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}.core-module-tile{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.core-module-tile b{font-size:11px;color:var(--secondary)}.core-module-tile span{font-size:9px;font-weight:700;color:#25815a}.core-module-tile small{font-size:8.5px;color:var(--muted)}.core-module-tile a{font-size:9px;font-weight:800}.core-module-tile.disabled{opacity:.55}.core-module-tile.disabled span{color:var(--muted)}.core-module-tile.always{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:color-mix(in srgb,var(--primary) 5%,#fff)}.core-setup-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.core-setup-flow a{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:11px;text-decoration:none;background:#fbfdff}.core-setup-flow b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:9px}.core-setup-flow span{font-size:9px;font-weight:700;color:var(--secondary)}.core-company-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px}.core-form-actions{display:flex;justify-content:flex-end;padding-top:8px}.core-branch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:11px}.core-branch-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:16px}.core-branch-card form{grid-column:1/-1;display:flex;justify-content:flex-end}.core-branch-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#eef5fd;color:var(--primary)}.core-branch-card b{display:block;font-size:10.5px}.core-branch-card span:not(.status-pill){display:block;font-size:8.5px;color:var(--muted)}.core-org-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.core-master-list{display:grid;gap:7px}.core-master-list>div{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:10px}.core-master-list b{font-size:9.5px}.core-master-list span:not(.status-pill){font-size:8.5px;color:var(--muted)}.core-access-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.core-access-summary>div,.core-rule-list>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.core-access-summary b,.core-rule-list b{display:block;font-size:9.5px;color:var(--secondary)}.core-access-summary span,.core-rule-list span{display:block;margin-top:3px;font-size:8.5px;color:var(--muted)}.core-rule-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
@media(max-width:900px){.core-setup-flow{grid-template-columns:1fr 1fr}.core-org-grid,.core-access-summary,.core-rule-list{grid-template-columns:1fr}.core-company-form{grid-template-columns:1fr}.core-company-form .span-2{grid-column:auto}}
@media(max-width:560px){.core-setup-flow{grid-template-columns:1fr}.core-branch-grid{grid-template-columns:1fr}}

/* CORE 1.1 — Employee Module Access + Seat Control */
.person-module-badges{display:flex;gap:4px;margin-top:5px}.module-badge{display:inline-flex;padding:3px 5px;border-radius:999px;font-size:7px;font-weight:800;letter-spacing:.04em}.module-badge.crm{background:#edf3ff;color:#315ea8}.module-badge.hrm{background:#eaf8f1;color:#267452}.person-create-modules{padding:11px;border:1px solid var(--line);border-radius:11px;background:#f9fbfe}.person-create-modules>b{display:block;font-size:10px;color:var(--secondary)}.person-create-modules>span{display:block;font-size:8px;color:var(--muted);margin:2px 0 7px}.person-create-modules>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.person-create-modules .permission-toggle{margin:0}.person-module-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:11px}.person-module-access-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.person-module-access-card.unlicensed{opacity:.62;background:#f5f6f8}.person-module-access-card.enabled{border-color:#b9ddca;background:#f7fcf9}.person-module-access-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.person-module-access-head b{font-size:10.5px}.person-module-access-head>div>span{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.module-switch-row{display:flex!important;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px}.module-switch-row input{width:auto!important}.module-switch-row b{font-size:9px}.module-switch-row small{font-size:7.5px}.module-not-licensed-note{margin-top:12px;padding:10px;border-radius:9px;background:#eef1f4;color:var(--muted);font-size:8.5px}.superadmin-seat-page{max-width:1500px;margin:0 auto}.superadmin-company-license-list{display:grid;gap:14px}.module-license-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:11px}.module-license-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.module-license-title{display:flex;justify-content:space-between;gap:8px}.module-license-title b{font-size:11px}.module-license-title span{font-size:8.5px;color:var(--muted)}.seat-usage-line{display:flex;align-items:baseline;gap:5px;padding:8px 0}.seat-usage-line b{font-size:18px;color:var(--primary)}.seat-usage-line span{font-size:8px;color:var(--muted)}.after-sales-actions{display:flex;gap:5px;align-items:center}.after-sales-actions button{padding:7px 9px;font-size:8px}
@media(max-width:700px){.person-create-modules>div{grid-template-columns:1fr}.after-sales-actions{flex-direction:column;align-items:stretch}}

/* CORE 1.1 Super Admin seat alignment v2 */
.sa-nav-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:var(--secondary);font-size:9px;font-weight:800;margin-left:4px}.sa-commercial-modules{display:grid;gap:10px}.sa-commercial-modules>h3,.sa-commercial-modules>p{grid-column:1/-1}.sa-module-commercial-card{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fbfdff}.sa-module-commercial-card.hrm{background:#f7fcf9;border-color:#cfe7d9}.sa-module-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px}.sa-module-title b{display:block;font-size:10.5px}.sa-module-title small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.sa-seat-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.sa-seat-meter>div{padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}.sa-seat-meter b{display:block;font-size:15px;color:var(--primary)}.sa-seat-meter span{font-size:7.5px;color:var(--muted)}@media(min-width:1100px){.sa-commercial-modules{grid-template-columns:1fr 1fr}}@media(max-width:620px){.sa-seat-meter{grid-template-columns:1fr}}

/* HRM FINAL V1 — Client Ready Cost Dashboard & Management */
.cost-category-list,.cost-branch-list{display:grid;gap:7px}.cost-category-list>div,.cost-branch-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.cost-category-list span{font-size:9px;color:var(--muted)}.cost-category-list b,.cost-branch-list strong{font-size:10px;color:var(--secondary)}.cost-branch-list b{display:block;font-size:9.5px}.cost-branch-list small{font-size:7.5px;color:var(--muted)}.final-attention-list{display:grid;gap:7px}.final-attention-list a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;color:inherit}.final-attention-list a>div{display:flex;align-items:center;gap:9px}.final-attention-list b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#fff3db;color:#9a6410;font-size:10px}.final-attention-list span{font-size:8.5px;font-weight:700}.next-holiday-card{margin-top:12px;padding:12px;border:1px solid #d7e5f4;border-radius:12px;background:#f7fbff}.next-holiday-card span,.next-holiday-card small{display:block;font-size:8px;color:var(--muted)}.next-holiday-card b{display:block;margin:3px 0;font-size:10px;color:var(--secondary)}.payroll-offboarding-warning{margin-bottom:13px;border-color:#edd9ad;background:#fffdf8}.payroll-offboarding-warning .salary-request-chips a{display:inline-flex;padding:6px 8px;border-radius:999px;border:1px solid #ead8ae;background:#fff8e9;text-decoration:none;font-size:8px;font-weight:700}

/* CORE 1.2 — Company-owned Branding & Themes */
.company-profile-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.company-profile-tabs a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-size:8.5px;font-weight:800}.brand-asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.core-logo-preview{min-height:110px;justify-content:center;flex-direction:column}.core-logo-preview img{max-width:180px;width:auto;height:68px}.company-branding-form{display:grid;gap:4px}.crm-company-settings-moved{border-color:color-mix(in srgb,var(--primary) 20%,var(--line));background:color-mix(in srgb,var(--primary) 3%,#fff)}
@media(max-width:700px){.brand-asset-grid{grid-template-columns:1fr}}

/* HRM Mobile Device Trust Backend v1 */
.device-security-form{display:grid;gap:4px}.device-change-list{display:grid;gap:8px}.device-change-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,.9fr);gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.device-change-row b{display:block;font-size:9.5px}.device-change-row small,.device-change-row span{display:block;font-size:7.5px;color:var(--muted);margin-top:2px}.device-change-row form{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.device-change-row input{margin:0}.device-change-row .row-actions{display:flex;gap:5px}@media(max-width:720px){.device-change-row,.device-change-row form{grid-template-columns:1fr}}

/* CORE 1.2 UI v2 — Company Profile tabs + CRM settings cleanup */
.company-profile-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.company-profile-tab{border:1px solid var(--line);background:#fff;color:var(--primary);box-shadow:none;padding:8px 13px;border-radius:999px;font-size:8.5px;font-weight:800}.company-profile-tab:hover,.company-profile-tab.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--on-primary);border-color:transparent}.company-profile-panel{display:none}.company-profile-panel.active{display:block}.create-counsellor-card{overflow:visible}.create-counsellor-inline{display:grid;grid-template-columns:1.05fr 1.35fr 1fr 1.2fr 1fr auto;gap:10px;align-items:end}.create-counsellor-inline label{margin:0}.create-counsellor-inline input{margin-top:5px}.inline-country-picker{position:relative;margin:0}.inline-country-picker>summary{list-style:none;border:1px solid #c9d9eb;border-radius:11px;background:#fff;padding:11px 12px;cursor:pointer;font-size:9px;font-weight:700;white-space:nowrap}.inline-country-picker>summary::-webkit-details-marker{display:none}.inline-country-picker[open] .country-checks{position:absolute;z-index:25;right:0;top:calc(100% + 6px);width:330px;max-height:260px;background:#fff;box-shadow:0 16px 40px rgba(20,55,95,.16)}.create-counsellor-action{display:flex;align-items:end}.create-counsellor-action button{white-space:nowrap;margin:0}
@media(max-width:1200px){.create-counsellor-inline{grid-template-columns:repeat(3,minmax(0,1fr))}.create-counsellor-action button{width:100%}}
@media(max-width:720px){.create-counsellor-inline{grid-template-columns:1fr}.inline-country-picker[open] .country-checks{position:static;width:100%;margin-top:6px}}


/* ============================================================================
   VISUAL UPGRADE PATCH v1 — Vivid Multi-Color Dashboard Layer
   Added 25 Aug 2026. CSS ONLY — no HTML, PHP or JS was touched anywhere
   in the project. This block layers on top of every existing theme
   (data-ui-theme="...") and every existing class, so functionality,
   markup and data are 100% unchanged.
   TO FULLY REVERT: delete everything from this comment to the end
   of the file and you are back to exactly what you had before.
   ============================================================================ */

:root{
  --vx1:#2f6fed;   /* blue    */
  --vx2:#0aa89e;   /* teal    */
  --vx3:#8b5cf6;   /* purple  */
  --vx4:#f2994a;   /* orange  */
  --vx5:#ec4899;   /* pink    */
  --vx6:#22a35a;   /* green   */
}

/* ---------- Global feel: smoother motion, deeper elevation ---------- */
.card,.dashboard-filter-card,.unified-search-card,.metric-card,.kpi-tile,
.kpi-standard,.executive-strip>div,.employee-kpi-tile,.ad-kpi-card,
.country-card,.workflow-row,.task-thread-card,.front-action-card,
.employee-directory-row,.branch-admin-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover{box-shadow:0 18px 42px rgba(20,55,95,.12)}
button,.btn,.action-btn,.compact-btn{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease!important}
button:hover,.btn:hover,.action-btn:hover,.compact-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
button:active,.btn:active{transform:translateY(0)}
.data-table th,.table th{letter-spacing:.08em;font-weight:800}
.data-table tr:hover td,.table tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}
.status-pill,.priority-pill,.availability-badge,.performance-pill,.module-badge{letter-spacing:.02em}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 30%,#c9d7e6);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 50%,#c9d7e6)}

/* ---------- Vivid multi-color KPI / metric tiles (Zoho/Odoo-style) ---------- */
.kpi-tile,.kpi-standard,.metric-card,.executive-strip>div,.employee-kpi-tile{
  position:relative;overflow:hidden;
}
.kpi-tile::before,.kpi-standard::before,.metric-card::before,
.executive-strip>div::before,.employee-kpi-tile::before{
  content:"";position:absolute;left:0;top:0;right:0;height:4px;border-radius:4px 4px 0 0;
  background:var(--vx1);
}
.kpi-tile:nth-of-type(6n+1)::before,.kpi-standard:nth-of-type(6n+1)::before,.metric-card:nth-of-type(6n+1)::before,.executive-strip>div:nth-of-type(6n+1)::before,.employee-kpi-tile:nth-of-type(6n+1)::before{background:var(--vx1)}
.kpi-tile:nth-of-type(6n+2)::before,.kpi-standard:nth-of-type(6n+2)::before,.metric-card:nth-of-type(6n+2)::before,.executive-strip>div:nth-of-type(6n+2)::before,.employee-kpi-tile:nth-of-type(6n+2)::before{background:var(--vx2)}
.kpi-tile:nth-of-type(6n+3)::before,.kpi-standard:nth-of-type(6n+3)::before,.metric-card:nth-of-type(6n+3)::before,.executive-strip>div:nth-of-type(6n+3)::before,.employee-kpi-tile:nth-of-type(6n+3)::before{background:var(--vx3)}
.kpi-tile:nth-of-type(6n+4)::before,.kpi-standard:nth-of-type(6n+4)::before,.metric-card:nth-of-type(6n+4)::before,.executive-strip>div:nth-of-type(6n+4)::before,.employee-kpi-tile:nth-of-type(6n+4)::before{background:var(--vx4)}
.kpi-tile:nth-of-type(6n+5)::before,.kpi-standard:nth-of-type(6n+5)::before,.metric-card:nth-of-type(6n+5)::before,.executive-strip>div:nth-of-type(6n+5)::before,.employee-kpi-tile:nth-of-type(6n+5)::before{background:var(--vx5)}
.kpi-tile:nth-of-type(6n)::before,.kpi-standard:nth-of-type(6n)::before,.metric-card:nth-of-type(6n)::before,.executive-strip>div:nth-of-type(6n)::before,.employee-kpi-tile:nth-of-type(6n)::before{background:var(--vx6)}

.kpi-icon,.employee-kpi-tile .kpi-icon,.executive-kpi .kpi-icon{box-shadow:0 8px 20px rgba(20,40,70,.18)!important}
.kpi-tile:nth-of-type(6n+1) .kpi-icon,.kpi-standard:nth-of-type(6n+1) .kpi-icon{background:linear-gradient(135deg,var(--vx1),color-mix(in srgb,var(--vx1) 55%,#fff))!important}
.kpi-tile:nth-of-type(6n+2) .kpi-icon,.kpi-standard:nth-of-type(6n+2) .kpi-icon{background:linear-gradient(135deg,var(--vx2),color-mix(in srgb,var(--vx2) 55%,#fff))!important}
.kpi-tile:nth-of-type(6n+3) .kpi-icon,.kpi-standard:nth-of-type(6n+3) .kpi-icon{background:linear-gradient(135deg,var(--vx3),color-mix(in srgb,var(--vx3) 55%,#fff))!important}
.kpi-tile:nth-of-type(6n+4) .kpi-icon,.kpi-standard:nth-of-type(6n+4) .kpi-icon{background:linear-gradient(135deg,var(--vx4),color-mix(in srgb,var(--vx4) 55%,#fff))!important}
.kpi-tile:nth-of-type(6n+5) .kpi-icon,.kpi-standard:nth-of-type(6n+5) .kpi-icon{background:linear-gradient(135deg,var(--vx5),color-mix(in srgb,var(--vx5) 55%,#fff))!important}
.kpi-tile:nth-of-type(6n) .kpi-icon,.kpi-standard:nth-of-type(6n) .kpi-icon{background:linear-gradient(135deg,var(--vx6),color-mix(in srgb,var(--vx6) 55%,#fff))!important}
.kpi-tile:hover,.kpi-standard:hover,.metric-card:hover,.employee-kpi-tile:hover{transform:translateY(-3px)}

/* ---------- Colorful conversion funnel (pipeline visual) ---------- */
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n+1),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n+1){background:linear-gradient(145deg,var(--vx1),color-mix(in srgb,var(--vx1) 55%,#08215c))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n+2),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n+2){background:linear-gradient(145deg,var(--vx2),color-mix(in srgb,var(--vx2) 55%,#053f3a))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n+3),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n+3){background:linear-gradient(145deg,var(--vx3),color-mix(in srgb,var(--vx3) 55%,#2c1a63))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n+4),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n+4){background:linear-gradient(145deg,var(--vx4),color-mix(in srgb,var(--vx4) 55%,#7a3d0a))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n+5),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n+5){background:linear-gradient(145deg,var(--vx5),color-mix(in srgb,var(--vx5) 55%,#7a1350))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-row .funnel-step:nth-child(6n),
html[data-ui-theme] .modern-funnel .funnel-step:nth-child(6n){background:linear-gradient(145deg,var(--vx6),color-mix(in srgb,var(--vx6) 55%,#0c4224))!important;color:#fff!important;border-color:transparent!important}
html[data-ui-theme] .funnel-step{box-shadow:0 10px 22px rgba(20,40,80,.16)!important}

/* ---------- Bars, donuts & reason charts: richer gradients + glow ---------- */
.bar-stack span,.multi-bars span{box-shadow:0 4px 10px rgba(20,50,90,.14);position:relative}
.bar-stack span:not(.alt):not(.success):not(.warn),.multi-bars span:not(.alt):not(.success):not(.warn){background:linear-gradient(90deg,var(--vx1),color-mix(in srgb,var(--vx1) 55%,#fff))}
.bar-stack span.alt,.multi-bars span.alt{background:linear-gradient(90deg,var(--vx3),color-mix(in srgb,var(--vx3) 55%,#fff))}
.bar-stack span.success,.multi-bars span.success{background:linear-gradient(90deg,var(--vx6),color-mix(in srgb,var(--vx6) 55%,#fff))}
.multi-bars span.warn{background:linear-gradient(90deg,var(--vx4),color-mix(in srgb,var(--vx4) 55%,#fff))}
.donut-chart{box-shadow:0 14px 34px rgba(20,50,90,.16)}
.donut-chart>div{box-shadow:inset 0 0 0 1px #edf2f7,0 2px 8px rgba(20,50,90,.08)}
.donut-legend>div{padding:4px 0;border-radius:8px}
.donut-legend>div:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}
.donut-legend>div>span{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}
.reason-bar strong,.chart-row strong{font-variant-numeric:tabular-nums}

/* ---------- Sidebar: colorful active state, cleaner rail ---------- */
.portal-sidebar nav a{position:relative;display:flex;align-items:center;gap:9px}
.portal-sidebar nav a:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0;transform:scale(.4);transition:.15s}
.portal-sidebar nav a:hover:before,.portal-sidebar nav a.active:before{opacity:.9;transform:scale(1)}
.portal-sidebar nav a.active{background:rgba(255,255,255,.22)!important;box-shadow:inset 3px 0 0 #fff}
.profile-badge{background:rgba(255,255,255,.12)!important;box-shadow:0 8px 20px rgba(0,0,0,.12)}

/* ---------- Header, chips & login: a touch more premium ---------- */
.portal-header{box-shadow:0 2px 14px rgba(20,50,90,.04)}
.role-chip,.ghost-btn{transition:.15s}
.role-chip:hover,.ghost-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,50,90,.1)}
.global-notification-bell{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,white),white)!important}
.notification-count{box-shadow:0 3px 8px rgba(217,45,32,.4)}
.login-shell{box-shadow:0 30px 90px rgba(19,61,105,.2)}
.login-brand:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.16),transparent 45%);pointer-events:none}
.login-brand{position:relative}

/* ---------- Status & priority pills: livelier semantic color ---------- */
.priority-important{background:color-mix(in srgb,var(--vx4) 18%,#fff)!important;color:color-mix(in srgb,var(--vx4) 70%,#4a2c00)!important}
.priority-urgent{background:color-mix(in srgb,var(--vx5) 16%,#fff)!important;color:color-mix(in srgb,var(--vx5) 65%,#4a0026)!important}
.status-pill.status-success{background:color-mix(in srgb,var(--vx6) 16%,#fff)!important;color:color-mix(in srgb,var(--vx6) 60%,#04351a)!important}
.status-pill.status-purple{background:color-mix(in srgb,var(--vx3) 14%,#fff)!important;color:color-mix(in srgb,var(--vx3) 60%,#26123f)!important}

@media(max-width:900px){
  .kpi-tile::before,.kpi-standard::before,.metric-card::before,.executive-strip>div::before,.employee-kpi-tile::before{height:3px}
}
/* ============================== END VISUAL UPGRADE PATCH v1 ============================== */

/* ============================================================================
   VISUAL UPGRADE PATCH v2 — Modern Startup Polish + Real Chart Support
   Added 25 Aug 2026. Pairs with chart-enhance.js (Chart.js progressive
   enhancement). Still CSS-only in this file; no existing rule was removed.
   ============================================================================ */
.cx-injected-chart{animation:cxFadeIn .35s ease both}
@keyframes cxFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Page titles: subtle gradient treatment for a premium SaaS header feel */
.page-title,h1.section-title,.workspace-header h1{
  background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--vx3,#8b5cf6)));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.01em;
}

/* Cards: crisper corners + fade-in on load for a livelier dashboard feel */
.card,.analytics-card{border-radius:16px!important}
.card{animation:cxCardIn .4s ease both}
@keyframes cxCardIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Section headings: tighter, bolder, more editorial (Zoho/Notion-ish) */
.section-heading h2{font-weight:800;letter-spacing:-.01em}
.section-heading p{color:#7387a1}

/* Chip / avatar ring for a more "established product" identity touch */
.profile-badge img,.avatar-chip img,.avatar{box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--primary) 35%,transparent)!important}

/* Empty states: friendlier, less "unfinished" looking */
.empty-cell{padding:22px 10px;text-align:center;color:#8a9db4;font-style:normal;background:repeating-linear-gradient(135deg,rgba(47,111,237,.03) 0 10px,transparent 10px 20px);border-radius:12px}
/* ============================== END VISUAL UPGRADE PATCH v2 ============================== */
