:root { --brand:#1f6f5c; --ink:#16201d; --mute:#6b7773; --line:#e3e8e6; --bg:#f5f7f6; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--bg); }
a { color:inherit; }
.top { display:flex; align-items:center; gap:18px; padding:12px 20px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; flex-wrap:wrap; }
.brand { font-weight:800; letter-spacing:-.02em; font-size:18px; display:flex; align-items:center; gap:8px; }
.dot { width:14px; height:14px; border-radius:4px; background:var(--brand); display:inline-block; }
nav { display:flex; gap:4px; flex:1; }
nav a { text-decoration:none; padding:7px 12px; border-radius:8px; color:var(--mute); font-weight:600; }
nav a.on, nav a:hover { background:var(--bg); color:var(--ink); }
.new { position:relative; }
.menu { position:absolute; right:0; top:42px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.1); min-width:160px; overflow:hidden; }
.menu a { display:block; padding:10px 14px; text-decoration:none; }
.menu a:hover { background:var(--bg); }
main { max-width:1200px; margin:0 auto; padding:22px 16px 60px; }
h1 { font-size:24px; margin:0 0 4px; letter-spacing:-.02em; }
.sub { color:var(--mute); margin:0 0 18px; }
.btn { border:1px solid var(--line); background:#fff; padding:8px 14px; border-radius:9px; font:inherit; font-weight:600; cursor:pointer; color:var(--ink); }
.btn:hover { background:var(--bg); }
.btn.primary { background:var(--brand); border-color:var(--brand); color:#fff; }
.btn.primary:hover { filter:brightness(1.08); }
.btn.danger { color:#b3261e; }
.btn.sm { padding:5px 10px; font-size:13px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; }
.bar { display:flex; gap:10px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
input, select, textarea { font:inherit; padding:8px 10px; border:1px solid #ccd4d1; border-radius:8px; width:100%; background:#fff; color:var(--ink); }
input:focus, select:focus, textarea:focus { outline:2px solid color-mix(in srgb, var(--brand) 40%, transparent); border-color:var(--brand); }
textarea { min-height:70px; resize:vertical; }
label { display:block; font-size:12px; font-weight:700; color:var(--mute); text-transform:uppercase; letter-spacing:.04em; margin:0 0 4px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.field { margin-bottom:12px; }
table { width:100%; border-collapse:collapse; }
th { text-align:left; font-size:12px; color:var(--mute); text-transform:uppercase; letter-spacing:.04em; padding:8px; border-bottom:1px solid var(--line); }
td { padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:middle; }
td.r, th.r { text-align:right; }
.tag { display:inline-block; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:700; background:#eef2f0; color:#455; }
.tag.paid { background:#dcf3e4; color:#146c2e; } .tag.sent { background:#e0ecff; color:#1a4fa3; } .tag.accepted { background:#efe3ff; color:#5b2aa6; }
.editor { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; align-items:start; }
.items .row { display:grid; grid-template-columns:1fr 70px 90px 70px 34px; gap:6px; margin-bottom:6px; }
.items .head { font-size:11px; color:var(--mute); font-weight:700; text-transform:uppercase; }
.preview-wrap { position:sticky; top:70px; }
.paper { background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:0 6px 24px rgba(0,0,0,.08); padding:26px; font-size:12px; min-height:480px; }
.paper .hd { display:flex; justify-content:space-between; gap:12px; margin-bottom:16px; align-items:flex-start; }
.paper .co { font-weight:800; font-size:16px; } .paper .muted { color:#667; white-space:pre-line; }
.paper .ttl { text-align:right; font-weight:800; font-size:20px; color:var(--brand); }
.paper.classic .hd { border-bottom:2px solid var(--brand); padding-bottom:12px; }
.paper.modern .hd { background:var(--brand); color:#fff; margin:-26px -26px 16px; padding:20px 26px; } .paper.modern .ttl, .paper.modern .muted { color:#fff; }
.paper.minimal .hd { border-bottom:1px solid #ccc; padding-bottom:12px; } .paper.minimal .co { font-size:13px; } .paper.minimal .ttl { font-size:13px; font-weight:500; }
.paper img.logo { max-height:46px; max-width:90px; margin-right:10px; }
.paper table th { background:#f0f0f0; color:#333; font-size:10px; padding:5px 6px; } .paper.modern table th { background:var(--brand); color:#fff; } .paper.minimal table th { background:transparent; border-bottom:1px solid #999; }
.paper td { padding:6px; font-size:12px; }
.paper .tot { margin-left:auto; width:240px; margin-top:12px; }
.paper .tot div { display:flex; justify-content:space-between; padding:2px 0; }
.paper .tot .grand { background:var(--brand); color:#fff; padding:6px 8px; font-weight:800; font-size:14px; margin-top:6px; border-radius:3px; }
.paper.minimal .tot .grand { background:#f4f4f4; color:#111; }
.paper .foot { margin-top:22px; text-align:center; color:#889; font-size:11px; }
.stamp { color:#1a7f37; border:2px solid #1a7f37; display:inline-block; padding:0 8px; font-weight:800; transform:rotate(-6deg); margin-left:8px; }
.toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:#16201d; color:#fff; padding:10px 16px; border-radius:10px; z-index:20; }
pre { background:#101714; color:#d6f5e8; padding:14px; border-radius:10px; overflow:auto; font-size:13px; }
.logo-prev { max-height:60px; max-width:140px; border:1px dashed #ccd4d1; padding:4px; border-radius:6px; background:#fff; }
.empty { text-align:center; color:var(--mute); padding:40px 10px; }
@media (max-width: 860px) {
  .editor { grid-template-columns:1fr; } .preview-wrap { position:static; }
  .grid3 { grid-template-columns:1fr 1fr; }
  .items .row { grid-template-columns:1fr 60px 80px 56px 30px; }
  .hide-m { display:none; }
  nav { order:3; flex-basis:100%; overflow-x:auto; }
}

.workspace-hero {display:flex;justify-content:space-between;gap:32px;background:#123d35;color:#fff;padding:42px;border-radius:20px;margin-bottom:24px;overflow:hidden}.workspace-hero h1{font-size:34px;max-width:620px;line-height:1.2}.workspace-hero p{color:#bcd8ce;margin:16px 0 24px}.workspace-hero .btn:not(.primary){color:#123d35}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:#6baa93;margin-bottom:16px}.hero-icon{font-size:100px;font-weight:800;border:1px solid #52796b;border-radius:24px;padding:16px 42px;text-align:center;transform:rotate(4deg)}.hero-icon span{display:block;font-size:9px;letter-spacing:.16em}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat span{display:block;color:var(--mute);font-size:13px}.stat b{font-size:29px;display:block;margin-top:8px}h2{font-size:18px;margin:0 0 16px}.activity-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.activity-row span{display:block;color:var(--mute);font-size:12px}.activity-row div:last-child{text-align:right}.auth-card{max-width:490px;margin:60px auto;padding:32px}.demo-banner{background:#e1eee7;color:#265745;text-align:center;padding:10px 18px;font-size:12px}.review-page{max-width:800px;margin:auto}.review-page .paper{margin:24px 0}.review-page>.btn{margin-bottom:24px}.approval-controls{margin-top:24px}.consent{display:flex;gap:10px;font-size:14px;text-transform:none;letter-spacing:0;margin:18px 0}.consent input{width:auto}#account{font-size:12px;display:flex;gap:8px;align-items:center}.top{box-shadow:0 3px 14px rgba(18,61,53,.03)}@media(max-width:800px){.workspace-hero{padding:24px}.workspace-hero h1{font-size:26px}.hero-icon{display:none}.stats{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}nav{overflow:auto;flex-basis:100%}.activity-row{flex-wrap:wrap}}
[hidden]{display:none !important}
