:root{--ink:#1d2a28;--mute:#5d6b68;--line:#dfe3dc;--bg:#f6f3ec;--card:#fff;--teal:#0f4c47;--teal2:#0b3a36;--sun:#d9642b;--sun2:#b94f1d;--good:#1a7f54;--bad:#b3362b;--warn:#a86a00;--r:12px}
*{box-sizing:border-box}
html{scrollbar-width:none;-webkit-text-size-adjust:100%}
html::-webkit-scrollbar,*::-webkit-scrollbar{display:none}
*{scrollbar-width:none}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{line-height:1.15;margin:0}
a{color:var(--teal)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:9px 15px;font-weight:600;cursor:pointer;text-decoration:none;background:none;min-height:40px}
.btn svg{width:16px;height:16px}
.btn.primary{background:var(--sun);color:#fff}.btn.primary:hover{background:var(--sun2)}
.btn.teal{background:var(--teal);color:#fff}.btn.teal:hover{background:var(--teal2)}
.btn.ghost{border-color:var(--line);background:#fff;color:var(--ink)}.btn.ghost:hover{border-color:#b9c2bb}
.btn.danger{background:var(--bad);color:#fff}
.btn.sm{padding:5px 10px;min-height:32px;font-size:13px}
.btn:disabled{opacity:.55;cursor:default}
label.f{display:block;font-size:13px;font-weight:600;margin-bottom:11px}
label.f>input,label.f>select,label.f>textarea,.input{display:block;width:100%;margin-top:4px;padding:10px 11px;border:1px solid #c9cfc8;border-radius:9px;background:#fff;font-weight:400;font-size:16px;min-height:44px}
label.f>input:focus,label.f>select:focus,label.f>textarea:focus{border-color:var(--teal);outline:2px solid rgba(15,76,71,.18)}
.check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--mute)}
.check input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--teal)}
.err{color:var(--bad);font-size:13.5px;margin:8px 0}
.xs-track{position:absolute;top:2px;bottom:2px;right:2px;width:6px;border-radius:6px;opacity:0;transition:opacity .2s,width .15s;z-index:60}
.xs-track.page{position:fixed}
.xs-track.show,.xs-track.drag,.xs-track:hover{opacity:1}
.xs-track:hover,.xs-track.drag{width:11px;background:rgba(0,0,0,.06)}
.xs-track.off{display:none}
.xs-thumb{position:absolute;left:0;right:0;border-radius:6px;background:rgba(30,50,45,.42);cursor:grab}
.xs-track.drag .xs-thumb{cursor:grabbing;background:rgba(30,50,45,.65)}
.xtip{position:fixed;z-index:200;pointer-events:none;max-width:260px;padding:5px 9px;border-radius:7px;background:#17302c;color:#fff;font-size:12px;opacity:0;transform:translateY(3px);transition:opacity .12s,transform .12s}
.xtip.on{opacity:1;transform:none}
.toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:210;display:grid;gap:8px;width:min(92vw,420px)}
.toast{background:#17302c;color:#fff;padding:10px 14px;border-radius:10px;font-size:14px}
.toast.bad{background:var(--bad)}
.modal-wrap{position:fixed;inset:0;background:rgba(10,25,22,.5);display:flex;align-items:center;justify-content:center;padding:16px;z-index:150}
.modal{background:#fff;border-radius:14px;padding:20px;width:min(100%,460px);max-height:90vh;overflow:auto}
.modal h3{font-size:18px;margin-bottom:10px}
.modal-act{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.modal-err{color:var(--bad);font-size:13.5px;margin-top:10px}
.sbx{position:fixed;top:6px;left:50%;transform:translateX(-50%);z-index:300;pointer-events:none;background:#7a1fa2;color:#fff;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
[hidden]{display:none!important}
