:root{--bg: #f4f6f7;--surface: #fff;--ink: #14201f;--muted: #5d6c6b;--line: #d6dedd;--accent: #0e6767;--accent-soft: #d7ecea;--danger: #a3332b;--danger-soft: #f6dfdc;font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif;font-size:15px;line-height:1.5;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--surface);cursor:pointer}button:hover{border-color:var(--accent);color:var(--accent)}code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em}h1{font-size:1.5rem;margin:0 0 16px}.centered{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px;gap:16px}.brand{display:grid;gap:2px;padding:4px 8px}.logo{font-weight:700;color:var(--accent);letter-spacing:.01em}.ws{font-size:.85rem;color:var(--muted)}.sidebar nav{display:grid;gap:2px}.sidebar nav a{padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.me{margin-top:auto;display:grid;gap:4px;padding:8px;border-top:1px solid var(--line)}.me small{color:var(--muted)}.content{padding:28px 32px;min-width:0}.hello{font-size:1.25rem}.muted{color:var(--muted)}.err-section{border:1px solid var(--danger);background:var(--danger-soft);border-radius:8px;padding:12px 14px;display:grid;gap:6px}.err-section p{margin:0}.err-foot{display:flex;gap:12px;align-items:center}.err-page{padding:48px;max-width:60ch}.toasts{position:fixed;bottom:16px;right:16px;display:grid;gap:8px}.toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 4px 16px #0003}@media(max-width:720px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.me{margin:0;border:0}}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{margin:0}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{color:#fff;opacity:.92}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.table th,.table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg)}.table tr:last-child td{border-bottom:0}.table tr.muted td{color:var(--muted)}.table .actions{white-space:nowrap;display:flex;gap:6px}.pill{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);margin-right:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters input,.filters select,.form input,.form select{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.filters input{min-width:240px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14201f59;display:grid;place-items:center;z-index:10;padding:16px}.dialog{background:var(--surface);border-radius:10px;padding:20px 22px;width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000040}.dialog h2{margin:0 0 14px;font-size:1.2rem}.form{display:grid;gap:10px}.form label{display:grid;gap:4px;font-size:.9rem}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form fieldset.perms{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:6px}.form legend{font-size:.85rem;color:var(--muted);padding:0 4px}label.check{display:flex;align-items:center;gap:8px}.form-error{color:var(--danger);margin:0;font-size:.9rem}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.crumbs{margin:0 0 6px;color:var(--muted);font-size:.9rem}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:8px 12px;color:var(--muted)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.facts{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.activity{list-style:none;padding:0;margin:0;display:grid;gap:8px}.activity li{display:grid;grid-template-columns:170px 1fr;gap:4px 12px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.activity time{color:var(--muted);font-size:.85rem}.activity code{grid-column:2;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}@media(max-width:720px){.form .row,.facts,.activity li{grid-template-columns:1fr}}.files-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.files-bar .actions{display:flex;gap:6px;align-items:center}.files .crumbs{margin:0}.files select{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.files h3{margin:20px 0 8px;font-size:1rem}button.link{border:0;background:none;padding:0;color:var(--accent);text-align:left}button.link:hover{text-decoration:underline}.vis{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--muted)}.vis-shared_view,.vis-shared_collab{background:#fff3d6;color:#7a5300}.files td.actions{display:table-cell}.files td.actions>*{margin:0 6px 4px 0}.table-wrap{overflow-x:auto}.files td:first-child{min-width:200px}.h2{font-size:1.05rem;margin:20px 0 8px}.h3{font-size:.95rem;margin:14px 0 6px}.dialog.wide{width:min(760px,100%)}.form textarea{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.line-row{display:grid;grid-template-columns:1fr 70px 100px 130px 36px;gap:6px}.warn{color:#7a5300;background:#fff3d6;border-radius:6px;padding:2px 8px;font-size:.8rem;margin-top:4px;display:inline-block}.chip{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--muted)}.chip-paid{background:#d9f0e1;color:#1d6b3a}.chip-unpaid,.chip-partially_paid{background:#e3ecf7;color:#1f4f8a}.chip-proof_submitted{background:#fff3d6;color:#7a5300}.chip-overdue{background:var(--danger-soft);color:var(--danger)}.chip-void{text-decoration:line-through}@media(max-width:720px){.line-row{grid-template-columns:1fr 1fr}}.chip-signed{background:#d9f0e1;color:#1d6b3a}.chip-pending,.chip-partially_signed{background:#e3ecf7;color:#1f4f8a}.chip-declined,.chip-identity_failed{background:var(--danger-soft);color:var(--danger)}.chip-queued{background:#fff3d6;color:#7a5300}.page-head .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.column{flex:0 0 240px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;gap:8px}.column-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:2px 4px}button.card{text-align:left;display:grid;gap:4px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%}button.card:hover{border-color:var(--accent);color:inherit}.card-client{font-size:.8rem;color:var(--muted)}.card-name{font-weight:600}.card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.8rem}.card-box{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0}.dash{display:grid;grid-template-columns:1fr 1fr;gap:12px}.list-plain{list-style:none;padding:0;margin:0;display:grid;gap:6px}@media(max-width:900px){.dash{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:start}@media(max-width:900px){.split{grid-template-columns:1fr}}.msg{padding:8px 12px;border-radius:8px;background:var(--bg);margin-bottom:8px}.msg.internal{background:#fff3d6}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px}@media(max-width:720px){.grid3{grid-template-columns:1fr}}.chip-in_progress,.chip-pending{background:#e3ecf7;color:#1f4f8a}.chip-submitted{background:#d9f0e1;color:#1d6b3a}
