:root{--ink:#17231e;--muted:#65726c;--line:#dfe5e1;--paper:#f7f8f5;--surface:#ffffff;--forest:#173f32;--forest-soft:#dcebe4;--lime:#c9f16f;--amber:#f2b84b;--amber-soft:#fff3d7;--red:#9c3a3a;--red-soft:#f9e5e3;--shadow:0 18px 45px rgb(23 63 50/8%)}*{box-sizing:border-box}html{min-height:100%;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}body{min-height:100vh;margin:0}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}.wordmark{color:var(--forest);font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:-.08em;text-decoration:none}.wordmark span{color:#75a530}.wordmark-light{color:white}.eyebrow{color:#718078;font-size:.73rem;font-weight:700;letter-spacing:.13em;margin:0 0 .65rem;text-transform:uppercase}.eyebrow-light{color:var(--lime)}.muted{color:var(--muted)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.login-brand{align-content:space-between;background:radial-gradient(circle at 88% 14%,rgb(201 241 111/20%),transparent 28%),linear-gradient(145deg,#12372c,#1d4a3a);color:white;display:grid;overflow:hidden;padding:clamp(2rem,5vw,5rem);position:relative}.login-brand:after{border:1px solid rgb(255 255 255/12%);border-radius:50%;content:"";height:34vw;min-height:320px;min-width:320px;position:absolute;right:-12vw;top:28%;width:34vw}.login-brand>div{max-width:690px;position:relative;z-index:1}.login-brand h1{font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.7rem,5.6vw,5.8rem);letter-spacing:-.065em;line-height:.98;margin:0}.login-brand p:last-child{color:rgb(255 255 255/72%);font-size:1.05rem;line-height:1.7;margin:2rem 0 0;max-width:570px}.login-panel{align-items:center;background:var(--surface);display:flex;justify-content:center;padding:clamp(2rem,6vw,7rem)}.login-panel-inner{max-width:440px;width:100%}.login-panel h2{font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,3vw,3.1rem);letter-spacing:-.045em;line-height:1.05;margin:0 0 1rem}.login-panel .muted{line-height:1.6;margin:0 0 2rem}.login-form{display:grid;gap:1.1rem}.approval-form label,.login-form label{display:grid;gap:.5rem}.approval-form label>span,.login-form label>span{color:#445149;font-size:.82rem;font-weight:700}.approval-form textarea,.login-form input{background:#fbfcfa;border:1px solid #ced7d1;border-radius:12px;color:var(--ink);outline:0;padding:.9rem 1rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.approval-form textarea:focus,.login-form input:focus{border-color:#4f7867;box-shadow:0 0 0 4px rgb(79 120 103/12%)}.danger-button,.primary-button,.quiet-button,.text-button{border:0;cursor:pointer;font-weight:700}.primary-button{background:var(--forest);border-radius:12px;color:white;min-height:48px;padding:.78rem 1.2rem}.primary-button:hover{background:#245846}.primary-button:disabled,.quiet-button:disabled{cursor:wait;opacity:.65}.form-error{background:var(--red-soft);border-radius:10px;color:#7d2929;font-size:.88rem;line-height:1.45;margin:0;padding:.8rem .9rem}.login-help{color:#7d8882;font-size:.8rem;line-height:1.5;margin:1.5rem 0 0}.workspace-shell{display:grid;min-height:100vh;grid-template-columns:272px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:2rem 1.25rem 1.5rem;position:sticky;height:100vh;top:0}.sidebar>.wordmark{margin:0 0 2.4rem .75rem}.tenant-badge{align-items:center;background:var(--paper);border-radius:14px;display:flex;gap:.75rem;margin-bottom:1.6rem;padding:.8rem}.tenant-badge>span{align-items:center;background:var(--forest);border-radius:10px;color:var(--lime);display:flex;flex:0 0 38px;font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:800;height:38px;justify-content:center}.tenant-badge div{min-width:0}.tenant-badge small,.tenant-badge strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-badge strong{font-size:.82rem}.tenant-badge small{color:var(--muted);font-size:.7rem;margin-top:.15rem}.sidebar nav{display:grid;gap:.35rem}.nav-link{align-items:center;border-radius:10px;color:#526059;display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;min-height:44px;padding:0 .8rem;text-decoration:none}.nav-link:hover{background:#f1f4f1;color:var(--ink)}.nav-link-active{background:var(--forest-soft);color:var(--forest)}.mobile-nav span,.nav-link strong{align-items:center;background:var(--forest);border-radius:999px;color:white;display:inline-flex;font-size:.68rem;height:22px;justify-content:center;min-width:22px;padding:0 .35rem}.quiet-button{background:transparent;color:#6a766f;font-size:.8rem;margin-top:auto;padding:.7rem;text-align:left}.workspace-main{min-width:0}.workspace-content{margin:0 auto;max-width:1180px;padding:3.2rem clamp(1.5rem,5vw,5rem) 5rem}.page-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2.2rem}.page-heading h1{font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.25rem,4vw,4rem);letter-spacing:-.06em;line-height:1;margin:0}.date-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem;margin:0;padding:.65rem .9rem}.notice{background:var(--forest-soft);border-left:4px solid var(--forest);border-radius:8px;color:var(--forest);font-weight:600;margin:0 0 1.4rem;padding:.9rem 1rem}.approval-list,.status-list{display:grid;gap:1rem}.approval-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2rem)}.card-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.card-heading h3{font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.035em;line-height:1.15;margin:.8rem 0 .2rem}.card-kicker,.event-date{color:var(--muted);font-size:.85rem;margin:0}.event-date{margin-top:1rem}.status-pill{border-radius:999px;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:.38rem .6rem;text-transform:uppercase}.status-review{background:var(--amber-soft);color:#875b05}.version-label{color:#87928c;font-size:.72rem;white-space:nowrap}.content-preview{border-left:3px solid #b7c7be;color:#34433b;line-height:1.65;margin:1.4rem 0;max-width:760px;padding-left:1rem}.destination-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem}.destination-list span{background:#eef2ef;border-radius:999px;color:#4f5d55;font-size:.72rem;font-weight:600;padding:.38rem .62rem}.approval-form{border-top:1px solid var(--line);padding-top:1.4rem}.approval-form textarea{line-height:1.5;resize:vertical}.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.danger-button{background:var(--red-soft);border-radius:12px;color:var(--red);min-height:48px;padding:.78rem 1.2rem}.text-button{background:transparent;color:#5d6a63;min-height:44px;padding:.6rem .8rem}.status-card{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:15px;display:grid;gap:1rem;grid-template-columns:8px minmax(0,1fr) auto;padding:1.15rem 1.25rem}.status-marker{border-radius:999px;height:44px;width:6px}.status-marker-success{background:#66a178}.status-marker-calm{background:#7c9fbc}.status-marker-attention{background:var(--amber)}.status-line{align-items:center;display:flex;gap:.7rem;justify-content:space-between}.status-line h3{font-size:.95rem;margin:0}.status-line span{color:var(--muted);font-size:.72rem;font-weight:700}.status-main>p{color:var(--muted);font-size:.75rem;margin:.25rem 0 0}.status-main .status-message{color:#46534c;font-size:.82rem;line-height:1.45;margin-top:.55rem}.retry-form{margin-top:.55rem}.retry-form .text-button{color:var(--forest);min-height:32px;padding:0}.status-card time{color:#6d7972;font-size:.72rem;white-space:nowrap}.empty-state{background:var(--surface);border:1px dashed #c9d2cc;border-radius:18px;padding:clamp(2.5rem,8vw,6rem) 1.5rem;text-align:center}.empty-state>span{align-items:center;background:var(--forest-soft);border-radius:50%;color:var(--forest);display:inline-flex;font-size:1.2rem;height:48px;justify-content:center;width:48px}.empty-state h3{font-family:Avenir Next,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.3rem;margin:1rem 0 .4rem}.empty-state p{color:var(--muted);margin:0}.mobile-header,.mobile-nav{display:none}@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{min-height:42vh;padding:2rem}.login-brand h1{font-size:clamp(2.45rem,10vw,4.5rem);max-width:680px}.login-brand p:last-child{margin-top:1rem}.login-panel{padding:3rem 1.5rem}.workspace-shell{display:block}.sidebar{display:none}.mobile-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:68px;padding:0 1.2rem}.mobile-header .quiet-button{margin:0}.mobile-nav{background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:.4rem;overflow-x:auto;padding:.6rem 1rem;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav a{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:650;gap:.45rem;min-height:38px;padding:0 .8rem;text-decoration:none}.mobile-nav a[aria-current=page]{background:var(--forest);border-color:var(--forest);color:white}.mobile-nav a[aria-current=page] span{background:var(--lime);color:var(--forest)}.workspace-content{padding:2rem 1rem 4rem}.date-chip{display:none}}@media (max-width:560px){.login-brand{min-height:360px}.login-brand h1{font-size:2.65rem}.login-brand p:last-child{font-size:.92rem}.workspace-content{padding-top:1.5rem}.page-heading{margin-bottom:1.4rem}.page-heading h1{font-size:2.3rem}.approval-card{border-radius:14px;padding:1.1rem}.card-heading{display:block}.version-label{display:inline-block;margin-top:.6rem}.action-row{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.text-button{grid-column:1/-1}.status-card{grid-template-columns:6px minmax(0,1fr)}.status-card time{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}