:root{--navy:#0b1f3a;--blue:#1565c0;--teal:#0f9d8a;--bg:#f4f6fa;--card:#fff;--text:#1b2430;--muted:#5d6b7e;--line:#dfe4ec;--red:#c62828;--amber:#b26a00;--green:#2e7d32;--radius:10px}
*{box-sizing:border-box}html{font-size:15px}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
a{color:var(--blue)}h1{font-size:1.6rem;margin:.2rem 0 .8rem}h2{font-size:1.2rem;margin:.2rem 0 .8rem}h3{font-size:1.05rem}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--navy);color:#fff;padding:.6rem 1.25rem}
.brand{color:#fff;text-decoration:none;font-weight:600;font-size:1.1rem}.brand small{opacity:.7;font-weight:400;margin-left:.3rem}
.logo{background:var(--teal);padding:.1rem .45rem;border-radius:6px;margin-right:.2rem}
.topbar nav{display:flex;gap:.2rem;align-items:center;flex-wrap:wrap}.topbar nav a,.topbar .link{color:#cfd8e6;text-decoration:none;padding:.35rem .6rem;border-radius:6px;font-size:.93rem}
.topbar nav a:hover,.topbar nav a.on{background:rgba(255,255,255,.12);color:#fff}.who{color:#cfd8e6;font-size:.9rem;margin-right:.5rem}
.wrap{max-width:1200px;margin:1.25rem auto;padding:0 16px}
.foot{text-align:center;color:var(--muted);font-size:.85rem;padding:2rem 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:1rem}
.narrow{max-width:460px;margin:3rem auto}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:Consolas,"SF Mono",monospace}.wrapall{word-break:break-all}.r{text-align:right}
.btn{display:inline-block;background:var(--blue);color:#fff;border:1px solid var(--blue);padding:.5rem .95rem;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.08)}.btn.ghost{background:#fff;color:var(--blue)}.btn.danger{background:var(--red);border-color:var(--red)}.btn.danger.ghost{background:#fff;color:var(--red)}
.small-btn{padding:.3rem .6rem;font-size:.85rem}
.link{background:none;border:0;color:var(--blue);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.link.danger{color:var(--red)}
.inline{display:inline}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
input,select,textarea{font:inherit;padding:.45rem .6rem;border:1px solid #c5cdd9;border-radius:7px;width:100%;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:2px solid #90caf9;border-color:var(--blue)}
input[disabled],select[disabled],textarea[disabled]{background:#f1f3f6;color:#666}
input[type=checkbox],input[type=radio]{width:auto}
label{display:block;font-weight:600;font-size:.9rem}label input,label select,label textarea{margin-top:.25rem;font-weight:400}
.check{font-weight:400;display:flex;gap:.45rem;align-items:flex-start}.checks{display:flex;flex-direction:column;gap:.4rem;justify-content:center}
.stack{display:flex;flex-direction:column;gap:.8rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}.form-grid .span2{grid-column:1/-1}.form-grid.compact{margin-top:.8rem}
fieldset{border:1px solid var(--line);border-radius:8px}
.w80{width:80px}.w100{width:110px}
.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{text-align:left;padding:.5rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}
table.card{padding:0;overflow:hidden}.tbl tr.hot td{background:#fff4e5}.tbl tr.totals td{font-weight:600;border-bottom:0}.tbl tr.overridden td{background:#eef6ff}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#e8ecf2;color:#334;text-transform:capitalize;vertical-align:middle}
.s-draft{background:#eceff4}.s-sent,.s-viewed{background:#fff3cd;color:#7a5600}.s-signed{background:#e3f2fd;color:#0d47a1}.s-active{background:#e8f5e9;color:var(--green)}
.s-declined,.s-terminated{background:#fdecea;color:var(--red)}.s-expired,.s-superseded{background:#eee;color:#666}
.chip{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.2rem .7rem;font-size:.85rem;text-decoration:none;color:var(--text);cursor:pointer;font:inherit}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.filters{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}.searchbar{display:flex;gap:.5rem;margin-bottom:.8rem;max-width:480px}
.flash{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid;word-break:break-word}.flash-ok{background:#e8f5e9;border-color:#a5d6a7}.flash-error{background:#fdecea;border-color:#f5a3a3}.flash-warn{background:#fff4e5;border-color:#ffcc80}.flash-info{background:#e3f2fd;border-color:#90caf9}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin-bottom:1rem}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.stat .n{font-size:1.5rem;font-weight:700;color:var(--navy)}.stat.warn{border-color:#ffcc80;background:#fffaf2}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.callout{border-left:4px solid var(--blue)}
.hero{text-align:center;padding:3rem 1rem}.hero .actions{justify-content:center}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.agreement{text-decoration:none;color:inherit;display:block}.agreement:hover{border-color:var(--blue)}.agreement .row{display:flex;justify-content:space-between;gap:.5rem}.hot-text{color:var(--amber);font-weight:600}
.qr{display:block;margin:1rem auto;width:200px;height:200px}
/* Document */
.doc{line-height:1.6;max-width:900px;margin-left:auto;margin-right:auto}.doc h1{font-size:1.5rem}.doc h2{border-bottom:2px solid var(--navy);padding-bottom:.2rem;margin-top:1.6rem}.doc blockquote{background:#fff4e5;border-left:4px solid var(--amber);margin:0 0 1rem;padding:.5rem 1rem}
.doc-head{border-bottom:3px solid var(--teal);margin-bottom:1rem}.doc-brand{font-weight:700;color:var(--teal);letter-spacing:.04em;text-transform:uppercase}.doc-meta{color:var(--muted)}
.kv{border-collapse:collapse;width:100%;margin-bottom:.8rem}.kv th{width:28%;text-align:left;vertical-align:top;padding:.35rem .5rem;background:#f6f8fb;border:1px solid var(--line)}.kv td{padding:.35rem .5rem;border:1px solid var(--line)}
.lines,.matrix{width:100%;border-collapse:collapse}.lines th,.lines td,.matrix th,.matrix td{border:1px solid var(--line);padding:.35rem .5rem;text-align:left}.lines tfoot td{font-weight:700}.note{font-size:.82rem;color:var(--muted)}
.doc table{border-collapse:collapse}.doc table th,.doc table td{border:1px solid var(--line);padding:.35rem .5rem}
.svc{margin-bottom:1rem}.owner{font-weight:700;padding:.05rem .45rem;border-radius:5px}.owner-eit{background:#e3f2fd;color:#0d47a1}.owner-client{background:#fff3e0;color:#8a4b00}.owner-shared{background:#ede7f6;color:#4527a0}
.sigblock{margin-top:2rem}.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.sig-party{font-weight:700}.sig-mark{height:70px;display:flex;align-items:flex-end;border-bottom:1px solid #333}.sig-mark img{max-height:68px}.sig-mark.pending{color:var(--muted);font-style:italic}
.script{font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:1.8rem;color:var(--navy)}
.sigpad canvas{width:100%;max-width:600px;height:160px;border:1px dashed #9aa7b8;border-radius:8px;background:#fcfdff;touch-action:none;display:block}
.terms-layout{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:start}.terms-side{position:sticky;top:1rem}.terms-side .big{font-size:1.6rem;font-weight:700;color:var(--navy)}.plain{list-style:none;padding:0}
@media (max-width:820px){.form-grid,.grid2,.sig-grid,.terms-layout{grid-template-columns:1fr}.terms-side{position:static}.tbl{display:block;overflow-x:auto}}
@media print{.topbar,.foot,.noprint,.flash{display:none!important}body{background:#fff}.card{border:0;padding:0}.wrap{margin:0;max-width:none}.doc h2{break-after:avoid}.schedule{break-before:page}}
.doc .keyterm{background:#eef7f5;border:2px solid var(--teal);border-radius:8px;padding:.4rem 1rem .6rem;margin:1rem 0}.doc .keyterm h2{border-bottom:0;margin-top:.6rem;color:var(--navy)}
.doc blockquote strong{color:var(--navy)}
.brand{display:inline-flex;align-items:center;gap:.5rem}.brand-logo{height:34px;max-width:220px;object-fit:contain;display:block}.brand-logo.on-white{background:#fff;padding:4px 10px;border-radius:7px;height:40px}
.logo-preview{min-height:70px;display:flex;align-items:center;padding:.8rem 1rem;border-radius:8px;background:var(--navy)}.logo-preview.on-white img{background:#fff;padding:6px 12px;border-radius:8px}.logo-preview img{max-height:56px;max-width:320px}.logo-preview .muted{color:#cfd8e6}
.doc-logo{display:block;max-height:60px;max-width:260px;margin:.2rem 0 .4rem}
