:root{--bg:#fff;--fg:#14171c;--mut:#5a6270;--line:#d6dae1;--soft:#f3f5f8;--acc:#1b5fd1;--acc-fg:#fff;--ok:#16794a;--warn:#9a5b00;--bad:#b3261e;--tile:#fff}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--fg:#e9ecf1;--mut:#9aa3b2;--line:#303744;--soft:#1d222b;--acc:#7aa7ff;--acc-fg:#0b1220;--ok:#5fd39b;--warn:#f0b35a;--bad:#ff8b84;--tile:#1a1f27}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--acc)}button,select,input,textarea{font:inherit;color:inherit}button{min-height:38px;padding:6px 12px;border:1px solid var(--line);background:var(--bg);border-radius:8px;cursor:pointer}button.primary{background:var(--acc);color:var(--acc-fg);border-color:var(--acc)}button.danger{color:var(--bad);border-color:var(--bad)}button.link{border:0;background:none;color:var(--acc);padding:0;min-height:0}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{min-height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);width:100%}input[type=checkbox]{width:18px;height:18px;min-height:0}textarea{min-height:70px}label.f{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--mut)}label.f>span{font-weight:600}label.c{display:flex;gap:8px;align-items:center;font-size:14px}header.top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 16px;background:var(--soft);border-bottom:1px solid var(--line)}header.top .brand{display:flex;align-items:center;padding:0;min-height:0;border:0;background:none;cursor:pointer}header.top .brand img{display:block;height:30px;width:auto}header.top .sp{margin-left:auto}.mut{color:var(--mut)}main{padding:0 16px 48px;max-width:1150px;margin:0 auto}h1{font-size:20px;margin:18px 0 10px}h2{font-size:16px;margin:18px 0 8px}.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.bar .sp{margin-left:auto}.crumb{margin:12px 0 0;font-size:13px}.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--tile);margin:10px 0}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:16px 0}.tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 10px;min-height:150px;border:1px solid var(--line);border-radius:14px;background:var(--tile);cursor:pointer}.tile:hover{border-color:var(--acc)}.tile svg{width:44px;height:44px;stroke:var(--acc);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tile.off{opacity:.5;cursor:not-allowed}.tile.off svg{stroke:var(--mut)}.tile .t{font-weight:600}.tile .d{font-size:12px;color:var(--mut)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--mut);font-weight:600}td.n,th.n{text-align:right;white-space:nowrap}tr.click{cursor:pointer}tr.click:hover td{background:var(--soft)}.chip{display:inline-block;padding:1px 9px;border-radius:99px;font-size:12px;border:1px solid var(--line);white-space:nowrap}.chip.ok{color:var(--ok);border-color:var(--ok)}.chip.warn{color:var(--warn);border-color:var(--warn)}.chip.bad{color:var(--bad);border-color:var(--bad)}.err{color:var(--bad);font-size:14px;margin:8px 0;white-space:pre-wrap}.okmsg{color:var(--ok);font-size:14px;margin:8px 0}.note{margin:10px 0;padding:8px 12px;border:1px dashed var(--line);color:var(--mut);font-size:13px;border-radius:8px}.note.warn{border-color:var(--warn);color:var(--warn)}.login{max-width:380px;margin:10vh auto;padding:0 16px}.lines input,.lines select{min-height:34px;padding:4px 6px}.lines td{padding:4px}.totals td{border:0;padding:3px 8px}.totals tr.big td{font-weight:700;font-size:16px;border-top:1px solid var(--line)}details>summary{cursor:pointer;font-weight:600;margin:8px 0}.scroll{overflow-x:auto}.print-sheet{max-width:800px;margin:16px auto;padding:28px;background:#fff;color:#111;border:1px solid var(--line);border-radius:6px;font-size:13px}.print-sheet h2{font-size:18px;margin:0 0 6px}.print-sheet table{font-size:12.5px}.print-sheet th,.print-sheet td{border-bottom:1px solid #ccc;color:#111}.print-sheet .parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.print-sheet .box{border:1px solid #bbb;border-radius:4px;padding:8px 10px}.print-sheet .legal{margin-top:18px;font-size:11px;color:#444;border-top:1px solid #bbb;padding-top:8px}@media print{header.top,.crumb,.no-print,.note{display:none!important}main{padding:0;max-width:none}body{background:#fff}.print-sheet{border:0;margin:0;padding:0;max-width:none}}.login-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);min-height:100vh}.login-hero{position:relative;display:flex;align-items:flex-end;padding:48px;background:#0c1d3f center/cover no-repeat;color:#fff}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08142e0d 25%,#08142e8c 60%,#08142eeb)}.login-hero-text{position:relative;max-width:540px}.login-hero-logo{display:block;width:340px;max-width:100%;height:auto;margin-left:-8px;filter:drop-shadow(0 4px 18px rgba(0,0,0,.45))}.login-card-logo{display:block;width:220px;height:auto;margin:0 0 10px}.login-card button.primary{background:#132544;border-color:#132544;color:#fff}.login-hero-claim{font-size:28px;line-height:1.2;font-weight:700;margin:20px 0 16px}.login-hero ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.login-hero li{position:relative;padding-left:22px;color:#dbe6ff}.login-hero li:before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:3px;background:#6598f2}.login-form-side{display:flex;align-items:center;justify-content:center;padding:32px 16px;background:var(--bg)}.login-card{width:100%;max-width:380px}@media (max-width:860px){.login-split{grid-template-columns:1fr}.login-hero{min-height:240px;padding:24px 16px}.login-hero-claim{font-size:20px;margin:12px 0 0}.login-hero ul{display:none}.login-hero-logo{width:220px}.login-card-logo{display:none}}@media (prefers-color-scheme:dark){.login-card-logo{display:none}}
