:root{font-family:Arial,Helvetica,sans-serif;color:#1c2024;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #003082;--accent: #f4f7f6;--border: #e0e4e7;--text-dim: #64748b}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--accent)}button,a{font:inherit}.dashboard-layout{min-height:100vh;display:flex}.sidebar{width:340px;min-height:100vh;flex:0 0 340px;display:flex;flex-direction:column;padding:20px 16px 14px;color:#fff;background:var(--primary)}.brand{min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 5px;color:var(--accent);font-size:24px;font-weight:700;letter-spacing:-.8px}.brand-symbol{color:var(--accent);font-size:26px;font-weight:800}.sidebar-nav{display:flex;flex-direction:column;gap:7px;margin-top:37px}.nav-item{min-height:45px;display:flex;align-items:center;gap:12px;padding:0 14px;color:#ffffffba;border-radius:9px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s ease,background .15s ease}.nav-item:hover,.nav-item-active{color:#fff;background:#ffffff1c}.nav-external-icon{margin-left:auto;opacity:.65}.sidebar-account{display:flex;align-items:center;gap:11px;margin-top:auto;padding:14px 11px;background:#1e3c69;border-radius:13px}.account-avatar{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:#ffffff29;border:1px solid rgb(255 255 255 / 16%);border-radius:50%;font-size:13px;font-weight:700}.account-details{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.account-details strong,.account-details span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-details strong{color:#e8edf5;font-size:12px;font-weight:600}.account-details span{color:#aab8ca;font-size:10px}.logout-button{width:33px;height:33px;flex:0 0 auto;display:grid;place-items:center;color:#d3ddec;background:transparent;border:0;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease}.logout-button:hover{color:#fff;background:#ffffff1f}.logout-button:focus-visible,.nav-item:focus-visible,.module-card:focus-visible,.main-footer a:focus-visible{outline:3px solid #87b7ee;outline-offset:3px}.sidebar-footer{padding:14px 10px 0;color:#ffffff78;font-size:10px}.main-panel{min-width:0;flex:1;display:flex;flex-direction:column}.page-header{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;border-bottom:1px solid var(--border)}.page-header h1{margin:0;color:#1c2024;font-size:23px;font-weight:700;letter-spacing:-.45px}.secure-label{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);font-size:11px}.secure-dot{width:7px;height:7px;background:#10b981;border-radius:50%;box-shadow:0 0 0 3px #10b9811f}.content-area{width:min(100%,1280px);flex:1;margin:0 auto;padding:28px 32px 38px}.welcome{position:relative;overflow:hidden;margin-bottom:30px;padding:29px 32px;color:#fff;background:var(--primary);border-radius:16px;box-shadow:0 4px 12px #0030821a}.welcome:after{position:absolute;top:-105px;right:-40px;width:280px;height:280px;content:"";border:1px solid rgb(255 255 255 / 10%);border-radius:50%;box-shadow:0 0 0 30px #ffffff08,0 0 0 62px #ffffff08;pointer-events:none}.welcome-copy{position:relative;z-index:1}.eyebrow{color:#c3d2e7;font-size:10px;font-weight:700;letter-spacing:1.3px}.welcome h2{margin:10px 0 7px;color:#fff;font-size:clamp(22px,3vw,29px);font-weight:700;letter-spacing:-.7px}.welcome p{margin:0;color:#d4dfef;font-size:13px;line-height:1.55}.modules-section{margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.section-kicker{color:#64748b;font-size:10px;font-weight:700;letter-spacing:1px}.section-heading h2{margin:5px 0 0;color:#1c2024;font-size:20px;font-weight:700}.module-count{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;color:var(--text-dim);font-size:11px}.count-dot{width:7px;height:7px;background:#10b981;border-radius:50%}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{min-height:226px;display:flex;flex-direction:column;align-items:flex-start;padding:20px;color:#1c2024;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 6px #0f172a0a;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.module-card:hover{border-color:#9ab0d0;box-shadow:0 10px 22px #0f2d591a;transform:translateY(-2px)}.card-topline{width:100%;display:flex;justify-content:space-between;align-items:flex-start}.module-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--primary);background:#f0f5fb;border-radius:11px}.card-index{color:#a8b2c0;font-size:10px;font-weight:700;letter-spacing:.6px}.module-category{margin-top:15px;color:var(--text-dim);font-size:9px;font-weight:700;letter-spacing:.9px;text-transform:uppercase}.module-card h3{margin:5px 0;color:#1c2024;font-size:16px;font-weight:700}.module-card p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.6}.card-action{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:17px;color:var(--primary);font-size:11px;font-weight:700}.action-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--primary);background:#f1f5fa;border-radius:8px;transition:color .15s ease,background .15s ease}.module-card:hover .action-icon{color:#fff;background:var(--primary)}.main-footer{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;color:#718096;background:#fff;border-top:1px solid var(--border);font-size:10px}.main-footer a{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:600;text-decoration:none}.main-footer a:hover{text-decoration:underline}.auth-state{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:var(--text-dim);background:var(--accent);text-align:center}.auth-state .brand{margin-bottom:16px;color:var(--primary)}.auth-state .brand-symbol{color:var(--primary)}.auth-state p{max-width:520px;margin:0;font-size:13px;line-height:1.6}.loading-spinner{width:30px;height:30px;border:3px solid #dce5f1;border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}.auth-error{width:min(100%,480px);padding:26px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 14px #0f172a12}.auth-error h1{margin:0 0 10px;color:#b42318;font-size:20px}.auth-error p{color:#52647e}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.sidebar{width:270px;flex-basis:270px}.content-area,.page-header{padding-right:24px;padding-left:24px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dashboard-layout{flex-direction:column}.sidebar{width:100%;min-height:auto;flex:0 0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 18px;padding:13px 18px}.brand{min-height:36px;font-size:21px}.brand-symbol{font-size:24px}.sidebar-nav{grid-column:1 / -1;flex-direction:row;gap:6px;margin-top:0}.nav-item{min-height:39px;gap:8px;padding:0 10px;font-size:11px}.sidebar-account{grid-column:2;grid-row:1;gap:8px;margin-top:0;padding:4px 6px;background:transparent}.account-avatar{width:30px;height:30px}.account-details{max-width:130px}.sidebar-footer{display:none}.page-header{height:60px;flex-basis:60px}.page-header h1{font-size:20px}.content-area{padding-top:20px;padding-bottom:24px}.welcome{margin-bottom:24px;padding:24px}.main-footer{padding:0 24px}}@media(max-width:480px){.sidebar{padding:11px 12px}.account-details{display:none}.sidebar-account{padding-right:0}.nav-item{font-size:0}.nav-item svg{flex:0 0 auto}.nav-external-icon{display:none}.secure-label{gap:6px;font-size:0}.content-area{padding-right:16px;padding-left:16px}.welcome{padding:22px 19px}.welcome h2{max-width:260px;font-size:23px;line-height:1.3}.welcome p{max-width:260px;font-size:12px}.section-heading h2{font-size:18px}.module-grid{grid-template-columns:1fr;gap:12px}.module-card{min-height:210px}.main-footer{padding:0 16px}.main-footer>span{max-width:175px;line-height:1.5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
