:root{--bg:#f6f5f2;--panel:#fff;--text:#1d2433;--muted:#6b7280;--line:#e5e3dd;--accent:#1f5f8b;--danger:#b42318;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{margin:0 0 16px}.layout{min-height:100vh;display:flex}nav{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:4px;width:220px;padding:20px 12px;display:flex}nav .brand{color:var(--accent);margin:0 8px 16px;font-weight:700}nav a{color:var(--text);border-radius:6px;padding:8px;text-decoration:none}nav a.active{color:var(--accent);background:#e8f0f6;font-weight:600}nav .spacer{flex:1}main{flex:1;max-width:1100px;padding:28px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px}.login{text-align:center;min-width:300px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);background:#fdecea;border-radius:6px;margin-bottom:12px;padding:8px 12px}.row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.grow{flex:1;min-width:200px}.tabs{gap:6px;margin-bottom:12px;display:flex}.search{width:100%;margin-bottom:12px}input,select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:7px 14px}button.secondary{color:var(--text);background:#eceae5}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--muted);font-size:13px;font-weight:600}tr.done td:first-child{color:var(--muted);text-decoration:line-through}td.late{color:var(--danger);font-weight:600}@media (width<=760px){.layout{flex-direction:column}nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;width:auto}nav .spacer{display:none}main{padding:16px}}main{max-width:1280px}h3{margin:24px 0 12px}a{color:var(--accent)}.tag{background:#eceae5;border-radius:999px;margin:0 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-block}.tag-customer{color:#1f5f8b;background:#e8f0f6}.tag-represented{color:#1f7a3a;background:#eaf5ec}.tag-rights_holder{color:#8a5a12;background:#fbf1e3}.tag-own{color:#6b2f8b;background:#f1e8f6}.grid2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px;display:grid}.facts{grid-template-columns:130px 1fr;gap:6px 12px;margin:0;display:grid}.facts dt{color:var(--muted);font-size:13px}.facts dd{word-break:break-word;margin:0}.person{border-bottom:1px solid var(--line);padding:6px 0}.stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:160px;padding:12px 16px}.stat .big{font-size:22px;font-weight:700}.pager{align-items:center;gap:12px;margin-top:12px;display:flex}button:disabled{opacity:.5;cursor:default}.tabs.wrap{flex-wrap:wrap;align-items:center}.check{align-items:center;gap:4px;margin-left:8px;display:flex}.issues{flex-direction:column;gap:8px;display:flex}.issue{padding:12px 16px}.issue .row{align-items:center;margin:8px 0 0}.issue .spacer{flex:1}.issue.resolved{opacity:.55}table{font-size:14px}@media (width<=760px){.grid2{grid-template-columns:1fr}table{display:block;overflow-x:auto}}.buckets{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.bucket{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.bucket .big{font-size:20px;font-weight:700}.bucket.active{border-color:var(--accent);box-shadow:0 0 0 2px #e8f0f6}.bucket.warn .big{color:var(--danger)}tr.overdue td:first-child input{border-color:var(--danger)}td.amount{white-space:nowrap;font-weight:600}.modal-backdrop{z-index:10;background:#14182159;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:10px;width:min(480px,100%);display:flex}.modal h3{margin:0}.modal label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.modal label.check{color:var(--text);flex-direction:row;align-items:center}.modal .row{align-items:flex-end;margin:0}.modal .spacer{flex:1}.warn-text{color:var(--danger)}.due{align-items:center;gap:6px;display:flex}button.link{color:var(--accent);background:0 0;padding:0;text-decoration:underline}
