:root{--td-navy:#102b43;--td-teal:#117f89;--td-teal-dark:#0b6470;--td-text:#20384a;--td-muted:#647889;--td-line:#dfe8ec;--td-bg:#f5f8fa}
*{box-sizing:border-box}
html{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column;margin:0;background:var(--td-bg);font-family:Segoe UI,Arial,sans-serif;color:var(--td-text)}
.td-header{background:var(--td-navy);color:#fff;box-shadow:0 3px 14px rgba(16,43,67,.12)}
.td-header-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.td-brand{display:inline-flex;gap:12px;align-items:center;color:#fff;text-decoration:none;letter-spacing:.09em}
.td-brand:hover{color:#fff}
.td-brand-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--td-teal);font-size:28px;font-weight:300;line-height:1}
.td-brand strong{display:block;font-size:16px;line-height:1.2}
.td-brand small{display:block;font-size:11px;letter-spacing:.14em;color:#c1d9df;margin-top:3px}
.td-user-area{display:flex;align-items:center;gap:18px}
.td-user-email{font-size:13px;color:#d6e5ec;overflow-wrap:anywhere}
.td-main{flex:1}
.td-footer{padding:22px 0;text-align:center;color:#788b97;font-size:12px}
.td-login-page{min-height:calc(100vh - 170px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,440px);gap:7%;align-items:center;padding:60px 0}
.td-eyebrow{display:inline-block;color:var(--td-teal);font-size:12px;font-weight:750;letter-spacing:.14em;margin-bottom:13px}
.td-login-intro h1,.td-dashboard h1{font-size:clamp(30px,3.6vw,45px);font-weight:750;color:var(--td-navy);letter-spacing:-.035em;line-height:1.13;margin-bottom:19px}
.td-login-intro p{font-size:17px;line-height:1.75;max-width:540px;color:var(--td-muted)}
.td-intro-note{margin-top:34px;padding-left:16px;border-left:3px solid var(--td-teal);color:#526c7e;font-size:14px}
.td-login-card{background:#fff;border:1px solid var(--td-line);border-radius:20px;padding:40px;box-shadow:0 22px 58px rgba(16,43,67,.08)}
.td-login-card-head{margin-bottom:28px}
.td-login-card-head h2{font-size:25px;font-weight:750;color:var(--td-navy);margin-bottom:8px}
.td-login-card-head p{font-size:14px;color:var(--td-muted);margin:0}
.td-login-card .form-label{font-size:13px;font-weight:650;color:#3a5364}
.td-input{height:48px;border:1px solid #cddbe2;border-radius:10px;font-size:14px}
.td-input:focus{border-color:var(--td-teal);box-shadow:0 0 0 .2rem rgba(17,127,137,.13)}
.td-primary-btn{background:var(--td-teal);color:#fff;border:1px solid var(--td-teal);border-radius:10px;padding:12px 18px;font-weight:650}
.td-primary-btn:hover,.td-primary-btn:focus{background:var(--td-teal-dark);border-color:var(--td-teal-dark);color:#fff}
.td-login-footnote{font-size:12px;color:#8294a0;text-align:center;margin:22px 0 0}
.td-alert:empty,.validation-summary-valid{display:none}
.td-dashboard{padding:54px 0 65px}
.td-dashboard-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:48px}
.td-dashboard-top p{color:var(--td-muted);max-width:620px;margin-bottom:0}
.td-session-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--td-line);padding:18px 22px;border-radius:13px;min-width:240px}
.td-session-dot{width:9px;height:9px;flex:none;margin-top:7px;background:#29a57c;border-radius:50%}
.td-session-card strong,.td-session-card small{display:block}
.td-session-card strong{font-size:14px;color:var(--td-navy);margin-bottom:5px}
.td-session-card small{font-size:12px;color:var(--td-muted);overflow-wrap:anywhere}
.td-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.td-section-heading h2{font-size:21px;font-weight:750;color:var(--td-navy)}
.td-section-heading span{font-size:12px;color:var(--td-muted)}
.td-module-card{height:100%;padding:27px;background:#fff;border:1px solid var(--td-line);border-radius:15px}
.td-module-num{font-size:12px;font-weight:750;color:var(--td-teal);letter-spacing:.1em}
.td-module-card h3{font-size:19px;font-weight:750;color:var(--td-navy);margin:17px 0 10px}
.td-module-card p{color:var(--td-muted);font-size:14px;line-height:1.65;min-height:70px}
.td-module-status{display:inline-block;background:#edf6f7;color:#0c6570;font-size:12px;font-weight:650;border-radius:30px;padding:7px 12px;margin-top:9px}
.td-notice{background:#eef4f7;border:1px solid #d6e4ea;border-radius:12px;margin-top:28px;padding:18px 20px;color:#456171;font-size:14px}
.td-message-card{background:#fff;border:1px solid var(--td-line);border-radius:16px;max-width:600px;margin:90px auto;padding:50px;text-align:center}
.td-message-card h1{color:var(--td-navy);font-size:27px;font-weight:750}
.td-message-card p{color:var(--td-muted);margin:15px 0 28px}
.td-message-symbol{display:grid;place-items:center;margin:0 auto 24px;width:56px;height:56px;border-radius:50%;background:#fff3e5;color:#ab6427;font-weight:800;font-size:30px}
@media(max-width:850px){.td-login-page{grid-template-columns:1fr;gap:35px;padding:45px 0}.td-login-intro{max-width:650px}.td-dashboard-top{align-items:flex-start;flex-direction:column}.td-user-area{gap:8px}.td-user-email{max-width:170px}}
@media(max-width:540px){.td-header-inner{min-height:72px}.td-brand strong{font-size:13px}.td-brand small{font-size:10px}.td-brand-icon{width:34px;height:34px}.td-user-email{display:none}.td-login-card{padding:27px 22px}.td-login-intro h1{font-size:30px}.td-section-heading{display:block}}
