@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Source+Sans+3:wght@400;500;600&family=Courier+Prime:wght@400;700&display=swap";:root{--bg: #f4efe6;--surface: #faf7f2;--surface-alt: #ede8de;--border: #d6cfc3;--border-light: #e8e2d8;--accent: #2b5f45;--accent-hover: #3a7a5a;--accent-dim: rgba(43, 95, 69, .08);--accent-text: #ffffff;--text: #1a1510;--text-muted: #7a6e63;--text-subtle: #b0a497;--s-ready: #2b5f45;--s-ready-bg: rgba(43, 95, 69, .08);--s-processing: #8a6020;--s-processing-bg: rgba(138, 96, 32, .08);--s-error: #8c2e20;--s-error-bg: rgba(140, 46, 32, .08);--s-uploaded: #2e5580;--s-uploaded-bg: rgba(46, 85, 128, .08);--font-serif: "Source Serif 4", Georgia, serif;--font-sans: "Source Sans 3", system-ui, sans-serif;--font-mono: "Courier Prime", "Courier New", monospace;--radius: 3px;--radius-lg: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--sidebar-width: 236px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:500;line-height:1.2}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-accent{color:var(--accent)}.label-caps{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px var(--space-4);font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:1;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 12px #2b5f4540}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-alt)}.btn-danger{background:transparent;color:var(--s-error);border:1px solid var(--s-error-bg)}.btn-danger:hover:not(:disabled){background:var(--s-error-bg)}.input{width:100%;padding:8px var(--space-3);font-family:var(--font-sans);font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--text-subtle)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.s-ready{color:var(--s-ready);background:var(--s-ready-bg)}.s-processing{color:var(--s-processing);background:var(--s-processing-bg)}.s-error{color:var(--s-error);background:var(--s-error-bg)}.s-uploaded{color:var(--s-uploaded);background:var(--s-uploaded-bg)}.type-tag{display:inline-block;font-family:var(--font-sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--surface-alt);border:1px solid var(--border);padding:2px 8px;border-radius:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}.page{display:flex;flex-direction:column;height:100%}.topbar{height:var(--topbar-height);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-7);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-title{font-family:var(--font-serif);font-size:20px;font-weight:500;flex:1}.page-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:var(--space-6) var(--space-7);gap:var(--space-5)}.filters{display:flex;gap:var(--space-3);flex-wrap:wrap}.filter-select{width:auto;min-width:160px}.error-banner{padding:10px var(--space-4);background:var(--s-error-bg);color:var(--s-error);border-radius:var(--radius);font-size:13px}.table-wrapper{flex:1;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:13px}.table thead{background:var(--surface-alt);border-bottom:1px solid var(--border)}.table th{padding:10px var(--space-4);text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.th-sortable:hover{color:var(--text)}.th-num,.td-num{text-align:right;width:80px}.th-date,.td-date{white-space:nowrap}.th-actions,.td-actions{width:48px;text-align:right}.table tbody tr{border-bottom:1px solid var(--border-light)}.table tbody tr:last-child{border-bottom:none}.tr-clickable{cursor:pointer;transition:background var(--transition-fast)}.tr-clickable:hover{background:var(--surface-alt)}.table td{padding:11px var(--space-4);vertical-align:middle}.td-empty{text-align:center;padding:var(--space-7) var(--space-4);font-size:14px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius);background:transparent;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.tr-clickable:hover .action-btn{opacity:1}.action-btn--delete{color:var(--text-muted)}.action-btn--delete:hover{background:var(--s-error-bg);color:var(--s-error)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding-top:var(--space-2)}.pagination-info{font-size:13px;min-width:120px;text-align:center}.modal-overlay{position:fixed;inset:0;background:#1a151066;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:0 8px 40px #1a15102e}.modal-title{font-family:var(--font-serif);font-size:20px;font-weight:500;margin-bottom:var(--space-4)}.modal-body{font-size:14px;line-height:1.6;margin-bottom:var(--space-5)}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.btn-text{background:none;border:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);cursor:pointer;padding:2px 6px;border-radius:var(--radius);transition:color var(--transition-fast),background var(--transition-fast)}.btn-text:hover{color:var(--accent);background:var(--accent-dim)}.form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.form-label{display:flex;flex-direction:column;gap:var(--space-1)}.form-error{font-size:13px;color:var(--s-error)}.required{color:var(--s-error)}.ref-badge{font-family:var(--font-mono);font-size:12px;background:var(--surface-alt);border:1px solid var(--border-light);border-radius:var(--radius);padding:2px 7px;white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
