:root{font-family:Manrope,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#15212f;background:radial-gradient(circle at top left,rgba(148,203,255,.45),transparent 28%),radial-gradient(circle at 85% 15%,rgba(255,217,181,.38),transparent 24%),linear-gradient(180deg,#f3f8ff,#f7fbf8 45%,#f9f4ed);--surface: #ffffff;--surface-muted: #f6f9fc;--surface-accent: #eef6ff;--border: #d9e3ec;--border-strong: #bfd0e2;--text-muted: #415768;--shadow: 0 14px 40px rgba(8, 29, 62, .09);--brand: #1168dd;--brand-dark: #0f5cca;--ok-bg: #dcfce7;--ok-text: #166534;--warn-bg: #fef3c7;--warn-text: #92400e;--bad-bg: #fee2e2;--bad-text: #991b1b;--unknown-bg: #e2e8f0;--unknown-text: #334155}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--brand-dark)}p,li{line-height:1.55}.container{max-width:1240px;margin:0 auto;padding:2.5rem 1rem 3rem}.hero{padding:1rem 0 .35rem}.eyebrow{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:#1168dd1a;color:var(--brand-dark);font-size:.76rem;font-weight:800;letter-spacing:.08em;padding:.35rem .75rem;text-transform:uppercase}.card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:1.4rem;margin-top:1.2rem}.title{margin:0;font-size:2rem;letter-spacing:-.02em}.subtitle{margin-top:.5rem;color:var(--text-muted);max-width:64ch}.section-heading h2{margin:0}.section-heading p{margin:.35rem 0 .9rem;color:var(--text-muted)}.admin-container{max-width:1400px}.admin-link{display:inline-flex;align-items:center;color:#173d72;font-weight:700;text-decoration:none}.upload-card{border:1px solid var(--border)}button{border:0;background:linear-gradient(140deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:.75rem 1.15rem;border-radius:10px;cursor:pointer;font-weight:600;transition:transform .18s ease,box-shadow .18s ease}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 24px #1168dd3d}button:disabled{cursor:not-allowed;opacity:.55}.button-secondary{background:#e2e8f0;color:#1b2b3c}.upload-form{display:flex;flex-direction:column;gap:.9rem}.upload-input{position:absolute;opacity:0;pointer-events:none}.upload-dropzone{display:flex;flex-direction:column;gap:.35rem;border:1px dashed #8fb1cf;border-radius:14px;padding:1.25rem;background:linear-gradient(170deg,#f2f9ff,#fbfdfd);cursor:pointer}.upload-dropzone:hover{border-color:#5f93bf}.upload-title{font-size:1.04rem;font-weight:700;color:#193046}.upload-hint{color:#4d6477;font-size:.94rem}.file-preview,.upload-placeholder{margin-top:.75rem;display:flex;align-items:center;gap:.85rem;border-radius:14px;padding:.85rem .95rem}.file-preview{position:relative;background:#ffffffe0;border:1px solid var(--border);box-shadow:0 10px 24px #0f5cca14;padding-right:3.75rem}.upload-placeholder{background:#ffffff73;border:1px dashed rgba(95,147,191,.45);color:#5b7285}.file-preview-icon,.upload-placeholder-icon{position:relative;width:58px;min-width:58px;height:72px;border-radius:14px;border:1px solid #c6d7e7;background:linear-gradient(180deg,#fff,#eaf4ff);display:flex;align-items:flex-end;justify-content:center;padding-bottom:.75rem;overflow:hidden}.upload-placeholder-icon{height:68px;background:linear-gradient(180deg,#fff,#f3f8ff)}.file-preview-corner{position:absolute;top:0;right:0;width:20px;height:20px;background:linear-gradient(135deg,#d8eaff,#fff);clip-path:polygon(0 0,100% 0,100% 100%)}.file-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:36px;border-radius:999px;background:linear-gradient(140deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:.22rem .5rem}.file-preview-meta{min-width:0;display:flex;flex-direction:column;gap:.2rem}.file-preview-meta strong,.file-preview-meta span{overflow:hidden;text-overflow:ellipsis}.file-preview-meta strong{color:#173047;white-space:nowrap}.file-preview-meta span{color:#587084;font-size:.92rem}.file-preview-remove{position:absolute;top:.7rem;right:.7rem;width:2rem;height:2rem;min-width:2rem;padding:0;border-radius:999px;background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff;font-weight:800;box-shadow:0 8px 18px #dc26263d}.file-preview-remove:not(:disabled):hover{box-shadow:0 10px 20px #dc262647}.upload-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.selected-file{margin:0;color:#23384b}.analyzing-header{display:flex;gap:.9rem;align-items:center}.analyzing-title{margin:0 0 .2rem}.analyzing-text{margin:0;color:#395266}.result-status-banner{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-radius:18px;padding:1rem 1.1rem;margin-bottom:1rem}.status-banner-attention{background:linear-gradient(135deg,#fee2e2eb,#fff4d6eb);border:1px solid rgba(239,68,68,.14)}.status-banner-ok{background:linear-gradient(135deg,#dcfce7cc,#eff6ffe0);border:1px solid rgba(34,197,94,.16)}.status-banner-incomplete{background:linear-gradient(135deg,#e2e8f0d9,#f8fafcf2);border:1px solid rgba(100,116,139,.14)}.status-banner-copy{margin:0;max-width:28ch;color:#32495d}.analysis-question-stack{margin-top:1rem;display:flex;flex-direction:column;gap:.9rem}.analysis-question{border:1px solid var(--border);border-radius:16px;padding:1rem;background:linear-gradient(180deg,#eef6ffb8,#fffffff2)}.analysis-question-waiting{border-color:#f2c66d;background:linear-gradient(180deg,#fff4d6e6,#fffffff5)}.analysis-question-prompt{margin:0;font-weight:700;color:#193046}.analysis-question-note,.analysis-question-status{margin:.45rem 0 0;color:var(--text-muted)}.analysis-question-note{color:#8a5a0b}.analysis-question-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.85rem}.answer-button{min-width:88px}.answer-button-secondary{background:#e8f1fb;color:#18324a}.answer-button-selected{background:linear-gradient(140deg,#0f5cca,#0a4ba7)}.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.8rem}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:uppercase}.status-queued{background:#f3f4f6;color:#374151}.status-processing{background:#fef3c7;color:#92400e}.status-completed{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.spinner{width:14px;height:14px;border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:.4rem}.spinner-large{width:32px;height:32px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#b91c1c}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.metric{background:var(--surface-muted);border:1px solid #e2e8f0;border-radius:14px;padding:.75rem}.metric strong{display:block;font-size:1.4rem;margin-bottom:.15rem}.analysis-card{padding:1rem}.analysis-split{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:1rem}.analysis-pane{border-radius:18px;min-width:0}.renter-pane{background:linear-gradient(180deg,#f7fbff,#fdf8f1);border:1px solid var(--border);padding:1.2rem}.attorney-pane,.internal-pane{background:linear-gradient(180deg,#fff,#f8fbfe);border:1px solid var(--border);padding:1.2rem}.pane-header{margin-bottom:1rem}.pane-title{margin:.55rem 0 .35rem;font-size:1.5rem;letter-spacing:-.02em}.pane-summary{margin:0;color:#25384a}.pane-supporting{color:var(--text-muted)}.pane-section{margin-top:1rem}.pane-section h3,.info-panel h3,.rule-detail-card h4{margin:0 0 .5rem}.view-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.view-badge-attention{background:#fca5a538;color:var(--bad-text)}.view-badge-incomplete{background:#fbbf2433;color:var(--warn-text)}.view-badge-ok{background:#4ade802e;color:var(--ok-text)}.view-badge-attorney{background:#1168dd1f;color:var(--brand-dark)}.view-badge-internal{background:#15212f14;color:#173047}.count-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.count-chip{border-radius:14px;padding:.8rem;display:flex;flex-direction:column;gap:.2rem;border:1px solid transparent}.count-chip strong{font-size:1.4rem}.count-chip-ok{background:#dcfce7cc;border-color:#22c55e2e;color:var(--ok-text)}.count-chip-violation{background:#fee2e2e6;border-color:#ef444429;color:var(--bad-text)}.count-chip-unknown{background:#e2e8f0e6;border-color:#64748b2e;color:var(--unknown-text)}.compact-list{margin:0;padding-left:1.2rem}.compact-list-inline{margin-top:.4rem}.subtle-panel,.info-panel,.rule-detail-card,.cta-panel{border:1px solid var(--border);border-radius:16px;padding:1rem;background:var(--surface)}.subtle-panel{background:#ffffffa6}.cta-panel{margin-top:1rem;background:linear-gradient(180deg,#1168dd0f,#fffffff2)}.cta-copy{margin:0;color:#1d3348}.claim-card,.estimate-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:linear-gradient(180deg,#fffffff5,#f2f9ffe6)}.claim-card+.estimate-card{margin-top:.9rem}.claim-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.claim-card h3,.estimate-card strong{margin:.55rem 0 .3rem}.estimate-card strong{display:block;font-size:1.9rem;color:#173047}.helper-text{color:var(--text-muted);font-size:.92rem}.inline-question-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.contact-form{margin-top:.9rem}.input-label{display:block;margin-bottom:.4rem;font-weight:700;color:#18324a}.contact-row{display:flex;gap:.75rem;align-items:center}.contact-row input{flex:1;min-width:0;border:1px solid var(--border-strong);border-radius:12px;padding:.8rem .9rem;font:inherit;color:#173047;background:#fff}.contact-row input:focus{outline:2px solid rgba(17,104,221,.14);border-color:var(--brand)}.tooltip-chip{margin-left:.45rem;border-radius:999px;padding:.28rem .65rem;background:#edf4ff;color:#173d72;font-size:.8rem}.feedback-panel{margin-top:.9rem;border:1px solid rgba(34,197,94,.18);border-radius:14px;background:#dcfce7b8;color:var(--ok-text);padding:.85rem .95rem}.feedback-panel p{margin:0}.feedback-panel-error{border-color:#ef44442e;background:#fee2e2c7;color:var(--bad-text)}.admin-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:1rem;margin-top:1.2rem}.admin-list-card,.admin-detail-card,.admin-auth-card{border:1px solid var(--border)}.admin-section-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.9rem}.admin-section-header h2{margin:0}.admin-job-list,.admin-detail-stack{display:flex;flex-direction:column;gap:.9rem}.admin-job-card{width:100%;text-align:left;background:linear-gradient(180deg,#fff,#f6f9fc);color:#173047;border:1px solid var(--border);box-shadow:none}.admin-job-card:hover{box-shadow:0 10px 24px #081d3e14}.admin-job-card-selected{border-color:var(--brand);background:linear-gradient(180deg,#1168dd14,#fff)}.admin-job-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.admin-job-card p{margin:.35rem 0 0}.attorney-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.attorney-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-bottom:1rem}.info-panel{background:var(--surface-muted)}.info-panel-warning{border-color:#f5d68d;background:#fff9ea}.rule-list{display:flex;flex-direction:column;gap:.95rem}.rule-group{margin-top:1rem}.rule-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:var(--surface)}.rule-card-header h3{margin:.5rem 0 0;font-size:1.1rem}.rule-card h4{margin:.7rem 0 .4rem;font-size:1.05rem}.rule-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.status-pill,.severity-pill,.muted-label{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .6rem;font-size:.78rem;font-weight:700}.status-pill-ok{background:var(--ok-bg);color:var(--ok-text)}.status-pill-violation{background:var(--bad-bg);color:var(--bad-text)}.status-pill-unknown{background:var(--unknown-bg);color:var(--unknown-text)}.severity-pill{background:#edf2f7;color:#334155}.severity-high{background:#ef44441f;color:var(--bad-text)}.severity-medium{background:#fbbf242e;color:#8a5a0b}.severity-low{background:#3b82f61f;color:#1d4ed8}.muted-label{background:#f1f5f9;color:#475569}.rule-subtitle,.citation-line{color:var(--text-muted)}.rule-summary{margin:.9rem 0 1rem;color:#223648}.rule-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:.8rem}.rule-detail-card p{margin:0}.rule-detail-card h5{margin:0 0 .45rem;font-size:.95rem}.check-list{display:flex;flex-direction:column;gap:.75rem}.check-item{border-top:1px solid var(--border);padding-top:.75rem}.check-item:first-child{border-top:0;padding-top:0}.check-item-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}pre{background:#0b1220;color:#d1d9e6;border-radius:10px;padding:.85rem;overflow-x:auto;max-height:340px}@media (max-width: 960px){.analysis-split,.admin-grid{grid-template-columns:1fr}}@media (max-width: 700px){.container{padding-top:1.4rem}.card{padding:1rem}.count-strip{grid-template-columns:1fr}.check-item-header{align-items:flex-start;flex-direction:column}.result-status-banner,.contact-row{flex-direction:column}.contact-row button{width:100%}.admin-job-card-header,.admin-section-header{flex-direction:column;align-items:flex-start}}
