*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--bg: #f1f5f9;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--danger-bg: #fef2f2;--danger: #dc2626}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.muted{color:var(--muted)}.small{font-size:.85rem}button{cursor:pointer;font:inherit}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#2563eb,#3b82f6);padding:1rem}.login-card{background:var(--card);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column}.login-logo{width:56px;height:56px;border-radius:12px;background:var(--primary);color:#fff;font-weight:700;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.login-card h1{text-align:center;font-size:1.5rem}.login-card>.muted{text-align:center;margin-bottom:1.5rem}.login-card label{font-weight:600;font-size:.9rem;margin-bottom:.35rem}.login-card input{padding:.65rem .8rem;border:1px solid var(--border);border-radius:8px;font:inherit;margin-bottom:1rem}.login-card input:focus{outline:2px solid var(--primary);border-color:transparent}.login-card button[type=submit]{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.7rem;font-weight:600;margin-top:.5rem}.login-card button[type=submit]:hover{background:var(--primary-dark)}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.topbar{background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar-title{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.topbar-logo{background:var(--primary);color:#fff;border-radius:8px;padding:.25rem .5rem;font-size:.85rem}.topbar-user{display:flex;align-items:center;gap:.75rem}.btn-secondary{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:.45rem .9rem;text-decoration:none;color:var(--text);font-size:.9rem}.btn-secondary:hover{background:var(--bg)}button.btn-secondary:disabled{opacity:.55;cursor:default}button.btn-secondary:disabled:hover{background:var(--card)}.container{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.container h2{margin-bottom:.25rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;margin-top:1.5rem}.project-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:.5rem;transition:transform .15s,box-shadow .15s}.project-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #2563eb1f;border-color:var(--primary)}.project-icon{font-size:1.8rem}.project-card p{color:var(--muted);font-size:.9rem;flex:1}.project-open{color:var(--primary);font-weight:600;font-size:.9rem}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:1.5rem}.panel h3{margin-bottom:.5rem}.panel textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font:inherit;resize:vertical;margin-top:.75rem}.panel textarea:focus{outline:2px solid var(--primary);border-color:transparent}.form-row{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.form-row button[type=submit]{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600}.form-row button[type=submit]:hover{background:var(--primary-dark)}.form-row button[type=submit]:disabled{opacity:.6;cursor:default}.notice{color:#16a34a;font-size:.9rem}.request-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.request-item{border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem}.request-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem}.status{font-size:.75rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.status-open{background:#dbeafe;color:#1d4ed8}.status-in-progress{background:#fef3c7;color:#b45309}.status-done{background:#dcfce7;color:#15803d}.request-actions{margin-top:.5rem;display:flex;gap:1rem}.btn-link{background:none;border:none;color:var(--primary);font-size:.85rem;padding:0;text-decoration:underline}.file-table{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.92rem}.file-table th,.file-table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border)}.file-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.fuid-form{display:flex;gap:.75rem;margin-top:.75rem;margin-bottom:.75rem}.company-select{padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--card);cursor:pointer}.company-select:focus{outline:2px solid var(--primary);border-color:transparent}.company-badge{display:inline-block;margin-left:.6rem;padding:.1rem .6rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:700;vertical-align:middle}.date-form{align-items:center;flex-wrap:wrap}.date-field{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.875rem;font-weight:600}.date-field input{max-width:200px;color:var(--text);font-weight:400}.fuid-form input{flex:1;max-width:380px;padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;font:inherit}.fuid-form input:focus{outline:2px solid var(--primary);border-color:transparent}.fuid-form button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600}.fuid-form button:hover{background:var(--primary-dark)}.fuid-form button:disabled{opacity:.6;cursor:default}.lookup-result{border:1px solid var(--border);border-radius:8px;padding:1rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}.lookup-file{display:flex;flex-direction:column;gap:.6rem}.lookup-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;text-decoration:none;font-size:.9rem;display:inline-block}.btn-primary:hover{background:var(--primary-dark)}.json-preview pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:.9rem;font-size:.8rem;max-height:320px;overflow:auto;margin-top:.5rem}.record-table{border-collapse:collapse;font-size:.88rem;width:100%}.record-table th{text-align:left;color:var(--muted);font-weight:600;padding:.35rem .75rem .35rem 0;white-space:nowrap;vertical-align:top;width:1%}.record-table td{padding:.35rem 0;word-break:break-all}.lookup-steps summary{cursor:pointer;color:var(--muted);font-size:.85rem}.lookup-steps ol{margin:.5rem 0 0 1.25rem;font-size:.85rem;color:var(--muted)}.csv-preview{overflow-x:auto;max-height:400px;overflow-y:auto}.error-box{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca;border-radius:8px;padding:.6rem .9rem;margin:.75rem 0;font-size:.9rem}code{background:var(--bg);padding:.1rem .35rem;border-radius:4px;font-size:.85em}
