:root{--brand:#0a2540;--accent:#0a6cff;--bg:#f4f6fa;--card:#fff;--text:#16192b;--muted:#667085;--border:#e4e7ef;--green:#027a48;--red:#b42318;--amber:#b54708;--shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px -12px rgba(16,24,40,.12)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1060px;margin:0 auto;padding:28px 22px 60px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}.topnav{background:linear-gradient(120deg,#0a2540,#123b6d);color:#fff;padding:0 24px;display:flex;align-items:center;gap:26px;height:58px}.topnav a{color:#b9c6e4;font-weight:500;font-size:14px;letter-spacing:.01em}.topnav a:hover{color:#fff;text-decoration:none}.topnav .logo{font-weight:800;color:#fff;font-size:16.5px;letter-spacing:-.02em}.topnav .spacer{flex:1 1}.topnav .user{color:#8fa3cc;font-size:13px}h1{font-size:24px;margin:0 0 18px;letter-spacing:-.02em;font-weight:750}h2{font-size:17px;margin:0 0 12px;letter-spacing:-.01em;font-weight:700}.section-h{margin-top:26px;padding-bottom:6px;position:relative}.section-h:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--accent);border-radius:2px}table.list{width:100%;border-collapse:collapse}table.list th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--border)}table.list td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}table.list tr:hover td{background:#f8faff}.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:650;background:#eef1f6;color:var(--muted)}.badge.SENT{background:#e8efff;color:#1d4ed8}.badge.VIEWED{background:#fdf1d9;color:var(--amber)}.badge.SIGNED{background:#d9f5e5;color:var(--green)}.badge.PAID{background:#027a48;color:#fff}.badge.CLOSED_LOST{background:#fee4e2;color:var(--red)}.badge.EXPIRED{background:#f2f4f7;color:#98a2b3}.btn{display:inline-block;background:var(--accent);color:#fff!important;border:none;padding:10px 20px;border-radius:9px;font-size:14px;font-weight:650;cursor:pointer;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,24,40,.1);transition:transform .06s ease,filter .15s ease}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(1px)}.btn.secondary{background:#fff;color:var(--text)!important;border:1px solid var(--border);box-shadow:none}.btn.danger{background:var(--red)}.btn.big{padding:14px 30px;font-size:16px;border-radius:10px}.btn:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-size:13px;font-weight:650;margin:14px 0 5px;color:var(--text)}input,select,textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:9px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(10,108,255,.14)}.row{display:flex;gap:16px}.row>*{flex:1 1}.muted{color:var(--muted);font-size:13.5px}.error{color:var(--red)}.error,.success{font-size:14px;margin-top:8px}.success{color:var(--green)}.stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:22px}.stat{flex:1 1;min-width:150px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}.stat .n{font-size:26px;font-weight:780;letter-spacing:-.02em}.stat .l{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.public-wrap{max-width:780px;margin:0 auto;padding:32px 18px 90px}.public-header{padding:28px 38px 22px;border-radius:16px 16px 0 0;color:var(--text);border-bottom:1px solid var(--border)}.public-body,.public-header{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.public-body{border-top:none;border-radius:0 0 16px 16px;padding:34px 38px 40px}@media (max-width:560px){.public-body{padding:22px 18px 30px}.public-header{padding:20px 18px}}.public-body h1{font-size:26px}.sig-canvas{border:2px dashed #c8d2e4;border-radius:10px;width:100%;height:170px;touch-action:none;background:#fbfcfe;cursor:crosshair}.items th{font-size:11.5px;color:var(--muted);text-align:left;padding:8px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border)}.items td{padding:10px 8px;border-bottom:1px solid var(--border)}.items .num{text-align:right;white-space:nowrap}.items .num,.totals td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals td{padding:5px 8px}.totals .grand{font-size:18px;font-weight:780}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:8px 0 8px 24px;border-left:2px solid var(--border);margin-left:8px;position:relative;font-size:14px}.timeline li:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #e8efff}.public-page{background:#f3f0e9;min-height:100vh;padding-bottom:1px}.public-page .public-body h1,.public-page .public-body h2{font-family:Georgia,Times New Roman,Times,serif;letter-spacing:-.01em}.public-page .public-body h1{font-size:30px;line-height:1.2}.public-page .public-body h2{font-size:21px}.public-page .section-h:after{width:46px}.item-name{font-weight:650;font-family:Georgia,Times New Roman,serif;font-size:15.5px}.item-details{margin:6px 0 2px;padding-left:18px;color:var(--muted);font-size:13px}.item-details li{margin:2px 0}.item-editor{border:1px solid var(--border);border-radius:10px;padding:12px 14px 14px;margin-bottom:10px;background:#fafbfd}.card{overflow-x:auto}.item-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 4px}.public-page.font-modern .item-name,.public-page.font-modern .public-body h1,.public-page.font-modern .public-body h2{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.public-page.font-classic .item-name,.public-page.font-classic .public-body,.public-page.font-classic .public-body h1,.public-page.font-classic .public-body h2{font-family:Georgia,Times New Roman,Times,serif}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:520px}@media (max-width:560px){.items td,.items th{padding:8px 6px;font-size:13px}.pdf-frame{display:none}}.file-card{gap:14px;border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:#fff}.file-card,.file-icon{display:flex;align-items:center}.file-icon{width:44px;height:54px;border-radius:6px;background:#b42318;color:#fff;justify-content:center;font-size:11px;font-weight:700;flex:0 0 auto}.rowmenu{position:relative;display:inline-block}.rowmenu-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:2px 10px;font-size:16px;cursor:pointer;color:var(--muted);line-height:1.4}.rowmenu-btn:hover{background:#f4f6fa}.rowmenu-backdrop{position:fixed;inset:0;z-index:40}.rowmenu-pop{position:absolute;right:0;top:30px;z-index:50;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:170px;padding:6px 0}.rowmenu-pop a{padding:8px 16px;color:var(--text);font-size:14px}.rowmenu-pop a:hover{background:#f4f6fa;text-decoration:none}.rowmenu-pop a.danger{color:var(--red)}