/* CFS Employee Dashboard — professional workforce workspace */
:root{--ed-navy:#062b5c;--ed-blue:#0754a5;--ed-green:#08783f;--ed-lime:#16a34a;--ed-ink:#173650;--ed-muted:#6b8297;--ed-line:#dce8f2;--ed-bg:#f3f7fb;--ed-shadow:0 18px 48px rgba(6,43,92,.10)}
.dashboard-page{min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(0,87,184,.09),transparent 30%),linear-gradient(145deg,#eff6fc 0%,#fff 44%,#effaf4 100%);color:var(--ed-ink)}
.dashboard-page .header{background:rgba(255,255,255,.97);box-shadow:0 8px 28px rgba(6,43,92,.08);backdrop-filter:blur(12px)}
.dashboard-page .portal-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.dashboard-page .portal-brand img{width:45px;height:45px;object-fit:contain;border-radius:10px}.dashboard-page .portal-brand strong,.dashboard-page .portal-brand small{display:block}.dashboard-page .portal-brand strong{color:var(--ed-navy);font-size:11px;letter-spacing:.55px}.dashboard-page .portal-brand small{margin-top:4px;color:var(--ed-green);font-size:8px;font-weight:800;letter-spacing:.8px}
.dashboard-wrap{max-width:1280px;margin:0 auto;padding:42px 22px 72px}.dash-login{max-width:520px;margin:48px auto;padding:34px;border:1px solid var(--ed-line);border-top:5px solid var(--ed-blue);border-radius:22px;background:#fff;box-shadow:var(--ed-shadow)}.dash-login h1{margin:8px 0 9px;color:var(--ed-navy);font-size:34px}.dash-login>p:not(.kicker){color:var(--ed-muted);font-size:12px;line-height:1.7}.dash-login form{display:grid;gap:13px;margin-top:24px}.dash-login label{display:grid;gap:6px;color:#38546e;font-size:10px;font-weight:800}.dash-login input,.dash-login select{width:100%;padding:12px 13px;border:1px solid #cbddea;border-radius:9px;background:#fbfdff;color:var(--ed-ink);font-size:12px}.dash-login input:focus,.dash-login select:focus{outline:0;border-color:var(--ed-blue);box-shadow:0 0 0 4px rgba(7,84,165,.1)}.dash-login .dash-note{margin-top:20px}
.dash-shell{animation:employeeDashboardIn .45s ease both}.dash-top{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:22px;overflow:hidden;padding:30px 32px;border:1px solid rgba(255,255,255,.2);border-radius:23px;background:linear-gradient(120deg,var(--ed-navy),var(--ed-blue) 58%,var(--ed-green));box-shadow:0 24px 52px rgba(6,43,92,.22)}.dash-top:before{content:"";position:absolute;right:-75px;top:-100px;width:270px;height:270px;border:38px solid rgba(255,255,255,.09);border-radius:50%}.dash-top h1,.dash-top p{position:relative;margin:0;color:#fff}.dash-top h1{font-size:32px;letter-spacing:-.5px}.dash-top>div:first-child>p:last-child{margin-top:8px;color:#cfe4f4;font-size:11px}.dash-top .kicker{color:#b7d9ee;font-size:9px;font-weight:800;letter-spacing:1px}.dash-user{position:relative;z-index:1;display:flex;align-items:center;gap:11px}.dash-avatar{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:3px solid rgba(255,255,255,.7);border-radius:16px;background:linear-gradient(145deg,#fff,#dceff9);color:var(--ed-blue);font:800 14px Manrope;box-shadow:0 8px 18px rgba(0,0,0,.15)}.dash-avatar img{display:block;width:100%;height:100%;object-fit:cover}.dash-logout{border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:9px 12px;background:rgba(255,255,255,.12);color:#fff;font:800 10px Manrope;cursor:pointer}.dash-logout:hover{background:#fff;color:var(--ed-navy)}
.dash-tabs{display:flex;gap:7px;overflow:auto;margin:17px 0;padding:8px;border:1px solid var(--ed-line);border-radius:14px;background:rgba(255,255,255,.84);box-shadow:0 8px 20px rgba(6,43,92,.05)}.dash-tab{flex:0 0 auto;border:1px solid transparent;border-radius:9px;padding:11px 14px;background:transparent;color:#5e7890;font:800 10px Manrope;cursor:pointer;white-space:nowrap}.dash-tab:hover{background:#edf6fd;color:var(--ed-blue)}.dash-tab.active{background:linear-gradient(135deg,var(--ed-blue),var(--ed-green));color:#fff;box-shadow:0 6px 14px rgba(7,84,165,.2)}
.dash-panel{display:none}.dash-panel.active{display:block;animation:employeePanelIn .3s ease both}.dash-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.dash-card{position:relative;overflow:hidden;padding:19px;border:1px solid var(--ed-line);border-top:4px solid var(--ed-blue);border-radius:15px;background:#fff;box-shadow:0 10px 26px rgba(6,43,92,.06)}.dash-card:nth-child(2){border-top-color:var(--ed-green)}.dash-card:nth-child(3){border-top-color:#d28a11}.dash-card:nth-child(4){border-top-color:#7c3aed}.dash-card:after{content:"";position:absolute;right:-24px;top:-24px;width:78px;height:78px;border-radius:50%;background:#eef6fd}.dash-card small,.dash-card strong{position:relative;z-index:1;display:block}.dash-card small{color:var(--ed-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.dash-card strong{margin-top:7px;color:var(--ed-navy);font:800 22px Manrope;word-break:break-word}.dash-card.green strong{color:var(--ed-green)}
.dash-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}.dash-box,.communication-card{border:1px solid var(--ed-line);border-radius:17px;background:#fff;box-shadow:0 12px 30px rgba(6,43,92,.06)}.dash-box{padding:23px}.dash-box h2,.communication-card h2{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--ed-navy);font:800 16px Manrope}.dash-box h2:before,.communication-card h2:before{content:"";display:inline-block;width:5px;height:19px;border-radius:5px;background:linear-gradient(var(--ed-blue),var(--ed-lime))}.dash-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dash-info>div,.dash-info .dash-wide{min-width:0;padding:12px;border:1px solid #e4edf4;border-radius:10px;background:#fbfdff}.dash-info .dash-wide{grid-column:1/-1}.dash-info small,.dash-info strong{display:block}.dash-info small{color:var(--ed-muted);font-size:9px}.dash-info strong{margin-top:4px;color:var(--ed-navy);font-size:11px;line-height:1.45;word-break:break-word}.dash-actions{display:flex;flex-wrap:wrap;gap:9px}.dash-actions .btn{font-size:10px}.dash-note{margin-top:17px;padding:12px 14px;border-left:4px solid var(--ed-green);border-radius:9px;background:#f0faf3;color:#557060;font-size:10px;line-height:1.6}.dash-status{display:flex;gap:5px;margin-top:17px}.dash-status span{flex:1;padding:8px 5px;border:1px solid #e2eaf1;border-radius:7px;background:#f4f7fa;color:#8497a8;text-align:center;font:800 8px Manrope}.dash-status span.done{border-color:#b9e0c7;background:#e1f6e8;color:var(--ed-green)}
.profile-hero{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:16px;margin-bottom:18px;padding:16px;border:1px solid #cce4d4;border-radius:15px;background:linear-gradient(135deg,#f2f8ff,#f1fbf4)}.profile-photo-lg{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border:4px solid #fff;border-radius:20px;background:linear-gradient(145deg,var(--ed-blue),var(--ed-green));color:#fff;font:800 24px Manrope;box-shadow:0 9px 20px rgba(6,43,92,.16)}.profile-photo-lg img{display:block;width:100%;height:100%;object-fit:cover}.profile-hero strong,.profile-hero small{display:block}.profile-hero strong{color:var(--ed-navy);font:800 20px Manrope}.profile-hero small{margin-top:6px;color:var(--ed-muted);font-size:10px;line-height:1.5}.profile-photo-link{display:inline-block;margin-top:8px;color:var(--ed-blue);font-size:9px;font-weight:800;text-decoration:none}.profile-photo-link:hover{text-decoration:underline}
.dash-form{display:grid;gap:15px}.dash-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-field{display:grid;gap:6px;color:#38546e;font-size:10px;font-weight:800}.dash-field.wide{grid-column:1/-1}.dash-field input,.dash-field textarea,.dash-field select{width:100%;padding:11px;border:1px solid #cbddea;border-radius:9px;background:#fbfdff;color:var(--ed-ink);font-size:11px}.dash-field input:focus,.dash-field textarea:focus{outline:0;border-color:var(--ed-blue);box-shadow:0 0 0 4px rgba(7,84,165,.09)}.profile-editor{margin-top:22px;padding-top:20px;border-top:1px solid var(--ed-line)}.profile-editor h3{margin:0 0 13px;color:var(--ed-navy);font:800 13px Manrope}
.dash-docs{display:grid;gap:8px}.dash-docs>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e3edf4;border-radius:9px;background:#fbfdff;color:#526d84;font-size:10px}.dash-docs>div b{color:var(--ed-navy)}.dash-qr{display:block;width:148px;height:148px;margin:18px auto 6px;padding:8px;border:1px solid var(--ed-line);border-radius:12px;background:#fff;object-fit:contain}
.communication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.communication-card{padding:21px}.communication-list{display:grid;gap:9px}.communication-item{padding:12px;border:1px solid #e2ebf3;border-left:3px solid var(--ed-blue);border-radius:9px;background:#fbfdff}.communication-item.notice{border-left-color:#d18a13}.communication-item.update{border-left-color:var(--ed-green)}.communication-item strong,.communication-item small{display:block}.communication-item strong{color:var(--ed-navy);font-size:11px}.communication-item small{margin-top:4px;color:var(--ed-muted);font-size:8px}.communication-item p{margin:8px 0 0;color:#536d82;font-size:10px;line-height:1.55}.communication-empty{padding:18px;text-align:center;color:var(--ed-muted);font-size:10px;border:1px dashed #cbdce9;border-radius:9px}
.employee-kpi{gap:10px}.employee-kpi .dash-card{padding:15px}.route-list{display:grid;gap:8px}.route-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:9px;background:#f3f8fb;color:var(--ed-navy);font-size:10px}.route-list small{color:var(--ed-green);font-weight:800}.security-box{margin-top:4px}.success-msg,.security-msg,.profile-edit-msg{font-size:10px}
.dashboard-page .footer{margin-top:0;background:linear-gradient(125deg,#041f43,#062b5c 58%,#045b39);border-top:4px solid var(--ed-lime)}
@keyframes employeeDashboardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes employeePanelIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:980px){.dash-cards{grid-template-columns:repeat(2,1fr)}.communication-grid{grid-template-columns:1fr 1fr}.communication-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.dashboard-wrap{padding:25px 14px 50px}.dash-top{display:block;padding:23px 20px}.dash-user{margin-top:18px;justify-content:space-between}.dash-grid{grid-template-columns:1fr}.dash-box{padding:18px}.dash-tabs{margin-top:12px}.official-partners{display:none}.dash-login{margin:20px auto;padding:24px}.dash-top h1{font-size:26px}.communication-grid{grid-template-columns:1fr}.communication-card:last-child{grid-column:auto}}
@media(max-width:560px){.dash-cards{grid-template-columns:1fr 1fr;gap:9px}.dash-card{padding:14px}.dash-card strong{font-size:18px}.dash-info,.dash-form-grid{grid-template-columns:1fr}.dash-field.wide,.dash-info .dash-wide{grid-column:auto}.profile-hero{grid-template-columns:1fr;text-align:center}.profile-photo-lg{margin:auto}.profile-hero strong{font-size:17px}.dash-status span{font-size:7px;padding:7px 2px}.dash-avatar{width:50px;height:50px}}
