:root{--ink:#1b1710;--ink-2:#5d5344;--ink-3:#8b8172;--paper:#faf8f4;--card:#fff;--hair:#e4ded2;--hair-2:#f0ebe1;--brass:#9a7328;--brass-soft:#f6efdf;--green:#2f6b46;--green-soft:#eaf3ed;--red:#9c3024;--red-soft:#fbecea;--radius:10px;--shadow:0 1px 2px #1b17100f, 0 8px 24px #1b17100d}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}@font-face{font-family:Prata PB;src:url(/fonts/PrataPB.woff)format("woff");font-display:swap}h1,h2,h3{margin:0;font-family:Prata PB,Georgia,serif;font-weight:400}h1{letter-spacing:-.01em;font-size:30px}h2{font-size:20px}a{color:var(--brass)}.shell{max-width:1120px;margin:0 auto;padding:0 20px 80px}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);background:#faf8f4eb;margin-bottom:28px;position:sticky;top:0}.topbar-inner{align-items:center;gap:22px;max-width:1120px;margin:0 auto;padding:14px 20px;display:flex}.brand{white-space:nowrap;margin-right:6px;font-family:Prata PB,Georgia,serif;font-size:17px}.tabs{gap:4px;display:flex}.tab{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 14px}.tab:hover{background:var(--hair-2)}.tab.on{background:var(--ink);color:var(--paper)}.spacer{flex:1}.who{color:var(--ink-3);font-size:13px}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:22px}.card-head{margin-bottom:4px}.card-note{color:var(--ink-2);max-width:62ch;margin:0 0 18px;font-size:13px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}}.field{display:block}.field>.label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:12px;display:block}.field>.hint{color:var(--ink-2);margin-top:6px;font-size:12.5px;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--hair);border-radius:8px;outline:none;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-soft)}textarea{resize:vertical;min-height:78px}input::placeholder{color:#b9b1a3}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--brass);margin:3px 0 0}.check .ctext{font-size:14px}.check .chint{color:var(--ink-2);margin-top:2px;font-size:12.5px}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;border-radius:8px;padding:10px 18px}.btn:hover{opacity:.88}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{color:var(--ink);border-color:var(--hair);background:0 0}.btn.ghost:hover{background:var(--hair-2);opacity:1}.btn.danger{color:var(--red);background:0 0;border-color:#e7cdc9}.btn.danger:hover{background:var(--red-soft);opacity:1}.btn.small{padding:6px 12px;font-size:13px}.row-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;display:inline-block}.badge.on{background:var(--green-soft);color:var(--green)}.badge.off{background:var(--hair-2);color:var(--ink-2)}.badge.warn{background:var(--red-soft);color:var(--red)}.saved{color:var(--green);font-size:13px}.failed{color:var(--red);font-size:13px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filters input[type=text]{max-width:320px}.filters select{width:auto}.plist{gap:10px;display:grid}.prow{text-align:left;background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;align-items:center;gap:14px;width:100%;padding:12px 16px;display:flex}.prow:hover{border-color:var(--brass)}.thumb{object-fit:cover;background:var(--hair-2);border-radius:8px;flex:none;width:54px;height:54px}.prow .main{flex:1;min-width:0;display:block}.prow .nm{font-size:16px;display:block}.prow .sub{color:var(--ink-2);margin-top:3px;font-size:13px;display:block}.prow .tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--hair-2);padding:10px 12px}th{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:400}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums lining-nums}tbody tr:hover{background:var(--paper)}.scroll-x{overflow-x:auto}.totals{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}@media (width<=860px){.totals{grid-template-columns:repeat(2,1fr)}}.total{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);padding:16px 18px}.total .v{color:var(--brass);font-variant-numeric:tabular-nums lining-nums;font-size:28px;font-weight:500}.total .k{color:var(--ink-2);margin-top:4px;font-size:12.5px}.login{max-width:380px;margin:14vh auto}.empty{color:var(--ink-2);padding:28px 0}.sep{background:var(--hair-2);height:1px;margin:20px 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.linkbox{background:var(--brass-soft);word-break:break-all;border:1px solid #ecdfc2;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.gaps{color:var(--ink-2);margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.5}.gaps li+li{margin-top:4px}.gaps.live{color:var(--red)}.gaps-note{border-radius:var(--radius);background:var(--red-soft);color:var(--red);margin:0 0 16px;padding:10px 14px;font-size:14px}
