.sheet-grid-scroll{display:flex;flex-direction:column;gap:10px;min-width:0}.sheet-grid{position:relative;overflow:auto;border:1px solid var(--rule-strong, #24262a);border-radius:0;max-height:70vh;background:var(--paper, #fff)}.sheet-grid-clipboard-sink{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;border:none;padding:0;resize:none;pointer-events:none;caret-color:transparent}.sheet-grid table{border-collapse:collapse;width:100%;font-size:13px;-webkit-user-select:none;user-select:none}.sheet-grid thead th{position:sticky;top:0;background:var(--ink, #24262a);color:var(--paper, #fff);border:1px solid var(--ink, #24262a);padding:8px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;z-index:1}.sheet-grid .row-head{background:var(--bg, #f3f3f0);border:1px solid var(--rule, #cfcfc8);text-align:center;color:var(--muted, #6b6b64);font-family:var(--font-mono, monospace);font-size:11px;width:36px;min-width:36px}.sheet-grid td.cell{border:1px solid var(--rule, #cfcfc8);padding:0;height:27px;min-width:80px;vertical-align:middle;cursor:cell}.sheet-grid td.cell-readonly{background:var(--bg, #f3f3f0);color:var(--muted, #6b6b64)}.sheet-grid td.cell-right .cell-text{text-align:right;font-family:var(--font-mono, monospace)}.cell-text{display:block;padding:3px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-grid td.cell-selected{background:#11141712}.sheet-grid td.cell-active{outline:2px solid var(--accent, #0047ab);outline-offset:-2px;background:var(--paper, #fff)}.sheet-grid tbody tr:hover>td.row-head,.sheet-grid tbody tr:hover>td.cell:not(.cell-selected):not(.cell-active),.sheet-grid tbody tr:hover>td.cell-extra{background:#1114170b}.sheet-grid tbody tr:hover>td.cell-selected:not(.cell-active){background:#11141721}.sheet-grid td.cell.copy-edge-top{border-top:2px dashed var(--accent, #0047ab)}.sheet-grid td.cell.copy-edge-bottom{border-bottom:2px dashed var(--accent, #0047ab)}.sheet-grid td.cell.copy-edge-left{border-left:2px dashed var(--accent, #0047ab)}.sheet-grid td.cell.copy-edge-right{border-right:2px dashed var(--accent, #0047ab)}.sheet-grid tbody tr.row-error>td.row-head,.sheet-grid tbody tr.row-error>td.cell:not(.cell-active),.sheet-grid tbody tr.row-error>td.cell-extra{background:#c0392b24}.sheet-grid tbody tr.row-error:hover>td.row-head,.sheet-grid tbody tr.row-error:hover>td.cell:not(.cell-active),.sheet-grid tbody tr.row-error:hover>td.cell-extra{background:#c0392b3d}.sheet-grid tbody tr.row-added>td.row-head,.sheet-grid tbody tr.row-added>td.cell:not(.cell-active),.sheet-grid tbody tr.row-added>td.cell-extra{background:#1a7a4229}.sheet-grid tbody tr.row-added:hover>td.row-head,.sheet-grid tbody tr.row-added:hover>td.cell:not(.cell-active),.sheet-grid tbody tr.row-added:hover>td.cell-extra{background:#1a7a4242}.cell-input{width:100%;height:27px;box-sizing:border-box;border:none;outline:2px solid var(--accent, #0047ab);outline-offset:-2px;padding:3px 7px;font:inherit;background:var(--paper, #fff)}.cell-extra{border:1px solid var(--rule, #cfcfc8);text-align:center;padding:0 4px}.empty-hint{padding:18px;text-align:center;color:var(--muted, #6b6b64);border:1px solid var(--rule, #cfcfc8)}.add-row-btn{align-self:flex-start;display:inline-block;padding:7px 14px;border:1px solid var(--rule-strong, #24262a);background:var(--paper, #fff);color:var(--ink, #24262a);border-radius:0;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}.add-row-btn:hover{background:var(--ink, #24262a);color:var(--paper, #fff)}.row-remove-btn{border:none;background:transparent;color:var(--danger, #c0392b);cursor:pointer;font-size:15px;line-height:1;padding:4px 6px}.row-remove-btn:hover{opacity:.6}:root{--ink: #3a3d42;--paper: #ffffff;--bg: #f3f3f0;--rule: #cfcfc8;--rule-strong: #3a3d42;--muted: #6b6b64;--accent: #0047ab;--accent-ink: #ffffff;--danger: #c0392b;--warn: #a8790a;--ok: #1a7a42;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--font-sans: "Inter", "Segoe UI", Arial, sans-serif;--font-mono: "IBM Plex Mono", "Consolas", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);font-weight:800;letter-spacing:-.01em}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--rule-strong);border-radius:0;background:var(--paper);color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.app-shell{display:flex;flex-direction:column;height:100%}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--ink);color:var(--paper);border-bottom:3px solid var(--accent)}.app-title{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.app-title:before{content:"";display:inline-block;width:9px;height:9px;background:var(--accent);margin-right:12px;vertical-align:middle}.logout-btn{background:transparent;border:1px solid rgba(255,255,255,.4);color:var(--paper);padding:6px 14px;border-radius:0;cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.logout-btn:hover{background:var(--accent);border-color:var(--accent)}.tab-bar{display:flex;align-items:center;gap:2px;background:var(--paper);padding:0 20px;overflow-x:auto;border-bottom:1px solid var(--rule-strong)}.tab-bar-spacer{flex:1}.tab-btn{padding:13px 16px 11px;border:none;border-bottom:3px solid transparent;border-radius:0;background:transparent;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tab-btn:hover{color:var(--ink)}.tab-btn-active{border-bottom-color:var(--accent);color:var(--ink)}.tab-btn-new{color:var(--ink)}.app-content{flex:1;overflow:auto;padding:var(--sp-5)}.page-loading{padding:40px;text-align:center;color:var(--muted)}.page{background:var(--paper);border:1px solid var(--rule-strong);border-radius:0;padding:var(--sp-5);max-width:1240px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:2px solid var(--ink)}.stock-header-actions{display:flex;align-items:center;gap:var(--sp-3)}.page-header h2{margin:0;font-size:18px}.page-hint{color:var(--muted);font-size:13px;margin:0 0 var(--sp-4)}.save-status{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.save-status-saving,.save-status-pending{color:var(--warn)}.save-status-saved{color:var(--ok)}.save-status-error{color:var(--danger);font-weight:700}.form-error{background:var(--paper);color:var(--danger);border:1px solid var(--danger);border-left:4px solid var(--danger);padding:10px 14px;border-radius:0;margin-bottom:var(--sp-3);font-size:13px}.primary-btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:9px 16px;border-radius:0;cursor:pointer;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.primary-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.primary-btn:disabled{background:var(--rule);border-color:var(--rule);color:var(--paper);cursor:not-allowed}.danger-btn{background:var(--paper);color:var(--danger);border:1px solid var(--danger);padding:9px 16px;border-radius:0;cursor:pointer;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.danger-btn:hover{background:var(--danger);color:var(--paper)}.confirm-btn{background:var(--paper);color:var(--ok);border:1px solid var(--ok);padding:9px 16px;border-radius:0;cursor:pointer;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.confirm-btn:hover{background:var(--ok);color:var(--paper)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4)}.form-grid label,.block-label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.block-label{margin-bottom:var(--sp-4)}.settings-actions{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4)}.signatures-table{border-collapse:collapse;width:100%;margin-bottom:var(--sp-2)}.signatures-table th,.signatures-table td{border:1px solid var(--rule);padding:6px;text-align:left}.signatures-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.signatures-table input{width:100%}.login-screen{display:flex;align-items:center;justify-content:center;height:100%;background:var(--ink)}.login-card{background:var(--paper);padding:40px 40px 36px;border-radius:0;border-top:4px solid var(--accent);width:320px;display:flex;flex-direction:column;gap:var(--sp-2)}.login-card h1{margin:0;font-size:19px;text-transform:uppercase;letter-spacing:.02em}.login-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.login-error{color:var(--danger);font-size:13px}.login-card button{margin-top:var(--sp-2);background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:11px;border-radius:0;cursor:pointer;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.login-card button:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.login-card button:disabled{background:var(--rule);border-color:var(--rule);cursor:not-allowed}.act-header-bar{align-items:flex-start}.act-status{display:inline-block;margin-left:var(--sp-3);padding:2px 8px;border:1px solid currentColor;border-radius:0;font-size:10px;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.act-status-draft{color:var(--warn)}.act-status-posted{color:var(--ok)}.act-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.act-header-fields{margin-top:var(--sp-3)}.act-toolbar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.picker-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;background:var(--paper);border:1px solid var(--rule-strong);border-left:4px solid var(--accent);color:var(--ink);padding:12px 16px;border-radius:0;margin-bottom:var(--sp-4);font-size:13px}.row-add-btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;padding:3px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap}.row-add-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.row-added-btn{border:1px solid var(--ok);background:var(--ok);color:var(--paper);border-radius:0;padding:3px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.remaining-hint-table,.history-table{width:100%;border-collapse:collapse;margin-top:var(--sp-4);font-size:13px}.remaining-hint-table th,.history-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;border-bottom:2px solid var(--ink);padding:6px 10px;text-align:left}.remaining-hint-table td,.history-table td{border-bottom:1px solid var(--rule);padding:7px 10px;text-align:left}.row-warning{color:var(--danger);font-weight:600}
