:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--paper:#f4f6f2;--ink:#19302b;--muted:#53675f;--line:#dce5dc;--dark:#132e29;--green:#236655;--mint:#d5ead2;--warn:#943a31;--shadow:0 8px 25px #153d2f12}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.48}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}a{color:var(--green)}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}svg.ico{width:19px;height:19px;display:inline-block;vertical-align:middle;flex:none}img{max-width:100%;display:block}[hidden]{display:none!important}.skip{position:absolute;left:-10000px;padding:10px;background:#fff;z-index:20}.skip:focus{left:10px;top:10px}.boot{padding:4rem;text-align:center}
.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100svh}.rail{background:var(--dark);color:#d4e3db;position:sticky;top:0;max-height:100svh;display:flex;flex-direction:column;gap:22px;padding:24px 16px;overflow:auto}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;line-height:1.2}.brand img{width:44px;height:44px}.brand strong{display:block;font-size:21px;letter-spacing:-.45px;color:#fff}.brand small{display:block;color:#b3cdc1;margin-top:4px;font-size:11px;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.rail nav{display:grid;gap:4px}.nav-group{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#adccbc;padding:9px 11px 3px}.nav-btn{background:transparent;border:0;color:inherit;text-align:left;text-decoration:none;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;font-size:14px;min-height:42px}.nav-btn:hover,.nav-btn:focus-visible{background:#21463d}.nav-btn[aria-current=page]{background:#cde7ce;color:#173d37;font-weight:700}.rail-footer{margin-top:auto;border-top:1px solid #436258;padding-top:14px}.rail-footer a{color:#cfdfd7}
.main{min-width:0}.top{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px clamp(15px,3vw,38px);background:#fff;border-bottom:1px solid var(--line);min-height:66px}.top-label{font-weight:700;min-width:0}.top small{color:var(--muted)}.top-right{display:flex;align-items:center;gap:12px}.btn.menu-toggle{display:none}.identity{text-align:right;line-height:1.25;min-width:0;max-width:190px;overflow-wrap:anywhere}.identity strong,.identity small{display:block}.avatar{display:grid;place-content:center;width:36px;height:36px;background:var(--mint);border-radius:50%;font-weight:800;flex:none}.page{padding:clamp(18px,3vw,38px);max-width:1460px;margin-inline:auto}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}.kicker{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.035em;margin:4px 0 7px}h2{font-size:19px;letter-spacing:-.018em}h3{font-size:15px}p.desc{max-width:68ch;color:var(--muted)}.subtle,small.muted{color:var(--muted)}.muted{color:var(--muted)}.break{overflow-wrap:anywhere}
.hero{padding:clamp(19px,3vw,30px);border-radius:15px;background:linear-gradient(120deg,#173d37,#214d41);color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.hero h2{font-size:clamp(22px,3.7vw,32px);margin-bottom:5px}.hero p,.hero .kicker{color:#d5e9d9}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(153px,1fr));gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;min-width:0}.metric strong{display:block;font-size:28px;letter-spacing:-.03em;margin-top:4px}.metric svg{color:var(--green)}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-bottom:16px;min-width:0}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel-body{padding:18px}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(315px,100%),1fr));gap:16px}.stack{display:grid;gap:10px}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.line-item{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.line-item:last-child{border:0}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1ed;color:#41564c;font-weight:700;font-size:12px;white-space:nowrap;align-items:center;gap:5px}.tag.active,.tag.paid,.tag.approved,.tag.resolved,.tag.enabled{background:#e0f1df;color:#235d43}.tag.pending,.tag.open,.tag.past_due,.tag.waiting_customer,.tag.creating,.tag.urgent{background:#fff0d8;color:#755315}.tag.disabled,.tag.suspended,.tag.failed,.tag.canceled{background:#f8e6e1;color:#84392d}.tag.edit{background:#ffe0ad;color:#73460b}.hint{background:#edf5eb;border:1px solid #dceadd;border-radius:9px;padding:12px 14px;color:#31574a}.hint.warn{background:#fff3e0;border-color:#f2d8a9;color:#694a21}
.btn{border:1px solid transparent;border-radius:8px;min-height:39px;padding:8px 12px;display:inline-flex;justify-content:center;align-items:center;gap:7px;background:#fff;color:var(--ink);text-decoration:none;font-weight:650;line-height:1.25}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--green);color:#fff}.btn.soft{background:#edf4ec;border-color:#dce9dd;color:#25483b}.btn.outline{border-color:var(--line)}.btn.danger{background:#f9e9e4;color:var(--warn);border-color:#eed4cd}.btn.small{min-height:33px;padding:5px 8px;font-size:13px}.btn.icon{width:39px;padding:8px}.btn.link{padding:0;min-height:auto;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:3px}.action-text{background:none;border:0;padding:0;color:var(--green);font-weight:700;text-align:left}.action-text:hover{text-decoration:underline}
input,select,textarea{width:100%;min-width:0;border:1px solid #c6d4c9;background:#fff;border-radius:8px;padding:9px 11px;color:var(--ink);min-height:41px}textarea{resize:vertical;min-height:95px}.field{display:grid;gap:5px}.field>span,.field>label{font-size:13px;font-weight:700}.field small{color:var(--muted);font-weight:400}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;min-height:auto}.form-grid{display:grid;gap:13px}.form-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px}.search{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.search input{min-width:150px;width:min(100%,290px)}.search select{width:auto;max-width:100%}.error{color:#8c3025;background:#fcebe7;border:1px solid #edc3b9;padding:9px 11px;border-radius:8px;overflow-wrap:anywhere}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:555px}th,td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;font-weight:800;background:#f4f7f3;color:#40564b}tbody tr:last-child td{border:0}td small{display:block;color:var(--muted);overflow-wrap:anywhere}.empty{padding:26px 18px;color:var(--muted);text-align:center}.pager{padding:11px 16px;border-top:1px solid var(--line);justify-content:flex-end}.chat{display:grid;gap:8px;margin:12px 0}.message{background:#f3f7f3;border:1px solid var(--line);border-radius:9px;padding:11px 13px}.message.staff{background:#eaf4e9}.message.internal{background:#fff2dd;border-color:#efd9ac}.message p,.pre{white-space:pre-wrap;overflow-wrap:anywhere}.message small{color:var(--muted)}.summary{cursor:pointer;color:var(--green)}
dialog{border:1px solid var(--line);border-radius:15px;padding:0;width:min(550px,calc(100% - 24px));max-height:calc(100svh - 24px);color:var(--ink);box-shadow:0 18px 60px #153d2f30}dialog::backdrop{background:#0b201ab3}dialog form,dialog .dialog-body{padding:18px}dialog .panel-head{position:sticky;top:0;background:#fff;z-index:2}#notice{position:fixed;bottom:15px;right:15px;z-index:9;padding:12px 15px;max-width:min(420px,calc(100vw - 30px));border-radius:10px;background:#193c33;color:#fff;box-shadow:var(--shadow)}#notice[data-error=true]{background:#8c3025}
.login{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:#f8faf7}.login-art{background:radial-gradient(ellipse at 20% 15%,#245a49,#132e29 72%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:35px;padding:clamp(25px,5vw,70px);position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:linear-gradient(#a7d6bb 1px,transparent 1px),linear-gradient(90deg,#a7d6bb 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(145deg,transparent 25%,#000)}.login-art>*{position:relative;z-index:1}.login-art h1{font-size:clamp(34px,5.2vw,65px);max-width:11ch}.login-art p{color:#d1e5d9;max-width:40ch}.login-form{display:grid;place-items:center;padding:24px}.login-form .panel{width:min(420px,100%);padding:clamp(20px,4vw,34px);margin:0}.login-form h2{font-size:29px;margin-bottom:6px}.login-form form{margin-top:18px}.login-form .btn.primary{width:100%;margin-top:5px}.login-brand{display:none}
.drawing-toolbar{margin-bottom:12px}.drawing{position:relative;overflow:auto;background:#e6ece6;border:1px solid var(--line);min-height:120px;border-radius:9px;padding:10px}.drawing-stage{position:relative;min-width:280px;margin:auto;background:#fff;box-shadow:var(--shadow)}.drawing-stage canvas,.drawing-stage img{width:100%;height:100%;display:block;object-fit:fill}.drawing-stage svg.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ann-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.ann-row:last-child{border:0}.ann-row small{display:block}.ann-row p{overflow-wrap:anywhere}.drawing-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.draw-controls label{flex:1;min-width:155px}
@media(max-width:820px){.shell{grid-template-columns:1fr}.rail{position:fixed;top:0;left:0;bottom:0;width:min(265px,83vw);z-index:8;display:none;box-shadow:0 0 0 100vmax #0c211b8c}.rail[data-open=true]{display:flex}.btn.menu-toggle{display:inline-flex}.top-label{flex:1}.page{padding:16px}.top-right{gap:6px}.login{grid-template-columns:1fr}.login-art{display:none}.login-brand{display:flex;color:var(--ink);margin-bottom:18px}.login-brand strong{color:var(--ink)}.login-brand small{color:var(--muted)}}
@media(max-width:450px){.identity{display:none}.top .avatar{display:none}.top-label{font-size:13px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{align-items:flex-start;flex-direction:column}.panel-body{padding:13px}.pagehead{margin-bottom:15px}}
