:root{color-scheme:light;font-synthesis:none;--blue-950: #072c4d;--blue-800: #064d83;--blue-600: #0878c9;--blue-500: #1495df;--blue-100: #e6f4fc;--blue-50: #f4faff;--slate-600: #587083;--slate-400: #91a5b5;--line: #dbe8f0}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#app{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;overflow-x:hidden;background:#fff;color:var(--blue-950);font-family:Inter,Avenir,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#app{display:flex;min-height:100vh;flex-direction:column;background:radial-gradient(circle at 82% 35%,rgba(61,176,236,.09),transparent 28rem),linear-gradient(180deg,#fff 0% 72%,#f8fcff)}.site-header{display:flex;width:min(100% - 80px,1280px);margin:0 auto;padding:28px 0;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(219,232,240,.72)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--blue-800);font-size:1.42rem;font-weight:750;letter-spacing:-.045em;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:102px;height:102px;border-radius:12px;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.header-status{display:flex;align-items:center;gap:8px;color:var(--slate-600);font-size:.77rem;font-weight:600;letter-spacing:.01em}.status-dot{width:7px;height:7px;border-radius:50%;background:#34b98a;box-shadow:0 0 0 4px #34b98a1f}.hero{display:grid;width:min(100% - 80px,1280px);flex:1;margin:0 auto;padding:clamp(68px,8vw,118px) 0 clamp(80px,8vw,112px);grid-template-columns:minmax(0,.92fr) minmax(440px,.88fr);align-items:center;gap:clamp(60px,8vw,120px)}.hero-copy{position:relative;z-index:2;max-width:650px}.eyebrow{display:inline-flex;margin-bottom:24px;padding:7px 12px 7px 8px;align-items:center;gap:8px;border:1px solid #d8edf8;border-radius:999px;background:#f4faffd9;color:var(--blue-600);font-size:.71rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.eyebrow-icon{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:var(--blue-100);font-size:.75rem}h1{max-width:660px;margin:0;color:var(--blue-950);font-size:clamp(3.7rem,6.1vw,6.15rem);font-weight:740;letter-spacing:-.072em;line-height:.92}h1 span{color:var(--blue-600)}.hero-description{max-width:570px;margin:28px 0 0;color:var(--slate-600);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.72}.hero-actions{display:flex;margin-top:36px;align-items:center;gap:26px}.document-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.upload-status{min-height:18px;margin:12px 0 0;color:var(--slate-400);font-size:.75rem;font-weight:600}.upload-status.has-file{color:#278565}.primary-action{display:inline-flex;min-height:52px;padding:0 21px 0 24px;align-items:center;justify-content:center;gap:18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--blue-600),#0864aa);box-shadow:0 12px 28px #0878c938;color:#fff;cursor:pointer;font-weight:700;transition:transform .18s ease,box-shadow .18s ease}.primary-action:hover{box-shadow:0 15px 32px #0878c94d;transform:translateY(-2px)}.primary-action:active{transform:translateY(0)}.primary-action svg,.insight-card button svg{width:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.text-action{padding:8px 0 5px;border-bottom:1px solid #9fc9e4;color:var(--blue-800);font-size:.91rem;font-weight:650;text-decoration:none;transition:border-color .18s ease,color .18s ease}.text-action:hover{border-color:var(--blue-600);color:var(--blue-600)}.trust-row{display:flex;margin-top:42px;align-items:center;gap:28px;color:#6f8494;font-size:.76rem;font-weight:600}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row svg{width:17px;height:17px;padding:2px;border-radius:50%;background:var(--blue-100);fill:none;stroke:var(--blue-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.product-visual{position:relative;min-height:480px;isolation:isolate}.product-visual:before{position:absolute;z-index:-1;inset:7% -7% 2% 5%;border-radius:45% 55% 50% 43%;background:linear-gradient(145deg,#f1faff 5%,#e2f4fd);content:"";transform:rotate(-3deg)}.product-visual:after{position:absolute;z-index:-2;inset:-7% -17% -12% 22%;opacity:.5;background-image:radial-gradient(#8ac9ec 1px,transparent 1px);background-size:18px 18px;content:"";-webkit-mask-image:linear-gradient(130deg,transparent 10%,#000 55%,transparent 90%);mask-image:linear-gradient(130deg,transparent 10%,#000 55%,transparent 90%)}.orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px)}.orb-one{top:3%;right:8%;width:68px;height:68px;border:1px solid rgba(20,149,223,.18);background:#ffffff80}.orb-two{bottom:7%;left:1%;width:26px;height:26px;background:#1495df2e}.visual-card{position:absolute;top:52%;left:50%;width:min(100%,510px);min-height:356px;overflow:hidden;border:1px solid rgba(199,220,233,.85);border-radius:18px;background:#fffffff0;box-shadow:0 28px 70px #0f436526,0 4px 14px #0f436512;transform:translate(-50%,-50%) rotate(1.3deg);transition:transform .32s ease,box-shadow .32s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.visual-card.is-active{box-shadow:0 36px 86px #0878c940,0 4px 14px #0f436517;transform:translate(-50%,-52%) rotate(0) scale(1.015)}.card-topbar{display:flex;min-height:76px;padding:15px 18px;align-items:center;justify-content:space-between;border-bottom:1px solid #e8f0f5;background:#fafdffd6}.file-identity{display:flex;align-items:center;gap:11px}.file-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:var(--blue-100)}.file-icon svg{width:21px;fill:none;stroke:var(--blue-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.file-identity>span:last-child,.floating-badge>span:last-child{display:flex;flex-direction:column}.file-identity strong{color:var(--blue-950);font-size:.77rem;font-weight:700}.file-identity small{margin-top:3px;color:var(--slate-400);font-size:.63rem}.complete-pill{display:inline-flex;padding:7px 9px;align-items:center;gap:6px;border-radius:999px;background:#edf9f5;color:#278565;font-size:.58rem;font-weight:700}.complete-pill i{width:6px;height:6px;border-radius:50%;background:#34b98a}.document-preview{display:grid;padding:35px 30px 28px;grid-template-columns:1.15fr .85fr;align-items:center;gap:27px}.document-lines{display:flex;height:216px;padding:19px 20px;flex-direction:column;gap:10px;border:1px solid #e6eef3;border-radius:8px;background:#fff;box-shadow:0 9px 24px #26506c12}.line{display:block;width:100%;height:5px;border-radius:4px;background:#dfe8ee}.line.heading{width:44%;height:8px;margin-bottom:9px;background:#688194}.line.medium{width:72%}.line.short{width:48%}.line.highlight{width:92%;height:19px;margin:1px 0;border-radius:3px;background:#dff1fc;box-shadow:inset 3px 0 0 var(--blue-500)}.insight-card{padding:16px;border:1px solid #dcecf5;border-radius:12px;background:linear-gradient(145deg,#fff,#f6fbfe);box-shadow:0 8px 22px #165c8812}.insight-heading{display:flex;align-items:center;gap:10px}.insight-heading>span:last-child{display:flex;flex-direction:column}.sparkle{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--blue-100);color:var(--blue-600);font-size:.75rem}.insight-heading small,.floating-badge small{color:var(--slate-400);font-size:.58rem;font-weight:600;letter-spacing:.025em}.insight-heading strong{margin-top:2px;color:var(--blue-950);font-size:.7rem}.insight-card p{margin:14px 0;color:var(--slate-600);font-size:.64rem;line-height:1.55}.insight-card button{display:inline-flex;padding:0;align-items:center;gap:6px;border:0;background:none;color:var(--blue-600);cursor:pointer;font-size:.62rem;font-weight:700}.insight-card button svg{width:14px}.floating-badge{position:absolute;z-index:3;display:flex;min-width:142px;padding:11px 14px;align-items:center;gap:10px;border:1px solid rgba(211,227,237,.9);border-radius:12px;background:#fffffff2;box-shadow:0 13px 30px #14446221;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float 5s ease-in-out infinite}.floating-badge strong{margin-top:2px;color:var(--blue-950);font-size:.69rem}.badge-icon{display:grid;width:33px;height:33px;place-items:center;border-radius:9px}.badge-icon svg{width:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.badge-icon.amber{background:#fff4de;color:#c98620}.badge-icon.blue{background:var(--blue-100);color:var(--blue-600)}.risk-badge{top:2%;left:-3%}.time-badge{right:-3%;bottom:0;animation-delay:-2.2s}.capability-strip{display:flex;width:min(100% - 80px,1280px);min-height:69px;margin:0 auto;align-items:center;justify-content:center;gap:clamp(18px,3vw,43px);border-top:1px solid var(--line);color:#668092;font-size:.7rem;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.capability-strip i{width:3px;height:3px;border-radius:50%;background:#9dc6df}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(max-width:1040px){.hero{grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);gap:44px}h1{font-size:clamp(3.5rem,7vw,5rem)}.product-visual{min-height:430px}.floating-badge{transform:scale(.9)}}@media(max-width:820px){.site-header,.hero,.capability-strip{width:min(100% - 44px,680px)}.hero{padding-top:64px;grid-template-columns:1fr;gap:65px}.hero-copy{max-width:640px;text-align:center}.eyebrow,.hero-description{margin-inline:auto}.hero-actions,.trust-row{justify-content:center}.product-visual{width:min(100%,580px);min-height:500px;margin-inline:auto}.capability-strip{flex-wrap:wrap;padding:22px 0;gap:12px 20px}}@media(max-width:560px){.site-header,.hero,.capability-strip{width:min(100% - 32px,500px)}.site-header{padding:20px 0}.header-status{font-size:0}.hero{padding-top:50px}h1{font-size:clamp(3.15rem,17vw,4.4rem)}.hero-description{font-size:.98rem;line-height:1.65}.hero-actions{flex-direction:column;gap:16px}.primary-action{width:100%}.trust-row{margin-top:32px;flex-direction:column;gap:12px}.product-visual{min-height:390px}.visual-card{min-height:290px}.card-topbar{padding:12px}.complete-pill{display:none}.document-preview{padding:24px 20px;grid-template-columns:1fr}.document-lines{height:185px}.insight-card{position:absolute;right:10px;bottom:12px;width:165px}.risk-badge{top:-3%;left:-2%}.time-badge{right:-3%;bottom:-4%}.floating-badge{min-width:132px;padding:9px 11px;transform:scale(.87)}.capability-strip i:nth-of-type(2),.capability-strip i:nth-of-type(3),.capability-strip span:nth-of-type(3),.capability-strip span:nth-of-type(4){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.analysis-header{display:flex;width:min(100% - 80px,1280px);margin:0 auto;padding:28px 0;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(219,232,240,.72)}.back-button{padding:9px 0;border:0;background:transparent;color:var(--blue-800);cursor:pointer;font-size:.8rem;font-weight:700}.back-button:hover{color:var(--blue-600)}.analysis-page{width:min(100% - 80px,1280px);margin:0 auto;padding:52px 0 70px}.analysis-heading{display:flex;margin-bottom:28px;align-items:flex-end;justify-content:space-between;gap:20px}.analysis-kicker{margin:0 0 10px;color:var(--blue-600);font-size:.68rem;font-weight:750;letter-spacing:.13em}.analysis-heading h1{max-width:min(70vw,800px);font-size:clamp(2.3rem,4vw,4rem);line-height:1;overflow-wrap:anywhere}.analysis-heading h1 span{color:var(--blue-600)}.analysis-secure{display:inline-flex;padding:9px 12px;align-items:center;gap:7px;border:1px solid #d8eee6;border-radius:999px;background:#f3fbf8;color:#278565;font-size:.7rem;font-weight:700;white-space:nowrap}.analysis-secure i{width:6px;height:6px;border-radius:50%;background:#34b98a}.analysis-grid{display:grid;min-height:580px;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:22px}.document-panel,.analysis-panel{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px #0f436514}.panel-header{display:flex;min-height:64px;padding:0 22px;align-items:center;justify-content:space-between;border-bottom:1px solid #e8f0f5}.panel-label{display:flex;align-items:center;gap:9px;color:var(--blue-950);font-size:.78rem;font-weight:750}.panel-file-icon{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;background:var(--blue-100);color:var(--blue-600);font-size:.95rem}.file-type{padding:5px 8px;border-radius:5px;background:#f1f6f9;color:var(--slate-600);font-size:.58rem;font-weight:800;letter-spacing:.06em}.document-stage{height:calc(100% - 64px);min-height:510px;background:#edf3f6}.pdf-stage iframe{display:block;width:100%;height:100%;min-height:510px;border:0;background:#fff}.text-stage{overflow:auto;padding:44px clamp(28px,5vw,64px);background:#f4f7f9}.text-stage pre{max-width:640px;min-height:100%;margin:0 auto;padding:48px 44px;overflow:visible;background:#fff;box-shadow:0 8px 22px #26506c17;color:#324f62;font-family:Georgia,Times New Roman,serif;font-size:.83rem;line-height:1.8;white-space:pre-wrap}.analysis-panel{display:flex;min-height:580px;max-height:calc(100vh - 220px);padding:26px 28px;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto;background:linear-gradient(145deg,#fff 10%,#f5fbfe);text-align:left}.analysis-loading{display:flex;align-items:center;flex-direction:column}.spinner{display:grid;width:76px;height:76px;margin-bottom:31px;padding:7px;place-items:center;border:1px solid #cae8f7;border-radius:50%;background:#f2faff}.spinner:before,.spinner span{grid-area:1 / 1;width:100%;height:100%;border-radius:50%}.spinner:before{border:3px solid #d6eefb;content:""}.spinner span{border:3px solid transparent;border-top-color:var(--blue-600);border-right-color:var(--blue-500);animation:spin 1.05s linear infinite}.analysis-panel .analysis-kicker{margin-bottom:9px}.analysis-panel h2{margin:0;color:var(--blue-950);font-size:clamp(1.8rem,3vw,2.45rem);font-weight:720;letter-spacing:-.055em}.loading-dots{color:var(--blue-600)}.loading-dots i{display:inline-block;font-style:normal;animation:dot-blink 1.4s infinite}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}.analysis-message{max-width:300px;margin:16px 0 0;color:var(--slate-600);font-size:.85rem;line-height:1.65}.analysis-result{width:100%;max-width:440px;text-align:left}.analysis-result h2{margin:0 0 14px;font-size:1.65rem}.summary-text{max-height:350px;margin:0;overflow:auto;color:var(--slate-600);font-size:.82rem;line-height:1.72;white-space:pre-wrap}.analysis-panel.has-error .spinner span{border-top-color:#c98620;border-right-color:#e2b052}.analysis-progress{width:min(100%,260px);height:4px;margin-top:43px;overflow:hidden;border-radius:999px;background:#deeff8}.analysis-progress span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-500),var(--blue-600));animation:progress 2.4s ease-in-out infinite}.analysis-note{margin:18px 0 0;color:var(--slate-400);font-size:.67rem;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dot-blink{0%,20%{opacity:.2}45%,to{opacity:1}}@keyframes progress{0%{transform:translate(-120%)}55%,to{transform:translate(340%)}}@media(max-width:820px){.analysis-header,.analysis-page{width:min(100% - 44px,680px)}.analysis-heading{align-items:flex-start;flex-direction:column}.analysis-heading h1{max-width:100%}.analysis-grid{grid-template-columns:1fr}.analysis-panel{min-height:410px}}@media(max-width:560px){.analysis-header,.analysis-page{width:min(100% - 32px,500px)}.analysis-header{padding:20px 0}.analysis-page{padding-top:38px}.analysis-heading h1{font-size:2.5rem}.document-stage,.pdf-stage iframe{min-height:430px}.text-stage{padding:25px 16px}.text-stage pre{padding:30px 25px;font-size:.76rem}.analysis-panel{min-height:380px;padding:28px 20px}}.doc-type-badge{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 14px;border-radius:999px;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);font-size:.85rem;color:#1e293b;line-height:1.2}.doc-type-badge strong{font-weight:700;letter-spacing:.06em}.doc-type-badge span{color:#475569}.doc-type-badge.type-msa{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.doc-type-badge.type-nda{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.doc-type-badge.type-sow{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.doc-type-badge.type-po{background:#fffbeb;border-color:#fde68a;color:#92400e}.doc-type-badge.type-unknown{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.doc-type-badge.type-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.doc-type-badge.type-loading{color:#475569}.doc-type-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(71,85,105,.25);border-top-color:#475569;animation:doc-type-spin .9s linear infinite}@keyframes doc-type-spin{to{transform:rotate(360deg)}}.step-list{list-style:none;padding:0;margin:18px 0 20px;display:flex;flex-direction:column;gap:10px}.step-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:12px;background:#0f172a08;border:1px solid rgba(15,23,42,.06)}.step-item.step-running{background:#f0f9ff;border-color:#bae6fd}.step-item.step-done{background:#f0fdf4;border-color:#bbf7d0}.step-item.step-error{background:#fef2f2;border-color:#fecaca}.step-label{font-weight:600;color:#1e293b;font-size:.9rem}.step-value{text-align:right;font-size:.88rem;color:#334155}.step-status{color:#64748b;font-style:italic}.step-result{color:#166534;font-weight:600}.step-error{color:#b91c1c}.analysis-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}.mode-toggle{display:inline-flex;padding:4px;border-radius:999px;background:#0f172a0d;border:1px solid rgba(15,23,42,.08)}.mode-option{appearance:none;border:0;background:transparent;padding:6px 16px;border-radius:999px;font-size:.85rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.mode-option:hover{color:#1e293b}.mode-option.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.run-analysis-button{appearance:none;border:0;background:#0f172a;color:#fff;padding:9px 18px;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.run-analysis-button:hover:not(:disabled){background:#1e293b}.run-analysis-button:active:not(:disabled){transform:translateY(1px)}.run-analysis-button:disabled{background:#94a3b8;cursor:not-allowed}.analysis-output{margin-top:16px;padding:14px 16px;border-radius:12px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);font-size:.9rem;color:#1e293b;line-height:1.5;white-space:pre-wrap}.analysis-output-running{background:#f0f9ff;border-color:#bae6fd}.analysis-output-done{background:#f8fafc;border-color:#e2e8f0}.analysis-output-error{background:#fef2f2;border-color:#fecaca}.analysis-result-text{margin:0;color:#0f172a}.analysis-hint{margin:10px 0 0;font-size:.82rem;color:#64748b;font-style:italic}.site-nav{display:flex;align-items:center;gap:6px;margin:0 auto 0 32px}.nav-link{appearance:none;background:transparent;border:0;padding:8px 14px;border-radius:999px;font-size:.88rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit;text-decoration:none;display:inline-block}.nav-link:hover{background:#0f172a0d;color:#0f172a}.nav-link-active{background:#0f172a;color:#fff}.nav-link-active:hover{background:#1e293b;color:#fff}.framework-page{max-width:1080px;margin:0 auto;padding:34px 40px 80px}.framework-lede{margin:8px 0 0;color:#475569;font-size:.95rem;max-width:720px;line-height:1.55}.framework-toolbar{display:grid;grid-template-columns:auto auto 1fr;gap:22px 32px;align-items:end;padding:20px 22px;margin:24px 0 28px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.framework-field{display:flex;flex-direction:column;gap:8px}.framework-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}.framework-chip-row{display:inline-flex;gap:8px;flex-wrap:wrap}.framework-chip{appearance:none;background:#f8fafc;border:1px solid rgba(15,23,42,.08);padding:8px 14px;border-radius:12px;cursor:pointer;font-family:inherit;color:#475569;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:100px}.framework-chip strong{font-size:.88rem;color:#0f172a}.framework-chip span{font-size:.74rem;color:#64748b}.framework-chip:hover{background:#fff;border-color:#cbd5e1}.framework-chip.is-active{background:#0f172a;border-color:#0f172a;color:#fff;box-shadow:0 1px 2px #0f172a26}.framework-chip.is-active strong,.framework-chip.is-active span{color:#fff}.framework-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.framework-count{font-size:.85rem;color:#475569;font-weight:600}.framework-customized-badge{padding:3px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-size:.72rem;font-weight:700;letter-spacing:.04em}.framework-reset{appearance:none;background:transparent;border:1px solid rgba(15,23,42,.15);padding:6px 12px;border-radius:8px;font-size:.8rem;color:#475569;cursor:pointer;font-family:inherit}.framework-reset:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.framework-areas{display:flex;flex-direction:column;gap:16px}.framework-area{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:18px 22px 16px;box-shadow:0 1px 2px #0f172a0a}.framework-area-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.framework-area-index{font-size:.72rem;color:#64748b;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.framework-area-name{margin:0;font-size:1.05rem;color:#0f172a;font-weight:700}.framework-area-count{margin-left:auto;font-size:.78rem;color:#64748b;font-weight:500}.framework-question-list{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:6px}.framework-question{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:flex-start;padding:10px 10px 10px 6px;border-radius:10px;transition:background .15s ease}.framework-question:hover{background:#f8fafc}.framework-question-n{font-size:.72rem;font-weight:700;color:#94a3b8;padding-top:2px;letter-spacing:.04em}.framework-question-text{margin:0;font-size:.9rem;color:#1e293b;line-height:1.5;cursor:text}.framework-question-actions{display:inline-flex;gap:4px;opacity:0;transition:opacity .15s ease}.framework-question:hover .framework-question-actions{opacity:1}.framework-inline-edit{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.framework-inline-edit-block{display:flex;flex-direction:column;align-items:stretch;grid-column:2 / 4}.framework-inline-actions{display:flex;gap:6px;align-items:center;margin-top:6px}.framework-hint{font-size:.72rem;color:#94a3b8;margin-left:auto}.framework-name-input{font-size:1rem;font-weight:600;padding:4px 10px;border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;min-width:260px}.framework-question-textarea{font-family:inherit;font-size:.9rem;color:#1e293b;line-height:1.5;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical;width:100%}.framework-tiny-btn{appearance:none;background:#0f172a;border:0;color:#fff;padding:4px 10px;border-radius:6px;font-size:.76rem;font-weight:600;cursor:pointer;font-family:inherit}.framework-tiny-btn:hover{background:#1e293b}.framework-tiny-btn-ghost{background:transparent;color:#475569;border:1px solid rgba(15,23,42,.15)}.framework-tiny-btn-ghost:hover{background:#0f172a0a;color:#0f172a}.framework-tiny-btn-danger{background:transparent;color:#b91c1c;border:1px solid rgba(185,28,28,.25)}.framework-tiny-btn-danger:hover{background:#fef2f2}.framework-tiny-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.framework-add-question{appearance:none;background:transparent;border:1px dashed rgba(15,23,42,.2);color:#475569;padding:8px 14px;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.framework-add-question:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.compare-page{max-width:1280px;margin:0 auto;padding:34px 40px 80px}.compare-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.compare-drop{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;display:flex;flex-direction:column;overflow:hidden;min-height:380px}.compare-drop.has-file{border-color:#bbf7d0}.compare-drop-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.compare-drop-header .framework-label{margin-right:auto}.compare-drop-actions{display:inline-flex;gap:6px}.compare-drop-empty{appearance:none;border:2px dashed #cbd5e1;background:#f8fafc;color:#64748b;margin:18px;padding:40px 20px;border-radius:12px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.compare-drop-empty:hover{background:#fff;border-color:#94a3b8;color:#0f172a}.compare-drop-empty-hint{font-size:.76rem;color:#94a3b8}.compare-drop-preview{display:flex;flex-direction:column;flex:1;min-height:0}.compare-drop-filename{margin:0;padding:12px 18px;border-bottom:1px solid #f1f5f9;font-size:.88rem;font-weight:600;color:#0f172a;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.compare-drop-meta{font-size:.72rem;color:#64748b;font-weight:500;letter-spacing:.02em}.compare-drop-text{margin:0;padding:14px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.5;color:#334155;white-space:pre-wrap;overflow-y:auto;flex:1;max-height:420px;background:#fff}.compare-results{margin-top:28px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;padding:20px 24px 24px}.compare-results-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.compare-results-header h2{margin:0;font-size:1.05rem;color:#0f172a}.compare-hl{padding:2px 3px;margin:0 -1px;border:0;border-radius:2px;color:#1e293b;cursor:pointer;background-color:#fde047;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:filter .15s ease}.compare-hl:hover{filter:brightness(.94)}.compare-hl-modified{background-color:#fde047}.compare-hl-new{background-color:#86efac}.compare-hl-dropped{background-color:#fca5a5;text-decoration:line-through;text-decoration-color:#991b1bb3;text-decoration-thickness:1.5px}.compare-hl-sev-critical.compare-hl-modified{background-color:#fbbf24}.compare-hl-sev-critical.compare-hl-new{background-color:#4ade80}.compare-hl-sev-critical.compare-hl-dropped{background-color:#f87171}.compare-hl-sev-high.compare-hl-modified{background-color:#fcd34d}.compare-hl-sev-high.compare-hl-new{background-color:#6ee7b7}.compare-hl-sev-high.compare-hl-dropped{background-color:#fca5a5}@keyframes compareHlPulse{0%{box-shadow:0 0 #38bdf899}40%{box-shadow:0 0 0 8px #38bdf800}to{box-shadow:0 0 #38bdf800}}.compare-hl-pulse{animation:compareHlPulse 1.6s ease-out;outline:2px solid #0ea5e9;outline-offset:1px}.compare-hl-sample{padding:2px 8px!important;font-size:.72rem;font-weight:600;cursor:default;text-transform:uppercase;letter-spacing:.04em}.compare-findings{margin-top:10px;margin-bottom:20px}.compare-findings-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.compare-findings-header h3{margin:0;font-size:.98rem;color:#0f172a}.compare-findings-legend{display:inline-flex;gap:6px;align-items:center}.compare-findings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.compare-finding-card{appearance:none;width:100%;text-align:left;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,transform .05s ease;display:flex;flex-direction:column;gap:4px}.compare-finding-card:hover{background:#fff;border-color:#cbd5e1}.compare-finding-card:active{transform:translateY(1px)}.compare-finding-card.compare-finding-modified{background:#fefce8;border-color:#fde68a}.compare-finding-card.compare-finding-new{background:#f0fdf4;border-color:#bbf7d0}.compare-finding-card.compare-finding-dropped{background:#fef2f2;border-color:#fecaca}.sev-border-critical{border-left:3px solid #dc2626}.sev-border-high{border-left:3px solid #ea580c}.sev-border-medium{border-left:3px solid #d97706}.sev-border-low{border-left:3px solid #0284c7}.compare-finding-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.compare-finding-topic{font-weight:600;color:#0f172a;flex:1 1 200px}.compare-finding-jump-hint{margin-left:auto;font-size:.72rem;color:#64748b;letter-spacing:.02em;font-weight:500}.compare-finding-jump-hint.is-noloc{color:#94a3b8}.compare-finding-card p{margin:4px 0 0;font-size:.85rem;color:#1e293b;line-height:1.5}.bucket-chip{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.bucket-modified{background:#fef9c3;color:#854d0e;border-color:#fde68a}.bucket-new{background:#dcfce7;color:#166534;border-color:#bbf7d0}.bucket-dropped{background:#fee2e2;color:#991b1b;border-color:#fecaca}.compare-raw-toggle{margin-top:18px;border-top:1px solid #e2e8f0;padding-top:14px}.compare-raw-toggle summary{cursor:pointer;color:#475569;font-size:.82rem;font-weight:600;margin-bottom:8px}.compare-raw-toggle summary:hover{color:#0f172a}.compare-modal-headline{margin:0 0 4px;font-size:.86rem;color:#475569;font-weight:500}.compare-modal-cite{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:#64748b;font-weight:500;text-transform:none;letter-spacing:0}.compare-modal-quote{margin:0;padding:12px 14px;border-radius:8px;font-family:ui-serif,Georgia,Times New Roman,serif;font-size:.92rem;line-height:1.55;color:#1e293b;border-left:4px solid #cbd5e1;background:#f8fafc}.compare-modal-quote-original{background:#fef2f2;border-left-color:#f87171;text-decoration:line-through;text-decoration-color:#991b1b59;text-decoration-thickness:1px}.compare-modal-quote-extension{background:#f0fdf4;border-left-color:#4ade80}.compare-doc-strip{display:flex;gap:12px;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#f8fafc;margin:12px 0 16px;flex-wrap:wrap}.compare-doc-strip-item{display:inline-flex;align-items:center;gap:8px;flex:1 1 260px;min-width:0}.compare-doc-strip-label{font-size:.7rem;color:#64748b;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.compare-doc-strip-name{font-size:.85rem;color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.compare-diff-wrap{margin:18px 0 12px;border:1px solid rgba(15,23,42,.08);border-radius:12px;overflow:hidden;background:#fff}.compare-diff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#f8fafc}.compare-diff-header h3{margin:0;font-size:.95rem;color:#0f172a}.compare-diff-count{font-size:.78rem;color:#475569;font-weight:500}.diff-view{display:block;overflow-x:auto;max-height:620px;overflow-y:auto}.diff-header{display:grid;grid-template-columns:44px 1fr 44px 1fr;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:1}.diff-header-cell{padding:8px 14px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.diff-header-cell-left{grid-column:1 / span 2;border-right:1px solid #e2e8f0}.diff-header-cell-right{grid-column:3 / span 2}.diff-body{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.55;color:#1e293b}.diff-row{display:grid;grid-template-columns:44px 1fr 44px 1fr;border-top:1px solid #f1f5f9;transition:background .15s ease}.diff-row:first-child{border-top:0}.diff-gutter{padding:3px 8px;color:#94a3b8;text-align:right;-webkit-user-select:none;user-select:none;font-size:.72rem;background:#fafcff;border-right:1px solid #eef2f7}.diff-gutter-right{border-right:0}.diff-cell{padding:3px 12px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;border-right:1px solid #f1f5f9}.diff-cell-right{border-right:0}.diff-row-modified>.diff-cell-left{background:#fef2f2}.diff-row-modified>.diff-cell-right{background:#f0fdf4}.diff-row-removed>.diff-cell-left{background:#fef2f2}.diff-row-added>.diff-cell-right{background:#f0fdf4}.diff-row-modified>.diff-gutter-left{background:#fee2e2;color:#b91c1c}.diff-row-modified>.diff-gutter-right{background:#dcfce7;color:#166534}.diff-row-removed>.diff-gutter-left{background:#fee2e2;color:#b91c1c}.diff-row-added>.diff-gutter-right{background:#dcfce7;color:#166534}.diff-word-removed{background:#fecaca;color:#7f1d1d;border-radius:2px;padding:0 2px}.diff-word-added{background:#86efac;color:#14532d;border-radius:2px;padding:0 2px}.diff-row.is-clickable{cursor:pointer}.diff-row.is-clickable:hover>.diff-cell-left{background:#fecaca}.diff-row.is-clickable:hover>.diff-cell-right{background:#bbf7d0}.diff-row.is-clickable:hover>.diff-cell-left:only-of-type{background:#fecaca}.diff-row.is-clickable:hover>.diff-cell-right:only-of-type{background:#bbf7d0}.diff-row.has-finding>.diff-gutter-left,.diff-row.has-finding>.diff-gutter-right{font-weight:700}.diff-row.has-finding>.diff-gutter-left:after,.diff-row.has-finding>.diff-gutter-right:after{content:" ●";color:#0ea5e9}@keyframes diffRowPulse{0%{box-shadow:inset 0 0 0 3px #0ea5e999}to{box-shadow:inset 0 0 0 3px #0ea5e900}}.diff-row-pulse{animation:diffRowPulse 1.4s ease-out}.diff-empty{padding:30px 20px;color:#64748b;font-size:.9rem;text-align:center}.ask-ai-section{background:linear-gradient(140deg,#f0f9ff,#eef2ff);border-radius:10px;padding:14px 16px;border:1px solid #bae6fd;margin-top:16px}.ask-ai-section h4{margin:0 0 8px;color:#0369a1}.ask-ai-blurb{margin:0 0 10px;color:#334155;font-size:.86rem;line-height:1.5}.ask-ai-button{appearance:none;background:#0f172a;color:#fff;border:0;padding:10px 16px;border-radius:8px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,transform .05s ease}.ask-ai-button:before{content:"✦";color:#38bdf8;font-size:.9rem}.ask-ai-button:hover{background:#1e293b}.ask-ai-button:active{transform:translateY(1px)}.ask-ai-loading{display:inline-flex;align-items:center;gap:10px;color:#0369a1;font-size:.88rem;font-weight:500}.ask-ai-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(3,105,161,.25);border-top-color:#0369a1;animation:doc-type-spin .9s linear infinite}.ask-ai-result{margin-top:4px;padding:12px 14px;background:#fff;border-radius:8px;border:1px solid #e0f2fe}.analysis-progress-bar{height:6px;background:#0f172a14;border-radius:999px;overflow:hidden;margin-bottom:8px}.analysis-progress-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#6366f1);transition:width .25s ease}.analysis-progress-label{margin:0 0 14px;font-size:.85rem;color:#475569}.area-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.area-card{border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#fff;overflow:hidden}.area-card.area-pending{background:#f8fafc}.area-card.area-running{background:#f0f9ff;border-color:#bae6fd}.area-card.area-done{background:#f0fdf4;border-color:#bbf7d0}.area-card.area-error{background:#fef2f2;border-color:#fecaca}.area-header{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:0;text-align:left;cursor:pointer;font-family:inherit;color:#0f172a;flex-wrap:wrap;row-gap:8px}.area-header:disabled{cursor:default}.area-title{display:flex;align-items:baseline;gap:10px;flex:1 1 260px;min-width:0}.area-index{font-size:.72rem;color:#64748b;letter-spacing:.08em;font-weight:700;text-transform:uppercase;flex:0 0 auto}.area-name{font-size:.9rem;font-weight:600;color:#0f172a;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.area-status{font-size:.78rem;color:#475569;display:inline-flex;align-items:center;gap:6px}.area-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(14,165,233,.25);border-top-color:#0ea5e9;animation:doc-type-spin .9s linear infinite}.area-body{margin:0;padding:14px 18px 18px;border-top:1px solid rgba(15,23,42,.06);background:#fff;font-size:.86rem;line-height:1.55;color:#1e293b}.area-body h1,.area-body h2,.area-body h3{font-size:.95rem;margin:14px 0 6px;color:#0f172a}.area-body h4{font-size:.9rem;margin:12px 0 4px;color:#0f172a}.area-body p{margin:6px 0}.area-body ul,.area-body ol{padding-left:20px;margin:6px 0}.area-body blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid #94a3b8;background:#f1f5f9;color:#1e293b;border-radius:0 6px 6px 0}.area-body blockquote p{margin:4px 0}.area-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:#0f172a0f;padding:1px 5px;border-radius:4px}.area-body hr{border:0;border-top:1px solid #e2e8f0;margin:12px 0}.area-body strong{color:#0f172a}.area-body-error{padding:14px 18px 18px;color:#b91c1c}.sev-chip,.sev-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.2;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.sev-chip strong{font-weight:700;margin-right:2px}.sev-critical{background:#fee2e2;color:#991b1b;border-color:#fecaca}.sev-high{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.sev-medium{background:#fef3c7;color:#92400e;border-color:#fde68a}.sev-low{background:#e0f2fe;color:#075985;border-color:#bae6fd}.findings-summary{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:16px 18px;margin-bottom:18px;box-shadow:0 1px 2px #0f172a0a}.findings-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.findings-summary-header h3{margin:0;font-size:.95rem;color:#0f172a;display:flex;align-items:center;gap:10px}.findings-live{font-size:.7rem;color:#0369a1;font-weight:500;background:#e0f2fe;padding:2px 8px;border-radius:999px}.severity-tally{display:flex;gap:6px;flex-wrap:wrap}.findings-empty{margin:6px 0 0;color:#166534;font-size:.88rem}.findings-more{margin:10px 0 0;font-size:.8rem;color:#64748b}.risk-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.risk-item{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}.risk-item.risk-critical{background:#fef2f2;border-color:#fecaca}.risk-item.risk-high{background:#fff7ed;border-color:#fed7aa}.risk-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.risk-verdict{font-size:.72rem;font-weight:600;color:#475569;letter-spacing:.04em}.risk-jump{font-size:.8rem;color:#1e293b;text-decoration:none;font-weight:600;border-bottom:1px dashed rgba(15,23,42,.3);margin-left:auto}.clause-refs{display:inline-flex;gap:4px;flex-wrap:wrap}.clause-chip{display:inline-block;padding:2px 8px;border-radius:6px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:600;line-height:1.3}.risk-jump:hover{color:#0f172a;border-bottom-color:#0f172a}.risk-question{margin:4px 0;font-size:.85rem;color:#0f172a;font-weight:500}.risk-why{margin:0;font-size:.82rem;color:#475569;line-height:1.5}.area-list-heading{margin:18px 0 10px;font-size:.8rem;letter-spacing:.06em;color:#64748b;text-transform:uppercase;font-weight:600}.area-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 1 auto;margin-left:auto}.area-badge{padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid transparent}.area-badge-muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.area-badge-ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.area-badge-error{background:#fee2e2;color:#991b1b;border-color:#fecaca}.area-caret{font-size:.7rem;color:#64748b;margin-left:4px}.area-card.area-severity-critical{border-color:#fca5a5;box-shadow:inset 3px 0 #dc2626}.area-card.area-severity-high{border-color:#fdba74;box-shadow:inset 3px 0 #ea580c}.area-card.area-severity-medium{border-color:#fcd34d;box-shadow:inset 3px 0 #d97706}.area-card.area-severity-low{border-color:#7dd3fc;box-shadow:inset 3px 0 #0284c7}.analysis-view{max-width:1360px;margin:0 auto;padding:20px 24px 60px}.analysis-view-heading{margin-bottom:18px}.analysis-view-heading h1{margin:4px 0 8px}.analysis-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.doc-reader{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;min-height:60vh;overflow:hidden}.doc-reader-loading,.doc-reader-error{padding:40px 26px;color:#64748b;font-size:.9rem}.doc-reader-error{color:#b91c1c}.doc-reader-text{margin:0;padding:28px 32px;font-family:ui-serif,Georgia,Times New Roman,serif;font-size:.96rem;line-height:1.7;color:#111827;white-space:pre-wrap;word-break:break-word}.analysis-hl{padding:2px 3px;margin:0 -1px;border:0;border-radius:2px;color:#1e293b;cursor:pointer;background-color:#fde047;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:filter .15s ease}.analysis-hl:hover{filter:brightness(.94)}.analysis-hl-critical{background-color:#fca5a5}.analysis-hl-high{background-color:#fdba74}.analysis-hl-medium{background-color:#fde047}.analysis-hl-low{background-color:#bae6fd}@keyframes analysisHlPulse{0%{box-shadow:0 0 #0ea5e9b3}50%{box-shadow:0 0 0 10px #0ea5e900}to{box-shadow:0 0 #0ea5e900}}.analysis-hl-pulse{animation:analysisHlPulse 1.6s ease-out;outline:2px solid #0ea5e9;outline-offset:1px}.finding-rail{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.rail-section{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #0f172a0a}.rail-label{font-size:.72rem;color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:8px}.rail-section-title{display:flex;align-items:baseline;justify-content:space-between}.rail-mode-toggle{display:inline-flex;margin-bottom:12px}.rail-mode-toggle .mode-option{padding:6px 14px}.rail-run-button{width:100%}.rail-export-button{width:100%;margin-top:8px;justify-content:center;text-align:center}.rail-active-toggle{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08)}.rail-hint{margin:8px 0 0;font-size:.78rem;color:#64748b;font-style:italic}.rail-error{margin:8px 0 0;font-size:.82rem;color:#b91c1c}.rail-progress-bar{height:6px;background:#0f172a14;border-radius:999px;overflow:hidden;margin-top:12px}.rail-progress-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#6366f1);transition:width .25s ease}.rail-sev-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.rail-sev-row .sev-chip{cursor:pointer;border-width:1px;transition:opacity .15s ease,filter .15s ease;justify-content:flex-start}.rail-sev-row .sev-chip.is-muted{opacity:.35;filter:grayscale(.4)}.rail-sev-row .sev-chip:hover{filter:none;opacity:.85}.rail-sev-row .sev-chip.is-active:hover{opacity:1}.rail-verdict-row{display:inline-flex;padding:3px;border-radius:999px;background:#f1f5f9;gap:2px}.verdict-toggle{appearance:none;background:transparent;border:0;padding:5px 12px;border-radius:999px;font-family:inherit;font-size:.78rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease}.verdict-toggle:hover{color:#0f172a}.verdict-toggle.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.rail-findings{flex:1}.rail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.rail-empty{margin:8px 0 0;font-size:.85rem;color:#64748b;font-style:italic}.rail-card{appearance:none;width:100%;text-align:left;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,transform .05s ease;display:flex;flex-direction:column;gap:4px}.rail-card:hover{background:#f8fafc;border-color:#cbd5e1}.rail-card:active{transform:translateY(1px)}.rail-card-critical{border-left:3px solid #dc2626}.rail-card-high{border-left:3px solid #ea580c}.rail-card-medium{border-left:3px solid #d97706}.rail-card-low{border-left:3px solid #0284c7}.rail-card-top{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.rail-card-question{margin:2px 0 0;font-size:.85rem;color:#0f172a;font-weight:500;line-height:1.4}.rail-card-area{margin:0;font-size:.72rem;color:#64748b;letter-spacing:.02em}.rail-card-noloc{font-size:.68rem;color:#94a3b8;border:1px solid #e2e8f0;padding:2px 6px;border-radius:999px;background:#f8fafc;font-weight:500;letter-spacing:.02em}.verdict-chip{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;border:1px solid transparent;text-transform:uppercase}.verdict-chip.verdict-problematic{background:#fef3c7;color:#92400e;border-color:#fde68a}.verdict-chip.verdict-missing{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.verdict-chip.verdict-ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.finding-modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:40px 20px;z-index:200;animation:modalFadeIn .15s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.finding-modal{position:relative;max-width:720px;width:100%;max-height:calc(100vh - 80px);background:#fff;border-radius:16px;padding:26px 28px 28px;overflow-y:auto;box-shadow:0 30px 80px #0f172a47;animation:modalPopIn .18s ease-out}@keyframes modalPopIn{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.finding-modal-close{position:absolute;top:14px;right:14px;appearance:none;background:transparent;border:0;font-size:1.7rem;line-height:1;color:#64748b;cursor:pointer;padding:4px 10px;border-radius:8px}.finding-modal-close:hover{background:#f1f5f9;color:#0f172a}.finding-modal-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}.finding-modal-area{font-size:.72rem;color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.finding-modal-tags{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.finding-modal-question{margin:4px 0 18px;font-size:1.15rem;color:#0f172a;line-height:1.35}.finding-modal-section{margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.finding-modal-section:first-of-type{margin-top:0;padding-top:0;border-top:0}.finding-modal-section h4{margin:0 0 6px;font-size:.75rem;color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.finding-modal-text{margin:0;color:#1e293b;line-height:1.55;font-size:.92rem}.finding-modal-body{font-size:.92rem;color:#1e293b;line-height:1.55}.finding-modal-body p{margin:6px 0}.finding-modal-body blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid #94a3b8;background:#f1f5f9;border-radius:0 6px 6px 0}.finding-modal-body blockquote p{margin:4px 0}.finding-modal-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;background:#0f172a0f;padding:1px 5px;border-radius:4px}.finding-modal-body ul,.finding-modal-body ol{padding-left:20px;margin:6px 0}@media(max-width:960px){.analysis-view-layout{grid-template-columns:1fr}.finding-rail{position:static;max-height:none}}.dashboard-page{max-width:1200px;margin:0 auto;padding:22px 40px 80px}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(219,232,240,.72)}.dashboard-header h1{margin:0;font-size:1.5rem;font-weight:750;letter-spacing:-.02em;color:var(--blue-950)}.dashboard-subtitle{margin:4px 0 0;color:#64748b;font-size:.86rem;max-width:620px;line-height:1.5}.expiring-soon-digest{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 16px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2}.expiring-soon-icon{display:grid;flex:none;width:32px;height:32px;place-items:center;border-radius:9px;background:#fee2e2;color:#b91c1c}.expiring-soon-icon svg{width:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.expiring-soon-body{min-width:0;flex:1}.expiring-soon-body strong{display:block;color:#991b1b;font-size:.88rem;margin-bottom:8px}.expiring-soon-list{display:flex;flex-wrap:wrap;gap:8px}.expiring-soon-chip{appearance:none;font-family:inherit;cursor:pointer;padding:5px 12px;border-radius:999px;border:1px solid #fca5a5;background:#fff;color:#991b1b;font-size:.78rem;font-weight:600;transition:background .15s ease}.expiring-soon-chip:hover{background:#fee2e2}.dashboard-tabs{display:inline-flex;gap:6px;padding:4px;margin:20px 0;background:#f1f5f9;border-radius:12px}.dashboard-tab{appearance:none;background:transparent;border:none;padding:7px 15px;border-radius:9px;font-family:inherit;font-size:.83rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.dashboard-tab:hover{color:#0f172a}.dashboard-tab.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a1a}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.kpi-icon{display:grid;flex:none;width:40px;height:40px;place-items:center;border-radius:10px}.kpi-icon svg{width:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.kpi-icon-blue{background:var(--blue-100);color:var(--blue-600)}.kpi-icon-amber{background:#fff4de;color:#c98620}.kpi-text{display:flex;flex-direction:column;gap:1px;min-width:0}.kpi-value{font-size:1.5rem;font-weight:750;letter-spacing:-.02em;line-height:1.15;color:var(--blue-950)}.kpi-label{font-size:.76rem;color:#64748b;font-weight:600;white-space:nowrap}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.chart-card{padding:18px 22px 22px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.chart-card-title{margin:0 0 14px;font-size:.9rem;font-weight:700;color:#0f172a}.hbar-chart{display:flex;flex-direction:column;gap:12px}.hbar-row{display:grid;grid-template-columns:90px 1fr 36px;align-items:center;gap:10px;padding:4px 6px;border-radius:8px;transition:background .15s ease}.hbar-row:hover{background:#f8fafc}.hbar-label{font-size:.82rem;font-weight:600;color:#334155}.hbar-track{height:10px;border-radius:999px;background:#f1f5f9;overflow:hidden}.hbar-fill{height:100%;border-radius:999px;transition:width .4s ease}.hbar-value{font-size:.82rem;font-weight:700;color:#0f172a;text-align:right}.dashboard-table{width:100%;border-collapse:collapse;border:1px solid rgba(15,23,42,.08);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #0f172a0a}.dashboard-table thead{background:#f8fafc}.dashboard-table th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-weight:700;padding:10px 16px;border-bottom:1px solid rgba(15,23,42,.08)}.dashboard-table td{padding:10px 16px;font-size:.85rem;color:#334155;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:middle}.dashboard-table tbody tr:nth-child(2n){background:#fbfcfe}.dashboard-table tbody tr:last-child td{border-bottom:none}.dashboard-table-primary{font-weight:650;color:#0f172a}.dashboard-row-clickable{cursor:pointer;transition:background .15s ease}.dashboard-table tbody tr:hover{background:#f1f5f9}.dashboard-table-action{color:var(--blue-600);font-weight:700;white-space:nowrap}.dashboard-inline-action{margin-right:10px;font-weight:600}.dashboard-sev-tally{display:flex;flex-wrap:wrap;gap:6px}.dashboard-empty{padding:40px 20px;text-align:center;color:#64748b;font-size:.9rem;border:1px dashed rgba(15,23,42,.15);border-radius:14px;background:#f8fafc}.dashboard-empty-inline{color:#94a3b8;font-size:.82rem;font-style:italic}.dashboard-active-contracts{margin-top:14px}.active-contract-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.active-contract-row{padding:12px 8px;border-radius:8px;transition:background .15s ease}.active-contract-row:hover{background:#f8fafc}.active-contract-row+.active-contract-row{border-top:1px solid rgba(15,23,42,.06)}.active-contract-row-clickable{cursor:pointer}.dashboard-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;margin-bottom:12px;border:1px solid #c7d2fe;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:.86rem}.active-contract-row-top{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px}.active-contract-icon{display:grid;flex:none;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--blue-100);color:var(--blue-600)}.active-contract-icon svg{width:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.active-contract-name{font-weight:650;color:#0f172a;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.active-contract-date{font-size:.78rem;color:#94a3b8;white-space:nowrap}.urgency-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.urgency-badge.urgency-soon{background:#fee2e2;color:#991b1b;border-color:#fecaca}.urgency-badge.urgency-watch{background:#fef3c7;color:#92400e;border-color:#fde68a}.urgency-badge.urgency-safe{background:#dcfce7;color:#166534;border-color:#bbf7d0}.urgency-badge.urgency-unknown{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.active-contract-progress-track{margin:8px 0 0 42px;height:5px;border-radius:999px;background:#f1f5f9;overflow:hidden}.active-contract-progress-fill{height:100%;border-radius:999px;transition:width .4s ease}.urgency-fill-soon{background:#dc2626}.urgency-fill-watch{background:#d97706}.urgency-fill-safe{background:#16a34a}.urgency-fill-unknown{background:#94a3b8}.contract-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.contract-status-badge.is-current{background:#e0f2fe;color:#075985;border-color:#bae6fd}.contract-status-badge.is-expired{background:#fee2e2;color:#991b1b;border-color:#fecaca}.contract-status-badge.is-unknown{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.human-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.human-status-badge.is-active{background:#dcfce7;color:#166534;border-color:#bbf7d0}.human-status-badge.is-inactive{background:#fef3c7;color:#92400e;border-color:#fde68a}.human-status-badge.is-unset{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0}.active-toggle{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.active-toggle-buttons{display:inline-flex;gap:4px}.active-toggle-btn{appearance:none;font-family:inherit;cursor:pointer;padding:3px 9px;border-radius:6px;border:1px solid rgba(15,23,42,.15);background:transparent;color:#475569;font-size:.72rem;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.active-toggle-btn:hover{background:#f8fafc}.active-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.active-toggle-btn.is-selected{background:#0f172a;border-color:#0f172a;color:#fff}@media(max-width:960px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}.active-contract-row-top{grid-template-columns:auto 1fr;row-gap:6px}.active-contract-date{grid-column:2}.active-contract-progress-track{margin-left:0}}.search-input-wrap{position:relative;margin-bottom:20px}.search-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;fill:none;stroke:#94a3b8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;pointer-events:none}.search-input{width:100%;padding:12px 16px 12px 42px;border:1px solid rgba(15,23,42,.12);border-radius:12px;font-family:inherit;font-size:.92rem;color:#0f172a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #1495df1f}.search-results-section{margin-top:22px}.search-results-section+.search-results-section{margin-top:28px}.search-result-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.search-result-row{appearance:none;width:100%;text-align:left;font-family:inherit;cursor:pointer;padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff;transition:background .15s ease,border-color .15s ease}.search-result-row:hover{background:#f8fafc;border-color:#cbd5e1}.search-result-row:disabled{opacity:.6;cursor:not-allowed}.search-result-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-result-snippet{margin:6px 0 0;font-size:.84rem;color:#475569;line-height:1.5}
