:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#003b4a;--accent-bg:#003b4a1a;--accent-border:#003b4a80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#1a8fc4;--accent-bg:#1a8fc426;--accent-border:#1a8fc480;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;max-width:900px;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{flex-direction:column;min-height:100svh;display:flex}.app-header{border-bottom:1px solid var(--border);padding:40px 24px 24px}.app-header h1{letter-spacing:-.5px;margin:0 0 8px;font-size:32px}.app-header p{color:var(--text);font-size:15px}.app-logo{align-items:center;gap:10px;margin-bottom:6px;font-size:36px;display:flex}.app-logo-cedri{letter-spacing:-.5px;color:#000;font-size:36px;font-weight:800;line-height:1}.app-logo-x{color:#7e7e7e;margin-top:2px;font-size:18px;font-weight:300;line-height:1}.app-logo svg{height:.85em;display:block;overflow:visible}.app-logo .logo-letter{fill:#003b4a}.app-logo .logo-square{fill:#10cfc9}@media (prefers-color-scheme:dark){.app-logo-cedri{color:#fff}.app-logo .logo-letter{fill:#fff!important}.app-logo-x{color:#aaa;margin-top:2px;font-size:18px;font-weight:300;line-height:1}}.app-main{flex-direction:column;flex:1;gap:24px;padding:32px 24px 60px;display:flex}.card{border:1px solid var(--border);border-radius:10px;padding:28px 32px}.card h2{color:var(--text-h);margin:0 0 20px;font-size:18px;font-weight:600}.upload-form{flex-direction:column;gap:16px;display:flex}.file-slots-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.file-slot-wrap,.file-slot-with-toggle{flex-direction:column;gap:6px;display:flex}.file-slot-label{color:var(--text-h);font-size:13px;font-weight:500}.required-star{color:var(--accent);margin-left:2px}.file-slot{border:1.5px dashed var(--border);cursor:pointer;border-radius:7px;align-items:center;min-height:42px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.file-slot:hover,.file-slot.dragging{border-color:var(--accent);background:var(--accent-bg)}.file-slot.has-file{border-style:solid;border-color:var(--accent-border);background:var(--accent-bg)}.file-slot-empty{color:var(--text);opacity:.7;text-align:center;width:100%;font-size:13px}.file-slot-filled{width:100%;color:var(--accent);align-items:center;gap:7px;min-width:0;display:flex}.file-slot-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.file-slot-clear{cursor:pointer;color:var(--text);opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;transition:opacity .15s}.file-slot-clear:hover{opacity:1}.multi-file-slot{cursor:pointer;flex-direction:column;align-items:stretch;gap:6px}.multi-file-slot:not(.has-file){justify-content:center}.multi-file-list{flex-direction:column;gap:4px;width:100%;display:flex}.multi-file-item{padding:3px 0}.multi-file-add{cursor:pointer;color:var(--accent);text-align:left;opacity:.8;background:0 0;border:none;padding:2px 0;font-size:12px;transition:opacity .15s}.multi-file-add:hover{opacity:1}.file-slot-coming-soon .file-slot{cursor:default;opacity:.5;pointer-events:none;justify-content:center}.apd-checkbox{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.apd-checkbox input{width:14px;height:14px}.coming-soon-badge{color:var(--text);opacity:.6;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}@media (width<=640px){.file-slots-grid{grid-template-columns:1fr}}.title-input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font-size:14px;font-family:var(--sans);border-radius:6px;padding:9px 12px;transition:border-color .15s}.title-input:focus{border-color:var(--accent);outline:none}.title-input::placeholder{color:var(--text);opacity:.6}.upload-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;transition:opacity .15s}.upload-btn:hover:not(:disabled){opacity:.88}.upload-btn:disabled{opacity:.4;cursor:not-allowed}.upload-error{color:#ef4444;margin:0;font-size:13px}.upload-success{color:#22c55e;margin:0;font-size:13px}.extractions-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.extractions-header h2{margin:0}.extractions-meta{align-items:center;gap:10px;display:flex}.refresh-btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:6px;align-items:center;padding:6px 8px;transition:border-color .15s,color .15s;display:flex}.refresh-btn:hover{border-color:var(--accent);color:var(--accent)}.pulse-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.empty-state{color:var(--text);text-align:center;padding:32px 0;font-size:14px}.table-wrap{padding-bottom:125px;overflow-x:auto}.extractions-table{border-collapse:collapse;width:100%;font-size:14px}.extractions-table th{text-align:left;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px;font-weight:500}.extractions-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.extractions-table tbody tr:last-child td{border-bottom:none}.extractions-table tbody tr:hover td{background:var(--accent-bg)}.cell-id{color:var(--text);font-family:var(--mono);white-space:nowrap;font-size:13px}.cell-title{color:var(--text-h);font-size:14px}.cell-date{color:var(--text);white-space:nowrap;font-size:13px}.cell-empty{color:var(--border)}.badge{text-transform:capitalize;border-radius:99px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-block}.badge-pending{color:#d97706;background:linear-gradient(90deg,#f59e0b14,#f59e0b40,#f59e0b14) 0 0/200% 100%;animation:1.6s ease-in-out infinite badge-shimmer}@keyframes badge-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge-complete{color:#16a34a;background:#22c55e26}.badge-failed{color:#dc2626;background:#ef444426}@media (prefers-color-scheme:dark){.badge-pending{color:#fbbf24}.badge-complete{color:#4ade80}.badge-failed{color:#f87171}}.files-dropdown{display:inline-block;position:relative}.files-dropdown-trigger{border:1px solid var(--border);color:var(--text-h);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;align-items:center;gap:4px;padding:4px 9px;font-size:13px;transition:border-color .15s,color .15s;display:inline-flex}.files-dropdown-trigger:hover{border-color:var(--accent);color:var(--accent)}.files-dropdown-menu{z-index:10;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:2px;min-width:280px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.files-dropdown-item{border-radius:5px;align-items:center;gap:8px;padding:7px 10px;text-decoration:none;display:flex}.files-dropdown-item:hover{background:var(--accent-bg)}.files-dropdown-item svg{color:var(--accent);flex-shrink:0}.files-dropdown-label{color:var(--text-h);white-space:nowrap;font-size:13px;font-weight:500}.files-dropdown-divider{background:var(--border);height:1px;margin:4px 0}.files-dropdown-download-all{cursor:pointer;text-align:left;background:0 0;border:none;width:100%}.files-dropdown-download-all:disabled{opacity:.5;cursor:default}.file-link{color:var(--accent);word-break:break-all;font-size:13px;text-decoration:none}.file-link:hover{text-decoration:underline}.download-link{word-break:normal;font-weight:500}.app-header-content{justify-content:space-between;align-items:center;display:flex}.logout-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.logout-btn:hover{border-color:var(--accent);color:var(--accent)}.login-page{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-card{border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:40px 36px}.login-title{letter-spacing:-.4px;margin:0 0 6px;font-size:24px}.login-logo{justify-content:center;margin-bottom:20px}.login-subtitle{color:var(--text);text-align:center;margin:0 0 28px;font-size:14px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--text-h);font-size:13px;font-weight:500}.login-switch{color:var(--text);text-align:center;margin:20px 0 0;font-size:13px}.link-btn{font-size:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{opacity:.75}.password-rules{flex-direction:column;gap:3px;margin:6px 0 0;padding:0;list-style:none;display:flex}.password-rules li{font-size:12px}.rule-met{color:#4caf50}.rule-unmet{color:var(--text);opacity:.6}.feedback-btn{border:1px solid var(--border);color:var(--text-h);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;align-items:center;padding:4px 9px;font-size:13px;transition:border-color .15s,color .15s;display:inline-flex}.feedback-btn:hover{border-color:var(--accent);color:var(--accent)}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);width:100%;max-width:540px;max-height:85vh;box-shadow:var(--shadow);border-radius:12px;padding:28px 32px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:var(--text-h);margin:0;font-size:17px;font-weight:600}.modal-close{cursor:pointer;color:var(--text);opacity:.5;background:0 0;border:none;padding:0 2px;font-size:22px;line-height:1;transition:opacity .15s}.modal-close:hover{opacity:1}.feedback-table-wrap{border:1px solid var(--border);border-radius:8px;margin-bottom:0;overflow-x:auto}.feedback-table{border-collapse:collapse;width:100%;font-size:13px}.feedback-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text);border-bottom:1px solid var(--border);background:var(--accent-bg);white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:500}.feedback-table th:last-child{width:28px}.feedback-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.feedback-table tbody tr:last-child td{border-bottom:none}.feedback-table-empty{color:var(--text);opacity:.55;text-align:center;font-size:13px;padding:20px!important}.feedback-row-existing td{color:var(--text-h)}.feedback-cell-meta{white-space:nowrap;color:var(--text-h);font-size:13px}.feedback-cell-notes{color:var(--text-h);min-width:180px;font-size:13px;line-height:1.5}.feedback-row-draft td{padding:6px 8px}.feedback-cell-input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font-size:13px;font-family:var(--sans);border-radius:5px;padding:5px 8px;transition:border-color .15s}.feedback-cell-input:focus{border-color:var(--accent);outline:none}.feedback-cell-input::placeholder{color:var(--text);opacity:.4}.feedback-cell-textarea{resize:vertical;min-width:160px;min-height:52px;line-height:1.4}.feedback-cell-select{cursor:pointer}.th-optional{text-transform:none;letter-spacing:0;opacity:.5;font-size:10px;font-weight:400}.feedback-remove-btn{cursor:pointer;color:var(--text);opacity:.4;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1;transition:opacity .15s}.feedback-remove-btn:hover{opacity:1}.feedback-table-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.feedback-add-row-btn{border:1px dashed var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.feedback-add-row-btn:hover{border-color:var(--accent);color:var(--accent)}.feedback-form-actions{align-items:center;gap:10px;display:flex}.feedback-cancel-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.feedback-cancel-btn:hover{border-color:var(--accent);color:var(--accent)}@media (width<=640px){.app-header,.app-main{padding-left:20px;padding-right:20px}.card{padding:20px 16px}.feedback-form-row{grid-template-columns:1fr}}
