/* Shared visual language: calm, readable, and task focused. */
:root{--bg:#f4f7f6;--surface:#fff;--surface-2:#f7f9f8;--surface-3:#edf2ef;--border:#d5e0db;--text:#203b36;--muted:#526861;--faint:#61746e;--primary:#155e57;--primary-btn:#155e57;--primary-hover:#104c46;--primary-soft:#e4f1eb;--green:#237044;--green-btn:#237044;--green-soft:#e6f3e9;--red:#ac3333;--red-btn:#ac3333;--red-soft:#fcecec;--amber:#805800;--amber-soft:#fff4d8;--radius:16px;--radius-sm:10px;--sidebar-w:256px;--shadow:0 16px 60px #133c2720}
body{font-size:16px}h1{font-size:clamp(1.65rem,2.4vw,2.2rem);letter-spacing:-.025em}button,input,select,textarea{touch-action:manipulation}input[type=date]{color-scheme:light}input,select,textarea{background-color:#fff;min-height:48px}::placeholder{color:#6b7e76}.btn,.icon-btn,.pw-toggle,.chip{min-height:44px}.icon-btn,.pw-toggle{min-width:44px}.field>label,.label,.label-row label{font-size:.92rem;color:var(--text);font-weight:600}.hint{font-size:.83rem}.btn{border-radius:10px}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #bb7d20;outline-offset:3px}.notice-warn{color:#765200}.notice-ok{color:#23653e}.notice-err{color:#a12e2e}
.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;padding:12px 20px;border:2px solid var(--primary);border-radius:8px}.skip-link:focus{top:12px}.connection-notice{position:relative;z-index:110;padding:12px 20px;background:#fff0cc;color:#664800;text-align:center}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--primary);margin:0 0 12px}.auth-wrap{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1fr);padding:0;background:#fff;align-items:center;min-height:100svh}.auth-story{align-self:stretch;background:#164e45;color:#fff;padding:48px clamp(28px,5vw,80px);display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story:after{content:"";width:390px;height:390px;border:1px solid #ffffff16;border-radius:50%;position:absolute;right:-240px;bottom:-130px;box-shadow:0 0 0 60px #ffffff05,0 0 0 120px #ffffff04;pointer-events:none}.story-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:1.04rem;font-weight:600}.brand-mark{width:44px;height:44px;border-radius:13px;background:#ffffff18;display:grid;place-items:center;font-size:22px}.story-main{margin:auto 0;padding:65px 0}.story-main .eyebrow{color:#bedecb}.story-main h2{font-size:clamp(2.3rem,3.8vw,3.8rem);line-height:1.35;letter-spacing:-.04em}.accent-dot{color:#e6be74}.story-description{color:#d0e2d8;line-height:1.9}.story-steps{list-style:none;padding:0;margin:35px 0 0;display:grid;gap:23px}.story-steps li{display:flex;align-items:center;gap:16px}.story-steps li>span{font-size:.85rem;border:1px solid #71978a;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:#dfd7af;flex-shrink:0}.story-steps strong{display:block;font-size:.97rem;font-weight:500}.story-steps small{display:block;color:#bdd6c9;margin-top:2px;font-size:.83rem}.story-footer{font-size:.8rem;color:#bed4c7;margin:0}.auth-card,.auth-card.wide{max-width:470px;padding:48px 32px;margin:0 auto;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:left}.auth-logo{margin:0 0 24px;width:52px;height:52px;border-radius:14px;font-size:1.5rem}.auth-card h1{font-size:1.9rem;margin-bottom:12px}.auth-sub{line-height:1.8;margin-bottom:28px}.auth-links{text-align:center;border-top:1px solid var(--border);padding-top:22px}.label-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:6px}.label-row a{font-size:.83rem;text-decoration:none}.form-error{color:var(--red);font-size:.83rem;margin-top:6px;display:block}.validation-summary{background:var(--red-soft);border-left:3px solid var(--red);padding:12px 14px;border-radius:8px;margin-bottom:18px;font-size:.9rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red)}
.sidebar{background:#164e45;color:#fff;border:0}.sidebar .brand{padding:28px 22px;border-color:#ffffff20}.sidebar .brand i{color:#e6be74}.sidebar .profile{padding:22px;border-color:#ffffff20}.sidebar .profile-meta{color:#bfd5ca}.sidebar .role-tag{background:#ffffff17;color:#e6f0e8}.sidebar .avatar{background:#ffffff19;color:#f1d79c}.sidebar .nav{padding:16px 12px;gap:5px}.sidebar .nav-item{color:#d3e1d9;border:0;border-radius:10px;padding:13px 14px;min-height:48px}.sidebar .nav-item:hover{background:#ffffff12;color:#fff}.sidebar .nav-item.active{background:#f2f7f0;color:#174e42}.sidebar .nav-item.logout{color:#ffcfb9;border-top:1px solid #ffffff20;border-radius:0;margin-top:26px}.main{padding:42px clamp(22px,3.2vw,52px) 64px;max-width:1510px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-intro h1{margin:0 0 8px}.page-intro p:last-child{color:var(--muted);margin:0}.page-intro .eyebrow{margin-bottom:7px}.panel{padding:24px;box-shadow:0 3px 10px #133c2703}.item,.leave-card{padding:20px;border-color:var(--border);box-shadow:0 3px 10px #133c2703}.stat{padding:20px}.stat-value{font-size:2rem;letter-spacing:-.04em}.stat-label{font-size:.86rem}.badge-pending{color:#765200;background:#fff1cc}.badge-approved{color:#23653e;background:#e6f3e9}.badge-rejected{color:#a12e2e;background:#fcecec}.chips{gap:8px}.chip{padding:8px 15px}.leave-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.leave-workspace .panel{max-width:none!important}.leave-summary{position:sticky;top:32px;padding:24px;background:#eaf2ec;border:1px solid #d1dfd5;border-radius:16px}.leave-summary h2{font-size:1.12rem}.leave-summary dl{margin:24px 0}.leave-summary dl>div{margin:0 0 17px}.leave-summary dt{font-size:.78rem;color:var(--muted);margin-bottom:4px}.leave-summary dd{margin:0;font-weight:500;overflow-wrap:anywhere}.summary-note,.summary-next{font-size:.83rem;line-height:1.8;color:#425d50}.summary-next{border-top:1px solid #cddbd0;padding-top:18px;margin-top:20px}.summary-next p{margin:6px 0 0}.form-section-title{font-size:1rem;display:flex;align-items:center;gap:9px;margin:24px 0 18px}.form-section-title:first-child{margin-top:0}.form-section-title span{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);width:27px;height:27px;border-radius:50%;font-size:.8rem}.form-section-title small{color:var(--muted);font-weight:400}.char-count{float:right}.onboarding-banner{display:flex;align-items:center;gap:16px;border:1px solid #c7d9cf;background:#eaf2ec;border-radius:14px;padding:20px;margin-bottom:24px}.onboarding-banner>i{font-size:1.3rem;color:var(--primary)}.onboarding-banner p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.onboarding-banner .btn{margin-left:auto}.inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 20px}.inbox-toolbar .input-icon{width:min(100%,420px)}.modal{max-width:520px;padding:28px;max-height:90svh;overflow:auto}.modal-msg{line-height:1.85;color:var(--text)}.modal-actions{flex-wrap:wrap}.modal-backdrop{backdrop-filter:blur(3px)}.load-error{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:120;width:min(90vw,420px);padding:28px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
@media(max-width:1150px){.leave-workspace{grid-template-columns:minmax(0,1fr)}.leave-summary{position:static}.leave-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-summary dl>div{margin:0}.summary-next{display:none}}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-story{padding:24px}.story-main{padding:25px 0 4px}.story-main h2{font-size:2.05rem}.story-main h2 br{display:none}.story-description{margin:10px 0;line-height:1.7;font-size:.9rem}.story-description br{display:none}.story-steps,.story-footer{display:none}.story-main .eyebrow{display:none}.auth-card,.auth-card.wide{max-width:500px;width:100%;padding:30px 24px}.auth-logo{display:none}.auth-card h1{font-size:1.6rem}.auth-sub{margin-bottom:24px;font-size:.94rem}.topbar{background:#fff;border-color:var(--border);min-height:64px}.topbar .brand i{color:var(--primary)}.main{margin-left:0;padding:26px 20px 48px}.sidebar .brand{padding-top:24px}.page-intro{align-items:flex-start}.page-intro h1{font-size:1.6rem}.page-intro p:last-child{font-size:.88rem}.page-intro>.btn{font-size:.87rem}.inbox-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.inbox-stats .stat{padding:16px}.inbox-stats .stat-label{font-size:.78rem}}
@media(max-width:560px){.page-intro{flex-direction:column;gap:16px;margin-bottom:22px}.page-intro>.btn{width:100%}.main{padding:22px 16px 40px}.panel{padding:18px}.item,.leave-card{padding:16px}.row{gap:12px}.leave-workspace{gap:0}.leave-summary{padding:20px}.inbox-toolbar{align-items:stretch;flex-direction:column;gap:3px}.inbox-stats{gap:8px}.inbox-stats .stat{padding:13px 10px}.inbox-stats .stat-value{font-size:1.7rem}.inbox-stats .stat-label{font-size:.73rem;line-height:1.5}.onboarding-banner{flex-wrap:wrap;gap:12px;padding:18px}.onboarding-banner>div{flex:1}.onboarding-banner .btn{width:100%}.modal{padding:22px}.modal-actions .btn{flex:1;white-space:normal}.auth-story{padding:20px 24px}.story-main h2{font-size:1.72rem}.story-main{padding-top:18px}.story-brand{font-size:.9rem}.brand-mark{width:36px;height:36px}.story-description{font-size:.85rem}.form-section-title{flex-wrap:wrap}}

/* Keep native radio controls accessible without widening the mobile page. */
.role-pick input{width:1px;height:1px;min-height:0;padding:0;margin:0;border:0;clip-path:inset(50%);overflow:hidden}


.btn-google{background:#fff;border:1px solid #b4c2bb;color:#253e35;font-weight:500;white-space:normal}.btn-google:hover{background:#f1f6f3}.btn-google svg{flex-shrink:0}.google-hint{text-align:center;margin:8px 0 18px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.82rem;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border);flex:1}#profileEmail{overflow-wrap:anywhere}#profileSave{margin-top:24px}

/* Compact copy: retain comfortable spacing around form controls. */
.auth-card h1{margin-bottom:24px}.page-intro h1{margin-bottom:0}.story-main{padding:40px 0}.char-count{float:none}.leave-summary dl{margin-bottom:0}
