@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;--dp-brand: #3b82f6;--dp-brand-hover: #2563eb;--dp-brand-deep: #1d4ed8;--dp-brand-glow: rgba(59, 130, 246, .28);--dp-brand-soft: rgba(59, 130, 246, .1);--dp-brand-border: rgba(59, 130, 246, .22);--dp-accent: #f59e0b;--dp-accent-hover: #d97706;--dp-accent-soft: rgba(245, 158, 11, .12);--dp-accent-border: rgba(245, 158, 11, .25);--dp-bg: #040c18;--dp-surface: #071525;--dp-surface-2: #0b1d35;--dp-elevated: #0f2545;--dp-overlay: rgba(4, 12, 24, .85);--dp-border: rgba(59, 130, 246, .11);--dp-border-2: rgba(148, 163, 184, .1);--dp-border-hover: rgba(59, 130, 246, .3);--dp-text: #e2e8f0;--dp-text-2: #94a3b8;--dp-text-muted: #4d6080;--dp-text-inverse: #040c18;--dp-success: #22c55e;--dp-success-soft: rgba(34, 197, 94, .12);--dp-success-border: rgba(34, 197, 94, .25);--dp-warning: #f59e0b;--dp-warning-soft: rgba(245, 158, 11, .12);--dp-error: #ef4444;--dp-error-soft: rgba(239, 68, 68, .12);--dp-error-border: rgba(239, 68, 68, .25);--dp-info: #38bdf8;--dp-info-soft: rgba(56, 189, 248, .1);--font-display: "Space Grotesk", ui-sans-serif, sans-serif;--font-body: "Plus Jakarta Sans", ui-sans-serif, sans-serif;--text-xs: .72rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .45);--shadow: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6);--shadow-brand: 0 4px 20px rgba(59, 130, 246, .22);--shadow-glow: 0 0 32px rgba(59, 130, 246, .15);--sidebar-w: 220px;--header-h: 60px;--t-fast: .12s ease;--t-base: .18s ease;--color-brand: var(--dp-brand);--color-bg: var(--dp-bg);--color-surface: var(--dp-surface);--color-text: var(--dp-text);--color-muted: var(--dp-text-2);--color-line: var(--dp-border);--shadow: var(--shadow);--radius: var(--radius)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--dp-bg);color:var(--dp-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#app{display:grid;grid-template-rows:var(--header-h) 1fr;height:100vh;overflow:hidden}.app-header{align-items:center;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);background:#040c18cc;border-bottom:1px solid var(--dp-border);display:flex;gap:var(--sp-4);justify-content:space-between;padding:0 var(--sp-6);position:sticky;top:0;z-index:100}.header-brand{align-items:center;display:flex;gap:var(--sp-3);text-decoration:none}.brand-icon{align-items:center;background:linear-gradient(135deg,var(--dp-brand) 0%,var(--dp-brand-deep) 100%);border-radius:var(--radius-sm);box-shadow:var(--shadow-brand);display:flex;height:32px;justify-content:center;width:32px}.brand-icon svg{color:#fff}.brand-name{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.015em}.brand-badge{background:var(--dp-accent-soft);border:1px solid var(--dp-accent-border);border-radius:var(--radius-full);color:var(--dp-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.header-actions{align-items:center;display:flex;gap:var(--sp-3)}.btn-ghost{background:transparent;border:1px solid var(--dp-border);border-radius:var(--radius-sm);color:var(--dp-text-2);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;padding:6px 14px;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.btn-ghost:hover{background:var(--dp-brand-soft);border-color:var(--dp-brand-border);color:var(--dp-brand)}.btn-primary{background:linear-gradient(135deg,var(--dp-brand) 0%,var(--dp-brand-deep) 100%);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-brand);color:#fff;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:700;padding:7px 18px;transition:opacity var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.btn-primary:hover{box-shadow:0 6px 28px #3b82f666;opacity:.92;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-accent{background:linear-gradient(135deg,var(--dp-accent) 0%,var(--dp-accent-hover) 100%);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:700;padding:7px 18px;transition:opacity var(--t-fast),transform var(--t-fast)}.btn-accent:hover{opacity:.88;transform:translateY(-1px)}.btn-danger{background:var(--dp-error-soft);border:1px solid var(--dp-error-border);border-radius:var(--radius-sm);color:var(--dp-error);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;padding:5px 12px;transition:opacity var(--t-fast)}.btn-danger:hover{opacity:.8}.btn-sm{font-size:var(--text-xs)!important;padding:4px 10px!important}.btn-icon{align-items:center;background:var(--dp-surface-2);border:1px solid var(--dp-border);border-radius:var(--radius-sm);color:var(--dp-text-2);cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px;transition:all var(--t-fast)}.btn-icon:hover{background:var(--dp-brand-soft);border-color:var(--dp-brand-border);color:var(--dp-brand)}.app-body{display:grid;grid-template-columns:var(--sidebar-w) 1fr;overflow:hidden}.app-sidebar{background:var(--dp-surface);border-right:1px solid var(--dp-border);display:flex;flex-direction:column;gap:var(--sp-2);overflow-y:auto;padding:var(--sp-5) 0}.sidebar-section{padding:0 var(--sp-3)}.sidebar-label{color:var(--dp-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;padding:var(--sp-3) var(--sp-3) var(--sp-2);text-transform:uppercase}.nav-item{align-items:center;border-radius:var(--radius);color:var(--dp-text-2);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);text-decoration:none;transition:background var(--t-fast),color var(--t-fast);-webkit-user-select:none;user-select:none}.nav-item svg{flex-shrink:0;opacity:.7}.nav-item:hover{background:var(--dp-elevated);color:var(--dp-text)}.nav-item:hover svg{opacity:1}.nav-item.active{background:var(--dp-brand-soft);border:1px solid var(--dp-brand-border);color:var(--dp-brand);font-weight:700}.nav-item.active svg{opacity:1}.sidebar-divider{border:none;border-top:1px solid var(--dp-border);margin:var(--sp-2) var(--sp-4)}.sidebar-score-pill{align-items:center;background:var(--dp-elevated);border:1px solid var(--dp-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--sp-1);margin:0 var(--sp-3);padding:var(--sp-3);text-align:center}.score-pill-value{color:var(--dp-brand);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.score-pill-label{color:var(--dp-text-muted);font-size:var(--text-xs)}.app-workspace{background:var(--dp-bg);overflow-y:auto;padding:var(--sp-8)}.view-header{margin-bottom:var(--sp-6)}.view-eyebrow{color:var(--dp-brand);font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;margin-bottom:var(--sp-2);text-transform:uppercase}.view-title{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--sp-2)}.view-subtitle{color:var(--dp-text-2);font-size:var(--text-base);line-height:1.6;margin:0;max-width:640px}.card{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius-lg);padding:var(--sp-6);transition:border-color var(--t-base),box-shadow var(--t-base)}.card:hover{border-color:var(--dp-border-hover);box-shadow:var(--shadow-brand)}.card-sm{padding:var(--sp-4)}.card-header{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-4)}.card-icon{align-items:center;background:var(--dp-brand-soft);border:1px solid var(--dp-brand-border);border-radius:var(--radius);color:var(--dp-brand);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.card-icon.accent{background:var(--dp-accent-soft);border-color:var(--dp-accent-border);color:var(--dp-accent)}.card-icon.success{background:var(--dp-success-soft);border-color:var(--dp-success-border);color:var(--dp-success)}.card-icon.error{background:var(--dp-error-soft);border-color:var(--dp-error-border);color:var(--dp-error)}.card-label{color:var(--dp-text-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.card-value{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:var(--sp-1) 0 var(--sp-2)}.card-value.brand{color:var(--dp-brand)}.card-value.accent{color:var(--dp-accent)}.card-desc{color:var(--dp-text-2);font-size:var(--text-sm);line-height:1.5}.grid-2{display:grid;gap:var(--sp-4);grid-template-columns:repeat(2,1fr)}.grid-3{display:grid;gap:var(--sp-4);grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;gap:var(--sp-3);grid-template-columns:repeat(4,1fr)}.grid-auto{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.score-ring-wrap{align-items:center;display:flex;gap:var(--sp-5)}.score-ring{flex-shrink:0;position:relative}.score-ring-num{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;left:50%;line-height:1;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.score-ring-sub{color:var(--dp-text-muted);display:block;font-size:var(--text-xs)}.progress-bar{background:var(--dp-elevated);border-radius:var(--radius-full);height:6px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--dp-brand) 0%,var(--dp-info) 100%);border-radius:var(--radius-full);height:100%;transition:width .4s ease}.progress-fill.accent{background:linear-gradient(90deg,var(--dp-accent) 0%,var(--dp-warning) 100%)}.progress-fill.success{background:linear-gradient(90deg,var(--dp-success) 0%,#16a34a 100%)}.progress-fill.error{background:linear-gradient(90deg,var(--dp-error) 0%,#b91c1c 100%)}.badge{border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;padding:3px 10px}.badge-blue{background:var(--dp-brand-soft);border:1px solid var(--dp-brand-border);color:var(--dp-brand)}.badge-amber{background:var(--dp-accent-soft);border:1px solid var(--dp-accent-border);color:var(--dp-accent)}.badge-green{background:var(--dp-success-soft);border:1px solid var(--dp-success-border);color:var(--dp-success)}.badge-red{background:var(--dp-error-soft);border:1px solid var(--dp-error-border);color:var(--dp-error)}.badge-gray{background:#64748b1f;border:1px solid rgba(100,116,139,.25);color:var(--dp-text-2)}.data-table{border-collapse:collapse;width:100%}.data-table th{border-bottom:1px solid var(--dp-border);color:var(--dp-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:var(--sp-3) var(--sp-4);text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid var(--dp-border);color:var(--dp-text);font-size:var(--text-sm);padding:var(--sp-3) var(--sp-4);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--t-fast)}.data-table tbody tr:hover{background:var(--dp-surface)}.form-group{display:grid;gap:var(--sp-5)}.form-row{display:grid;gap:var(--sp-4);grid-template-columns:1fr 1fr}.field{display:grid;gap:var(--sp-2)}.field-label{color:var(--dp-text-2);font-size:var(--text-sm);font-weight:600}.field-label .required{color:var(--dp-error);margin-left:3px}input[type=text],input[type=email],input[type=number],input[type=search],select,textarea{background:var(--dp-surface-2);border:1px solid var(--dp-border);border-radius:var(--radius-sm);color:var(--dp-text);font:inherit;font-size:var(--text-sm);padding:9px 12px;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,select:focus,textarea:focus{border-color:var(--dp-brand);box-shadow:0 0 0 3px var(--dp-brand-soft);outline:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}textarea{min-height:80px;resize:vertical}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.checkbox-pill{align-items:center;background:var(--dp-elevated);border:1px solid var(--dp-border);border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:var(--text-xs);font-weight:600;gap:6px;padding:4px 12px;transition:all var(--t-fast);-webkit-user-select:none;user-select:none}.checkbox-pill input{display:none}.checkbox-pill:has(input:checked){background:var(--dp-brand-soft);border-color:var(--dp-brand-border);color:var(--dp-brand)}.form-status{color:var(--dp-text-2);font-size:var(--text-sm);min-height:1.4em}.form-status.success{color:var(--dp-success)}.form-status.error{color:var(--dp-error)}.checklist{display:grid;gap:var(--sp-2)}.check-item{align-items:flex-start;background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius);cursor:pointer;display:grid;gap:var(--sp-3);grid-template-columns:auto 1fr auto;padding:var(--sp-4);transition:border-color var(--t-fast),background var(--t-fast)}.check-item:hover{border-color:var(--dp-brand-border)}.check-item.done{background:var(--dp-success-soft);border-color:var(--dp-success-border)}.check-mark{align-items:center;background:var(--dp-elevated);border-radius:var(--radius-sm);color:var(--dp-text-muted);display:flex;flex-shrink:0;height:22px;justify-content:center;margin-top:2px;transition:all var(--t-fast);width:22px}.check-item.done .check-mark{background:var(--dp-success);color:#fff}.check-text strong{color:var(--dp-text);display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:3px}.check-text p{color:var(--dp-text-2);font-size:var(--text-xs);line-height:1.5;margin:0}.article-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.article-card{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius);padding:var(--sp-4);transition:border-color var(--t-fast)}.article-card:hover{border-color:var(--dp-border-hover)}.article-num{color:var(--dp-brand);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--sp-1)}.article-title{color:var(--dp-text);font-size:var(--text-sm);font-weight:600;margin:0 0 var(--sp-2)}.article-coverage-pct{color:var(--dp-text-2);font-size:var(--text-xs);margin-bottom:var(--sp-2)}.modal-overlay{align-items:flex-start;background:#040c18bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);bottom:0;display:none;justify-content:center;left:0;overflow-y:auto;padding:var(--sp-12) var(--sp-4);position:fixed;right:0;top:0;z-index:200}.modal-overlay.open{display:flex}.modal{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:580px;padding:var(--sp-8);width:100%}.modal-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--sp-6)}.modal-title{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.015em;margin:0}.modal-close{background:var(--dp-elevated);border:none;border-radius:var(--radius-sm);color:var(--dp-text-2);cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.modal-close:hover{color:var(--dp-text)}.modal-footer{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--dp-border)}.clause-card{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius-lg);padding:var(--sp-5)}.clause-card+.clause-card{margin-top:var(--sp-4)}.clause-header{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3)}.clause-title{color:var(--dp-text);font-size:var(--text-base);font-weight:700;margin:0}.clause-text{background:var(--dp-bg);border:1px solid var(--dp-border);border-radius:var(--radius);color:var(--dp-text-2);font-size:var(--text-sm);line-height:1.7;padding:var(--sp-4)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-12) var(--sp-6);text-align:center}.empty-icon{background:var(--dp-surface-2);border:1px solid var(--dp-border);border-radius:var(--radius-full);color:var(--dp-text-muted);height:56px;line-height:56px;width:56px;font-size:24px}.empty-title{color:var(--dp-text);font-size:var(--text-lg);font-weight:700;margin:0}.empty-desc{color:var(--dp-text-2);font-size:var(--text-sm);line-height:1.6;margin:0;max-width:360px}.section-header{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-4)}.section-title{color:var(--dp-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.015em;margin:0}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;position:fixed;right:24px;z-index:999}.toast{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--dp-text);display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);pointer-events:all}.toast.success{border-color:var(--dp-success-border)}.toast.error{border-color:var(--dp-error-border)}.dossier-preview{background:var(--dp-bg);border:1px solid var(--dp-border);border-radius:var(--radius);color:var(--dp-text-2);font-family:Courier New,monospace;font-size:var(--text-xs);line-height:1.7;max-height:360px;overflow-y:auto;padding:var(--sp-5);white-space:pre-wrap}.ad-slot{border:1px dashed var(--dp-border);border-radius:var(--radius);min-height:90px;padding:var(--sp-4)}.skip-link{background:var(--dp-brand);border-radius:var(--radius-sm);color:#fff;font-weight:800;left:12px;padding:10px 16px;position:absolute;text-decoration:none;top:-56px;z-index:999}.skip-link:focus-visible{top:12px}:focus-visible{outline:2px solid var(--dp-brand);outline-offset:2px}.legal-page{max-width:760px}.legal-page h1,.legal-page h2,.legal-page h3{font-family:var(--font-display);letter-spacing:-.015em}.legal-page h1{color:var(--dp-text);font-size:var(--text-2xl);margin-bottom:var(--sp-6)}.legal-page h2{color:var(--dp-text);font-size:var(--text-xl);margin-top:var(--sp-8)}.legal-page h3{color:var(--dp-text-2);font-size:var(--text-lg);margin-top:var(--sp-6)}.legal-page p,.legal-page li{color:var(--dp-text-2);font-size:var(--text-sm);line-height:1.8}.legal-page a{color:var(--dp-brand)}@media (max-width: 768px){.app-body{grid-template-columns:1fr}.app-sidebar{display:none}.app-workspace{padding:var(--sp-5)}.grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}}
