:root{--ink:#17211b;--green:#183f30;--lime:#d9f36a;--paper:#f4f5f1;--line:#dfe4df;--muted:#6c766f}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px Inter,system-ui,sans-serif}button,input,select{font:inherit}.wordmark{color:inherit;text-decoration:none;font:600 25px Georgia}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-copy{padding:55px clamp(35px,7vw,110px);background:linear-gradient(145deg,#244f3d,#102b20);color:white;display:flex;flex-direction:column;justify-content:space-between}.auth-copy>div{max-width:650px}.auth-copy>div>span,.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:var(--muted)}.auth-copy>div>span{color:var(--lime)}.auth-copy h1{font:500 clamp(55px,7vw,100px)/.91 Georgia;margin:25px 0}.auth-copy p{font-size:18px;line-height:1.6;color:#ffffffb8;max-width:520px}.auth-copy small{color:#ffffff80}.auth-card{background:white;padding:clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:45px}.auth-tabs button{border:0;background:none;padding:13px 3px;margin-right:28px;color:var(--muted);border-bottom:2px solid transparent}.auth-tabs button.active{color:var(--ink);border-color:var(--green)}form h2{font:500 42px Georgia;margin:9px 0 30px}label{display:grid;gap:8px;font-weight:700;margin-bottom:17px}label small{font-weight:400;color:var(--muted)}input,select{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;color:var(--ink)}input:focus{outline:3px solid #183f3022;border-color:var(--green)}.consent{display:flex;align-items:flex-start;gap:9px;font-weight:400;line-height:1.5}.consent input{width:auto;margin-top:4px}.primary{border:0;border-radius:9px;background:var(--green);color:white;padding:12px 17px;font-weight:750}.message{padding:12px 14px;border-radius:9px;background:#e8f3eb;color:#245d3d;margin-top:18px}.message.error{background:#fff0ee;color:#9b302b}#portal-view{min-height:100vh;display:grid;grid-template-columns:235px 1fr}#portal-view>aside{position:fixed;inset:0 auto 0 0;width:235px;background:var(--green);color:white;padding:30px 19px;display:flex;flex-direction:column}aside nav{display:grid;gap:6px;margin-top:65px}aside nav button,.logout{border:0;background:transparent;color:#ffffffa5;padding:12px;text-align:left;border-radius:8px}aside nav button.active,aside nav button:hover{background:#ffffff13;color:#fff}.logout{margin-top:auto}.workspace{grid-column:2;padding:45px clamp(30px,6vw,85px) 80px;max-width:1500px;width:100%}.workspace>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.workspace h1{font:500 44px Georgia;margin:7px 0}.link-button{text-decoration:none;display:inline-block}.welcome{background:var(--green);color:white;border-radius:18px;padding:45px;margin-bottom:17px;background-image:radial-gradient(circle at 85% 30%,#d9f36a 0 8%,transparent 8.3%)}.welcome span{color:#ffffff96}.welcome h2{font:500 50px Georgia;margin:10px 0}.welcome p{color:#ffffffa9}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:17px}.metrics article,.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.metrics span{color:var(--muted)}.metrics strong{display:block;font:500 38px Georgia;margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h3,.panel h3{font:500 28px Georgia;margin:0}.panel-head button{border:0;background:transparent;color:var(--green);font-weight:750}.appointment-row{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;border-top:1px solid #edf0ed;padding:16px 4px}.appointment-row:first-child{border:0}.appointment-row time{font-weight:800}.appointment-row small{display:block;color:var(--muted);margin-top:4px}.appointment-row button{border:1px solid #e6c7c3;color:#953630;background:white;border-radius:7px;padding:8px}.status{display:inline-block;padding:4px 8px;border-radius:99px;background:#e7f3e9;color:#27623f;font-size:10px}.voucher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.voucher-card{min-height:220px;border-radius:16px;padding:24px;background:linear-gradient(145deg,#1d4937,#0f2c21);color:white;display:flex;flex-direction:column}.voucher-card>span{color:var(--lime);text-transform:uppercase;letter-spacing:.13em;font-size:10px}.voucher-card strong{font:500 38px Georgia;margin:25px 0 5px}.voucher-card code{margin-top:auto;color:#fff;font-size:15px;letter-spacing:.12em}.voucher-card small{color:#ffffff9a}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.security-card ul{list-style:none;padding:0;margin:20px 0}.security-card li{padding:14px 0;border-top:1px solid #edf0ed}.security-card b,.security-card span{display:block}.security-card span{color:var(--muted);margin-top:5px}.outline{border:1px solid var(--line);padding:11px 14px;border-radius:8px;background:white}.empty{padding:35px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-copy{min-height:340px}.auth-copy small{display:none}#portal-view{grid-template-columns:1fr}#portal-view>aside{position:static;width:auto;flex-direction:row;align-items:center}aside nav{display:flex;margin:0 0 0 auto}aside nav button{font-size:0}aside nav button:first-letter{font-size:18px}.logout{display:none}.workspace{grid-column:1;padding:28px 18px}.metrics,.voucher-grid,.profile-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:1fr}.welcome h2{font-size:38px}}
