.sheet-grid-scroll{display:flex;flex-direction:column;gap:8px;min-width:0}.sheet-grid{position:relative;overflow:auto;border:1px solid #c7d0da;border-radius:6px;max-height:70vh;background:#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:#eef2f7;border:1px solid #c7d0da;padding:6px 8px;font-weight:600;text-align:left;white-space:nowrap;z-index:1}.sheet-grid .row-head{background:#f5f7fa;border:1px solid #c7d0da;text-align:center;color:#8a94a3;font-size:12px;width:36px;min-width:36px}.sheet-grid td.cell{border:1px solid #dde3ea;padding:0;height:26px;min-width:80px;vertical-align:middle;cursor:cell}.sheet-grid td.cell-readonly{background:#f7f8fa;color:#6b7480}.sheet-grid td.cell-right .cell-text{text-align:right}.cell-text{display:block;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-grid td.cell-selected{background:#d9e8fd}.sheet-grid td.cell-active{outline:2px solid #2f6fed;outline-offset:-2px;background:#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:#eef3fb}.sheet-grid tbody tr:hover>td.cell-selected:not(.cell-active){background:#c7dcf9}.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:#fbdcd8}.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:#f6c9c3}.cell-input{width:100%;height:26px;box-sizing:border-box;border:none;outline:2px solid #2f6fed;outline-offset:-2px;padding:3px 6px;font:inherit;background:#fff}.cell-extra{border:1px solid #dde3ea;text-align:center;padding:0 4px}.empty-hint{padding:16px;text-align:center;color:#8a94a3;border:1px solid #dde3ea}.add-row-btn{align-self:flex-start;display:inline-block;padding:6px 12px;border:1px solid #c7d0da;background:#f5f7fa;border-radius:6px;cursor:pointer;font-size:13px;color:inherit;text-decoration:none}.add-row-btn:hover{background:#eef2f7}.row-remove-btn{border:none;background:transparent;color:#b3413f;cursor:pointer;font-size:15px;line-height:1;padding:4px 6px}.row-remove-btn:hover{color:#7c2b29}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f2f4f7;color:#1f2937}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid #c7d0da;border-radius:4px}.app-shell{display:flex;flex-direction:column;height:100%}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#1f2a44;color:#fff}.app-title{font-weight:600;font-size:16px}.logout-btn{background:transparent;border:1px solid #556;color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer}.logout-btn:hover{background:#ffffff1a}.tab-bar{display:flex;align-items:center;gap:4px;background:#e3e8f0;padding:6px 12px;overflow-x:auto;border-bottom:1px solid #c7d0da}.tab-bar-spacer{flex:1}.tab-btn{padding:7px 14px;border:1px solid transparent;border-radius:6px 6px 0 0;background:transparent;cursor:pointer;white-space:nowrap;font-size:13px;color:#3b4658}.tab-btn:hover{background:#d3dae5}.tab-btn-active{background:#fff;border-color:#c7d0da;border-bottom-color:#fff;font-weight:600;color:#1f2a44}.tab-btn-new{color:#2f6fed;font-weight:600}.app-content{flex:1;overflow:auto;padding:20px}.page-loading{padding:40px;text-align:center;color:#6b7480}.page{background:#fff;border-radius:8px;padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.page-header h2{margin:0;font-size:18px}.page-hint{color:#6b7480;font-size:13px;margin:0 0 14px}.save-status{font-size:12px;color:#6b7480}.save-status-saving,.save-status-pending{color:#b98900}.save-status-saved{color:#1c8a4b}.save-status-error{color:#c0392b;font-weight:600}.form-error{background:#fdecea;color:#c0392b;padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:13px}.primary-btn{background:#2f6fed;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.primary-btn:disabled{background:#9db6f3;cursor:not-allowed}.danger-btn{background:#fdecea;color:#c0392b;border:1px solid #f3c6c1;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.danger-btn:hover{background:#f9d6d2}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px 20px;margin-bottom:16px}.form-grid label,.block-label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3b4658}.block-label{margin-bottom:16px}.settings-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.signatures-table{border-collapse:collapse;width:100%;margin-bottom:8px}.signatures-table th,.signatures-table td{border:1px solid #dde3ea;padding:6px;text-align:left}.signatures-table input{width:100%}.login-screen{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,#1f2a44,#2f6fed)}.login-card{background:#fff;padding:32px 36px;border-radius:10px;width:320px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 40px #00000040}.login-card h1{margin:0;font-size:20px}.login-subtitle{margin:0 0 10px;color:#6b7480;font-size:13px}.login-label{font-size:13px;color:#3b4658}.login-error{color:#c0392b;font-size:13px}.login-card button{margin-top:8px;background:#2f6fed;color:#fff;border:none;padding:10px;border-radius:6px;cursor:pointer;font-size:14px}.login-card button:disabled{background:#9db6f3;cursor:not-allowed}.act-header-bar{align-items:flex-start}.act-status{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:10px;font-size:11px;vertical-align:middle}.act-status-draft{background:#fff3cd;color:#8a6d00}.act-status-posted{background:#d4f0dd;color:#1c8a4b}.act-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.act-header-fields{margin-top:10px}.act-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.picker-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#eaf1ff;border:1px solid #b9d1fb;color:#1f2a44;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.row-add-btn{border:1px solid #2f6fed;background:#fff;color:#2f6fed;border-radius:5px;padding:3px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.row-add-btn:hover{background:#eaf1ff}.row-added-btn{border:1px solid #b7dfc4;background:#eafbf0;color:#1c8a4b;border-radius:5px;padding:3px 10px;font-size:12px;white-space:nowrap}.remaining-hint-table,.history-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}.remaining-hint-table th,.remaining-hint-table td,.history-table th,.history-table td{border:1px solid #dde3ea;padding:6px 10px;text-align:left}.row-warning{background:#fdecea;color:#c0392b}
