:root{--teal-900:#0b2b35;--teal-700:#3f6a70;--teal-300:#8faeb1;--teal-100:#e3eeef;--teal-50:#f1f6f6;--cream:#faf9f6;--ink:#16252b;--muted:#5b6b70;--line:#dde6e7;--white:#fff;--ok:#2f7d5b;--warn:#b7791f;--danger:#b4423a;--radius:14px;--shadow:0 14px 40px rgba(11,43,53,0.08);--font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.5;font-size:16px}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{color:var(--teal-900);line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(26px,4vw,34px)}h1,h2{font-weight:800}h2{font-size:22px}h3{font-size:17px;font-weight:700}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12.5px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.stack>*+*{margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:10px;border:1.5px solid transparent;font-weight:700;font-size:15.5px;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;background:var(--teal-900);color:#fff}.btn:hover{background:#133e4b}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--teal-900);border-color:var(--line)}.btn.ghost:hover{border-color:var(--teal-700);background:var(--teal-50)}.btn.sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:8px}.btn.danger{background:transparent;color:var(--danger);border-color:#ecd0cd}.btn.danger:hover{background:#fbf1f0}.btn.wa{background:#25d366;color:#073b1f}.btn.wa:hover{background:#1fbd5a}.btn.block{width:100%}label.field{display:block}label.field>span{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.input,select.input,textarea.input{width:100%;min-height:46px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font-size:16px}textarea.input{min-height:90px;resize:vertical}.input:focus{outline:none;border-color:var(--teal-700);box-shadow:0 0 0 3px rgba(63,106,112,.15)}.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer}.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--teal-900);flex:none}.card{background:#fff;border-radius:var(--radius);border:1px solid var(--line);padding:20px}.card.raised{box-shadow:var(--shadow);border-color:transparent}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--teal-100);color:var(--teal-900);white-space:nowrap}.badge.ok{background:#e3f2ea;color:var(--ok)}.badge.warn{background:#fbefd9;color:#8a5a12}.badge.danger{background:#f8e3e1;color:var(--danger)}.badge.grey{background:#eceff0;color:#56656a}.alert{border-radius:10px;padding:12px 14px;font-size:14.5px}.alert.error{background:#fbf1f0;color:#8d2f28;border:1px solid #f0d3cf}.alert.info{background:var(--teal-50);color:var(--teal-900);border:1px solid var(--teal-100)}table.list{width:100%;border-collapse:collapse;font-size:14.5px}table.list th{text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;padding:10px 12px}table.list td,table.list th{border-bottom:1px solid var(--line)}table.list td{padding:12px;vertical-align:middle}table.list tr:hover td{background:var(--teal-50)}.scroll-x{overflow-x:auto}