
:root{--ink:#142f3d;--navy:#073a45;--forest:#0c625b;--mint:#d6f3ea;--line:#dce5e7;--slate:#58737e;--paper:#f4f7f8}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #39a8a3;outline-offset:3px}a{color:inherit}
[hidden]{display:none!important}.app-wrap{display:flex;min-height:100vh}.sidebar{width:258px;flex:none;background:var(--navy);color:#e5f4f2;display:flex;flex-direction:column;padding:27px 17px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding:5px 11px 32px}.brand img{width:44px;height:44px;background:#fff;object-fit:contain;border-radius:11px;padding:4px}.brand strong{display:block;font-size:1.08rem;letter-spacing:.08em}.brand small{display:block;color:#accfcf;font-size:.72rem;margin-top:3px}.side-label{color:#89b8ba;font-size:.66rem;font-weight:800;letter-spacing:.15em;padding:8px 13px 12px}.side-nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;width:100%;text-align:left;gap:12px;padding:14px 13px;color:#c9e4df;border:1px solid transparent;background:transparent;border-radius:11px;font-weight:600;font-size:.91rem}.nav-item:hover,.nav-item.active{background:#1d5d62;color:white}.nav-item.active{border-color:#4b9393}.nav-icon{width:24px;text-align:center;font-size:1.32rem}.sidebar-bottom{margin-top:auto;display:grid;gap:17px;padding:18px 12px;font-size:.78rem}.secure-label{color:#abdad1}.secure-label span{color:#53deb6;margin-right:8px}.back-link{color:#e5f4f2;text-decoration:none}.back-link:hover{text-decoration:underline}.main-pane{flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 38px;background:white;border-bottom:1px solid var(--line);min-height:82px}.breadcrumb{font-size:.82rem;font-weight:700;color:#365969}.breadcrumb span{margin:0 9px;color:#9ab1b4}.account{display:flex;align-items:center;gap:10px}.account-dot{background:#d2efe7;color:#07594e;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:800;font-size:.77rem}.account-text strong,.account-text small{display:block}.account-text strong{font-size:.8rem}.account-text small{color:#6a828a;font-size:.7rem;margin-top:4px}.logout,.outline-button{border:1px solid #c6d8da;background:white;border-radius:9px;padding:9px 13px;color:#245461;font-weight:700;font-size:.8rem}.logout{margin-left:12px}main{max-width:1420px;margin:auto;padding:36px 40px}.eyebrow{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.17em;color:#b0dad4}.eyebrow.teal{color:var(--forest)}.page-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.page-top h1,.module-header h1{font-size:clamp(1.7rem,2.9vw,2.4rem);margin:9px 0 6px;letter-spacing:-.045em}.page-top p,.module-header p{font-size:.93rem;color:var(--slate);margin:0}.date-chip{font-size:.78rem;color:#50727c;background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:99px;white-space:nowrap}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:28px 0 30px;padding:30px 38px;background:linear-gradient(116deg,#073e4d,#0b726b);color:white;border-radius:20px;min-height:244px;overflow:hidden}.hero h2{font-size:clamp(1.7rem,3.1vw,2.65rem);line-height:1.06;letter-spacing:-.04em;margin:10px 0}.hero p{line-height:1.6;color:#cee6e4;max-width:560px;font-size:.9rem}.hero-mark{border:1px solid #ffffff40;width:165px;height:165px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none;transform:rotate(-9deg);background:#ffffff0a}.hero-mark span{font-family:Georgia,serif;font-size:3.8rem;font-weight:700}.hero-mark small{font-size:.58rem;letter-spacing:.16em}.section-heading h2{margin:0;font-size:1.14rem}.section-heading p{font-size:.85rem;color:var(--slate);margin:6px 0 20px}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.task-card{min-height:203px;display:flex;gap:19px;text-align:left;border-radius:17px;padding:25px 23px;background:white;border:1px solid #e1e9eb;box-shadow:0 6px 20px #08303d09;transition:transform .15s,border-color .15s}.task-card:hover{transform:translateY(-3px);border-color:#7ac2b4}.task-symbol{font-size:1.9rem;flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#dcefeb;color:#096154}.task-symbol.accent{background:#e4eaf4;color:#2b5686}.task-copy{display:flex;flex-direction:column;gap:10px}.task-copy strong{font-size:1.12rem;letter-spacing:-.02em}.task-copy>span{font-size:.84rem;line-height:1.55;color:#69828a}.task-copy em{font-weight:800;color:#0a7667;font-size:.84rem;font-style:normal;margin-top:auto}.information{background:#e6f0ee;border-left:3px solid #48a78f;margin-top:28px;padding:17px 21px;border-radius:4px 12px 12px 4px}.information strong{font-size:.87rem}.information p{margin:5px 0 0;color:#42656c;font-size:.83rem;line-height:1.6}.login-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center;max-width:1040px;margin:6vh auto}.login-intro h1{font-size:clamp(2.3rem,4.6vw,4.4rem);letter-spacing:-.055em;line-height:1.04;margin:13px 0 18px}.login-intro p{color:var(--slate);line-height:1.7;max-width:390px}.login-card{background:#fff;border:1px solid #e3eaec;border-radius:20px;padding:32px;box-shadow:0 15px 45px #173e4c10}.login-symbol{background:#ddf0ea;color:var(--forest);display:grid;place-items:center;width:52px;height:52px;border-radius:15px;font-size:2rem;margin-bottom:20px}.login-card h2{font-size:1.28rem;margin:0 0 10px}.login-card>p{color:var(--slate);font-size:.88rem;line-height:1.6}.login-card form{margin-top:23px}.login-card label{font-size:.8rem;font-weight:800;display:block;margin-bottom:9px}.login-card input{width:100%;border:1px solid #bfd0d2;border-radius:11px;padding:14px 16px;font-size:1.15rem;letter-spacing:.18em}.primary-button{width:100%;background:#076b60;color:white;border:0;border-radius:11px;padding:15px 17px;font-weight:800;margin-top:16px;display:flex;justify-content:space-between}.primary-button:disabled{opacity:.55;cursor:not-allowed}#loginMessage{font-size:.85rem;min-height:20px;color:#b73345}.login-foot{border-top:1px solid #e5ecee;color:#84999f;font-size:.75rem;padding-top:20px;margin-top:8px}.module-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.module-view{width:100%}.module-status{background:#e9f3f1;padding:16px;border:1px solid #d0e2dc;border-radius:12px;color:#35665f;font-size:.87rem}.module-status.error{background:#fff0ef;color:#a63239;border-color:#f4bebc}.module-frame{display:block;width:100%;height:calc(100vh - 240px);min-height:650px;border:1px solid #d8e3e3;background:white;border-radius:14px;box-shadow:0 8px 25px #152f4110}.menu-button{display:none;border:0;background:none;color:var(--navy);font-size:1.45rem}
@media(max-width:1080px){.sidebar{width:216px}.topbar{padding:16px 24px}main{padding:26px 26px}.task-card{padding:20px 17px}.hero-mark{width:130px;height:130px}.login-wrap{gap:18px}}
@media(max-width:740px){.sidebar{position:fixed;z-index:10;transform:translateX(-110%);transition:transform .2s;width:255px;box-shadow:10px 0 30px #001b2040}.sidebar.open{transform:translateX(0)}.topbar{padding:12px 14px;min-height:66px}.menu-button{display:block}.topbar-title{display:flex;align-items:center;gap:7px}.breadcrumb{font-size:.73rem}.account-text{display:none}.account-dot{width:33px;height:33px}.logout{font-size:.7rem;padding:8px;margin-left:2px}main{padding:20px 13px}.page-top,.module-header{align-items:start}.page-top{flex-direction:column}.hero{padding:25px;min-height:180px}.hero-mark{display:none}.task-grid{grid-template-columns:1fr}.task-card{min-height:166px}.login-wrap{display:flex;flex-direction:column;align-items:stretch;margin:0 auto;gap:18px}.login-intro h1{font-size:2rem}.login-card{padding:23px}.module-header{flex-direction:column}.module-frame{height:calc(100vh - 260px);min-height:600px}.date-chip{font-size:.7rem}}
@media print{.sidebar,.topbar{display:none}main{padding:0}}

@media(min-width:1100px){.task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-card{padding:22px 18px}.task-copy strong{font-size:1.02rem}}
