html[data-theme="aurora"]{background:var(--hp-bg)}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--hp-bg);color:var(--hp-text);font-size:14px;line-height:1.45}
body.authenticated{min-height:100vh}
.sidebar{width:var(--hp-sidebar-w);background:linear-gradient(180deg,#0b1f4d 0%,#0a2358 48%,#0b2c68 100%);border-inline-end:1px solid rgba(255,255,255,.08);box-shadow:8px 0 28px rgba(6,19,47,.10);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.sidebar:before{content:"";position:fixed;pointer-events:none;inset:auto auto 0 0;width:var(--hp-sidebar-w);height:240px;background:radial-gradient(circle at 22% 82%,rgba(25,197,245,.16),transparent 42%),radial-gradient(circle at 78% 64%,rgba(115,87,246,.20),transparent 48%);opacity:.75}
html[dir=rtl] .sidebar:before{inset:auto 0 0 auto}
.brand{height:84px;padding:0 18px;gap:11px;border-bottom:1px solid rgba(255,255,255,.09);position:relative;z-index:1}
.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--hp-brand-gradient);display:grid;place-items:center;box-shadow:0 9px 24px rgba(32,111,244,.30);flex:0 0 auto}
.brand-mark svg{width:25px;height:25px;color:#fff;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.brand strong{font-size:17px;letter-spacing:.01em}.brand small{font-size:11px;opacity:.68;margin-top:2px;white-space:nowrap}
.sidebar nav{padding:9px 0 30px;position:relative;z-index:1}
.nav-group{padding:8px 11px}.nav-group-title{padding:7px 10px 5px;color:#a9bce0;opacity:.82;font-size:9px;font-weight:800;letter-spacing:.13em}
.nav-link{min-height:40px;padding:9px 10px;border-radius:10px;color:#dbe6fb;gap:10px;position:relative;overflow:hidden;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(1px)}html[dir=rtl] .nav-link:hover{transform:translateX(-1px)}
.nav-link.active{background:var(--hp-brand-gradient);color:#fff;font-weight:750;box-shadow:0 8px 22px rgba(27,112,245,.27)}
.nav-link.active:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 46%);pointer-events:none}
.nav-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.92;position:relative;z-index:1}
.nav-link>span:last-child{position:relative;z-index:1}
.workspace{margin-left:var(--hp-sidebar-w);min-height:100vh;background:var(--hp-bg)}html[dir=rtl] .workspace{margin-left:0;margin-right:var(--hp-sidebar-w)}
.topbar{min-height:var(--hp-topbar-h);padding:10px 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--hp-border);box-shadow:0 2px 12px rgba(16,33,74,.035);backdrop-filter:saturate(130%) blur(8px);gap:10px}
.menu-toggle{display:inline-grid!important;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--hp-border);border-radius:10px;background:var(--hp-surface);color:var(--hp-text);font-size:18px;box-shadow:none}
.menu-toggle:hover{background:var(--hp-surface-tint);border-color:var(--hp-border-strong)}
.search{height:40px;min-width:240px;max-width:390px;background:#f4f7fc;border:1px solid transparent;border-radius:11px;padding:0 12px;align-items:center;color:var(--hp-text-muted);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.search:focus-within{background:#fff;border-color:#a9c9fb;box-shadow:0 0 0 3px rgba(22,136,248,.11)}.search input{height:38px;color:var(--hp-text);font-size:13px}
.prefs{gap:7px}.prefs select{height:38px;border:1px solid var(--hp-border);border-radius:9px;background-color:#fff;color:var(--hp-text);font-size:12px;padding-top:0;padding-bottom:0}
.user-chip{display:flex;align-items:center;min-height:38px;padding:0 11px;border:1px solid var(--hp-border);border-radius:10px;background:var(--hp-surface-soft);color:var(--hp-text);font-weight:750}.user-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hp-success);box-shadow:0 0 0 3px rgba(22,163,74,.12);margin-inline-end:8px}
.logout button{height:38px;border:1px solid var(--hp-border);border-radius:9px;background:#fff;color:#475b82;padding:0 11px}.logout button:hover{background:#f7f9fc;color:var(--hp-danger);border-color:#f1c6c8}
main{max-width:1540px;padding:22px 26px 34px}.breadcrumbs{margin:0 0 8px;gap:6px;font-size:12px}.breadcrumbs a{color:#5874aa;font-weight:650}.breadcrumbs a:hover{color:var(--hp-blue-600)}.crumb-sep{color:#91a2c2;font-size:15px;line-height:1}
.page-head{align-items:flex-end;margin-bottom:20px;gap:16px}.page-head .crumb{display:none}.page-head h1{font-size:25px;line-height:1.15;margin:0 0 6px;color:var(--hp-text);letter-spacing:-.02em}.page-head p{max-width:850px;color:var(--hp-text-muted);line-height:1.5}
.back-link{min-height:38px;padding:8px 13px;border:1px solid var(--hp-border);border-radius:9px;background:#fff;color:var(--hp-blue-600);box-shadow:var(--hp-shadow-sm)}.back-link:hover{background:var(--hp-info-bg);border-color:#bad2fb}
.nav-collapsed .sidebar{display:block;width:var(--hp-sidebar-collapsed)}.nav-collapsed .sidebar:before{width:var(--hp-sidebar-collapsed)}.nav-collapsed .workspace{margin-left:var(--hp-sidebar-collapsed)!important}.nav-collapsed .brand{justify-content:center;padding:0 12px}.nav-collapsed .brand>div{display:none}.nav-collapsed .nav-group{padding-inline:10px}.nav-collapsed .nav-group-title{display:none}.nav-collapsed .nav-link{justify-content:center;padding-inline:9px}.nav-collapsed .nav-link>span:last-child{display:none}.nav-collapsed .nav-icon{width:20px;height:20px;flex-basis:20px}html[dir=rtl] .nav-collapsed .workspace{margin-left:0!important;margin-right:var(--hp-sidebar-collapsed)!important}
.nav-top .sidebar{background:var(--hp-navy-900);box-shadow:0 3px 14px rgba(7,23,54,.12);border:0}.nav-top .sidebar nav{padding:7px 14px}.nav-top .nav-link{min-height:38px}.nav-top .nav-icon{width:16px;height:16px}.nav-top .topbar{top:52px}
body.guest{background:linear-gradient(135deg,#edf5ff 0%,#f7f9ff 46%,#f4f0ff 100%)}body.guest .topbar,body.guest .breadcrumbs,body.guest .page-head{display:none!important}body.guest .workspace{margin:0!important;min-height:100vh}body.guest main{max-width:none;padding:0;min-height:100vh;display:grid;place-items:center}
.hp-login-shell{width:min(1040px,calc(100vw - 44px));min-height:610px;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(390px,1.05fr);background:#fff;border:1px solid rgba(174,193,226,.62);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(25,52,112,.18)}
.hp-login-brand{position:relative;overflow:hidden;padding:46px 42px;color:#fff;background:linear-gradient(150deg,#071736 0%,#102b69 42%,#4e43d8 100%);display:flex;flex-direction:column;justify-content:space-between}.hp-login-brand:before,.hp-login-brand:after{content:"";position:absolute;border-radius:50%;filter:blur(0);pointer-events:none}.hp-login-brand:before{width:390px;height:390px;right:-190px;bottom:-120px;background:radial-gradient(circle,rgba(25,197,245,.32),rgba(25,197,245,0) 68%)}.hp-login-brand:after{width:320px;height:320px;left:-180px;top:-160px;background:radial-gradient(circle,rgba(145,108,255,.32),rgba(115,87,246,0) 68%)}
.hp-login-logo{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.hp-login-logo .brand-mark{width:48px;height:48px}.hp-login-logo strong{font-size:23px}.hp-login-brand-copy{position:relative;z-index:1;margin:auto 0}.hp-login-kicker{display:inline-flex;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.hp-login-brand h2{font-size:37px;line-height:1.08;margin:18px 0 14px;letter-spacing:-.035em}.hp-login-brand p{max-width:400px;color:#d8e5ff;line-height:1.65;font-size:14px}.hp-login-brand-foot{position:relative;z-index:1;color:#aec6ee;font-size:12px}
.hp-login-panel{padding:58px 62px;display:flex;align-items:center}.hp-login-form{width:100%;max-width:410px;margin:0 auto}.hp-login-form h1{font-size:30px;margin:0 0 7px;color:var(--hp-text);letter-spacing:-.03em}.hp-login-form .hp-login-subtitle{margin:0 0 28px;color:var(--hp-text-muted)}.hp-login-form label{margin-top:14px}.hp-login-form button[type=submit]{width:100%;margin-top:22px;min-height:46px;font-size:15px}.hp-login-secure{display:flex;gap:7px;align-items:center;margin-top:16px;color:#7890b8;font-size:11px}.hp-login-secure svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}

/* UI Batch 1 REV2 — targeted shell polish after first manual visual review */
.sidebar{overflow-y:auto;overflow-x:hidden}
.brand{padding-inline:18px 14px;min-width:0}
.brand>div{min-width:0;overflow:hidden}
.brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{display:block;white-space:normal;line-height:1.22;max-width:184px;overflow:visible}
.sidebar nav,.nav-group,.nav-link{max-width:100%}
.nav-link>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group{padding:9px 12px}
.nav-group-title{padding-inline:10px;margin-top:1px}
.nav-link{padding-inline:11px;gap:11px}

.topbar{min-height:64px;padding-block:8px}
.menu-toggle{width:38px;height:38px;border-radius:10px}
.search{height:38px;min-width:220px;max-width:330px}
.search input{height:36px}
.prefs{gap:6px;flex-wrap:nowrap}
.prefs select{height:34px;min-height:34px;width:auto;max-width:122px;padding:0 26px 0 9px;border-radius:9px;font-size:11.5px;background-position:right 8px center}
html[dir=rtl] .prefs select{padding:0 9px 0 26px;background-position:left 8px center}
#ux-language{min-width:96px}#ux-calendar{min-width:112px}#ux-nav{min-width:112px}
.user-chip{min-height:34px;padding-inline:10px;font-size:12px;border-radius:9px}
.logout button{height:34px;min-height:34px;padding-inline:10px;font-size:12px}

main{padding-top:20px}.page-head{margin-bottom:18px}.page-head h1{font-size:24px}
.card h2,.card h3{line-height:1.25;letter-spacing:-.01em}

/* Restrained scrollbar treatment; keep thumb large enough for accessibility. */
*{scrollbar-width:thin;scrollbar-color:#a9b8cb transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#a9b8cb;border:2px solid transparent;background-clip:padding-box;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#8fa1b8;background-clip:padding-box}
.sidebar{scrollbar-color:rgba(219,230,251,.34) transparent}
.sidebar::-webkit-scrollbar-thumb{background:rgba(219,230,251,.34);border:2px solid transparent;background-clip:padding-box}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(219,230,251,.5);background-clip:padding-box}


/* UI Batch 2 REV3 — compact topbar preference controls inspired by the Aurora dashboard reference. */
.prefs-compact{display:flex;align-items:center;gap:5px}
.prefs-compact select{height:32px!important;min-height:32px!important;max-width:none!important;padding-block:0!important;border-radius:9px!important;background-color:#f8fbff!important;font-size:11px!important;font-weight:700!important;color:#334b76!important}
#ux-language{min-width:58px!important;width:58px!important}
#ux-calendar{min-width:82px!important;width:82px!important}
#ux-nav{min-width:78px!important;width:78px!important}
@media(max-width:900px){.prefs-compact{display:grid;grid-template-columns:58px 82px 78px;width:auto;order:3}.prefs-compact select{width:100%!important}}
@media(max-width:620px){.prefs-compact{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;order:4}#ux-language,#ux-calendar,#ux-nav{width:100%!important;min-width:0!important}}

/* UI Batch 2 REV4 — polished compact preference controls; fixes cramped language selector. */
.prefs-compact{display:flex;align-items:center;gap:7px}
.prefs-compact .pref-control{position:relative;display:flex;align-items:center;height:36px;min-height:36px;border:1px solid #d7e4f4;border-radius:11px;background:#f8fbff;box-shadow:0 1px 2px rgba(16,33,74,.03);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.prefs-compact .pref-control:hover{background:#fff;border-color:#bfd2eb}
.prefs-compact .pref-control:focus-within{background:#fff;border-color:#70a9f5;box-shadow:0 0 0 3px rgba(22,136,248,.12)}
.prefs-compact .pref-control::after{content:"";position:absolute;inline-end:10px;top:50%;width:6px;height:6px;border-inline-end:1.8px solid #526b96;border-bottom:1.8px solid #526b96;transform:translateY(-65%) rotate(45deg);pointer-events:none}
.prefs-compact .pref-control select{appearance:none;-webkit-appearance:none;height:34px!important;min-height:34px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 28px 0 11px!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;color:#20365f!important;font-size:12px!important;font-weight:800!important;line-height:34px!important;cursor:pointer;outline:0}
.prefs-compact .pref-language{width:82px;min-width:82px;padding-inline-start:8px}
.prefs-compact .pref-language select{padding-inline-start:29px!important}
.prefs-compact .pref-calendar{width:84px;min-width:84px}
.prefs-compact .pref-nav{width:78px;min-width:78px}
.pref-globe{position:absolute;inline-start:10px;top:50%;width:14px;height:14px;border:1.5px solid #1688f8;border-radius:50%;transform:translateY(-50%);pointer-events:none}
.pref-globe::before{content:"";position:absolute;left:2px;right:2px;top:5px;border-top:1px solid #1688f8}
.pref-globe::after{content:"";position:absolute;left:5px;top:1px;width:2px;height:9px;border-inline:1px solid #1688f8;border-radius:50%}
html[dir=rtl] .prefs-compact .pref-control select{padding:0 11px 0 28px!important}
html[dir=rtl] .prefs-compact .pref-language{padding-inline-start:8px}
html[dir=rtl] .prefs-compact .pref-language select{padding-inline-start:29px!important;padding-inline-end:28px!important}
@media(max-width:900px){.prefs-compact{display:grid;grid-template-columns:82px 84px 78px;width:auto;order:3}.prefs-compact .pref-control{width:100%;min-width:0}}
@media(max-width:620px){.prefs-compact{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;order:4}.prefs-compact .pref-language,.prefs-compact .pref-calendar,.prefs-compact .pref-nav{width:100%;min-width:0}}


/* UI Batch 2 REV5 — flag-led language selector inspired by the approved dashboard reference. */
.prefs-compact .pref-language{width:90px;min-width:90px;padding-inline-start:7px}
.pref-language-flag{position:absolute;inline-start:10px;top:50%;display:flex;width:22px;height:14px;transform:translateY(-50%);pointer-events:none;z-index:1}
.pref-language-flag img{display:block;width:22px;height:14px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(16,33,74,.12)}
.prefs-compact .pref-language select{padding-inline-start:39px!important;padding-inline-end:26px!important}
.prefs-compact .pref-language .pref-globe{display:none}
html[dir=rtl] .prefs-compact .pref-language select{padding-inline-start:39px!important;padding-inline-end:26px!important}
@media(max-width:900px){.prefs-compact{grid-template-columns:90px 84px 78px}}
@media(max-width:620px){.prefs-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.prefs-compact .pref-language{width:100%;min-width:0}}


/* UI Batch 2 REV7 — compact dual-date 'today' chip beside language selection. */
.pref-today{display:flex;flex-direction:column;justify-content:center;min-width:158px;height:36px;padding:4px 10px;border:1px solid #d7e4f4;border-radius:11px;background:#f8fbff;color:#20365f;line-height:1.15;white-space:nowrap;box-shadow:0 1px 2px rgba(16,33,74,.03)}
.pref-today-gregorian{font-size:10.5px;font-weight:850;font-variant-numeric:tabular-nums}
.pref-today-solar{margin-top:2px;color:#687da3;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:1180px){.pref-today{min-width:142px;padding-inline:8px}.pref-today-gregorian{font-size:9.5px}.pref-today-solar{font-size:8.5px}}
@media(max-width:900px){.prefs-compact{grid-template-columns:90px minmax(142px,1fr) 84px 78px}.pref-today{width:100%;min-width:0}}
@media(max-width:620px){.prefs-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.pref-today{grid-column:1/-1;order:-1;align-items:center;height:34px}.pref-today-gregorian,.pref-today-solar{display:inline}.pref-today-solar{margin-top:1px}}
html[dir=rtl] .pref-today{text-align:right}
