:root{--green:#2fbf5b;--dark-green:#1d9048;--blue:#005daa;--orange:#e87e24;--red:#be3737;--ink:#181818;--muted:#6b7280;--line:#d9d9d9;--bg:#f7f8fa;--card:#fff}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.shell{min-height:100vh;display:flex}.side{border-right:1px solid var(--line);background:#fff;width:260px;height:100vh;padding:22px 18px;position:sticky;top:0;overflow:auto}.brand{margin-bottom:4px;font-size:20px;font-weight:700}.sub{color:var(--muted);font-size:12px;line-height:1.35}.nav{flex-direction:column;gap:4px;margin-top:24px;display:flex}.nav a{color:#222;border-radius:9px;padding:9px 10px;font-size:14px;text-decoration:none}.nav a:hover{background:#eef8f1}.main{flex:1;max-width:1280px;padding:28px 34px}.header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.slash{border-left:6px solid var(--green);padding-left:16px}.h1{margin:0;font-size:30px;font-weight:500;line-height:1.05}.meta{color:var(--muted);margin-top:8px;font-size:13px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 1px 2px #0000000a}.card h2{margin:0 0 10px;font-size:18px}.card h3{margin:0 0 8px;font-size:15px}.kpi{font-size:30px;font-weight:700}.pill{color:#126a35;background:#eef8f1;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.pill.red{color:#9c2424;background:#fff1f1}.pill.orange{color:#a65012;background:#fff7ed}.pill.blue{color:#075985;background:#eff6ff}.list{flex-direction:column;gap:10px;display:flex}.item{border-top:1px solid #eee;padding-top:10px}.item:first-child{border-top:0;padding-top:0}.title{font-weight:700}.desc{color:#3f3f46;margin-top:4px;font-size:13px;line-height:1.35}.small{color:var(--muted);font-size:12px}.table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:hidden}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:10px;font-size:13px}.table th{color:#555;text-transform:uppercase;letter-spacing:.03em;background:#fafafa;font-size:12px}.actions{align-items:center;gap:8px;display:flex}.button,button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:9px 12px;font-weight:700;text-decoration:none}.button.secondary{background:#111}.button.light{color:#126a35;background:#eef8f1}.input{border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px;font-size:14px}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;max-width:420px;padding:24px}.warn{border-left:5px solid var(--orange);background:#fff7ed;border-radius:10px;padding:12px}.danger{border-left:5px solid var(--red);background:#fff1f1;border-radius:10px;padding:12px}.ok{border-left:5px solid var(--green);background:#eef8f1;border-radius:10px;padding:12px}@media (max-width:900px){.shell{display:block}.side{width:100%;height:auto;position:relative}.main{padding:22px}.grid-2,.grid-3{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.record-actions{border-top:1px solid #eee;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.inline-form{display:inline}.note-form{flex:1;align-items:center;gap:8px;min-width:260px;display:flex}.note-input{flex:1;min-width:180px}.button.light{border:1px solid #b7e7c5}.button.secondary{color:#fff;background:#111}@media (max-width:700px){.record-actions,.note-form{grid-template-columns:1fr;display:grid}.note-form{min-width:0}}.paste-zone{background:#f8fbff;border:2px dashed #b7c7d8;border-radius:14px;outline:none;padding:16px}.paste-zone:focus{border-color:#0072bc;box-shadow:0 0 0 3px #0072bc24}.kpi-card{text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:block}.kpi-card:hover{border-color:#b7e7c5;transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.kpi-card:focus{outline-offset:2px;outline:3px solid #2fbf5b40}.button.danger-button,.danger-button{color:#9c2424;background:#fff1f1;border:1px solid #fecaca}.button.danger-button:hover,.danger-button:hover{background:#fee2e2}.person-card,.add-person-panel{padding:0;overflow:hidden}.person-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px;list-style:none;display:flex}.person-summary::-webkit-details-marker{display:none}.person-summary:hover{background:#f8fbff}.person-card[open] .person-summary,.add-person-panel[open] .person-summary{background:#fbfcfd;border-bottom:1px solid #eee}.person-name{font-size:18px;font-weight:700;display:block}.summary-subtitle{margin-top:3px;display:block}.person-meta{white-space:nowrap;align-items:center;gap:8px;display:flex}.expand-hint{color:#005daa}.details-body{padding:16px}.person-preview-block{background:#fafafa;border:1px solid #eee;border-radius:12px;margin-bottom:12px;padding:10px 12px}.people-grid{align-items:start}.merge-person-panel{padding:0;overflow:hidden}.merge-person-panel[open] .person-summary{background:#fbfcfd;border-bottom:1px solid #eee}.merge-list{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:360px;margin-top:8px;overflow:auto}.merge-row{cursor:pointer;border-bottom:1px solid #eee;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.merge-row:last-child{border-bottom:0}.merge-row:hover{background:#f8fbff}.merge-row input{margin-top:2px}.merge-row .small{margin-top:2px;display:block}.danger-button{margin-top:10px}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{overflow-x:hidden}button,.button,input,select,textarea{font:inherit}button,.button{justify-content:center;align-items:center;gap:6px;min-height:42px;display:inline-flex}.input{min-height:42px}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}.table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.table th,.table td{min-width:120px}.table td:first-child,.table th:first-child{min-width:220px}@media (max-width:900px){.shell{min-height:100vh;display:block}.side{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:14px 14px 12px;position:relative}.brand{font-size:18px;line-height:1.1}.sub{max-width:52ch;font-size:11.5px}.nav{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-direction:row;gap:8px;margin-top:14px;padding-bottom:4px;display:flex;overflow-x:auto}.nav a{scroll-snap-align:start;white-space:nowrap;background:#f6f7f8;border:1px solid #ececec;flex:none;padding:9px 11px;font-size:13px}.side form{margin-top:12px!important}.main{width:100%;max-width:none;padding:16px 14px 28px}.header{margin-bottom:16px}.slash{border-left-width:5px;padding-left:12px}.h1{font-size:24px;line-height:1.12}.meta{font-size:12.5px;line-height:1.35}.grid{gap:12px}.grid-2,.grid-3{grid-template-columns:1fr}.card{border-radius:12px;padding:13px}.card h2{font-size:17px;line-height:1.2}.card h3{font-size:14px}.kpi{font-size:26px}.title{font-size:15px;line-height:1.25}.desc{font-size:13.5px;line-height:1.45}.small{font-size:12px;line-height:1.35}.actions{grid-template-columns:1fr;align-items:stretch;gap:8px;display:grid}.actions .button,.actions button{width:100%}.pill{padding:4px 8px;font-size:11.5px}}@media (max-width:700px){.record-actions,.note-form{grid-template-columns:1fr;display:grid}.note-form{width:100%;min-width:0}.note-input{min-width:0}.record-actions button,.record-actions .button{width:100%}.person-card,.add-person-panel,.merge-person-panel{border-radius:12px}.person-summary{align-items:flex-start;padding:14px}.person-name{font-size:16px;line-height:1.2}.person-meta{flex-direction:column;align-items:flex-end;gap:5px}.details-body{padding:14px}.merge-list{max-height:300px}.merge-row{padding:12px}textarea.input{min-height:96px}.paste-zone{padding:12px}}@media (max-width:430px){.side{padding:12px 12px 10px}.brand{font-size:16px}.sub{display:none}.nav a{padding:8px 10px;font-size:12.5px}.main{padding:14px 10px 24px}.h1{font-size:22px}.card{padding:12px}.person-summary{gap:8px}.person-meta .expand-hint{display:none}.table th,.table td{padding:9px;font-size:12.5px}}
