:root{--b:#2563eb;--b2:#0f3d91;--v:#7c3aed;--c:#06b6d4;--g:#10b981;--o:#ff6b2c;--ink:#0f172a;--mut:#64748b;--bg:#f4f7fb;--line:#e7edf5;--shadow:0 18px 45px rgba(15,23,42,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 88% 0,rgba(37,99,235,.12),transparent 30%),radial-gradient(circle at 18% 8%,rgba(124,58,237,.08),transparent 25%),var(--bg)}
.layout{display:grid;grid-template-columns:275px minmax(0,1fr);min-height:100vh}.side{background:linear-gradient(165deg,#091d4c,#0e3f97 48%,#182f69);padding:22px 16px;color:#fff;position:sticky;top:0;height:100vh;overflow:auto;box-shadow:18px 0 50px rgba(15,23,42,.10)}
.brand{padding:7px 8px 20px}.brand img{width:100%;max-width:195px;display:block;background:white;border-radius:13px;padding:8px;box-shadow:0 12px 28px rgba(0,0,0,.18)}.suite-label{margin-top:12px;font-size:10px;letter-spacing:.17em;color:rgba(255,255,255,.63);font-weight:800}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.84);font-size:13px;font-weight:700;transition:.18s}.nav a:before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28)}.nav a:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}
.main{padding:27px 30px 48px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.top h1{font-size:30px;letter-spacing:-.04em;margin:0}.userpill{background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:var(--shadow);border-radius:999px;padding:8px 12px 8px 9px;font-size:12px;font-weight:750;display:flex;align-items:center;gap:8px}.user-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--b),var(--v));color:#fff;font-weight:900}.userpill a{color:var(--b);text-decoration:none}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);border-radius:22px;padding:19px;box-shadow:0 10px 28px rgba(15,23,42,.065);margin-bottom:16px;min-width:0}.card h2,.card h3{margin-top:0;letter-spacing:-.025em}.muted{color:var(--mut)}.small{font-size:12px}.kpi b{font-size:30px;letter-spacing:-.04em}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:9px 14px;background:linear-gradient(135deg,var(--b),var(--b2));color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.btn.alt{background:#fff;color:var(--b2);border:1px solid #d8e1ed}.btn.danger{background:linear-gradient(135deg,#ef4444,#b91c1c)}.disabled-btn,.btn:disabled{background:#d1d5db!important;color:#6b7280!important;pointer-events:none!important}.actions{display:flex;gap:8px;flex-wrap:wrap}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d7e0eb;border-radius:11px;background:#fff}label{font-size:12px;font-weight:800;color:#475569}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:6px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid #edf1f6;text-align:left;font-size:13px}th{background:#f8fafc;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef5ff;color:#245bb8;font-size:10px;font-weight:850}.badge.ok{background:#e9fbf4;color:#14805d}.badge.warn{background:#fff7df;color:#996f08}.flash{background:#eff6ff;border:1px solid #cfe0ff;padding:11px 13px;border-radius:12px;margin-bottom:12px}
.hero{position:relative;overflow:hidden;border-radius:30px;margin-bottom:18px;padding:28px;color:#fff;min-height:195px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:22px;background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.28),transparent 20%),radial-gradient(circle at 72% 100%,rgba(6,182,212,.34),transparent 34%),linear-gradient(135deg,#0a2e73 0%,#2563eb 48%,#6d28d9 100%);box-shadow:0 26px 55px rgba(37,99,235,.23)}.hero h2{font-size:35px;line-height:1.04;margin:0 0 10px;letter-spacing:-.05em}.hero p{color:rgba(255,255,255,.8);max-width:620px}.hero-meta{display:flex;gap:9px;flex-wrap:wrap}.hero-chip{display:inline-flex;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:800}.hero-visual{position:relative;height:135px}.orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.20)}.orbit.one{width:130px;height:130px;right:55px}.orbit.two{width:86px;height:86px;right:78px;top:22px;border-width:18px;border-color:rgba(255,255,255,.08)}.orbit-dot{position:absolute;width:28px;height:28px;border-radius:50%;background:#fff;right:50px;top:16px;box-shadow:0 0 30px #fff}.spark-bars{position:absolute;left:10px;bottom:0;display:flex;align-items:flex-end;gap:7px;height:100px}.spark-bars i{width:14px;border-radius:8px;background:rgba(255,255,255,.66)}.spark-bars i:nth-child(1){height:36%}.spark-bars i:nth-child(2){height:58%}.spark-bars i:nth-child(3){height:48%}.spark-bars i:nth-child(4){height:83%}.spark-bars i:nth-child(5){height:68%}.spark-bars i:nth-child(6){height:94%}
.stat-card{padding:17px 18px;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.07);border:1px solid #eef2f7}.stat-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(124,58,237,.12));font-size:18px}.stat-card .value{font-size:29px;font-weight:900;letter-spacing:-.04em}.stat-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#64748b}.stat-card .sub{font-size:11px;color:#94a3b8;margin-top:3px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:23px 2px 12px}.section-title h2{font-size:19px;margin:0}.section-title p{margin:3px 0 0;color:#64748b;font-size:12px}
.chart-card{height:100%;min-height:330px}.chart-wrap{position:relative;height:260px}.chart-wrap.small{height:220px}.gauge-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.gauge-card{display:flex;gap:15px;align-items:center;background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:15px}.gauge{--pct:0;--gc:var(--b);width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--gc) calc(var(--pct)*1%),#e9eef5 0);position:relative;flex:0 0 auto}.gauge:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.gauge-value{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-size:16px;font-weight:900}.gauge-copy b{display:block;font-size:13px}.gauge-copy span{font-size:11px;color:#64748b}.person-list{display:grid;gap:9px}.person-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6}.avatar{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px;background:linear-gradient(135deg,#2563eb,#7c3aed)}.avatar.orange{background:linear-gradient(135deg,#fb923c,#ef4444)}.avatar.green{background:linear-gradient(135deg,#10b981,#0ea5e9)}.person-row strong{display:block;font-size:12px}.person-row small{color:#64748b}.progress{height:7px;border-radius:999px;background:#edf1f6;overflow:hidden;margin-top:5px}.progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#7c3aed)}
.report-hero{padding:22px 24px;border-radius:25px;margin-bottom:16px;color:#fff;background:linear-gradient(135deg,#0f3d91,#2563eb 50%,#6d28d9);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 20px 45px rgba(37,99,235,.19)}.report-hero h2{margin:0 0 6px;font-size:26px}.report-hero p{margin:0;color:rgba(255,255,255,.76)}.report-pill{padding:10px 13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:12px;font-weight:800}.metric-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e9eef5;border:1px solid #e9eef5;border-radius:20px;overflow:hidden;margin-bottom:16px}.metric-band>div{background:#fff;padding:17px}.metric-band b{font-size:22px;display:block}.metric-band span{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-visual{display:none}.gauge-row{grid-template-columns:1fr}}@media(max-width:800px){.layout{display:block}.side{height:auto;min-height:auto;position:sticky;z-index:100;top:0;padding:9px 10px}.brand{display:none}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap}.nav a:before{display:none}.main{padding:15px 10px 32px}.top{align-items:flex-start;flex-direction:column}.g2,.g3,.g4,.formgrid{grid-template-columns:1fr}.scroll table{min-width:650px}.hero{padding:22px 18px;min-height:auto}.hero h2{font-size:28px}.metric-band{grid-template-columns:repeat(2,1fr)}.report-hero{align-items:flex-start;flex-direction:column}}


/* TechDiscovery polish update */
.grid{gap:22px!important;margin-bottom:22px}.grid>.card,.grid>.stat-card{margin-bottom:0!important}
.gauge-row{gap:22px!important;margin-bottom:22px}.section-title{margin-top:28px!important;margin-bottom:14px!important}
.report-matrix-card{margin-top:22px}.metric-band{margin-bottom:22px!important}.actions .btn{white-space:nowrap}
.back-btn{min-height:38px;height:38px;padding:8px 13px!important;align-self:flex-start;white-space:nowrap;box-shadow:none!important}
.matrix-total-row th,.matrix-total-row td{position:sticky;bottom:0;background:#eef4ff!important;border-top:2px solid #bfd3ff;border-bottom:0;color:#0f3d91;font-weight:900;box-shadow:0 -3px 12px rgba(15,61,145,.05)}

.login-page{min-height:100vh;overflow-x:hidden;background:#eef3fa}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}
.login-visual{position:relative;overflow:hidden;display:grid;place-items:center;color:#fff;padding:48px;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.14),transparent 27%),radial-gradient(circle at 82% 75%,rgba(6,182,212,.24),transparent 31%),linear-gradient(145deg,#081f4d 0%,#1148ad 48%,#6d28d9 100%)}
.login-visual::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent)}
.login-visual-inner{width:min(620px,100%);position:relative;z-index:2}.login-logo{width:225px;max-width:65%;background:#fff;border-radius:17px;padding:10px;box-shadow:0 22px 50px rgba(0,0,0,.22);margin-bottom:42px}
.login-eyebrow{font-size:11px;font-weight:900;letter-spacing:.19em;color:rgba(255,255,255,.64);margin-bottom:12px}.login-visual h1{margin:0;font-size:clamp(54px,6vw,88px);line-height:.89;letter-spacing:-.065em;font-weight:900}.login-visual h1 span{color:#7dd3fc}.login-visual p{margin:24px 0 27px;max-width:550px;color:rgba(255,255,255,.73);font-size:16px;line-height:1.6}
.login-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:540px}.login-feature-grid>div{padding:13px 10px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}.login-feature-grid b{display:block;font-size:18px;margin-bottom:5px}.login-feature-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:rgba(255,255,255,.72)}
.login-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.13)}.orbit-a{width:280px;height:280px;right:-110px;top:90px}.orbit-b{width:180px;height:180px;right:-60px;top:140px;border-width:30px;border-color:rgba(255,255,255,.055)}.login-orbit-dot{position:absolute;width:30px;height:30px;border-radius:50%;right:49px;top:103px;background:#fff;box-shadow:0 0 40px rgba(255,255,255,.8)}
.login-bars{position:absolute;right:35px;bottom:28px;height:120px;display:flex;align-items:flex-end;gap:8px;opacity:.62}.login-bars i{display:block;width:16px;border-radius:10px;background:#fff}.login-bars i:nth-child(1){height:35%}.login-bars i:nth-child(2){height:55%}.login-bars i:nth-child(3){height:45%}.login-bars i:nth-child(4){height:75%}.login-bars i:nth-child(5){height:66%}.login-bars i:nth-child(6){height:92%}
.login-form-side{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 70% 18%,rgba(37,99,235,.08),transparent 25%),#f7f9fc}.login-card{width:min(460px,100%);padding:38px;border-radius:28px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);box-shadow:0 28px 70px rgba(15,23,42,.12);backdrop-filter:blur(15px)}
.login-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#2563eb;margin-bottom:13px}.login-card h2{margin:0;font-size:38px;letter-spacing:-.045em;color:#0f172a}.login-copy{color:#64748b;margin:8px 0 28px}.login-field{margin-bottom:17px}.login-field label{margin-bottom:3px}.login-field input{padding:14px;border-radius:13px;min-height:49px}
.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:7px;top:7px;height:35px;border:0;border-radius:9px;padding:0 10px;background:#eef4ff;color:#245bb8;font-size:11px;font-weight:850;cursor:pointer}.login-submit{width:100%;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border:0;border-radius:13px;color:#fff;font-weight:900;cursor:pointer;margin-top:8px;background:linear-gradient(135deg,#2563eb,#0f3d91);box-shadow:0 14px 28px rgba(37,99,235,.24)}.login-submit span{font-size:20px}
.login-alert{padding:11px 12px;border-radius:11px;margin-bottom:15px;background:#fff0f0;border:1px solid #ffd0d0;color:#a61b1b;font-size:12px;font-weight:700}.login-footer{border-top:1px solid #edf1f6;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;gap:12px;color:#94a3b8;font-size:10px;font-weight:750}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:360px;padding:35px 24px}.login-logo{margin-bottom:25px}.login-visual h1{font-size:52px}.login-visual p{font-size:14px}.login-form-side{padding:26px 16px 40px}}
@media(max-width:600px){.grid,.gauge-row{gap:14px!important}.login-visual{min-height:320px}.login-feature-grid{grid-template-columns:repeat(2,1fr)}.login-orbit,.login-orbit-dot,.login-bars{display:none}.login-card{padding:27px 21px;border-radius:22px}.login-card h2{font-size:32px}.login-footer{flex-direction:column}}
.grid{gap:22px!important;margin-bottom:22px}.grid>.card,.grid>.stat-card{margin-bottom:0!important}.gauge-row{gap:22px!important;margin-bottom:22px}.section-title{margin-top:28px!important;margin-bottom:14px!important}.report-matrix-card{margin-top:22px}.metric-band{margin-bottom:14px!important}
.source-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e9eef5;border:1px solid #e9eef5;border-radius:17px;overflow:hidden;margin-bottom:22px}.source-band span{background:#fff;padding:12px 15px;color:#64748b;font-size:11px}.source-band b{color:#0f172a;font-size:14px}.matrix-total-row th,.matrix-total-row td{background:#eef4ff!important;border-top:2px solid #bfd3ff!important;color:#0f3d91!important;font-weight:900!important}.back-btn{height:38px!important;min-height:38px!important;padding:7px 13px!important;white-space:nowrap;align-self:flex-start;box-shadow:none!important}.actions .btn{white-space:nowrap}
.login-page{min-height:100vh;background:#eef3fa}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.login-visual{display:grid;place-items:center;color:#fff;padding:48px;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.14),transparent 27%),radial-gradient(circle at 82% 75%,rgba(6,182,212,.24),transparent 31%),linear-gradient(145deg,#081f4d 0%,#1148ad 48%,#6d28d9 100%)}.login-visual-inner{width:min(620px,100%)}.login-logo{width:225px;max-width:65%;background:#fff;border-radius:17px;padding:10px;box-shadow:0 22px 50px rgba(0,0,0,.22);margin-bottom:42px}.login-eyebrow{font-size:11px;font-weight:900;letter-spacing:.19em;color:rgba(255,255,255,.64);margin-bottom:12px}.login-visual h1{margin:0;font-size:clamp(54px,6vw,88px);line-height:.89;letter-spacing:-.065em;font-weight:900}.login-visual h1 span{color:#7dd3fc}.login-visual p{margin:24px 0 27px;max-width:550px;color:rgba(255,255,255,.73);font-size:16px;line-height:1.6}.login-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.login-feature-grid>div{padding:13px 10px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}.login-feature-grid b{display:block;font-size:18px}.login-feature-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:rgba(255,255,255,.72)}.login-form-side{display:grid;place-items:center;padding:40px;background:#f7f9fc}.login-card{width:min(460px,100%);padding:38px;border-radius:28px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.12)}.login-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#2563eb;margin-bottom:13px}.login-card h2{margin:0;font-size:38px;letter-spacing:-.045em}.login-copy{color:#64748b;margin:8px 0 28px}.login-field{margin-bottom:17px}.login-field input{padding:14px;min-height:49px}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:7px;top:7px;height:35px;border:0;border-radius:9px;padding:0 10px;background:#eef4ff;color:#245bb8;font-size:11px;font-weight:850;cursor:pointer}.login-submit{width:100%;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border:0;border-radius:13px;color:#fff;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0f3d91)}.login-alert{padding:11px 12px;border-radius:11px;margin-bottom:15px;background:#fff0f0;border:1px solid #ffd0d0;color:#a61b1b}.login-footer{border-top:1px solid #edf1f6;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;color:#94a3b8;font-size:10px}
@media(max-width:900px){.source-band{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-visual{padding:32px 24px}.login-form-side{padding:26px 16px 40px}}@media(max-width:600px){.grid,.gauge-row{gap:14px!important}.source-band{grid-template-columns:1fr}.login-feature-grid{grid-template-columns:repeat(2,1fr)}.login-card{padding:27px 21px}.login-footer{flex-direction:column;gap:6px}}

/* v8 My Profile cards */
.profile-v8-header{display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:20px;border-radius:22px;color:#fff;background:linear-gradient(120deg,#173f8f,#2563eb 58%,#7138e8);box-shadow:0 16px 40px rgba(37,99,235,.16)}
.profile-v8-avatar{display:grid;place-items:center;width:68px;height:68px;flex:0 0 68px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:23px;font-weight:900}
.profile-v8-header h2{margin:0;color:#fff;font-size:26px}.profile-v8-header p{margin:4px 0 0;color:rgba(255,255,255,.8)}
.profile-v8-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.profile-v8-card{background:#fff;border-radius:20px;padding:20px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 28px rgba(15,23,42,.045)}
.profile-v8-card h3{margin:0 0 4px;font-size:16px}.profile-v8-card>.hint{color:#8492a8;font-size:11px;margin-bottom:14px}
.profile-v8-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.profile-v8-item{padding:11px 12px;background:#f8fafc;border:1px solid #e8eef6;border-radius:12px;min-width:0}
.profile-v8-item .k{display:block;color:#75869f;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}
.profile-v8-item .v{display:block;font-size:12px;font-weight:700;color:#14213d;overflow-wrap:anywhere}
.profile-v8-leave{grid-column:1/-1}.profile-v8-balances{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.profile-v8-balance{padding:16px;border-radius:15px;background:linear-gradient(145deg,#f8fbff,#f5f2ff);border:1px solid #e7edf7}
.profile-v8-balance .k{display:block;color:#66758d;font-size:10px;font-weight:900;text-transform:uppercase}.profile-v8-balance .v{display:block;font-size:27px;font-weight:900;color:#15356e;margin-top:5px}
@media(max-width:850px){.profile-v8-grid{grid-template-columns:1fr}.profile-v8-leave{grid-column:auto}}
@media(max-width:600px){.profile-v8-items,.profile-v8-balances{grid-template-columns:1fr}.profile-v8-header{padding:18px}}

.approved-workflow{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-top:14px;padding:15px 16px;border-radius:15px;background:linear-gradient(135deg,#f4f8ff,#fbfcff);border:1px solid #dce7f8}
.approved-workflow p{margin:4px 0 0}
.reopen-form{display:flex;gap:8px;align-items:center;min-width:min(520px,100%)}
.reopen-form input{min-width:260px}
.admin-correction-banner{margin-bottom:17px;padding:14px 15px;border-radius:14px;background:#fff8e7;border:1px solid #f6ddb0}
.admin-correction-banner p{margin:5px 0 0}
@media(max-width:800px){.approved-workflow{flex-direction:column;align-items:stretch}.reopen-form{min-width:0;flex-direction:column;align-items:stretch}.reopen-form input{min-width:0}}
.td-confirm-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.16s ease}
.td-confirm-overlay.is-open{opacity:1;visibility:visible}
.td-confirm-dialog{width:min(392px,calc(100vw - 36px));background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:22px;transform:translateY(8px) scale(.985);transition:.16s ease}
.td-confirm-overlay.is-open .td-confirm-dialog{transform:none}
.td-confirm-dialog h3{margin:0 0 8px;color:#172033;font-size:16px;font-weight:800}
.td-confirm-dialog p{margin:0;color:#64748b;font-size:14px;line-height:1.55}
.td-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
.td-confirm-cancel,.td-confirm-ok{border:0;border-radius:9px;padding:10px 15px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.td-confirm-cancel{background:#eef2f7;color:#334155} .td-confirm-cancel:hover{background:#e2e8f0}
.td-confirm-ok{background:#2563eb;color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.22)} .td-confirm-ok:hover{background:#1d4ed8}
body.td-modal-open{overflow:hidden}

/* Timesheet + My Projects UX refresh */
.timesheet-add-card{padding:24px}
.timesheet-add-card .section-head,.project-table-card .section-head,.time-table-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.timesheet-add-card h3,.time-table-toolbar h3,.project-table-card h3{margin:0 0 5px}
.timesheet-add-card .field{margin-top:14px}
.timesheet-save-actions{margin-top:20px!important;padding-top:2px}
.time-window-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#2456b8;font-size:12px;font-weight:800;white-space:nowrap}
.time-table-card{padding:0;overflow:hidden}
.time-table-toolbar{padding:20px 20px 16px;border-bottom:1px solid #e6ebf2}
.time-filter-form,.project-detail-filter{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.time-filter-form .field,.project-detail-filter .field{min-width:135px;margin:0}
.time-filter-form label,.project-detail-filter label{font-size:11px}
.filter-actions{display:flex;gap:8px;align-items:center}
.compact-btn{padding:7px 10px!important}
.project-time-link,.project-name-link{color:#174ea6;font-weight:800;text-decoration:none}
.project-time-link:hover,.project-name-link:hover{text-decoration:underline}
.interactive-table tbody tr,.interactive-table tr{transition:background .15s ease,transform .15s ease}
.interactive-table tr:not(:first-child):hover{background:#f6f9ff}
.empty-row{padding:28px!important;text-align:center}

.projects-hero,.project-detail-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 32px;margin-bottom:18px;border-radius:22px;background:linear-gradient(135deg,#102e6d 0%,#174ea6 58%,#6557d9 100%);color:white;box-shadow:0 18px 45px rgba(23,78,166,.18)}
.projects-hero:after,.project-detail-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;background:rgba(255,255,255,.08)}
.projects-hero h2,.project-detail-hero h2{margin:8px 0;font-size:30px;color:#fff}
.projects-hero p,.project-detail-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.8)}
.project-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:inherit;opacity:.8}
.projects-hero-orb,.project-total-orb{position:relative;z-index:2;min-width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px)}
.projects-hero-orb span,.project-total-orb span{font-size:30px;font-weight:900}.projects-hero-orb small,.project-total-orb small{opacity:.75}
.project-stats,.project-detail-stats{margin-bottom:18px}
.project-table-card{padding:20px}
.project-row td{padding-top:15px!important;padding-bottom:15px!important}
.project-name-link{display:flex;align-items:center;gap:11px;color:#172033}
.project-name-link small{display:block;color:#64748b;font-size:11px;font-weight:600;margin-top:3px}
.project-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 0 0 5px rgba(37,99,235,.08)}
.hours-cell{min-width:130px}.hours-cell .progress{margin-top:7px}
.back-link{display:inline-block;color:#fff;text-decoration:none;font-weight:750;font-size:12px;margin-bottom:16px;opacity:.85}
.project-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:rgba(255,255,255,.82)}
.project-detail-grid{margin-bottom:18px}
.project-insight-card{background:linear-gradient(145deg,#fff,#f7f9ff)}
.insight-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e7ebf2}
.insight-row:last-child{border-bottom:0}
.small-value{font-size:26px!important}
.project-time-history{padding:0;overflow:hidden}
.project-time-history .scroll{padding:0 18px 18px}
@media(max-width:900px){.time-table-toolbar,.timesheet-add-card .section-head,.projects-hero,.project-detail-hero{flex-direction:column;align-items:flex-start}.project-total-orb,.projects-hero-orb{min-width:100px;width:100px;height:100px}.time-filter-form,.project-detail-filter{width:100%}.time-filter-form .field,.project-detail-filter .field{flex:1 1 140px}}


/* Project hero cleanup: Sept 2026 */
.project-back-button{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  width:max-content;
  margin:0 0 18px!important;
  padding:9px 14px;
  border-radius:10px;
  background:#fff1dc;
  border:1px solid rgba(234,145,45,.45);
  color:#9a4f08!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1;
  text-decoration:none!important;
  box-shadow:0 5px 15px rgba(109,63,12,.10);
  opacity:1!important;
  transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
.project-back-button:hover{
  background:#ffe7c2;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(109,63,12,.15);
}
.project-back-button:focus-visible{
  outline:3px solid rgba(255,190,92,.38);
  outline-offset:2px;
}
.project-client-kicker{
  display:block;
  margin:0 0 7px;
}
.projects-hero h2{
  margin-top:0!important;
}

/* Dashboard header cleanup - corrected patch */
.dashboard-hero{
  position:relative;
  padding-top:68px!important;
}
.dashboard-hero-userpill{
  position:absolute;
  top:20px;
  right:22px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 11px 7px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(15,23,42,.16);
  color:#172033;
  font-size:12px;
  font-weight:800;
  backdrop-filter:blur(8px);
}
.dashboard-hero-userpill .user-avatar{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#5264e8,#7c3aed);
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.dashboard-hero-userpill a{
  color:#2456c4;
  text-decoration:none;
  font-weight:850;
}
.dashboard-hero-userpill a:hover{
  text-decoration:underline;
}
@media(max-width:760px){
  .dashboard-hero{
    padding-top:84px!important;
  }
  .dashboard-hero-userpill{
    left:18px;
    right:auto;
    top:18px;
    max-width:calc(100% - 36px);
  }
}

/* ===== IMSCO CUSTOMER THEME ===== */
:root{--imsco-orange:#E87512;--imsco-orange-dark:#C95D08;--imsco-green:#5A8D3A;--imsco-green-dark:#3E6D25;--imsco-cream:#FFF9F2}
.side{background:linear-gradient(180deg,#fff 0%,#fffaf5 55%,#f6fbf2 100%)!important;border-right:1px solid #eadfd4!important}
.brand img{max-width:190px!important;height:auto!important;background:#fff;border-radius:12px;padding:5px}
.nav a:hover,.nav a.active{background:rgba(232,117,18,.11)!important;color:var(--imsco-orange-dark)!important}
.btn,.login-submit{background:linear-gradient(135deg,var(--imsco-orange),#F49A38)!important;border-color:transparent!important;color:#fff!important}
.btn.alt{background:#fff!important;color:var(--imsco-green-dark)!important;border:1px solid rgba(90,141,58,.3)!important}
.btn.danger{background:#fff5f0!important;color:#b64810!important;border:1px solid #ffd6c4!important}
.hero.imsco-hero,.appraisal-hero{background:linear-gradient(125deg,#3e6d25 0%,#5a8d3a 45%,#e87512 145%)!important}
.hero-chip{border-color:rgba(255,255,255,.28)!important}
.stat-icon{background:rgba(232,117,18,.11)!important;color:var(--imsco-orange)!important}
.badge.ok{background:#edf8e8!important;color:#3e6d25!important}
.score-pill{background:#fff2e5!important;color:#c95d08!important}
a{color:var(--imsco-green-dark)}
.login-visual{background:linear-gradient(145deg,#375f22,#5a8d3a 55%,#e87512 150%)!important}
.login-logo{background:#fff;border-radius:16px;padding:10px;max-width:250px!important}
.login-kicker,.login-eyebrow{color:var(--imsco-orange)!important}
.pipeline-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.pipeline-kpis>div{padding:18px;border:1px solid #eee1d5;border-radius:16px;background:#fffaf5}.pipeline-kpis b{display:block;font-size:30px;color:var(--imsco-orange)}.pipeline-kpis span{font-size:12px;color:#64748b}.recruitment-actions{margin:18px 0}.disabled-row{opacity:.55}.comment-cell{max-width:360px}
textarea{min-height:90px;resize:vertical}

/* ===== IMSCO SIDEBAR VISIBILITY FIX v1.3 ===== */
.side .nav a,
.side nav a,
.nav a {
  color:#374151 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.side .nav a:hover,
.side .nav a.active,
.side nav a:hover,
.side nav a.active,
.nav a:hover,
.nav a.active {
  background:rgba(232,117,18,.13) !important;
  color:#C95D08 !important;
}
.side .brand,
.side .brand *,
.side .muted,
.side small {
  opacity:1 !important;
}

/* ===== IMSCO v1.6 admin / recruitment / form polish ===== */
.card form { margin-top:16px; }
.card .field { margin-bottom:16px; }
.card textarea { margin-bottom:16px; }
.card form > button,
.card form > .btn,
.card .actions { margin-top:16px; }
.card table form { margin-top:0 !important; }
.card table form button,
.card table form .btn { margin-top:0 !important; }
.card textarea + button,
.card textarea + .btn { margin-top:18px !important; }

.side .nav a[href*="/recruitment/jobs"],
.side .nav a[href*="/recruitment/candidates"],
.side .nav a[href*="/recruitment/interviews"] {
  padding-left:34px !important;
  font-size:13px !important;
}

.setup-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin:18px 0;
}
.setup-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  text-decoration:none;
  color:#1f2937;
}
.setup-card span { color:#6b7280; font-size:13px; line-height:1.4; }

.lookup-create {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;
  gap:16px 18px;
  align-items:end;
}
.lookup-create .field { margin-bottom:0; }
.lookup-create-action { display:flex; align-items:flex-end; min-height:44px; }
.lookup-create-action .btn { margin-top:0 !important; }

@media(max-width:800px) {
  .lookup-create { grid-template-columns:1fr; }
}


/* ===== IMSCO v1.6 admin / recruitment / form polish ===== */
.card form { margin-top:16px; }
.card .field { margin-bottom:16px; }
.card textarea { margin-bottom:16px; }
.card form > button,
.card form > .btn,
.card .actions { margin-top:16px; }
.card table form { margin-top:0 !important; }
.card table form button,
.card table form .btn { margin-top:0 !important; }
.card textarea + button,
.card textarea + .btn { margin-top:18px !important; }

.side .nav a[href*="/recruitment/jobs"],
.side .nav a[href*="/recruitment/candidates"],
.side .nav a[href*="/recruitment/interviews"] {
  padding-left:34px !important;
  font-size:13px !important;
}

.setup-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin:18px 0;
}
.setup-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  text-decoration:none;
  color:#1f2937;
}
.setup-card span { color:#6b7280; font-size:13px; line-height:1.4; }

.lookup-create {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;
  gap:16px 18px;
  align-items:end;
}
.lookup-create .field { margin-bottom:0; }
.lookup-create-action { display:flex; align-items:flex-end; min-height:44px; }
.lookup-create-action .btn { margin-top:0 !important; }

@media(max-width:800px) {
  .lookup-create { grid-template-columns:1fr; }
}


/* ===== IMSCO v1.8 profile cards + dashboard flow ===== */
.ops-grid { margin-bottom:10px; }
.ops-card { min-height:190px; display:flex; flex-direction:column; }
.ops-card p { flex:1; }
.ops-icon {
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(232,117,18,.10);
  font-size:20px;margin-bottom:12px;
}
.performance-card { min-height:210px; }

.profile-card-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}
.profile-section { margin-bottom:0 !important; }
.profile-section h3 { margin-top:4px; }
.card-kicker {
  font-size:11px;font-weight:800;letter-spacing:.13em;
  color:#E87512;margin-bottom:4px;
}
.employee-edit-form > .employee-save-card {
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;margin-top:0;margin-bottom:18px;
}
.employee-save-card p { margin:4px 0 0; }

.manager-check-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin-top:8px;
}
.manager-check {
  display:flex;align-items:center;gap:8px;
  padding:9px 10px;border:1px solid rgba(148,163,184,.22);
  border-radius:10px;background:rgba(248,250,252,.65);
  font-weight:500 !important;
}
.manager-check input { width:auto !important;margin:0; }

.self-service-card { margin-top:0; }
.access-summary {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;margin:12px 0 18px;
}
.access-summary > div {
  padding:13px 14px;border-radius:12px;
  background:rgba(248,250,252,.9);
  border:1px solid rgba(148,163,184,.18);
}
.access-summary span {
  display:block;font-size:11px;color:#64748b;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;
}
.access-summary b { font-size:14px; }

@media(max-width:950px) {
  .profile-card-grid { grid-template-columns:1fr; }
  .manager-check-grid { grid-template-columns:1fr; }
  .access-summary { grid-template-columns:1fr; }
  .employee-edit-form > .employee-save-card {
    align-items:flex-start;flex-direction:column;
  }
}


/* ===== IMSCO v1.9 leave workflow + admin navigation ===== */
.leave-comments { display:grid; gap:12px; margin:14px 0 18px; }
.leave-comment {
  border:1px solid rgba(148,163,184,.18);
  background:rgba(248,250,252,.86);
  border-radius:12px;
  padding:12px 14px;
}
.leave-comment > div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.leave-comment span { color:#64748b; font-size:12px; }
.leave-comment p { margin:0; line-height:1.5; }
.leave-decision-card { margin-top:18px; }
.page-back-row {
  display:flex;
  gap:10px;
  margin:0 0 16px;
  flex-wrap:wrap;
}


/* ===== IMSCO v1.10 table alignment + appraisal polish ===== */

/* Keep every operational table visually aligned. */
.card table th,
.card table td {
  vertical-align:middle !important;
}
.card table td .actions,
.card table td > .actions {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap;
  margin:0 !important;
}
.card table td form {
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}
.card table td .btn,
.card table td button.btn,
.card table td a.btn {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  line-height:1.1;
}
.card table td p,
.card table td .muted {
  margin-top:3px;
  margin-bottom:3px;
}

/* Leave request review: information card is informational for reviewers. */
.leave-decision-card .actions { align-items:center; }

/* Appraisal workflow */
.appraisal-table td { min-width:150px; }
.appraisal-table td:first-child { min-width:210px; }
.appraisal-table select { min-width:82px; }
.appraisal-table textarea {
  min-height:70px;
  margin-top:8px;
  width:100%;
}
.appraisal-table td { vertical-align:top !important; }


/* ===== IMSCO v1.11 exact branding + collapsible navigation ===== */
.brand img,
.login-logo {
  object-fit:contain !important;
}

.brand img {
  width:164px !important;
  max-width:100% !important;
  height:auto !important;
  background:#fff;
}

.login-logo {
  width:min(360px,82%) !important;
  height:auto !important;
  max-height:none !important;
}

.nav-group {
  margin:0;
  padding:0;
}

.nav-group > summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  color:#1f2937;
  font-weight:700;
  user-select:none;
}

.nav-group > summary::-webkit-details-marker {
  display:none;
}

.nav-group > summary:hover,
.nav-group[open] > summary {
  background:rgba(232,117,18,.08);
  color:#b45309;
}

.nav-chevron {
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}

.nav-group[open] .nav-chevron {
  transform:rotate(90deg);
}

.nav-submenu {
  display:grid;
  gap:2px;
  padding:2px 0 6px 10px;
}

.nav a.nav-child {
  padding-left:24px !important;
  font-size:13px !important;
  font-weight:600 !important;
  position:relative;
}

.nav a.nav-child::before {
  content:"↳";
  position:absolute;
  left:9px;
  color:#E87512;
}


/* ===== IMSCO v1.12 tagline visibility ===== */
/* Keep People • Performance • Growth clearly readable below the IMSCO logo. */
.brand-sub,
.brand-tagline,
.side .brand-sub,
.side .brand-tagline,
.side .muted {
    color: #4b5563 !important;
    opacity: 1 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    letter-spacing: .035em !important;
    line-height: 1.4 !important;
    text-shadow: none !important;
}

/* ===== IMSCO v1.13 tagline visibility + login branding cleanup ===== */
.side .suite-label,
.suite-label {
  color:#4b5563 !important;
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.025em !important;
  line-height:1.35 !important;
  margin-top:8px !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-shadow:none !important;
}


/* IMSCO_PHASE4_NAV_UNIFORMITY */
.side .nav > a,
.side .nav > .nav-group > summary {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  min-height: 42px;
  padding: 11px 14px !important;
  margin: 2px 0 !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.side .nav .nav-submenu a,
.side .nav a.nav-child {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  min-height: 38px;
  padding: 9px 14px 9px 28px !important;
  margin: 1px 0 !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.side .nav .nav-chevron { margin-left:auto; font-size:16px !important; }

/* ==========================================================
   IMSCO_PHASE4_1_UI_POLISH
   1. Uniform top-level navigation
   2. Better attendance status/button alignment
   3. More breathing room between hero chip and heading
   ========================================================== */

/* ---------- TOP LEVEL SIDEBAR UNIFORMITY ---------- */

.side .nav > a,
.side .nav > details.nav-group > summary,
.side .nav > .nav-group > summary {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 42px !important;
    padding: 11px 14px !important;
    margin: 2px 0 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-indent: 0 !important;
}

.side .nav > details.nav-group {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.side .nav > details.nav-group > summary {
    list-style: none !important;
    cursor: pointer;
}

.side .nav > details.nav-group > summary::-webkit-details-marker {
    display: none !important;
}

/* Only genuine submenu items are smaller/indented */
.side .nav .nav-submenu {
    margin: 0 !important;
    padding: 0 !important;
}

.side .nav .nav-submenu > a,
.side .nav .nav-submenu a.nav-child {
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    min-height: 38px !important;
    padding: 9px 14px 9px 28px !important;
    margin: 1px 0 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.side .nav > details.nav-group > summary .nav-chevron {
    margin-left: auto !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.side .nav > a {
    margin-left: 0 !important;
    padding-left: 14px !important;
}


/* ---------- HERO CHIP / HEADING SPACING ---------- */

/* Applies to Attendance, Appraisals and other IMSCO hero panels */
.imsco-hero .hero-chip,
.hero .hero-chip {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-bottom: 14px !important;
}

.imsco-hero h2,
.hero h2 {
    margin-top: 0 !important;
}

/* Prevent adjacent text from visually touching the chip */
.imsco-hero .hero-chip + h2,
.hero .hero-chip + h2 {
    margin-top: 0 !important;
}


/* ---------- ATTENDANCE STATUS / ACTION POLISH ---------- */

.card .actions {
    align-items: center !important;
    gap: 12px !important;
}

/* Specifically improve the "Checked in 05:06 PM" status badge */
.card .actions > .badge.ok,
.card .actions .badge.ok {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 9px 14px !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

/* If a small wrapper div exists around the status, keep it compact */
.card .actions > div {
    display: flex !important;
    align-items: center !important;
}

/* Make attendance action buttons align visually with status pill */
.card .actions form {
    margin: 0 !important;
}

.card .actions form .btn,
.card .actions > .btn {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Avoid oversized circular/puffy status appearance inherited elsewhere */
.card .badge.ok {
    max-width: max-content !important;
}

/* Mobile / narrow widths */
@media (max-width: 760px) {
    .card .actions {
        flex-wrap: wrap !important;
    }

    .imsco-hero .hero-chip,
    .hero .hero-chip {
        margin-bottom: 12px !important;
    }
}

/* ==========================================================
   IMSCO_PHASE4_1_FINAL_UI
   Final pass:
   - Exact top-level menu alignment
   - Only true submenu items indented
   - Compact Attendance state badges
   - Clean hero title spacing after removing IMSCO identifiers
   ========================================================== */

/* ---------- EXACT TOP-LEVEL SIDEBAR ALIGNMENT ---------- */

.layout .side .nav {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.layout .side .nav > a,
.layout .side .nav > details.nav-group > summary,
.layout .side .nav > .nav-group > summary {
    margin: 2px 0 !important;
    padding: 11px 14px !important;
    min-height: 42px !important;
    width: 100% !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    text-indent: 0 !important;
    transform: none !important;
}

.layout .side .nav > details.nav-group {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.layout .side .nav > details.nav-group > summary {
    list-style: none !important;
    list-style-position: outside !important;
    cursor: pointer !important;
}

.layout .side .nav > details.nav-group > summary::marker {
    content: "" !important;
    font-size: 0 !important;
}

.layout .side .nav > details.nav-group > summary::-webkit-details-marker {
    display: none !important;
}

/* Only actual submenu children are indented. */
.layout .side .nav .nav-submenu {
    margin: 0 !important;
    padding: 0 !important;
}

.layout .side .nav .nav-submenu > a,
.layout .side .nav .nav-submenu a.nav-child {
    margin: 1px 0 !important;
    padding: 9px 14px 9px 28px !important;
    min-height: 38px !important;
    width: 100% !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.layout .side .nav > details.nav-group > summary .nav-chevron,
.layout .side .nav > .nav-group > summary .nav-chevron {
    margin-left: auto !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* ---------- ATTENDANCE STATE ---------- */

.attendance-state {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 7px 12px !important;

    border-radius: 999px !important;
    background: #eaf7df !important;
    border: 1px solid #cfe7bf !important;

    color: #2f6c1f !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;

    box-sizing: border-box !important;
}

.attendance-state.attendance-complete {
    background: #e8f3ff !important;
    border-color: #c8dcf4 !important;
    color: #245ca6 !important;
}

/* Align state and action cleanly */
.card .actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.card .actions form {
    margin: 0 !important;
}

.card .actions .btn {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ---------- HERO CLEANUP ---------- */

/* With identifier chips removed, headings should sit naturally. */
.imsco-hero h2,
.hero h2 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.imsco-hero p,
.hero p {
    margin-top: 0 !important;
}

/* Date/meta chips remain separated from title/body */
.imsco-hero .hero-meta,
.hero .hero-meta {
    margin-top: 16px !important;
}

@media (max-width: 760px) {
    .card .actions {
        flex-wrap: wrap !important;
    }
}

/* ==========================================================
   IMSCO_PHASE4_1_2_LEVEL1_MENU_ALIGNMENT

   LEVEL 1:
   Dashboard
   My Profile
   Workforce
   Attendance
   Timesheets
   Leave
   Appraisals
   Recruitment
   Payroll
   Reports
   Notifications
   Audit
   Admin Setup

   Expandable groups must visually start at the exact same
   left edge as direct level-1 links.
   ========================================================== */

/* All direct level-1 links */
.layout .side .nav > a {
    position: relative !important;
    left: 0 !important;
    margin-left: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 42px !important;

    display: flex !important;
    align-items: center !important;
}

/*
   Existing stylesheet/browser details behaviour is pulling
   expandable headings about 14px left. Force them back onto
   the same visual column as direct level-1 links.
*/
.layout .side .nav > details.nav-group > summary,
.layout .side .nav > .nav-group > summary {
    position: relative !important;
    left: 14px !important;
    margin-left: 0 !important;
    margin-right: 14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    width: calc(100% - 14px) !important;
    box-sizing: border-box !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 42px !important;

    display: flex !important;
    align-items: center !important;

    list-style: none !important;
    text-indent: 0 !important;
}

.layout .side .nav > details.nav-group > summary::marker,
.layout .side .nav > .nav-group > summary::marker {
    content: "" !important;
    font-size: 0 !important;
}

.layout .side .nav > details.nav-group > summary::-webkit-details-marker,
.layout .side .nav > .nav-group > summary::-webkit-details-marker {
    display: none !important;
}

/* Keep the group container itself neutral */
.layout .side .nav > details.nav-group,
.layout .side .nav > .nav-group {
    margin-left: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
}

/* Only real submenu items are indented */
.layout .side .nav .nav-submenu > a,
.layout .side .nav .nav-submenu a.nav-child {
    position: relative !important;
    left: 0 !important;
    margin-left: 0 !important;
    padding-left: 32px !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    min-height: 38px !important;
}

/* Chevron remains right-aligned */
.layout .side .nav > details.nav-group > summary .nav-chevron,
.layout .side .nav > .nav-group > summary .nav-chevron {
    margin-left: auto !important;
}

/* IMSCO_LEVEL1_MENU_FINAL_NUDGE
   Expandable Level 1 headings need a tiny extra inset to
   visually match direct Level 1 links exactly.
*/

.layout .side .nav > a {
    left: 0 !important;
    margin-left: 0 !important;
    padding-left: 14px !important;
}

.layout .side .nav > details.nav-group > summary,
.layout .side .nav > .nav-group > summary {
    left: 0 !important;
    margin-left: 0 !important;
    padding-left: 18px !important;
    padding-right: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Keep only true submenu children visibly indented */
.layout .side .nav .nav-submenu > a,
.layout .side .nav .nav-submenu a.nav-child {
    padding-left: 32px !important;
}

/* IMSCO_NAV_PIXEL_ALIGN_FINAL
   Direct and expandable LEVEL 1 labels use one explicit
   text start position. Submenu children remain indented.
*/

.layout .side .nav > a,
.layout .side .nav > details.nav-group > summary,
.layout .side .nav > .nav-group > summary {
    position: relative !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 42px !important;

    display: flex !important;
    align-items: center !important;
    text-indent: 0 !important;
}

/* Neutralize native details/summary indentation */
.layout .side .nav > details.nav-group,
.layout .side .nav > .nav-group {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.layout .side .nav > details.nav-group > summary,
.layout .side .nav > .nav-group > summary {
    list-style: none !important;
}

.layout .side .nav > details.nav-group > summary::marker,
.layout .side .nav > .nav-group > summary::marker {
    content: "" !important;
    font-size: 0 !important;
}

.layout .side .nav > details.nav-group > summary::-webkit-details-marker,
.layout .side .nav > .nav-group > summary::-webkit-details-marker {
    display: none !important;
}

/* Chevron does not affect the label start position */
.layout .side .nav > details.nav-group > summary .nav-chevron,
.layout .side .nav > .nav-group > summary .nav-chevron {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

/* LEVEL 2 only */
.layout .side .nav .nav-submenu > a,
.layout .side .nav .nav-submenu a.nav-child {
    left: 0 !important;
    margin-left: 0 !important;
    padding-left: 36px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* IMSCO PHASE 6 */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:18px}
.hub-card-link{text-decoration:none;color:inherit;display:block}
.hub-card{height:100%;border:1px solid rgba(148,163,184,.18);border-radius:20px;padding:20px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,250,252,.94));box-shadow:0 10px 30px rgba(15,23,42,.07);display:flex;gap:16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.hub-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.12);border-color:rgba(59,130,246,.28)}
.hub-icon{width:48px;height:48px;min-width:48px;border-radius:15px;display:grid;place-items:center;background:rgba(15,23,42,.06);font-size:23px}
.hub-card-main{min-width:0;flex:1}.hub-card-title{font-size:14px;font-weight:800;letter-spacing:.02em}
.hub-card-metric{font-size:31px;font-weight:800;line-height:1.05;margin-top:8px}.hub-card-sub{font-size:13px;opacity:.7;margin-top:6px;min-height:32px}
.hub-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.hub-mini span{display:flex;gap:5px;align-items:baseline;padding:6px 9px;border-radius:10px;background:rgba(15,23,42,.05)}
.hub-mini b{font-size:13px}.hub-mini small{font-size:10px;opacity:.65;text-transform:uppercase;letter-spacing:.05em}.hub-action{display:inline-block;margin-top:15px;font-size:12px;font-weight:800}
.directory-search{display:flex;gap:10px;flex-wrap:wrap}.directory-search input{flex:1;min-width:240px}
.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;margin-top:18px}
.directory-card{border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:20px;background:var(--card,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.directory-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.08);font-weight:800;margin-bottom:12px}
.directory-name{font-weight:800;font-size:16px}.directory-role{font-size:13px;margin-top:4px}.directory-dept{font-size:12px;opacity:.65;margin-top:3px}
.directory-contact{display:flex;flex-direction:column;gap:3px;margin-top:13px;font-size:12px}
.announcement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:18px}
.announcement-card{border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:20px;background:var(--card,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.announcement-card h3{margin:12px 0 8px}.announcement-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;opacity:.8}
.announcement-body{font-size:13px;line-height:1.6;margin-bottom:12px}
@media(max-width:700px){.hub-grid,.directory-grid,.announcement-grid{grid-template-columns:1fr}}

/* =========================================================
   IMSCO EMPLOYEE DASHBOARD MENU CARDS
   ========================================================= */
.employee-menu-section{
  margin-top:26px;
}
.employee-menu-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:14px;
}
.employee-menu-heading h2{
  margin:0;
  font-size:21px;
  font-weight:800;
}
.employee-menu-heading p{
  margin:4px 0 0;
  font-size:13px;
  opacity:.68;
}
.employee-menu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:16px;
}
.employee-menu-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:225px;
  padding:19px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.18);
  background:
    radial-gradient(circle at 100% 0%,rgba(59,130,246,.10),transparent 36%),
    linear-gradient(150deg,rgba(255,255,255,.99),rgba(248,250,252,.96));
  color:inherit;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(15,23,42,.07);
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.employee-menu-card:hover{
  transform:translateY(-3px);
  border-color:rgba(249,115,22,.35);
  box-shadow:0 16px 38px rgba(15,23,42,.12);
}
.employee-menu-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.employee-menu-icon{
  width:43px;
  height:43px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:20px;
  background:rgba(249,115,22,.10);
}
.employee-menu-arrow{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(15,23,42,.05);
  font-weight:800;
}
.employee-menu-title{
  margin-top:15px;
  font-size:14px;
  font-weight:800;
}
.employee-menu-metric{
  margin-top:5px;
  font-size:29px;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.02em;
}
.employee-menu-label{
  margin-top:4px;
  font-size:12px;
  opacity:.62;
}
.employee-menu-subs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.employee-menu-subs span{
  display:flex;
  align-items:baseline;
  gap:5px;
  padding:6px 8px;
  border-radius:9px;
  background:rgba(15,23,42,.05);
}
.employee-menu-subs b{font-size:12px}
.employee-menu-subs small{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
  opacity:.62;
}
.employee-menu-open{
  margin-top:auto;
  padding-top:15px;
  font-size:11px;
  font-weight:800;
  color:#ea6c00;
}
@media(max-width:700px){
  .employee-menu-grid{grid-template-columns:1fr}
}

/* =========================================================
   IMSCO ATTENDANCE STATUS / CHECKOUT ALIGNMENT
   ========================================================= */
.attendance-state{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 12px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
  margin:0 !important;
}
.attendance-state + form{
  display:inline-flex !important;
  align-items:center !important;
  vertical-align:middle !important;
  margin:0 0 0 8px !important;
}
.attendance-state + form .btn,
.attendance-state + form button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 14px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  vertical-align:middle !important;
}


/* =========================================================
   IMSCO UI POLISH SAFE
   Rounded nested tables + appraisal workflow
   ========================================================= */

/* Make the inner table visually follow the rounded parent card. */
.card table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.card.scroll,
.card:has(table) {
  overflow: hidden !important;
}

/* Round the actual visible table edges. */
.card table tr:first-child > th:first-child,
.card table tr:first-child > td:first-child {
  border-top-left-radius: 14px !important;
}
.card table tr:first-child > th:last-child,
.card table tr:first-child > td:last-child {
  border-top-right-radius: 14px !important;
}
.card table tr:last-child > td:first-child,
.card table tr:last-child > th:first-child {
  border-bottom-left-radius: 14px !important;
}
.card table tr:last-child > td:last-child,
.card table tr:last-child > th:last-child {
  border-bottom-right-radius: 14px !important;
}

/* Appraisal workflow */
.appraisal-flow{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin-top:18px;
  width:100%;
}
.appraisal-flow-step{
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 13px;
  border-radius:14px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.27);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.appraisal-flow-num{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.20);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.appraisal-flow-step b{
  display:block;
  color:#fff;
  font-size:12px;
  line-height:1.25;
  margin:1px 0 3px;
}
.appraisal-flow-step span{
  display:block;
  color:rgba(255,255,255,.82);
  font-size:10px;
  line-height:1.4;
}
.appraisal-flow-arrow{
  display:flex;
  align-items:center;
  color:rgba(255,255,255,.85);
  font-size:18px;
  font-weight:800;
}

@media(max-width:1000px){
  .appraisal-flow{flex-wrap:wrap}
  .appraisal-flow-step{flex:1 1 calc(50% - 20px)}
  .appraisal-flow-arrow{display:none}
}
@media(max-width:650px){
  .appraisal-flow-step{flex:1 1 100%}
}

/* =========================================================
   IMSCO TIMESHEET TABLE ROUNDING FIX
   Force visible table surface to follow rounded container.
   ========================================================= */

/* Common wrappers used around tables */
.card .scroll,
.card .table-wrap,
.card .table-responsive,
.card .responsive-table,
.card .timesheet-table,
.card .timesheet-table-wrap {
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* Any table inside a rounded card */
.card table,
.card .scroll table,
.card .table-wrap table,
.card .table-responsive table,
.card .responsive-table table,
.card .timesheet-table table,
.card .timesheet-table-wrap table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 14px) !important;
}

/* Header corners */
.card table thead tr:first-child th:first-child {
  border-top-left-radius: 14px !important;
}
.card table thead tr:first-child th:last-child {
  border-top-right-radius: 14px !important;
}

/* Bottom corners */
.card table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 14px !important;
}
.card table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 14px !important;
}

/* If the table has no tbody rows, keep the header rounded */
.card table thead tr:last-child th:first-child {
  border-bottom-left-radius: 14px;
}
.card table thead tr:last-child th:last-child {
  border-bottom-right-radius: 14px;
}

/* Keep the surrounding white card from exposing square table edges */
.card:has(table) {
  overflow: hidden !important;
}

/* =========================================================
   IMSCO VISIBLE TABLE ROUNDING
   Give tables their own visible rounded surface instead of
   relying on the parent card's radius.
   ========================================================= */

.card table {
  width: calc(100% - 24px) !important;
  margin: 0 12px 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(15,23,42,.035) !important;
}

/* Header corners */
.card table thead tr:first-child th:first-child {
  border-top-left-radius: 13px !important;
}
.card table thead tr:first-child th:last-child {
  border-top-right-radius: 13px !important;
}

/* Bottom corners */
.card table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 13px !important;
}
.card table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 13px !important;
}

/* Empty-table state still gets rounded bottom corners */
.card table tbody tr:only-child td:first-child {
  border-bottom-left-radius: 13px !important;
}
.card table tbody tr:only-child td:last-child {
  border-bottom-right-radius: 13px !important;
}

/* Prevent square wrapper backgrounds from visually covering corners */
.card .scroll,
.card .table-wrap,
.card .table-responsive,
.card .responsive-table {
  background: transparent !important;
  overflow: visible !important;
}

/* Timesheet filters sit above the table, so keep breathing room */
.card table + * {
  margin-top: 0 !important;
}

/* =========================================================
   IMSCO TABLE TOP LINE FIX
   Remove the unnecessary top rule introduced by the visible
   rounded-table treatment while preserving rounded corners.
   ========================================================= */

.card table {
  border-top: 0 !important;
}

/* Keep the top of the header clean with no inherited rule */
.card table thead,
.card table thead tr,
.card table thead th {
  border-top: 0 !important;
}

/* Preserve the visible rounded top corners through the header */
.card table thead tr:first-child th:first-child {
  border-top-left-radius: 14px !important;
}
.card table thead tr:first-child th:last-child {
  border-top-right-radius: 14px !important;
}

/* =========================================================
   IMSCO TABLE SEPARATOR LINE FIX
   The visible line above some tables is coming from the
   filter/toolbar wrapper, not from the table border itself.
   ========================================================= */

/* Direct wrapper immediately before a table */
.card:has(table) > div:has(+ table),
.card:has(table) > form:has(+ table) {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Common filter / toolbar wrappers above tables */
.card .filters,
.card .filterbar,
.card .filter-bar,
.card .table-filters,
.card .table-toolbar,
.card .toolbar,
.card .actions-row {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Also ensure the table itself contributes no top rule */
.card table,
.card table thead,
.card table thead tr,
.card table thead th {
  border-top: 0 !important;
}

/* Remove only horizontal rules that sit directly before a table */
.card hr:has(+ table) {
  display: none !important;
}

/* =========================================================
   IMSCO HEADERS + LEAVE + LOGOUT ROLLUP
   ========================================================= */

/* The hero itself is the page header. */
.imsco-hero{
  position:relative !important;
  margin-top:0 !important;
  margin-bottom:16px !important;
  padding-right:220px !important;
}

.imsco-hero-copy{
  width:100%;
}

/* Signed-in pill now lives inside the hero card. */
.imsco-hero-user-pill{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
}

/* Preserve existing pill appearance while making it sit cleanly in the hero. */
.imsco-hero-user-pill > *{
  margin:0 !important;
}

/* Leave uses the same workflow language as Appraisals. */
.leave-flow{
  margin-top:18px !important;
}

@media(max-width:900px){
  .imsco-hero{
    padding-right:22px !important;
    padding-top:72px !important;
  }
  .imsco-hero-user-pill{
    top:16px;
    left:18px;
    right:auto;
  }
}

/* =========================================================
   IMSCO HERO WIDTH + USER PILL FIX
   ========================================================= */

/* Every page hero should span the same available content width. */
main > .imsco-hero,
.content > .imsco-hero,
.page-content > .imsco-hero,
.imsco-hero {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  align-self: stretch !important;
}

/* Undo older hero width constraints that can make Profile/Timesheets narrow. */
.imsco-rollup-hero,
.imsco-auto-hero,
.leave-hero {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep the login/logout pill readable against the white pill background. */
.imsco-hero-user-pill {
  color: #1f2937 !important;
}

.imsco-hero-user-pill *,
.imsco-hero-user-pill span,
.imsco-hero-user-pill strong,
.imsco-hero-user-pill b {
  color: #1f2937 !important;
  text-shadow: none !important;
}

.imsco-hero-user-pill a {
  color: #0b57d0 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Preserve white initials in the colored avatar circle. */
.imsco-hero-user-pill [class*="avatar"],
.imsco-hero-user-pill [class*="initial"],
.imsco-hero-user-pill [class*="badge"] {
  color: #fff !important;
}

/* Make sure the pill itself stays a clean white/readable surface. */
.imsco-hero-user-pill > div,
.imsco-hero-user-pill > span {
  background: rgba(255,255,255,.96) !important;
}

/* Keep hero copy from being squeezed unnecessarily by the pill. */
.imsco-hero > div:not(.imsco-hero-user-pill),
.imsco-hero .imsco-hero-copy {
  width: 100% !important;
  max-width: none !important;
}

@media(max-width:900px){
  .imsco-hero {
    width: 100% !important;
    max-width: none !important;
  }
}

/* =========================================================
   IMSCO MODULES + THEMES
   ========================================================= */

/* Theme engine */
.imsco-hero{
  background:linear-gradient(115deg,var(--imsco-hero-1,#3f7f2d),var(--imsco-hero-2,#b78b19)) !important;
}
.btn:not(.alt),
button.btn:not(.alt){
  background:var(--imsco-accent,#ef7f1a) !important;
}
.side,
.sidebar{
  background:var(--imsco-sidebar,#fffdfa) !important;
}
.side a.active,
.sidebar a.active{
  background:var(--imsco-soft,#fff2e7) !important;
  color:var(--imsco-accent,#ef7f1a) !important;
}

/* Modules */
.module-lock,
.module-core,
.module-optional,
.module-on,
.module-off{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}
.module-lock{background:#eef2f7;color:#475569;margin-right:7px}
.module-core{background:#eef2f7;color:#475569}
.module-optional{background:#eaf3ff;color:#1d4ed8}
.module-on{background:#eaf7df;color:#2f6b17}
.module-off{background:#feecec;color:#b42318}
.module-toggle-form{margin:0}

/* Themes */
.theme-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.theme-card{
  display:block;
  text-align:left;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.2);
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.theme-card.selected{
  outline:2px solid var(--imsco-accent,#ef7f1a);
}
.theme-card h3{margin:13px 0 5px}
.theme-card p{min-height:38px;font-size:12px;opacity:.72}
.theme-preview{
  height:105px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18);
  background:#fff;
}
.theme-preview-hero{
  height:48px;
  background:linear-gradient(115deg,var(--p1),var(--p2));
}
.theme-preview-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px;
}
.theme-preview-row span{
  height:10px;
  flex:1;
  border-radius:999px;
  background:var(--ps);
}
.theme-preview-row b{
  width:36px;
  height:16px;
  border-radius:999px;
  background:var(--pa);
}
.appearance-profile-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
}

/* =========================================================
   IMSCO USERS HEADER + APPEARANCE VISIBILITY FIX
   ========================================================= */

.users-roles-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px 0 !important;
  box-sizing:border-box !important;
}

.imsco-appearance-nav{
  display:flex !important;
  align-items:center !important;
  min-height:42px !important;
  padding-left:18px !important;
  padding-right:14px !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

/* =========================================================
   IMSCO THEME NAVIGATION HIGHLIGHT FIX
   Make active sidebar state follow the selected user theme.
   ========================================================= */

.side .nav a.active,
.side .nav a[aria-current="page"],
.sidebar .nav a.active,
.sidebar .nav a[aria-current="page"],
.nav a.active,
.nav a[aria-current="page"] {
  background: var(--imsco-soft, #fff2e7) !important;
  color: var(--imsco-accent, #ef7f1a) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Keep text/icons inside the active item on-theme as well. */
.side .nav a.active *,
.side .nav a[aria-current="page"] *,
.nav a.active *,
.nav a[aria-current="page"] * {
  color: var(--imsco-accent, #ef7f1a) !important;
}

/* Theme-aware hover state without overpowering the active item. */
.side .nav a:not(.active):hover,
.sidebar .nav a:not(.active):hover,
.nav a:not(.active):hover {
  background: color-mix(in srgb, var(--imsco-soft, #fff2e7) 72%, white) !important;
  color: var(--imsco-accent, #ef7f1a) !important;
}

/* Common nav-child/current variants. */
.nav-child.active,
.nav-link.active,
.nav-group[open] > summary {
  color: var(--imsco-accent, #ef7f1a) !important;
}

/* =========================================================
   IMSCO THREE FIX ROLLUP
   Workforce click + dashboard onboarding + process flows
   ========================================================= */

/* Workforce Employees card */
[data-workforce-employees-card="1"],
.imsco-click-card[data-href="/employees"]{
  cursor:pointer !important;
  transition:transform .15s ease, box-shadow .15s ease !important;
}
[data-workforce-employees-card="1"]:hover,
.imsco-click-card[data-href="/employees"]:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.10) !important;
}

/* Admin dashboard Onboarding card */
.dashboard-onboarding-card{
  margin-bottom:18px !important;
}
.dashboard-onboarding-card .dash-icon{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  background:var(--imsco-soft,#fff2e7) !important;
  margin-bottom:12px !important;
}

/* Leave + Appraisal workflow */
.appraisal-flow,
.leave-flow{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100% !important;
  margin-top:22px !important;
}

.appraisal-flow-step{
  position:relative !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  min-height:118px !important;
  padding:16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-sizing:border-box !important;
}

.appraisal-flow-num{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.appraisal-flow-step > div:last-child{
  min-width:0 !important;
  flex:1 1 auto !important;
}

.appraisal-flow-step b{
  display:block !important;
  margin:1px 0 6px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

.appraisal-flow-step span{
  display:block !important;
  color:rgba(255,255,255,.90) !important;
  font-size:11px !important;
  line-height:1.4 !important;
}

.appraisal-flow-arrow{
  display:none !important;
}

/* Arrows visually sit between cards instead of consuming columns */
.appraisal-flow-step:not(:last-of-type)::after{
  content:"→" !important;
  position:absolute !important;
  right:-12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.95) !important;
  color:var(--imsco-accent,#ef7f1a) !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 2px 8px rgba(15,23,42,.12) !important;
  z-index:2 !important;
}

@media(max-width:1100px){
  .appraisal-flow,
  .leave-flow{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .appraisal-flow-step::after{
    display:none !important;
  }
}

@media(max-width:650px){
  .appraisal-flow,
  .leave-flow{
    grid-template-columns:1fr !important;
  }
  .appraisal-flow-step{
    min-height:auto !important;
  }
}


/* =========================================================
   IMSCO LEAVE FLOW ONLY FIX
   Restore Appraisals to its clean no-arrow layout.
   Give Leave its own full-width workflow layout.
   ========================================================= */

/* --- APPRAISALS: remove arrows introduced by later shared CSS --- */
.appraisal-flow:not(.leave-flow) .appraisal-flow-arrow{
  display:none !important;
}

.appraisal-flow:not(.leave-flow) .appraisal-flow-step::after{
  content:none !important;
  display:none !important;
}

/* --- LEAVE HERO: title first, workflow underneath --- */
.imsco-hero:has(.leave-flow){
  display:block !important;
  padding:28px 24px !important;
  min-height:0 !important;
}

.imsco-hero:has(.leave-flow) > div:not(.imsco-hero-user-pill){
  width:100% !important;
  max-width:none !important;
}

.imsco-hero:has(.leave-flow) .imsco-hero-copy{
  width:100% !important;
  max-width:none !important;
}

/* Leave workflow gets the full hero width */
.leave-flow{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  max-width:none !important;
  margin:22px 0 0 0 !important;
  align-items:stretch !important;
}

/* Remove both original and pseudo arrows from Leave.
   The numbered cards make the sequence clear and keep it clean. */
.leave-flow .appraisal-flow-arrow{
  display:none !important;
}

.leave-flow .appraisal-flow-step::after{
  content:none !important;
  display:none !important;
}

.leave-flow .appraisal-flow-step{
  min-width:0 !important;
  width:auto !important;
  min-height:122px !important;
  padding:16px !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-sizing:border-box !important;
}

.leave-flow .appraisal-flow-num{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
}

.leave-flow .appraisal-flow-step > div:last-child{
  min-width:0 !important;
  flex:1 1 auto !important;
}

.leave-flow .appraisal-flow-step b{
  display:block !important;
  font-size:13px !important;
  line-height:1.25 !important;
  margin:2px 0 7px !important;
  white-space:normal !important;
}

.leave-flow .appraisal-flow-step span{
  display:block !important;
  font-size:11px !important;
  line-height:1.45 !important;
  white-space:normal !important;
}

/* Keep user pill in its normal top-right position */
.imsco-hero:has(.leave-flow) .imsco-hero-user-pill{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
}

/* Responsive */
@media(max-width:1100px){
  .leave-flow{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:650px){
  .leave-flow{
    grid-template-columns:1fr !important;
  }
}

/* IMSCO Phase 6 */
.training-certificate{max-width:980px;margin:0 auto;text-align:center;padding:54px!important;border:10px double var(--imsco-accent,#ef7f1a)!important}
.training-certificate .certificate-brand{font-size:18px;font-weight:900;letter-spacing:.18em;color:var(--imsco-accent,#ef7f1a)}
.training-certificate h1{font-size:34px;margin:16px 0}
.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
.certificate-meta span{padding:14px;border-radius:14px;background:var(--imsco-soft,#fff2e7)}
.ticket-thread{display:flex;flex-direction:column;gap:12px;margin:16px 0 22px}
.ticket-comment{padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb}
.ticket-comment>div{display:flex;justify-content:space-between;gap:16px}
.ticket-comment span{font-size:11px;color:#64748b}.ticket-comment p{margin:8px 0 0}
.stat-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.stat-row span{min-width:110px;padding:10px 12px;border-radius:12px;background:#f8fafc}.stat-row b,.stat-row small{display:block}.stat-row small{color:#64748b;margin-top:3px}
.section-title{margin:22px 0 10px}
@media print{.side,.sidebar,.top,.imsco-hero-user-pill,.no-print{display:none!important}main,.content,.page-content{margin:0!important;width:100%!important}.training-certificate{box-shadow:none!important}}

