:root{--text:#333;--text-muted:#666;--bg:#f7f6f4;--card-bg:#fff;--border:#ddd;--accent:#7a3b8f;--accent-dark:#5c2b6c;--error:#b3261e;--success-bg:#eaf6ec;--success-border:#bfe3c4;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1{color:var(--accent-dark);margin:0 0 8px;font-size:26px}.logo{max-width:220px;height:auto;margin:0 auto 20px;display:block}.page{justify-content:center;min-height:100svh;padding:32px 16px;display:flex}.page.wide{align-items:flex-start}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:560px;height:fit-content;padding:32px;box-shadow:0 2px 8px #0000000a}.card.wide{width:96vw;max-width:1600px}.card.narrow{max-width:360px}.card.success{text-align:center;background:var(--success-bg);border-color:var(--success-border)}.subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}form{flex-direction:column;gap:16px;display:flex}label{color:var(--text);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}input,select,textarea{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;font-family:inherit}.autocomplete{position:relative}.suggestions{border:1px solid var(--border);z-index:10;background:#fff;border-radius:6px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.suggestions li{cursor:pointer;border-radius:4px;padding:8px 10px;font-size:14px;font-weight:400}.suggestions li:hover{background:var(--success-bg)}.hint{color:var(--text-muted);margin:-8px 0 0;font-size:13px}.selected-hint{color:#2e7d32}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.error{color:var(--error);margin:0;font-size:14px}.submit-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px;font-size:15px;font-weight:600}.submit-button:hover:not(:disabled){background:var(--accent-dark)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.toolbar label{min-width:160px}.toolbar button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:6px;padding:10px 16px;font-weight:600}.table-scroll{scrollbar-width:auto;scrollbar-color:var(--accent) #e8e6ea;border-bottom:1px solid var(--border);overflow-x:scroll}.table-scroll::-webkit-scrollbar{height:14px}.table-scroll::-webkit-scrollbar-track{background:#e8e6ea;border-radius:7px}.table-scroll::-webkit-scrollbar-thumb{background:var(--accent);border:3px solid #e8e6ea;border-radius:7px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}th{white-space:nowrap;background:#f0eef4}.cell-input{width:100%;padding:4px 6px;font-size:13px}.cell-input.small{width:90px}.cell-input.tiny{width:50px}.cell-input.notes{width:180px;min-height:40px}.status-select{width:110px}.empty{text-align:center;color:var(--text-muted);padding:24px!important}
