:root{--ink:#152722;--muted:#6c7b75;--line:#e3e9e5;--paper:#f5f7f4;--green:#167354;--mint:#daf3e6;--red:#ac3b32;--nav:#122b23;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}

*{box-sizing:border-box}
body{margin:0;font-size:14px;line-height:1.5}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;transition:background .15s,transform .15s}
button:disabled{opacity:.5;cursor:wait}
button:active{transform:translateY(1px)}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1{font-size:32px;line-height:1.2;font-weight:650;letter-spacing:-1px}
h2{font-size:21px;letter-spacing:-.5px}
h3{font-size:17px;letter-spacing:-.2px}
.muted{color:var(--muted)}
.fine{font-size:12px;color:var(--muted)}
.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;color:var(--green)}

.shell{display:flex;min-height:100vh}
aside{background:var(--nav);color:#c2d0c9;width:238px;padding:30px 20px 24px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}
.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:600;color:#fff;padding:0 10px}
.mark{width:40px;height:40px;border:1px solid #5b8c71;border-radius:11px;display:grid;place-items:center;background:#244b39;font:25px Georgia,serif;color:#d5f5c5}
.brand small{display:block;font-size:11px;color:#89a296;font-weight:400;letter-spacing:.3px;margin-top:1px}
.nav-caption{font-size:9px;letter-spacing:1.8px;color:#78988a;margin:48px 12px 13px}
nav{display:flex;flex-direction:column;gap:5px}
nav a{display:flex;gap:12px;align-items:center;border-radius:7px;padding:12px;font-size:13px}
nav a>span{font-size:19px;width:20px;line-height:1}
nav a:hover{background:#203a30}
nav a.active{background:#2b493b;color:#f2ffe9}
nav a.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#a9d98a;margin-left:auto}
.sidebar-bottom{margin-top:auto;padding:20px 12px 0}
.sidebar-bottom p{font-size:12px;color:#809b8f;margin:10px 0 22px}
.private-label{font-size:12px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#96c883;margin-right:7px}
.quiet{border:0;background:transparent;color:inherit;font-size:12px;padding:0;text-align:left}
.workspace{margin-left:238px;flex:1;min-width:0}
header{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between}
.breadcrumb{font-size:12px;color:var(--muted)}
.breadcrumb span{margin:0 12px;color:#bdc8c0}
.breadcrumb b{font-weight:500;color:var(--ink)}
.header-right{display:flex;align-items:center;gap:9px;font-size:12px}
.owner-badge{background:#edf0e8;border:1px solid #dce4d7;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:11px}

main{padding:35px 40px 50px;max-width:1460px;margin:auto;min-height:calc(100vh - 131px)}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center}
.page-head h1{margin:8px 0 10px}
.page-head p{font-size:13px}
.toolbar{display:flex;align-items:center;gap:12px;margin:28px 0 22px}
.toolbar label{font-size:12px;color:var(--muted)}
.toolbar select{min-width:190px}
.toolbar .fine{margin-left:auto}
.primary,.secondary,.danger,.small-btn{border:1px solid transparent;border-radius:7px;padding:10px 15px;font-size:12px;font-weight:550;white-space:nowrap}
.primary{background:var(--green);color:#fff}
.primary:hover{background:#105d42}
.secondary,.small-btn{border-color:#d8e2d9;background:white;color:#365448}
.secondary:hover,.small-btn:hover{background:#edf3ed}
.danger{background:#fff;border-color:#edcdc6;color:var(--red)}
.danger:hover{background:#fff0ec}
.small-btn{padding:6px 10px;font-size:11px}
select,input{background:white;border:1px solid #d8e1d9;border-radius:6px;padding:9px 11px;color:var(--ink);max-width:100%}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #48a37b;outline-offset:2px}
label{display:block;font-size:12px;font-weight:500}
label input,label select{display:block;margin-top:8px;width:100%}

.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.metric,.card{background:#fff;border:1px solid var(--line);border-radius:11px}
.metric{padding:21px 23px}
.metric-label{font-size:12px;color:var(--muted)}
.metric-value{font-size:31px;font-weight:550;letter-spacing:-1.1px;margin:7px 0 2px}
.metric-note{font-size:11px;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}
.section-head h2{font-size:17px}
.section-head .fine{font-size:11px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{padding:22px}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.avatar{width:42px;height:42px;border-radius:12px;background:#edf3e9;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;color:#417849}
.avatar.prepared{background:#f1f1ee;color:#8c9288}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:550;background:#f0f2ee;color:#77827a;white-space:nowrap}
.badge.active{background:#e4f4e9;color:#277248}
.badge.paused,.badge.pending{background:#fff1d7;color:#8d6a28}
.badge.revoked{background:#fbe8e4;color:#ae4638}
.card .description{font-size:12px;color:var(--muted);min-height:36px;margin:7px 0 18px}
.card-rule{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-rule a{font-size:12px;color:var(--green);font-weight:550}
.banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eaf0e5;border:1px solid #d8e5d1;border-radius:10px;padding:20px 24px;margin-top:25px}
.banner strong{font-size:13px;display:block}
.banner p{font-size:12px;color:#6b7e65;margin-top:4px}
.empty{padding:45px 25px;text-align:center;color:var(--muted);border:1px dashed #ccd9ce;border-radius:10px;font-size:13px}
.error-box{padding:22px;border:1px solid #ecd1ca;border-radius:9px;background:#fff7f3;color:#973c33}
.loading{padding:65px 20px;text-align:center;color:var(--muted)}

.chat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}
.chat-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.chat-title h3{overflow-wrap:anywhere}
.chat-meta{font-size:11px;color:var(--muted);margin:4px 0 20px}
.chat-actions{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.controls-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:12px}
.controls-row select{font-size:11px;max-width:195px}
.switch{border:0;border-radius:20px;background:#cbd4cc;width:32px;height:19px;position:relative;flex-shrink:0;padding:0}
.switch:before{content:"";position:absolute;width:13px;height:13px;top:3px;left:3px;background:white;border-radius:50%;transition:transform .12s}
.switch[aria-checked=true]{background:var(--green)}
.switch[aria-checked=true]:before{transform:translateX(13px)}
.members{margin-top:15px}
.members h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 7px}
.member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px}
.member small{color:var(--muted);display:block;font-size:10px}
.note{font-size:12px;color:var(--muted);margin:18px 0;max-width:860px;line-height:1.65}
.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}
th{color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;background:#fafbf8;padding:14px 18px;border-bottom:1px solid var(--line)}
td{padding:15px 18px;border-bottom:1px solid #edf0ea;vertical-align:middle}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.total-row{background:#f2f7ee;font-weight:600}
.periods{display:flex;gap:6px;margin-bottom:18px}
.periods button{padding:7px 13px}
.periods button.active{background:#e0eddd;border-color:#bdd6b3;color:#31572c}
.chart{padding:18px 20px 10px;margin:20px 0}
.chart svg{width:100%;height:135px;display:block;margin-top:15px}
.chart-legend{display:flex;gap:16px;font-size:10px;color:var(--muted)}
.chart-legend i{display:inline-block;width:7px;height:7px;background:#2c8865;margin-right:5px}
.chart-legend i.output{background:#afcc91}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.settings-form{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:20px}
.settings-form .form-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px}
.tool-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tool-item{background:#fff;padding:19px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.tool-item strong{font-size:13px;display:block}
.tool-item p{font-size:11px;color:var(--muted);margin-top:4px;max-width:390px}
.tool-item .fine{font-size:10px}
.error{font-size:12px;color:var(--red);min-height:18px}
.toast{position:fixed;bottom:24px;left:calc(50% + 110px);transform:translateX(-50%);background:#193c2d;color:#fff;padding:12px 22px;box-shadow:0 5px 25px #102c2730;border-radius:8px;font-size:13px;z-index:20;max-width:90vw}
.toast.bad{background:#8b3930}
footer{padding:18px 40px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#8b988e}

.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f5f7f1}
.login-brand{padding:70px 12%;background:#142f25;color:#f4f7ed;display:flex;flex-direction:column;justify-content:center}
.login-brand .mark{margin-bottom:45px;width:55px;height:55px;font-size:34px}
.login-brand h1{font-size:43px;letter-spacing:-1.8px;line-height:1.18}
.login-brand p{color:#a8bead;font-size:15px;max-width:320px;margin-top:25px}
.login-brand .eyebrow{color:#72967d;margin-top:100px}
.login-card{width:min(360px,85%);margin:auto}
.login-card h2{font-size:27px;margin:8px 0 10px}
.login-card .muted{margin-bottom:30px;font-size:13px}
.login-card label{margin-top:20px}
.login-card input{padding:12px}
.login-card .error{margin-top:17px}
.login-card button{margin-top:12px;width:100%;padding:13px;display:flex;justify-content:space-between}
.login-card .fine{text-align:center;margin-top:20px}

@media(min-width:1600px){main{padding-top:50px}
.metrics{gap:22px}
.metric{padding:25px}
}
@media(max-width:1050px){aside{width:200px;padding:24px 12px}
.workspace{margin-left:200px}
main{padding:28px 24px}
header{padding:0 24px}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.toast{left:calc(50% + 90px)}
.settings-grid{grid-template-columns:1fr}
.chat-grid{grid-template-columns:1fr}
}
@media(max-width:700px){.shell{display:block}
aside{position:static;width:100%;padding:16px}
.brand{font-size:20px;padding:0}
.brand small,.nav-caption,.sidebar-bottom{display:none}
aside nav{flex-direction:row;overflow-x:auto;margin-top:18px;gap:4px}
nav a{font-size:11px;padding:9px 10px;white-space:nowrap}
nav a>span{display:none}
nav a.active:after{display:none}
.workspace{margin-left:0}
header{height:50px;padding:0 20px}
.page-head{gap:10px}
.page-head h1{font-size:26px}
.page-head p{font-size:12px}
.page-head button{padding:8px 10px}
main{padding:25px 18px;min-height:60vh}
.toolbar{flex-wrap:wrap;margin-top:22px}
.toolbar .fine{width:100%;margin:0}
.metrics{gap:8px}
.metric{padding:15px 12px}
.metric-value{font-size:23px}
.metric-label,.metric-note{font-size:10px}
.cards{grid-template-columns:1fr}
.banner{align-items:flex-start;flex-direction:column;padding:20px}
.card{padding:18px}
.chat-grid{grid-template-columns:1fr}
.chat-title{flex-wrap:wrap}
.settings-form{grid-template-columns:1fr}
.settings-form .form-foot{flex-wrap:wrap}
.toast{left:50%;width:max-content}
.header-right{font-size:11px}
footer{padding:18px;display:block}
footer span:last-child{display:none}
.login-screen{display:flex;flex-direction:column}
.login-brand{padding:35px 30px}
.login-brand .mark{margin-bottom:20px;width:36px;height:36px;font-size:24px}
.login-brand h1{font-size:30px}
.login-brand p{font-size:12px;margin-top:12px}
.login-brand .eyebrow{display:none}
.login-card{padding:32px 0 40px}
}

@media(max-width:700px){.page-head{display:grid;grid-template-columns:1fr;gap:12px}
.page-head>button{justify-self:start}
.periods{flex-wrap:wrap}
.tool-list{grid-template-columns:1fr}
}

