:root{--navy:#102a52;--navy-2:#163966;--blue:#1464e8;--ink:#12213c;--muted:#66728a;--line:#dbe2ec;--canvas:#f5f7fb;--white:#fff}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif;background:var(--canvas);color:var(--ink)}
button,a,input{touch-action:manipulation}.login-page{min-height:100vh;background:linear-gradient(135deg,#0e2850,#185696);display:flex;align-items:center}.login-card{max-width:430px;border:0;border-radius:22px;box-shadow:0 25px 70px #071a3866}.brand-mark{width:52px;height:52px;border-radius:15px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem}.form-control{min-height:48px;border-radius:12px}.btn{min-height:44px;border-radius:9px}.btn-primary{background:var(--blue);border-color:var(--blue)}
.portal-shell{min-height:100vh}.portal-header{height:66px;position:fixed;z-index:1050;left:0;right:0;top:0;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;box-shadow:0 2px 8px #14213d08}.portal-brand{display:flex;align-items:center;gap:10px;font-size:1.12rem;font-weight:800;color:#0b2146;min-width:390px;white-space:nowrap}.brand-icon{width:40px;height:40px;border-radius:10px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.header-search{width:min(390px,35vw);margin:auto}.header-search .form-control{min-height:40px;border-color:#e0e6ef;padding-left:40px}.search-wrap{position:relative}.search-wrap::before{content:'⌕';position:absolute;left:14px;top:6px;color:#7a879f;font-size:1.25rem;z-index:1}.header-user{display:flex;align-items:center;gap:10px;min-width:190px;justify-content:flex-end}.avatar{width:42px;height:42px;border-radius:50%;background:#7b89a5;color:#fff;display:grid;place-items:center;font-weight:700}.header-user small{color:var(--muted)}
.portal-sidebar{position:fixed;z-index:1040;top:66px;bottom:0;left:0;width:235px;background:linear-gradient(180deg,var(--navy),#0d274c);padding:16px 14px;color:#fff}.menu-label{font-size:.78rem;color:#91a9c9;text-transform:uppercase;padding:18px 14px 6px}.side-link{display:flex;align-items:center;gap:12px;color:#dce7f7;text-decoration:none;border-radius:10px;padding:11px 14px;margin:2px 0;font-size:.96rem}.side-link span:first-child{width:24px;text-align:center}.side-link.sub{font-size:.86rem;padding:8px 14px 8px 43px;color:#b8c9df}.side-link:hover,.side-link.active{color:#fff;background:#285793}.sidebar-logout{position:absolute;bottom:18px;left:14px;right:14px}
.portal-main{margin-left:235px;padding:82px 18px 28px;max-width:1700px}.hero{height:175px;position:relative;border-radius:18px;overflow:hidden;background:#263b55;margin-bottom:14px}.hero img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07172e8a 0%,transparent 55%,#07172e42 100%)}.hero-copy{position:absolute;z-index:1;left:28px;bottom:18px;color:#fff;font-size:1.25rem;font-weight:800;text-shadow:0 2px 10px #000}.hero-date{position:absolute;z-index:1;right:18px;bottom:15px;color:#fff;background:#17233c9c;border-radius:20px;padding:7px 16px;font-size:.82rem}
.mobile-profile{display:none}.section-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 2px 8px #14213d06}.section-title{font-size:1.05rem;font-weight:800;margin:0 0 10px}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{border:1px solid;border-radius:12px;padding:12px 16px;min-height:120px}.stat-card.blue{background:#f0f6ff;border-color:#c8dcff;color:#0753bd}.stat-card.green{background:#effaf4;border-color:#c9ead7;color:#087a3b}.stat-card.orange{background:#fff6ee;border-color:#f4d7bd;color:#d45c08}.stat-card.purple{background:#f5f1ff;border-color:#ded1ff;color:#5520c5}.stat-label{font-weight:700;font-size:.9rem}.stat-value{font-size:1.62rem;font-weight:850;margin:5px 0}.stat-note{color:#5c6980;font-size:.82rem}.progress-slim{height:8px;background:#d9e2ef;border-radius:10px;overflow:hidden;display:inline-block;width:72%;vertical-align:middle}.progress-slim span{display:block;height:100%;width:96%;background:linear-gradient(90deg,#3983ef,#9fc7ff)}
.content-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:188px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-head h2{font-size:1.05rem;font-weight:800;margin:0}.more-link{font-size:.78rem;color:#53627c;text-decoration:none}.inner-box{border:1px solid #dce2eb;border-radius:10px;padding:12px}.money{font-size:1.35rem;font-weight:850;color:#102a52}.status-pill{background:#dff6e7;color:#178344;border-radius:6px;padding:4px 9px;font-size:.75rem}.outline-actions{display:flex;gap:10px;margin-top:12px}.outline-actions .btn{flex:1;font-size:.8rem}.announcement-list{list-style:none;margin:0;padding:0}.announcement-list li{display:flex;gap:8px;align-items:center;border-bottom:1px solid #edf0f5;padding:7px 2px;font-size:.84rem}.announcement-list li:last-child{border:0}.announcement-list time{margin-left:auto;color:#7b8799;font-size:.72rem}.trend-row{display:grid;grid-template-columns:1.05fr 1.15fr;gap:14px;margin-top:14px}.trend-chart{height:155px;position:relative;padding:12px 8px 20px 34px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#e5eaf2 30px)}.trend-line{height:100%;display:flex;align-items:flex-end;gap:4%;position:relative}.trend-line span{flex:1;background:linear-gradient(#4b90f5,#c7dcfb);border-radius:5px 5px 0 0;min-width:18px;position:relative}.trend-line span::after{content:attr(data-month);position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font-size:.62rem;color:#75829a}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-item{border:1px solid;border-radius:11px;padding:14px 8px;text-align:center;font-size:.8rem;font-weight:700;min-height:96px;display:grid;place-items:center;background:#f6f9ff;color:#0753bd}.quick-item:nth-child(2){background:#effaf4;color:#087a3b}.quick-item:nth-child(3){background:#fff6ee;color:#d45c08}.quick-item:nth-child(4){background:#f5f1ff;color:#5520c5}.quick-symbol{font-size:1.6rem}.portal-footer{text-align:center;color:#788399;font-size:.72rem;padding:16px}.mobile-nav{display:none}
@media(max-width:991.98px){.portal-header{height:62px;padding:0 12px;justify-content:space-between}.portal-brand{min-width:0;font-size:.86rem;gap:7px}.brand-icon{width:34px;height:34px}.header-search,.header-user small,.header-user strong{display:none}.header-user{min-width:auto}.portal-sidebar{display:none}.portal-main{margin-left:0;padding:74px 12px 90px}.hero{height:160px;border-radius:13px}.mobile-profile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:12px}.mobile-profile .avatar{width:54px;height:54px}.profile-action{margin-left:auto}.overview-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:11px 12px;min-height:114px}.stat-value{font-size:1.3rem}.content-grid,.trend-row{grid-template-columns:1fr}.trend-row{display:none}.content-grid .panel:nth-child(2),.content-grid .panel:nth-child(3){display:none}.portal-footer{display:none}.mobile-nav{display:flex;position:fixed;z-index:1060;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:grid;place-items:center;min-width:58px;min-height:50px;color:#53627b;text-decoration:none;font-size:.7rem}.mobile-nav a span{font-size:1.2rem;line-height:1}.mobile-nav a.active{color:var(--blue);font-weight:800}}
@media(max-width:575.98px){.hero{height:158px}.hero-copy{left:14px;bottom:12px;font-size:.9rem}.hero-date{display:none}.section-card{padding:12px}.overview-grid{gap:8px}.stat-card{min-height:110px}.stat-value{font-size:1.22rem}.stat-note{font-size:.75rem}.panel{padding:13px}.quick-grid{grid-template-columns:repeat(2,1fr)}}
/* Existing administration skeleton */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#fff;padding:1.5rem 1rem;z-index:1030}.sidebar .nav-link{color:#cbd9e7;border-radius:.65rem;padding:.75rem 1rem;margin:.2rem 0}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#ffffff1f;color:#fff}.main-content{margin-left:250px;padding:1.5rem 2rem 5rem}.topbar{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem 1.25rem}.metric-card,.content-card{border:1px solid var(--line);border-radius:1rem;box-shadow:0 4px 16px #1018280a}.metric-label{font-size:.9rem;color:var(--muted)}.metric-value{font-size:1.75rem;font-weight:750}.badge-soft{background:#eaf3ff;color:#175cd3}.empty-state{color:var(--muted);padding:2.5rem;text-align:center}.table-responsive{border-radius:.8rem}
@media(max-width:767.98px){.sidebar{display:none}.main-content{margin-left:0;padding:1rem 1rem 5.5rem}.topbar{border-radius:.8rem}body[data-page="admin"] .mobile-nav{display:flex}.metric-value{font-size:1.4rem}}
.performance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:1rem}.performance-table th{position:sticky;top:0;background:#eef4fc;z-index:1}.performance-table th,.performance-table td{padding:12px 10px;border-bottom:1px solid #e5eaf2;text-align:left;white-space:nowrap}.performance-table-wrap{overflow:auto;max-height:520px}.file-actions{display:flex;gap:8px}.file-actions .btn{font-size:.86rem;min-height:42px}.preview-dialog{position:fixed;z-index:2000;inset:0;background:#071426c7;padding:3vh 3vw;display:grid;place-items:center}.preview-window{background:#fff;border-radius:14px;width:min(1200px,94vw);height:92vh;display:flex;flex-direction:column;overflow:hidden}.preview-toolbar{padding:10px 14px;background:#17243b;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.preview-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.preview-toolbar .btn{font-size:1rem;min-height:44px}.preview-body{flex:1;overflow:auto;background:#dce2ea;display:grid;place-items:center;padding:18px}.preview-body iframe{border:0;width:100%;height:100%;background:#fff}.preview-image{max-width:100%;max-height:100%;cursor:grab}.excel-preview{align-self:start;background:#fff;width:max-content;min-width:100%;font-size:16px;border-collapse:collapse}.excel-preview th{position:sticky;top:0;background:#dceaff}.excel-preview td,.excel-preview th{border:1px solid #b9c5d5;padding:9px 12px;white-space:nowrap}.admin-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.file-history-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:767.98px){.performance-table thead{display:none}.performance-table,.performance-table tbody,.performance-table tr,.performance-table td{display:block;width:100%}.performance-table tr{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:12px}.performance-table td{border:0;padding:6px 4px;white-space:normal;display:flex;justify-content:space-between;gap:10px}.performance-table td::before{content:attr(data-label);font-weight:700;color:#53627b}.file-actions{justify-content:flex-end}.preview-dialog{padding:0}.preview-window{width:100vw;height:100vh;border-radius:0}.preview-toolbar{align-items:flex-start;flex-direction:column}.preview-toolbar>div{width:100%}.preview-toolbar .btn{flex:1;padding:6px}.admin-form-grid,.upload-grid{grid-template-columns:1fr}.file-history-row{grid-template-columns:1fr}}
@media(max-width:359.98px){.overview-grid{grid-template-columns:1fr}}
.cht-logo{width:46px;height:34px;object-fit:contain;flex:0 0 auto}.login-logo{width:72px;height:48px}.sidebar-logo{width:42px;height:30px;filter:brightness(0) invert(1)}
@media(max-width:991.98px){.cht-logo{width:34px;height:26px}.portal-brand span{line-height:1.15}.login-logo{width:58px;height:40px}}
.has-site-footer{min-height:100vh;display:flex;flex-direction:column}.has-site-footer .portal-shell{min-height:0;flex:1}.site-footer{align-self:stretch;display:flex;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:12px 20px;border-top:1px solid var(--line);background:#f8fafc;color:#778298;font-size:.76rem;text-align:center}.site-footer-credit strong{font-weight:700;color:#5c6679}body[data-page="employee"] .site-footer,body[data-page="performance-admin"] .site-footer{margin-left:235px}body[data-page="admin"] .site-footer{margin-left:250px}.login-page.has-site-footer{align-items:stretch!important;padding:0!important}.login-page.has-site-footer main{flex:1;display:flex;align-items:center;padding:1rem}
@media(max-width:991.98px){body[data-page="employee"] .site-footer,body[data-page="performance-admin"] .site-footer{margin-left:0;margin-bottom:66px}}
@media(max-width:767.98px){body[data-page="admin"] .site-footer{margin-left:0;margin-bottom:66px}.site-footer{flex-direction:column;gap:2px;line-height:1.55;padding:10px 14px}.login-page .site-footer{margin-bottom:0}}
.member-menu{position:relative}.member-greeting{display:block;font-weight:700;white-space:nowrap;padding:12px 0;cursor:pointer}.member-links{display:none;position:absolute;right:0;top:100%;width:170px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px;box-shadow:0 12px 30px #102a5220;z-index:1100}.member-menu:hover .member-links,.member-menu:focus-within .member-links{display:grid}.member-links a,.member-links button{border:0;background:transparent;text-align:left;text-decoration:none;color:var(--ink);padding:9px 10px;border-radius:7px}.member-links a:hover,.member-links button:hover{background:#eef4fc;color:var(--blue)}
@media(max-width:991.98px){.header-user>.avatar,.header-user>div:not(.member-menu),.header-user>span:not(.member-greeting){display:none}.member-menu{display:block}.member-greeting{font-size:.78rem}.member-links{position:fixed;top:62px;right:10px}}
.public-home{min-height:100vh;background:#f5f8fc}.public-header{min-height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px clamp(16px,4vw,60px);gap:20px}.public-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:1.05rem}.public-account-nav{display:flex;align-items:center;gap:10px}.public-account-nav>a:not(.btn){color:var(--ink);text-decoration:none;padding:8px}.public-greeting{font-weight:700}.public-menu-toggle{display:none}.public-main{flex:1;padding:clamp(20px,5vw,70px)}.public-hero{max-width:1200px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,5vw,60px);display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:40px;box-shadow:0 16px 45px #102a520d}.public-hero h1{font-weight:850;font-size:clamp(2rem,4vw,3.4rem)}.public-hero>img{width:100%;height:330px;object-fit:cover;border-radius:16px}
@media(max-width:767.98px){.public-header{flex-wrap:wrap}.public-brand{font-size:.82rem}.public-menu-toggle{display:block}.public-account-nav{display:none;width:100%;flex-direction:column;align-items:stretch}.public-account-nav.is-open{display:flex}.public-account-nav a,.public-account-nav button{text-align:center}.public-hero{grid-template-columns:1fr}.public-hero>img{height:220px;order:-1}}
.register-page{min-height:100vh;background:#111;color:#15213a}.register-backdrop{flex:1;position:relative;background:linear-gradient(90deg,#05080bd9 0%,#090b0fad 42%,#080a0c99 100%),url('/images/register-team-bg.png') center/cover no-repeat;display:flex;flex-direction:column;padding:0 clamp(18px,4vw,58px)}.register-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:18px}.register-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.08rem}.register-brand img{width:38px;height:38px;object-fit:contain}.register-header a{color:#6eb4ff;font-weight:700}.register-layout{flex:1;display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,520px);gap:clamp(30px,7vw,110px);align-items:center;max-width:1180px;width:100%;margin:auto;padding:16px 0 28px}.register-welcome{color:#fff;padding-left:2vw;text-shadow:0 2px 10px #000}.register-welcome h1{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:850;letter-spacing:.08em}.register-welcome p{font-size:1.55rem;line-height:1.8}.register-welcome>span{display:block;width:48px;border-top:3px solid #fff;margin:24px 0}.register-welcome small{font-size:.95rem;line-height:1.8}.register-form-column{width:100%}.register-card{background:#fffffff0;backdrop-filter:blur(16px);border:1px solid #ffffffa6;border-radius:17px;padding:clamp(22px,3vw,34px);box-shadow:0 24px 70px #0007}.register-card-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.register-title-icon{font-size:1.65rem}.register-card-title h2{font-size:1.45rem;font-weight:850;margin:0 0 7px}.register-card-title p{font-size:.78rem;color:#687388;margin:0}.register-field{margin-bottom:15px}.register-field label{display:block;font-size:.9rem;font-weight:750;margin-bottom:7px}.register-field .form-control{min-height:46px;background:#ffffffd9;border-color:#d8dee8;padding-left:14px}.register-field small{display:block;color:#697489;font-size:.72rem;margin:6px 5px 0}.password-wrap{position:relative}.password-wrap .form-control{padding-right:48px}.password-toggle{position:absolute;right:5px;top:3px;width:40px;height:40px;border:0;background:transparent;color:#4e5d75;font-size:1.1rem}.register-terms{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;margin:16px 0}.register-terms input{width:18px;height:18px;margin-top:1px}.register-terms a{color:#075fd7;font-weight:700;text-decoration:none}.register-submit{width:100%;font-weight:750;min-height:48px;background:#0866ed}.register-divider{display:flex;align-items:center;gap:10px;color:#778196;font-size:.75rem;margin:13px 0}.register-divider::before,.register-divider::after{content:'';height:1px;background:#d9dee7;flex:1}.register-notice{margin-top:16px;padding:14px 18px;border:1px solid #ffffff38;border-radius:12px;background:#ffffff14;color:#fff;backdrop-filter:blur(9px)}.register-notice strong{font-size:.88rem}.register-notice p{font-size:.75rem;margin:5px 0 0;color:#e4e8ee}.register-page .site-footer{background:#080a0de8;border-color:#ffffff24;color:#e5e8ee}.register-page .site-footer-credit strong{color:#70b7ff}
@media(max-width:767.98px){.register-backdrop{padding:0 14px;background-position:center}.register-header{align-items:flex-start;padding:16px 2px;min-height:92px}.register-brand{font-size:.82rem;max-width:245px}.register-header>div{font-size:.75rem;white-space:nowrap}.register-layout{display:block;padding:0 0 20px}.register-welcome{text-align:center;padding:18px 8px 22px}.register-welcome h1{font-size:1.75rem}.register-welcome p{font-size:1rem;line-height:1.6}.register-welcome>span,.register-welcome small{display:none}.register-card{padding:21px 17px;border-radius:16px}.register-card-title p{display:none}.register-notice{margin-bottom:4px}.register-page .site-footer{margin:0;background:#080a0d}}
.login-page{min-height:100vh;display:flex;align-items:stretch;background:#111;color:#15213a}.login-backdrop{flex:1;position:relative;background:linear-gradient(90deg,#05080bd9 0%,#090b0fad 42%,#080a0c99 100%),url('/images/register-team-bg.png') center/cover no-repeat;display:flex;flex-direction:column;padding:0 clamp(18px,4vw,58px)}.login-layout{flex:1;display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,480px);gap:clamp(30px,7vw,110px);align-items:center;max-width:1140px;width:100%;margin:auto;padding:24px 0 38px}.login-form-column{width:100%}.login-glass-card{background:#fffffff0;backdrop-filter:blur(16px);border:1px solid #ffffffa6;border-radius:17px;padding:clamp(25px,3vw,38px);box-shadow:0 24px 70px #0007}.login-glass-card .register-field{margin-bottom:20px}.login-glass-card .register-submit{margin-top:6px}.login-page .site-footer{background:#080a0de8;border-color:#ffffff24;color:#e5e8ee}.login-page .site-footer-credit strong{color:#70b7ff}
@media(max-width:1399.98px){.login-backdrop{padding:0 clamp(14px,4vw,36px);background-position:center}.login-layout{display:block;max-width:560px;padding:0 0 20px}.login-layout .register-welcome{text-align:center;padding:28px 8px 25px}.login-layout .register-welcome h1{font-size:1.75rem;white-space:nowrap}.login-layout .register-welcome p{font-size:1rem;line-height:1.6}.login-layout .register-welcome>span,.login-layout .register-welcome small{display:none}.login-glass-card{width:100%;padding:24px 18px;border-radius:16px}.login-glass-card .register-card-title p{display:none}.login-glass-card .register-field label{white-space:normal}.login-page .site-footer{margin:0;background:#080a0d}}
@media(max-width:575.98px){.login-backdrop{padding:0 12px}.login-layout{width:100%;max-width:100%}.login-glass-card{padding:22px 16px}.login-layout .register-welcome{padding-top:18px}.login-layout .register-welcome h1{font-size:1.45rem}.login-page .register-header{min-height:84px}.login-page .register-brand{max-width:230px}.login-page .register-header>div{font-size:.72rem}}

/* Employee home: match the registration page's photo-and-glass visual language. */
body[data-page="employee"]{background:#0a0d12 url('/images/employee-home-bg.png') center/cover fixed no-repeat}
body[data-page="employee"]::before{content:'';position:fixed;z-index:0;inset:0;background:linear-gradient(115deg,#030811ed 0%,#071325df 48%,#03070dd1 100%);pointer-events:none}
body[data-page="employee"] .portal-shell,body[data-page="employee"] .site-footer{position:relative;z-index:1}
body[data-page="employee"] .portal-header{background:#071323ed;color:#eef6ff;backdrop-filter:blur(18px);border-color:#8ec5ff2e;box-shadow:0 8px 34px #0008}
body[data-page="employee"] .portal-header .portal-brand,body[data-page="employee"] .portal-header .member-greeting{color:#f4f8ff}
body[data-page="employee"] .portal-header .form-control{background:#ffffff12;border-color:#8ec5ff35;color:#f4f8ff}
body[data-page="employee"] .portal-header .form-control::placeholder{color:#a9b8cb}
body[data-page="employee"] .member-links{background:#0b1b30f5;border-color:#8ec5ff35;box-shadow:0 18px 45px #0009}
body[data-page="employee"] .member-links a,body[data-page="employee"] .member-links button{color:#dce9f8}
body[data-page="employee"] .member-links a:hover,body[data-page="employee"] .member-links button:hover{background:#2d6eb04d;color:#fff}
body[data-page="employee"] .portal-sidebar{background:linear-gradient(180deg,#07172df5,#040c19f5);backdrop-filter:blur(18px);border-right:1px solid #8ec5ff24;box-shadow:10px 0 35px #0005}
body[data-page="employee"] .portal-main{background:transparent}
body[data-page="employee"] .hero{border:1px solid #ffffff55;box-shadow:0 20px 50px #0005}
body[data-page="employee"] .hero img{object-position:center 43%}
body[data-page="employee"] .hero::after{z-index:1;background:radial-gradient(480px circle at var(--hero-x,72%) var(--hero-y,38%),#76baff35,transparent 52%),linear-gradient(90deg,#020711c7 0%,#06122254 42%,#02071124 68%,#020711a1 100%),linear-gradient(0deg,#020711d6 0%,transparent 48%,#07101c52 100%);box-shadow:inset 0 0 55px #020711bf;transition:background-position .2s ease}
body[data-page="employee"] .hero::before{content:'';position:absolute;z-index:2;inset:-80% -30%;background:linear-gradient(108deg,transparent 42%,#b9dcff12 48%,#ffffff3b 50%,#8dc6ff10 53%,transparent 59%);transform:translateX(-55%);animation:employee-hero-sheen 8s ease-in-out infinite;pointer-events:none}
body[data-page="employee"] .hero-copy{z-index:3}
body[data-page="employee"] .hero-date{z-index:3;border:1px solid #b9dcff35;backdrop-filter:blur(8px);box-shadow:0 8px 24px #0005}
body[data-page="employee"] .hero:hover img{transform:scale(1.085) translate3d(0,var(--hero-shift,0),0);filter:saturate(1.08) contrast(1.03)}
@keyframes employee-hero-sheen{0%,18%{transform:translateX(-55%)}48%,100%{transform:translateX(55%)}}
body[data-page="employee"] .section-card,body[data-page="employee"] .panel,body[data-page="employee"] .mobile-profile{background:linear-gradient(145deg,#10233de8,#091728e8);color:#eef5ff;backdrop-filter:blur(18px);border-color:#8ec5ff35;box-shadow:0 18px 46px #0008}
body[data-page="employee"] .section-card .text-secondary,body[data-page="employee"] .panel .text-secondary,body[data-page="employee"] .mobile-profile .text-secondary,body[data-page="employee"] .stat-note,body[data-page="employee"] .more-link{color:#aebed2!important}
body[data-page="employee"] .inner-box{background:#06111f73;border-color:#8ec5ff29}
body[data-page="employee"] .empty-state{color:#9cadc3}
body[data-page="employee"] .stat-card{border-color:#ffffff1f;box-shadow:inset 0 1px 0 #ffffff12}
body[data-page="employee"] .stat-card.green{background:linear-gradient(145deg,#0b3b31cc,#092820d9);color:#60e6ad}
body[data-page="employee"] .stat-card.orange{background:linear-gradient(145deg,#4b2a16cc,#2e180bd9);color:#ffad68}
body[data-page="employee"] .stat-card.purple{background:linear-gradient(145deg,#34235acc,#21143fd9);color:#bd9aff}
body[data-page="employee"] .stat-card.blue{background:linear-gradient(145deg,#123b6dcc,#0b274bd9);color:#75b9ff}
body[data-page="employee"] .performance-table th{background:#132a47;color:#f1f6ff}
body[data-page="employee"] .performance-table td{border-color:#8ec5ff20;color:#dce8f7}
body[data-page="employee"] .announcement-list li{border-color:#8ec5ff1f}
body[data-page="employee"] .mobile-nav{background:#071323f2;color:#edf5ff;backdrop-filter:blur(18px);border-color:#8ec5ff35;box-shadow:0 -8px 30px #0008}
body[data-page="employee"] .mobile-nav a{color:#aebed2}
body[data-page="employee"] .mobile-nav a.active{color:#64adff}
body[data-page="employee"] .site-footer{background:#080a0de8;border-color:#ffffff24;color:#e5e8ee}
body[data-page="employee"] .site-footer-credit strong{color:#70b7ff}

/* Employee home motion: hover depth, cursor light and scroll reveal/parallax. */
body[data-page="employee"] .hero img{transform:scale(1.06) translate3d(0,var(--hero-shift,0),0);transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease;will-change:transform}
body[data-page="employee"] .hero-copy{transition:transform .45s cubic-bezier(.2,.8,.2,1),text-shadow .45s ease}
body[data-page="employee"] .hero:hover .hero-copy{transform:translateY(-5px);text-shadow:0 8px 24px #000}
body[data-page="employee"] .section-card,body[data-page="employee"] .panel,body[data-page="employee"] .mobile-profile{position:relative;overflow:hidden;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease,border-color .42s ease}
body[data-page="employee"] .section-card::before,body[data-page="employee"] .panel::before,body[data-page="employee"] .mobile-profile::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,50%),#5aa9ff38,transparent 52%);opacity:0;transition:opacity .35s ease;pointer-events:none}
body[data-page="employee"] .section-card>* ,body[data-page="employee"] .panel>* ,body[data-page="employee"] .mobile-profile>*{position:relative;z-index:1}
body[data-page="employee"] .section-card:hover,body[data-page="employee"] .panel:hover,body[data-page="employee"] .mobile-profile:hover{transform:translateY(-7px);border-color:#6fb5ff8f;box-shadow:0 24px 62px #000b,0 0 30px #1877d51c}
body[data-page="employee"] .section-card:hover::before,body[data-page="employee"] .panel:hover::before,body[data-page="employee"] .mobile-profile:hover::before{opacity:.7}
body[data-page="employee"] .stat-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,filter .35s ease}
body[data-page="employee"] .stat-card:hover{transform:translateY(-5px) scale(1.018);box-shadow:0 13px 28px #102a5224;filter:saturate(1.08)}
body[data-page="employee"] .side-link{transition:transform .25s ease,background-color .25s ease,color .25s ease}
body[data-page="employee"] .side-link:hover{transform:translateX(5px)}
body[data-page="employee"] .employee-reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
body[data-page="employee"] .employee-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:991.98px){body[data-page="employee"]{background-attachment:scroll}body[data-page="employee"] .section-card:hover,body[data-page="employee"] .panel:hover,body[data-page="employee"] .mobile-profile:hover{transform:none}}
@media(prefers-reduced-motion:reduce){body[data-page="employee"] .hero::before{animation:none;display:none}body[data-page="employee"] .hero img,body[data-page="employee"] .hero-copy,body[data-page="employee"] .section-card,body[data-page="employee"] .panel,body[data-page="employee"] .mobile-profile,body[data-page="employee"] .stat-card,body[data-page="employee"] .side-link,body[data-page="employee"] .employee-reveal{transition:none!important;transform:none!important}body[data-page="employee"] .employee-reveal{opacity:1}}
.register-brand img{width:38px;height:38px;object-fit:cover;object-position:left center}
.login-page.has-site-footer .login-layout{flex:1;display:grid;align-items:center;padding:24px 0 38px}
.login-remember{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;color:#25334d;cursor:pointer}.login-remember input{width:20px;height:20px;margin-top:2px;accent-color:#0866ed}.login-remember span{display:grid;gap:2px}.login-remember strong{font-size:.92rem}.login-remember small{color:#697489;font-size:.74rem;line-height:1.45}
@media(max-width:1399.98px){.login-page.has-site-footer .login-layout{display:block;padding:0 0 20px}}
.home-landing{min-height:100vh;display:flex;background:#101215;color:#fff}.home-backdrop{flex:1;display:flex;flex-direction:column;background:linear-gradient(90deg,#05080be6 0%,#090b0fb5 48%,#080a0c80 100%),url('/images/home-team-bg.png') center/cover no-repeat;padding:0 clamp(18px,4vw,58px)}.home-header{min-height:76px;display:flex;align-items:center;gap:20px}.home-header .register-brand{margin-right:auto}.home-account-nav{display:flex;align-items:center;gap:10px}.home-account-nav a,.home-account-nav button{color:#fff;text-decoration:none;padding:10px 16px;border:0;background:transparent;border-radius:9px}.home-account-nav a:hover,.home-account-nav button:hover{background:#ffffff1f}.home-account-nav .btn-primary{background:#0866ed}.home-main{flex:1;width:100%;max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:clamp(34px,8vw,120px);padding:35px 0 50px}.home-copy{max-width:650px;text-shadow:0 2px 12px #000}.home-eyebrow{display:inline-block;color:#8cc3ff;font-weight:750;letter-spacing:.08em;margin-bottom:18px}.home-copy h1{font-size:clamp(3rem,6vw,5.4rem);font-weight:900;line-height:1.08;letter-spacing:.04em;margin-bottom:24px}.home-copy p{font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.8;max-width:610px}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.home-actions .btn{min-width:150px;min-height:50px;display:grid;place-items:center;font-weight:750}.home-glass-card{background:#ffffff24;border:1px solid #ffffff55;border-radius:18px;padding:clamp(26px,4vw,42px);backdrop-filter:blur(14px);box-shadow:0 24px 70px #0006}.home-glass-card strong{display:block;font-size:clamp(1.65rem,3vw,2.35rem);margin-bottom:14px}.home-glass-card p{font-size:1.1rem;margin-bottom:24px}.home-glass-card span{color:#dce6f5}.home-landing .site-footer{background:#080a0de8;border-color:#ffffff24;color:#e5e8ee}.home-landing .site-footer-credit strong{color:#70b7ff}
@media(max-width:991.98px){.home-backdrop{padding:0 14px;background-position:center}.home-header{min-height:58px;flex-wrap:wrap;padding:8px 0}.home-header .register-brand{font-size:.78rem;gap:7px}.home-header .register-brand img{width:29px;height:29px}.home-header .public-menu-toggle{display:block;min-height:40px;padding:6px 13px;font-size:.84rem}.home-account-nav{display:none;width:100%;padding:8px;background:#0b111be8;border:1px solid #ffffff2e;border-radius:10px;flex-direction:column;align-items:stretch}.home-account-nav.is-open{display:flex}.home-account-nav a,.home-account-nav button{text-align:center;padding:8px 12px;font-size:.85rem}.home-main{display:block;padding:28px 8px 24px}.home-copy{text-align:center;margin:auto}.home-eyebrow{font-size:.85rem;margin-bottom:10px}.home-copy h1{font-size:2.25rem;line-height:1.12;margin-bottom:14px}.home-copy p{margin:0 auto;font-size:.88rem;line-height:1.65}.home-actions{justify-content:center;margin-top:18px;gap:9px}.home-actions .btn{min-width:125px;min-height:43px;font-size:.9rem}.home-glass-card{max-width:500px;margin:24px auto 0;padding:20px 18px;text-align:center;border-radius:14px}.home-glass-card strong{font-size:1.4rem;margin-bottom:8px}.home-glass-card p{font-size:.9rem;margin-bottom:12px}.home-glass-card span{font-size:.82rem}.home-landing .site-footer{margin:0}}
@media(max-width:575.98px){.home-header .register-brand{max-width:215px;font-size:.72rem}.home-main{padding-top:22px}.home-copy h1{font-size:1.95rem}.home-copy p{font-size:.82rem}.home-actions .btn{flex:1;min-width:110px}.home-glass-card{margin-top:20px;padding:18px 15px}.home-glass-card strong{font-size:1.25rem}}
.member-menu.is-open .member-links{display:grid}
.avatar.has-image{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;color:transparent}
.message-notice{display:block;color:#b42318;text-decoration:none;font-size:.72rem;font-weight:750;margin-top:3px;white-space:nowrap}.messages-page{min-height:100vh;background:#f4f7fb}.messages-header{min-height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px clamp(14px,4vw,48px);position:sticky;top:0;z-index:20}.messages-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.messages-brand img{width:34px;height:34px;object-fit:cover;object-position:left}.messages-shell{width:min(1200px,calc(100% - 32px));margin:24px auto;display:grid;grid-template-columns:350px 1fr;gap:18px}.messages-compose,.messages-content{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 25px #102a5208}.messages-compose h1{font-size:1.25rem;font-weight:800;margin-bottom:18px}.messages-compose textarea{resize:vertical;min-height:150px}.broadcast-option{display:flex;align-items:center;gap:8px;font-weight:700}.broadcast-option input{width:18px;height:18px}.messages-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.messages-tabs button{border:0;background:transparent;padding:9px 14px;border-radius:9px;color:var(--muted);font-weight:750}.messages-tabs button.active{background:#eaf2ff;color:var(--blue)}.message-list{display:grid;gap:10px}.message-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}.message-card.unread{border-left:5px solid var(--blue);background:#f3f7ff;cursor:pointer}.message-card-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem}.message-card-head strong{color:var(--ink)}.message-card h2{font-size:1rem;font-weight:800;margin:10px 0 6px}.message-card p{white-space:pre-wrap;margin:0;line-height:1.65}.broadcast-tag{display:inline-block;margin-top:10px;padding:3px 8px;border-radius:20px;background:#fff1cf;color:#8a5700;font-size:.72rem;font-weight:700}
@media(max-width:767.98px){.messages-header{min-height:60px}.messages-header [data-message-user]{display:none}.messages-shell{width:calc(100% - 20px);margin:10px auto 75px;display:block}.messages-compose,.messages-content{padding:15px;border-radius:13px}.messages-content{margin-top:12px}.message-card-head{display:block}.message-card-head time{display:block;margin-top:3px}.message-notice{font-size:.68rem;max-width:210px;overflow:hidden;text-overflow:ellipsis}}
.profile-main{max-width:1250px;margin-right:auto}.profile-heading{color:#fff;margin-bottom:18px}.profile-heading h1{font-size:2rem;font-weight:850;margin:10px 0 4px}.profile-heading p{color:#aebed2}.profile-back{color:#7dbbff;text-decoration:none}.profile-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;padding-bottom:88px}.profile-avatar-card{display:flex;flex-direction:column;align-items:center;gap:14px;height:max-content}.profile-avatar-preview{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2869aa,#153c69);border:4px solid #8ec5ff55;color:#fff;font-size:3rem;font-weight:800;background-size:cover;background-position:center}.profile-avatar-preview.has-image,.header-user .avatar.has-image{background-size:cover;background-position:center}.profile-form-card h2,.profile-password-card h2{font-size:1.18rem;font-weight:800;margin-bottom:18px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-fields label{display:block;font-weight:700;margin-bottom:7px}.profile-fields small{display:block;color:#9cadc3;margin-top:6px}.profile-field-wide{grid-column:1/-1}.profile-page .form-control{background:#ffffff0d;border-color:#8ec5ff35;color:#f3f7fd}.profile-page .form-control:disabled{background:#0003;color:#8d9db1}.profile-page textarea{resize:vertical}.profile-password-card{grid-column:2}.profile-pending{margin-top:18px;border:1px solid #ffbd5a55;background:#ff9f1c17;color:#ffd69a;border-radius:10px;padding:12px}.profile-save-bar{position:fixed;z-index:1055;left:251px;right:16px;bottom:12px;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#071323f3;border:1px solid #8ec5ff35;border-radius:14px;box-shadow:0 12px 40px #000a;color:#aebed2;backdrop-filter:blur(18px)}.profile-save-bar .btn{min-width:180px}
@media(max-width:991.98px){.profile-layout{display:block}.profile-layout>.panel{margin-bottom:12px}.profile-password-card{grid-column:auto}.profile-save-bar{left:10px;right:10px;bottom:72px}.profile-avatar-card{height:auto}.profile-avatar-preview{width:110px;height:110px}.profile-fields{grid-template-columns:1fr}.profile-field-wide{grid-column:auto}.profile-main{padding-bottom:160px}}
@media(max-width:575.98px){.profile-heading h1{font-size:1.55rem}.profile-save-bar{gap:10px}.profile-save-bar span{font-size:.75rem}.profile-save-bar .btn{min-width:145px}.profile-form-card,.profile-password-card{padding:16px 14px}}
.unread-pill{background:#e7354f;color:#fff;border-radius:999px;padding:5px 10px;font-size:.75rem}.announcement-cards{display:grid;gap:10px}.announcement-card{display:block;padding:16px;border:1px solid #8ec5ff2b;border-radius:12px;background:#06111f91;color:#eaf3ff;text-decoration:none;transition:.25s}.announcement-card:hover{transform:translateY(-3px);border-color:#6fb5ff}.announcement-card.is-unread{box-shadow:inset 4px 0 #e7354f}.announcement-card-top{display:flex;justify-content:space-between;color:#8fc7ff;font-size:.75rem}.announcement-card-top b{color:#ff7184}.announcement-card h2{font-size:1.05rem;margin:8px 0}.announcement-card p{color:#aebed2;margin:0 0 8px}.announcement-card time,.announcement-detail-main time{color:#8294ac;font-size:.78rem}.announcement-importance{display:inline-block;border-radius:999px;padding:5px 10px;background:#183555;color:#9bcaff}.importance-important{border-color:#f2a33c66}.importance-urgent{border-color:#ff526966}.announcement-content{white-space:pre-wrap;line-height:1.9;margin-top:24px;color:#dce8f7}.admin-announcement-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e3e8ef}.admin-announcement-row small{display:block;color:#778298;margin-top:4px}.admin-announcement-row>div:last-child{display:flex;gap:6px;align-items:center}
@media(max-width:991.98px){.home-header{position:relative;flex-wrap:nowrap}.home-header .home-account-nav{position:absolute;z-index:1200;top:calc(100% - 3px);right:0;width:min(250px,calc(100vw - 28px));padding:8px;gap:3px;background:#0b1424f5;border:1px solid #ffffff45;border-radius:12px;box-shadow:0 16px 38px #0008;backdrop-filter:blur(14px)}.home-header .home-account-nav.is-open{display:grid}.home-header .home-account-nav a,.home-header .home-account-nav button,.home-header .home-account-nav .public-greeting{display:block;width:100%;color:#fff!important;background:transparent;text-align:left;padding:11px 13px;border-radius:8px;font-size:.9rem}.home-header .home-account-nav a:hover,.home-header .home-account-nav button:hover{color:#fff!important;background:#ffffff1c}.home-header .home-account-nav .btn-primary{color:#fff!important;background:#0866ed;text-align:center}.home-header .home-account-nav .btn-primary:hover{background:#0759cf}.home-header .home-account-nav .public-greeting{font-weight:750;border-bottom:1px solid #ffffff24;margin-bottom:3px}.home-header .home-account-nav .home-logout{color:#ffdede!important}}
.chat-main{height:100vh;padding-bottom:18px}.chat-shell,.home-chat-widget{position:relative;display:flex;flex-direction:column;background:linear-gradient(145deg,#10233df2,#071323f2);border:1px solid #8ec5ff35;border-radius:16px;color:#eef5ff;overflow:hidden}.chat-shell{height:calc(100vh - 100px)}.chat-title{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #8ec5ff28}.chat-title h1{font-size:1.25rem;margin:0}.chat-title span,.chat-status{font-size:.75rem;color:#8fa2bb}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;scroll-behavior:smooth}.home-chat-widget{height:280px;margin-bottom:14px;padding:0}.home-chat-widget .panel-head{padding:12px 14px;margin:0;border-bottom:1px solid #8ec5ff24}.home-chat-widget .chat-messages{padding:10px 14px}.chat-message{display:flex;gap:8px;align-items:flex-end;margin:10px 0}.chat-message.own{flex-direction:row-reverse}.chat-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#245d96;color:#fff}.chat-bubble{max-width:min(72%,620px);background:#172c47;border:1px solid #8ec5ff24;border-radius:14px 14px 14px 4px;padding:9px 12px}.chat-message.own .chat-bubble{background:#15599b;border-radius:14px 14px 4px 14px}.chat-bubble strong{font-size:.76rem;color:#9dccff}.chat-bubble p{white-space:pre-wrap;margin:3px 0;color:#fff}.chat-bubble footer{display:flex;gap:9px;justify-content:flex-end}.chat-bubble time,.chat-bubble footer button{font-size:.65rem;color:#aebed2;background:none;border:0}.chat-bubble blockquote{font-size:.72rem;border-left:2px solid #83bcf5;padding-left:7px;margin:4px 0;color:#b9cae0}.chat-composer{display:flex;gap:9px;padding:12px;background:#06101ee8;border-top:1px solid #8ec5ff28}.chat-composer textarea{flex:1;resize:none;min-height:44px;max-height:110px;background:#ffffff0d;border:1px solid #8ec5ff35;border-radius:10px;padding:10px;color:#fff}.chat-composer button{min-width:92px}.chat-new-button{position:absolute;right:18px;bottom:80px}.chat-reply{padding:7px 14px;background:#153354;color:#c8dcf5;font-size:.75rem}.chat-error{position:absolute;top:70px;left:50%;transform:translateX(-50%);background:#b83248;color:#fff;padding:8px 14px;border-radius:8px;z-index:5}.nav-chat-link{position:relative}.nav-unread{position:absolute;right:7px;top:1px;background:#e7354f;color:#fff;border-radius:999px;min-width:18px;padding:1px 4px;font-size:.62rem}.messages-shell{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 105px);background:#071323ef;border:1px solid #8ec5ff35;border-radius:16px;overflow:hidden;color:#fff}.conversation-list{padding:15px;border-right:1px solid #8ec5ff2b;overflow:auto}.conversation-list h1{font-size:1.3rem}.conversation-list [data-people-results] button,.conversation-item{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid #8ec5ff1f;background:transparent;color:#fff;padding:11px}.conversation-item span{display:block;color:#94a8c0;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item b{float:right;background:#e7354f;border-radius:999px;padding:1px 6px}.private-chat{display:flex;flex-direction:column;min-width:0}.private-chat>header{padding:17px;border-bottom:1px solid #8ec5ff2b;font-weight:800}.private-chat .chat-messages{flex:1}.announcement-list a{color:inherit;text-decoration:none}
@media(max-width:991.98px){.chat-main,.messages-main{padding:74px 8px 78px}.chat-shell{height:calc(100dvh - 158px)}.home-chat-widget{height:260px}.chat-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.messages-shell{grid-template-columns:42% 58%;height:calc(100dvh - 158px)}}
@media(max-width:575.98px){.chat-bubble{max-width:84%}.chat-composer button{min-width:70px}.messages-shell{grid-template-columns:1fr}.conversation-list{max-height:34%;border-right:0;border-bottom:1px solid #8ec5ff2b}.private-chat{min-height:0}.home-chat-widget .chat-bubble{max-width:86%}}
.messages-page .messages-shell{display:flex;flex-direction:column}.message-recipient-bar{display:grid;grid-template-columns:1fr auto minmax(280px,420px);align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #8ec5ff2b}.message-recipient-bar h1{font-size:1.2rem;margin:0}.message-recipient-bar small{color:#92a6bf}.message-recipient-bar label{font-size:.8rem;font-weight:750}.message-recipient-bar .form-select{min-height:46px;background-color:#fff;color:#14233d;border-radius:10px}.messages-page .private-chat{flex:1;min-height:0}.messages-page .private-chat .chat-messages{min-height:0}
.chat-messages{scrollbar-width:thin;scrollbar-color:#3d658d #07111f}.chat-messages::-webkit-scrollbar{width:10px}.chat-messages::-webkit-scrollbar-track{background:#07111f;border-left:1px solid #8ec5ff1f}.chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4d7da9,#274b70);border:2px solid #07111f;border-radius:999px}.chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#66a4d9,#35658f)}.home-chat-widget{margin-top:14px;margin-bottom:0}
@media(max-width:767.98px){.messages-page .messages-shell{height:calc(100dvh - 158px)}.message-recipient-bar{display:block;padding:12px}.message-recipient-bar>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}.message-recipient-bar h1{font-size:1.05rem}.message-recipient-bar small{font-size:.68rem}.message-recipient-bar label{display:block;margin-bottom:5px}.message-recipient-bar .form-select{width:100%;font-size:.9rem}.messages-page .private-chat>header{padding:10px 13px;font-size:.85rem}.messages-page .chat-composer{padding:9px}.messages-page .chat-composer textarea{min-width:0}}

/* Unified dark visual language for every administration workspace. */
body[data-page="admin"],body[data-page="performance-admin"],.document-center-page{min-height:100vh;background:#080d14 url('/images/employee-home-bg.png') center/cover fixed no-repeat;color:#eef5ff}
body[data-page="admin"]::before,body[data-page="performance-admin"]::before,.document-center-page::before{content:'';position:fixed;z-index:0;inset:0;background:linear-gradient(115deg,#030811f2 0%,#071325e8 48%,#03070de0 100%);pointer-events:none}
body[data-page="admin"]>*,body[data-page="performance-admin"]>*,.document-center-page>*{position:relative;z-index:1}
body[data-page="admin"] .sidebar,body[data-page="performance-admin"] .portal-sidebar{background:linear-gradient(180deg,#07172df7,#040c19f7);border-right:1px solid #8ec5ff24;box-shadow:10px 0 35px #0006}
body[data-page="admin"] .main-content,body[data-page="performance-admin"] .portal-main{background:transparent}
body[data-page="admin"] .content-card,body[data-page="performance-admin"] .section-card,.document-center-page .doc-card{background:linear-gradient(145deg,#10233df0,#091728f0);color:#eef5ff;border:1px solid #8ec5ff35;border-radius:16px;box-shadow:0 18px 46px #0008;backdrop-filter:blur(18px)}
body[data-page="admin"] .content-card h1,body[data-page="admin"] .content-card h2,body[data-page="performance-admin"] .section-card h1,body[data-page="performance-admin"] .section-card h2,.document-center-page .doc-card h2{color:#f1f6ff}
body[data-page="admin"] .text-secondary,body[data-page="performance-admin"] .text-secondary,body[data-page="performance-admin"] .empty-state,.document-center-page .text-secondary{color:#9fb0c5!important}
body[data-page="admin"] .form-label,body[data-page="performance-admin"] .form-label,.document-center-page .doc-form-grid label{color:#dce9f8;font-weight:750}
body[data-page="admin"] .form-control,body[data-page="admin"] .form-select,body[data-page="performance-admin"] .form-control,body[data-page="performance-admin"] .form-select,.document-center-page .form-control,.document-center-page .form-select{background-color:#ffffff0d;border-color:#8ec5ff3d;color:#f4f8ff;box-shadow:none}
body[data-page="admin"] .form-control:focus,body[data-page="admin"] .form-select:focus,body[data-page="performance-admin"] .form-control:focus,body[data-page="performance-admin"] .form-select:focus,.document-center-page .form-control:focus,.document-center-page .form-select:focus{background-color:#ffffff14;border-color:#68aff5;box-shadow:0 0 0 .2rem #2386e526;color:#fff}
body[data-page="admin"] .form-select option,body[data-page="performance-admin"] .form-select option,.document-center-page .form-select option{background:#0e2036;color:#eef5ff}
body[data-page="performance-admin"] .inner-box,body[data-page="performance-admin"] .upload-form{background:#06111f91;border-color:#8ec5ff2b}
body[data-page="admin"] .btn-outline-primary,body[data-page="performance-admin"] .btn-outline-primary,.document-center-page .btn-outline-primary{color:#75baff;border-color:#4c94dc}
body[data-page="admin"] .btn-outline-primary:hover,body[data-page="performance-admin"] .btn-outline-primary:hover,.document-center-page .btn-outline-primary:hover{color:#fff;background:#1766ac}
body[data-page="admin"] .admin-announcement-row,.document-center-page .document-row{border-color:#8ec5ff24}.document-center-page .document-row small{color:#9fb0c5!important}
.admin-page-actions{position:sticky;z-index:1030;top:10px;display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;padding:10px;border:1px solid #8ec5ff35;border-radius:14px;background:#071323e8;box-shadow:0 12px 32px #0007;backdrop-filter:blur(16px)}
@media(max-width:991.98px){.admin-page-actions{top:8px;justify-content:stretch}.admin-page-actions .btn{flex:1;font-size:.86rem}.main-content:has(.admin-page-actions){padding-top:10px}}
.document-center-page .doc-header{background:#071323f2;border-bottom:1px solid #8ec5ff35;box-shadow:0 8px 30px #0008;backdrop-filter:blur(18px)}.document-center-page .doc-main{max-width:1100px}.document-center-page .page-thumb{background:#0a1728;border-color:#8ec5ff35;color:#fff}.document-center-page .page-thumb img{background:#06101d}.document-center-page .page-thumb button{background:#132b48;border-color:#5684b2;color:#fff}.document-center-page .progress{background:#06101d}.document-center-page .scan-controls{background:#0b1726;color:#eef5ff}.document-center-page .scan-controls button{background:#132b48;border-color:#5684b2;color:#fff}.document-center-page .scan-controls button.active{background:#0866d9}
body[data-page="performance-admin"] .portal-header{background:#071323ed;color:#eef6ff;border-color:#8ec5ff2e}body[data-page="performance-admin"] .portal-brand{color:#fff}
@media(max-width:767.98px){body[data-page="admin"] .content-card,body[data-page="performance-admin"] .section-card,.document-center-page .doc-card{border-radius:13px}.document-center-page .doc-main{padding:10px}}

/* PWA installation, offline state, safe areas and mobile keyboards. */
html,body{max-width:100%;overflow-x:hidden}body{padding-top:env(safe-area-inset-top)}
.portal-header{top:env(safe-area-inset-top)}
.portal-sidebar{top:calc(66px + env(safe-area-inset-top))}
.pwa-install-panel{position:fixed;z-index:3000;right:max(14px,env(safe-area-inset-right));bottom:max(14px,calc(14px + env(safe-area-inset-bottom)));width:min(360px,calc(100vw - 28px));padding:17px 44px 17px 17px;color:#eef6ff;background:#0b203aeF;border:1px solid #75baff66;border-radius:14px;box-shadow:0 18px 55px #0009;backdrop-filter:blur(16px)}
.pwa-install-panel[hidden]{display:none}.pwa-install-panel strong{display:block;margin-bottom:9px}.pwa-install-panel ol{margin:6px 0 0;padding-left:1.35rem;line-height:1.75}.pwa-close{position:absolute;right:8px;top:6px;width:34px;height:34px;border:0;background:transparent;color:#fff;font-size:1.5rem}.pwa-install-button,.pwa-reload-button{width:100%}
.offline-page{min-height:100dvh;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(145deg,#071323,#102a52);color:#eef6ff;text-align:center}.offline-card{width:min(460px,100%);padding:32px 22px;background:#ffffff0d;border:1px solid #8ec5ff40;border-radius:20px}.offline-mark{width:72px;height:72px;margin:0 auto 18px;display:grid;place-items:center;border-radius:18px;background:#1464e8;font-weight:850}.offline-card h1{font-size:1.55rem}.offline-card p{color:#c4d1e1}.offline-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.offline-actions .btn-outline-primary{color:#9dccff;border-color:#75baff}
@media(max-width:991.98px){.portal-header{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.portal-main,.chat-main,.messages-main{padding-top:calc(74px + env(safe-area-inset-top))}.chat-shell,.messages-shell,.messages-page .messages-shell{height:calc(100dvh - 158px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.chat-composer{scroll-margin-bottom:calc(74px + env(safe-area-inset-bottom))}}
@media(display-mode:standalone){body{min-height:100dvh}.mobile-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}}
@media(max-width:420px){.offline-actions{grid-template-columns:1fr}.pwa-install-panel{right:10px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}}

/* Notification center and progressive Web Push controls. */
.notification-bell{position:fixed;z-index:1800;right:max(230px,env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top));width:44px;height:44px;border:1px solid #8ec5ff55;border-radius:50%;background:#0b203aee;color:#fff;box-shadow:0 8px 24px #0005}.notification-bell b{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:2px 5px;border-radius:999px;background:#e7354f;color:#fff;font-size:.68rem}.notification-popover{position:fixed;z-index:1799;right:max(14px,env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top));width:min(390px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 90px));overflow:auto;background:#071526f5;color:#eef6ff;border:1px solid #8ec5ff55;border-radius:16px;box-shadow:0 20px 60px #000b}.notification-popover[hidden]{display:none}.notification-popover>header,.notification-popover>footer{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #8ec5ff2e}.notification-popover>footer{border:0;border-top:1px solid #8ec5ff2e}.notification-popover header button,.notification-popover footer a{border:0;background:none;color:#79bdff;text-decoration:none}.notification-mini{width:100%;display:grid;grid-template-columns:36px 1fr;gap:9px;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #8ec5ff22;background:transparent;color:#edf5ff}.notification-mini.is-unread{background:#1464e824}.notification-mini strong,.notification-mini small,.notification-mini time{display:block}.notification-mini small{color:#b5c5d8;margin:3px 0}.notification-mini time{font-size:.7rem;color:#8096af}.notification-type-icon,.notification-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#1464e8;color:#fff}.notification-empty{padding:22px;text-align:center;color:#9fb0c5}.notification-category-badge{margin-left:5px;padding:1px 6px;border-radius:999px;background:#e7354f;color:#fff;font-size:.65rem}.notification-page-main{max-width:1050px}.notification-page-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.notification-page-head h1,.notification-preferences h2{font-size:1.4rem}.notification-page-head p{color:var(--muted)}.notification-filters{display:flex;gap:7px;overflow:auto;padding:10px 0 15px}.notification-filters button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 13px}.notification-filters button.active{background:var(--blue);border-color:var(--blue);color:#fff}.notification-row{width:100%;display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}.notification-row.is-unread{background:#edf5ff;border-left:4px solid var(--blue)}.notification-row p{margin:4px 0;color:var(--muted)}.notification-row time{font-size:.75rem;color:#7d899c}.notification-setting-actions{display:flex;gap:10px;flex-wrap:wrap}.notification-help{margin-top:12px;color:var(--muted)}.notification-preferences{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notification-preferences h2,.notification-preferences .quiet-hours,.notification-preferences button{grid-column:1/-1}.notification-preferences label{display:flex;gap:8px;align-items:center}.quiet-hours{display:flex;gap:12px}.quiet-hours label{flex:1}.notification-device{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.notification-device small{display:block;color:var(--muted)}
@media(max-width:767.98px){.notification-bell{right:9px;top:calc(8px + env(safe-area-inset-top));width:40px;height:40px}.notification-popover{top:calc(56px + env(safe-area-inset-top))}.notification-page-head,.notification-device{align-items:stretch;flex-direction:column}.notification-preferences{grid-template-columns:1fr}.notification-preferences h2,.notification-preferences .quiet-hours,.notification-preferences button{grid-column:auto}.quiet-hours{display:grid}.notification-setting-actions{display:grid}.notification-setting-actions .btn{width:100%}}
.chat-mention-picker{display:flex;gap:6px;overflow:auto;padding:8px 12px;background:#0b203a;border-top:1px solid #8ec5ff35}.chat-mention-picker.d-none{display:none}.chat-mention-picker button{white-space:nowrap;border:1px solid #75baff66;border-radius:999px;background:#14385e;color:#fff;padding:6px 11px}
@media(max-width:991.98px){.notification-bell{right:9px}}
.ui-state{display:grid;justify-items:center;gap:.65rem;padding:1.25rem;text-align:center;color:#b9c8dc}.ui-state p{margin:0}.ui-state-error{color:#ffb7c2}.ui-state-slow{color:#ffd27a}.ui-state-loading::before{content:"";width:1.5rem;height:1.5rem;border:3px solid rgba(255,255,255,.22);border-top-color:#57a5ff;border-radius:50%;animation:ui-state-spin .8s linear infinite}@keyframes ui-state-spin{to{transform:rotate(360deg)}}
