:root{--bg:#f6f7f9;--surface:#fff;--surface-muted:#eef1f4;--border:#d8dee5;--text:#16202a;--muted:#667381;--accent:#0f766e;--accent-strong:#115e59;--success-bg:#dcfce7;--success-text:#166534;--pending-bg:#f1f5f9;--pending-text:#475569;--danger:#b91c1c}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:32px}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(460px,100%);padding:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.auto-refresh{color:#14532d;white-space:nowrap;background:#ecfdf5;border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.brand-row{align-items:center;gap:10px;margin-bottom:18px;display:flex}.brand-mark{color:#fff;background:#111827;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.brand-name{letter-spacing:0;font-size:18px;font-weight:800}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}h1{margin:0;font-size:30px;line-height:1.2}.subtitle{color:var(--muted);max-width:760px;margin:8px 0 0}.grid{gap:16px;display:grid}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px}.card.is-busy{border-color:#0f766e73;box-shadow:0 0 0 3px #0f766e14}.stat-card{min-height:94px}.stat-label{color:var(--muted);font-size:13px}.stat-value{margin-top:8px;font-size:28px;font-weight:700}.tools-grid{grid-template-columns:minmax(360px,1.35fr) minmax(300px,1fr) minmax(300px,1fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.project-create-card{margin-bottom:18px}.project-create-form{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.project-card{gap:16px;display:grid}.project-actions{flex-wrap:wrap;gap:10px;display:flex}.card-header,.list-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-title{margin:0 0 14px;font-size:18px}.form{gap:12px;display:grid}.form-two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px}.field input[type=file]{padding:9px 10px}.actions,.filter-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions.end{justify-content:flex-end}.actions.split{justify-content:space-between}.filters{grid-template-columns:minmax(260px,1fr) 150px 150px 150px auto;align-items:end;gap:12px;margin:16px 0;display:grid}.filter-actions{justify-content:flex-end}.button{background:var(--accent);color:#fff;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong)}.button:disabled{cursor:not-allowed;opacity:.55}.button.secondary{background:var(--surface-muted);color:var(--text)}.button.secondary:hover{background:#e2e8f0}.button.danger{color:#991b1b;background:#fee2e2}.button.danger:hover{background:#fecaca}.disabled-link{pointer-events:none;opacity:.55}.import-status{color:#14532d;background:#ecfdf5;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;font-size:13px;line-height:1.4;display:flex}.generated-file{background:#f0fdfa;border:1px solid #0f766e40;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.generated-file p{word-break:break-word;margin:4px 0 0}.spin{flex:none;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:12px}.status{border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status.scanned{background:var(--success-bg);color:var(--success-text)}.status.pending{background:var(--pending-bg);color:var(--pending-text)}.muted{color:var(--muted)}.link-action{color:var(--accent);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.link-action:hover{color:var(--accent-strong);text-decoration:underline}.error{color:var(--danger);font-size:13px}.success{color:var(--success-text);font-size:13px}@media (max-width:1180px){.tools-grid{grid-template-columns:1fr}.filters{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,180px))}.filter-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:720px){.app-shell{padding:20px}.page-header{display:grid}.header-actions{justify-content:stretch}.auto-refresh{justify-content:center}.stats,.filters,.form-two-cols,.project-create-form{grid-template-columns:1fr}.actions,.actions.end,.actions.split,.filter-actions,.generated-file{justify-content:stretch}.generated-file{flex-direction:column;align-items:stretch}.button{width:100%}}
