html{scroll-behavior:smooth}.landing-root{--lp-navy: var(--cognizant-dark);--lp-navy-deep: #0a0e27;--lp-hero-gradient: linear-gradient(135deg, #003d7a 0%, #001a4d 50%, #0a0e27 100%);--lp-btn-gradient: linear-gradient(135deg, #003d7a 0%, #007dfaaa 100%);--lp-accent: var(--primary);--lp-accent-soft: var(--secondary);--lp-blue: #3a96ed;--lp-on-navy: var(--cognizant-blue);--lp-green: #2e7d32;--lp-amber: #b28a00;--lp-red: #c62828;--max: 1140px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--surface);line-height:1.6;font-size:16px}.landing-root *{margin:0;padding:0;box-sizing:border-box}.landing-root h1,.landing-root h2,.landing-root h3,.landing-root h4{font-family:inherit;letter-spacing:-.5px}.landing-root a{color:inherit;text-decoration:none}.landing-root .wrap{max-width:var(--max);margin:0 auto;padding:0 32px}.landing-root img,.landing-root svg{display:block;max-width:100%}.landing-root button{font-family:inherit;cursor:pointer;border:none;background:none}.landing-root a:focus-visible,.landing-root button:focus-visible{outline:2px solid var(--lp-accent);outline-offset:3px}.landing-root>header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:2px solid rgba(0,26,77,.1);box-shadow:0 2px 8px #001a4d14}.landing-root .header-row{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:20px}.landing-root .lockup{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;flex-shrink:0;white-space:nowrap}.landing-root .lockup .logo{height:32px;width:auto}.landing-root .lockup .sep{color:var(--border)}.landing-root .lockup .theme{color:#001a4db3;font-weight:500}.landing-root nav{display:flex;gap:2px;align-items:center}.landing-root nav a{color:#001a4db3;font-size:14px;font-weight:500;white-space:nowrap;padding:10px 12px;border-radius:8px;transition:all .2s ease}.landing-root nav a:hover{background:#001a4d14;color:var(--lp-navy)}.landing-root .hero{background:var(--lp-hero-gradient);color:#fff;position:relative;overflow:hidden}.landing-root .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding-top:50px;padding-bottom:50px;align-items:center}.landing-root .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:650;color:var(--lp-on-navy);margin-bottom:28px}.landing-root .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--lp-accent-soft)}.landing-root .hero h1{font-size:44px;font-weight:800;line-height:1.12;color:#fff;margin-bottom:22px}.landing-root .hero h1 span{display:block}.landing-root .hero p.lede{font-size:17.5px;color:#ffffffd9;max-width:480px;margin-bottom:32px;font-weight:400}.landing-root .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}.landing-root .lp-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:12px;font-size:15px;font-weight:600;transition:all .2s ease}.landing-root .lp-btn-primary{background:var(--lp-btn-gradient);color:#fff;box-shadow:0 4px 15px #3a6ded4d}.landing-root .lp-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px #3a90ed66}.landing-root .lp-btn-ghost{border:2px solid rgba(255,255,255,.35);color:#fff}.landing-root .lp-btn-ghost:hover{border-color:#ffffffbf;transform:translateY(-2px)}.landing-root .proof-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;width:100%}.landing-root .proof-strip .proof-item:first-child{grid-column:1}.landing-root .proof-strip .proof-item:nth-child(2),.landing-root .proof-strip .proof-item:nth-child(3){grid-column:auto}.landing-root .proof-item .num{font-size:26px;font-weight:800;color:#fff}.landing-root .proof-item .label{font-size:13px;color:var(--lp-on-navy);margin-top:2px}.landing-root .hero-visual{position:relative;height:360px;margin-top:0}.landing-root .hero-visual svg{width:100%;height:100%}.landing-root section{padding:38px 0}.landing-root .kicker{font-size:13.5px;font-weight:600;color:var(--lp-accent);margin-bottom:14px}.landing-root .section-head{max-width:640px;margin-bottom:48px}.landing-root .section-head h2{font-size:32px;font-weight:700;color:var(--lp-navy);line-height:1.25;margin-bottom:14px}.landing-root .section-head p{color:var(--text-muted);font-size:16.5px}.landing-root .bg-mist{background:var(--bg)}.landing-root .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden}.landing-root .why-card{background:var(--surface);padding:32px 28px}.landing-root .why-card h3{font-size:17px;font-weight:700;color:var(--lp-navy);margin-bottom:10px}.landing-root .why-card p{font-size:14.5px;color:var(--text-muted)}.landing-root .why-card .mark{width:34px;height:3px;border-radius:3px;background:var(--lp-accent);margin-bottom:18px}.landing-root .pillars{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}.landing-root .pillar-row{display:grid;grid-template-columns:1fr 110px 2fr;gap:24px;align-items:center;padding:22px 26px;border-bottom:1px solid var(--border)}.landing-root .pillar-row:last-child{border-bottom:none}.landing-root .pillar-name{font-weight:700;color:var(--lp-navy);font-size:15.5px}.landing-root .pillar-weight{font-weight:800;font-size:20px;color:var(--lp-accent)}.landing-root .pillar-desc{font-size:14px;color:var(--text-muted)}.landing-root .weight-bar{height:8px;border-radius:8px;background:#001a4d14;margin-top:6px;overflow:hidden;box-shadow:inset 0 1px 2px #001a4d1a}.landing-root .weight-bar>span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#3ac9ed,#001a4d)}.landing-root .rag-strip{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap}.landing-root .rag-chip{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:8px 16px}.landing-root .rag-dot{width:10px;height:10px;border-radius:50%}.landing-root .journey{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:8px}.landing-root .journey-step{flex:1;min-width:160px;padding:24px 20px;position:relative}.landing-root .journey-step .n{font-size:13px;font-weight:700;color:var(--lp-accent);margin-bottom:10px}.landing-root .journey-step h4{font-size:15.5px;font-weight:700;color:var(--lp-navy);margin-bottom:8px;line-height:1.3}.landing-root .journey-step p{font-size:13px;color:var(--text-muted)}.landing-root .journey-step:not(:last-child):after{content:"";position:absolute;top:38px;right:-2px;width:16px;height:16px;border-top:2px solid var(--border);border-right:2px solid var(--border);transform:rotate(45deg)}.landing-root .journey-step.final h4{color:var(--lp-green)}.landing-root .cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-root .cap-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;border-left:3px solid var(--lp-accent);box-shadow:var(--shadow-sm);transition:all .3s ease}.landing-root .cap-card:hover{border-color:#3a96ed4d;box-shadow:0 12px 32px #3a96ed26;transform:translateY(-4px)}.landing-root .cap-card:nth-child(2){border-left-color:var(--lp-accent-soft)}.landing-root .cap-card:nth-child(3){border-left-color:var(--lp-blue)}.landing-root .cap-card:nth-child(4){border-left-color:var(--lp-green)}.landing-root .cap-card:nth-child(5){border-left-color:var(--lp-amber)}.landing-root .cap-card:nth-child(6){border-left-color:var(--lp-accent)}.landing-root .cap-card h3{font-size:16.5px;font-weight:700;color:var(--lp-navy);margin-bottom:10px}.landing-root .cap-card p{font-size:14px;color:var(--text-muted)}.landing-root .retro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}.landing-root .retro-list{list-style:none;display:flex;flex-direction:column;gap:18px}.landing-root .retro-list li{display:flex;gap:14px;font-size:15px;color:var(--text)}.landing-root .retro-list li:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--lp-accent);margin-top:7px}.landing-root .retro-quote{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:var(--shadow-md)}.landing-root .retro-quote .tag{font-size:13px;font-weight:600;color:var(--lp-accent);margin-bottom:14px}.landing-root .retro-quote blockquote{font-size:22px;font-weight:700;color:var(--lp-navy);line-height:1.35;margin-bottom:14px;letter-spacing:-.5px}.landing-root .retro-quote .src{font-size:13px;color:var(--text-muted)}.landing-root .vision{background:var(--lp-hero-gradient);color:#fff}.landing-root .vision .wrap{display:flex;flex-direction:column;align-items:flex-start}.landing-root .vision .qmark{font-size:64px;font-weight:800;color:var(--lp-accent-soft);line-height:1;margin-bottom:8px}.landing-root .vision h2{font-size:38px;font-weight:800;max-width:680px;line-height:1.2;color:#fff;margin-bottom:18px}.landing-root .vision .sub{color:#ffffffd9;font-size:16px;max-width:560px;margin-bottom:24px}.landing-root .vision .note{font-size:13px;color:var(--lp-on-navy);max-width:640px;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}.landing-root .final-cta{background:var(--lp-hero-gradient)}.landing-root .final-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}.landing-root .final-cta h2{font-size:28px;font-weight:700;color:#fff;margin-bottom:10px;max-width:520px}.landing-root .final-cta p{color:#ffffffd9;font-size:15.5px;max-width:480px}.landing-root .final-cta .lp-btn-primary{background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#fff;box-shadow:none}.landing-root .final-cta .lp-btn-primary:hover{background:#ffffff40}.landing-root>footer{background:var(--surface);border-top:1px solid var(--border);padding:40px 0}.landing-root>footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.landing-root .brand-mini{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--text-muted)}.landing-root .brand-mini .logo{height:24px;width:auto}.landing-root>footer .fine{font-size:13px;color:var(--text-muted)}.landing-root>footer .flinks{display:flex;gap:24px;font-size:13.5px;color:var(--text-muted)}.landing-root>footer .flinks a:hover{color:var(--lp-accent)}.landing-root .ceo-callout{position:absolute;top:16px;right:24px;z-index:2;width:300px;max-width:calc(100vw - 32px);background:#fff;color:var(--lp-navy);border:1px solid rgba(0,26,77,.12);border-radius:14px;box-shadow:0 8px 24px #001a4d1f;padding:12px 14px 14px;animation:ceo-callout-in .4s ease both}@keyframes ceo-callout-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.landing-root .ceo-callout__close{position:absolute;top:6px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#001a4db3;border-radius:6px;transition:all .2s ease}.landing-root .ceo-callout__close:hover{background:#001a4d14;color:var(--lp-navy)}.landing-root .ceo-callout__head-row{display:flex;align-items:center;gap:9px;padding-right:20px;margin-bottom:8px}.landing-root .ceo-callout__head{font-size:11.5px;font-weight:700;color:var(--lp-navy);line-height:1.25}.landing-root .ceo-callout__photo{flex-shrink:0;width:30px;height:30px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(0,26,77,.2);background:#3a96ed1f;display:flex;align-items:center;justify-content:center;color:var(--lp-navy);font-weight:700;font-size:11px;letter-spacing:.5px}.landing-root .ceo-callout__quote{font-size:10.5px;line-height:1.5;color:#001a4dcc;display:block;margin:0}.landing-root .ceo-callout__tagline,.landing-root .ceo-callout__more{display:none}@media (max-width: 920px){.landing-root nav{display:none}.landing-root .hero .wrap{grid-template-columns:1fr;padding-top:56px}.landing-root .hero-visual{height:220px;order:-1}.landing-root .hero h1{font-size:34px}.landing-root .why-grid,.landing-root .cap-grid{grid-template-columns:repeat(2,1fr)}.landing-root .pillar-row{grid-template-columns:1fr;gap:8px}.landing-root .retro-grid{grid-template-columns:1fr;gap:36px}.landing-root .vision h2{font-size:28px}.landing-root .final-cta .wrap{flex-direction:column;align-items:flex-start}}@media (max-width: 600px){.landing-root .ceo-callout{position:relative;top:auto;left:auto;right:auto;width:auto;max-width:none;margin:16px 20px 0}.landing-root .wrap{padding:0 20px}.landing-root .why-grid,.landing-root .cap-grid{grid-template-columns:1fr}.landing-root section{padding:56px 0}.landing-root .journey{flex-direction:column}.landing-root .journey-step:not(:last-child):after{display:none}.landing-root .lockup .theme,.landing-root .lockup .sep{display:none}.landing-root .lockup .logo{height:30px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.landing-root *{transition:none!important}}:root{--primary: #3a96ed;--primary-dark: #2578c9;--primary-light: #e6f2fd;--secondary: #8fc2f2;--cognizant-dark: #001a4d;--cognizant-blue: #8aa9d7;--bg: #f8f9fa;--surface: #ffffff;--border: #d1d8e0;--text: #1a202c;--text-muted: #718096;--green-bg: #ecfdf5;--green-fg: #065f46;--green-border: #a7f3d0;--amber-bg: #fffbeb;--amber-fg: #92400e;--amber-border: #fcd34d;--red-bg: #fef2f2;--red-fg: #7f1d1d;--red-border: #fecaca;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app-shell{display:flex;min-height:100vh}.main-wrapper{flex:1;display:flex;flex-direction:column;background:linear-gradient(135deg,#003d7a,#001a4d,#0a0e27);min-height:100vh}.app-header{background:#fff;border-bottom:2px solid rgba(0,26,77,.1);padding:16px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #001a4d14;gap:20px}.header-left{display:flex;align-items:center;gap:48px;flex:1}.header-title-section{display:flex;flex-direction:column;gap:2px;white-space:nowrap;cursor:pointer;text-decoration:none;transition:opacity .2s ease}.header-title-section:hover{opacity:.7}.header-title{font-size:20px;font-weight:700;margin:0;color:#001a4d;letter-spacing:-.5px}.header-subtitle{font-size:12px;opacity:.75;margin:0;color:#003d99;font-weight:500}.header-nav{display:flex;gap:0;align-items:center}.header-nav a{color:#001a4db3;text-decoration:none;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s ease;position:relative}.header-nav a:hover{background:#001a4d14;color:#001a4d}.header-nav a.active{background:linear-gradient(135deg,#003d7a,#007dfaaa);color:#fff;font-weight:600;box-shadow:0 4px 12px #3a6ded8f}.cognizant-logo{height:36px;opacity:1;transition:opacity .2s ease}.cognizant-logo:hover{opacity:.85}.main{flex:1;padding:36px 40px;overflow-y:auto}.page-title{font-size:28px;font-weight:700;margin:0 0 8px;color:#fff}.page-sub{color:#ffffffd9;margin:0 0 28px;font-size:15px;font-weight:400}.card{background:#fffffff2;border:1px solid rgba(255,255,255,.4);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 8px 24px #001a4d1f;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:hover{border-color:#3a96ed4d;box-shadow:0 12px 32px #3a96ed26;transform:translateY(-4px)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width: 1200px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.main{padding:24px 20px}.app-header{flex-direction:column;padding:12px 20px;gap:12px}.header-left{gap:16px}.header-title{font-size:18px}.header-nav a{padding:8px 12px;font-size:13px}}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:#001a4dcc;text-transform:uppercase;letter-spacing:.5px}input[type=text],input[type=password],select{width:100%;padding:11px 13px;border:1px solid rgba(0,26,77,.15);border-radius:8px;font-size:14px;margin-bottom:16px;background:#ffffffe6;transition:all .2s ease}input[type=text]:focus,input[type=password]:focus,select:focus{outline:none;border-color:#3a8eed;box-shadow:0 0 0 3px #3a96ed1a}input[type=file]{font-size:13px}.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#003d7a,#007dfaaa);color:#fff;text-decoration:none;border:none;padding:11px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #3a6ded4d}.btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #3a90ed66;text-decoration:none}.btn:active:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:#ffffffe6;color:#021e5b;border:2px solid #3aabed;box-shadow:0 2px 8px #00000014}.btn.secondary:hover:not(:disabled){background:linear-gradient(135deg,#e6f2fd,#d9ebfb)}.btn.small{padding:8px 14px;font-size:13px}.dropzone{border:2px dashed rgba(58,150,237,.3);border-radius:12px;padding:36px 24px;text-align:center;color:#001a4d99;cursor:pointer;margin-bottom:16px;background:linear-gradient(135deg,#e6f2fd80,#e0f0fc80);transition:all .2s ease}.dropzone:hover{border-color:#3a93ed;background:linear-gradient(135deg,#e6f2fdcc,#e0f0fccc);color:#3a90ed}.dropzone.dragging{border-color:#3a96ed;background:linear-gradient(135deg,#e6f2fde6,#e0f0fce6);color:#3a96ed;box-shadow:0 8px 24px #3a96ed33}.file-chip{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#e6f2fd,#d9ebfb);border-radius:20px;padding:6px 14px;font-size:13px;margin:4px 6px 0 0;border:1px solid rgba(58,150,237,.3)}.file-chip button{border:none;background:none;cursor:pointer;color:#3a96ed;font-size:15px;line-height:1;transition:opacity .2s ease}.file-chip button:hover{opacity:.7}.rag-badge{display:inline-flex;align-items:center;padding:6px 16px;border-radius:20px;font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase}.rag-badge.GREEN{background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border)}.rag-badge.AMBER{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border)}.rag-badge.RED{background:var(--red-bg);color:var(--red-fg);border:1px solid var(--red-border)}.score-huge{font-size:48px;font-weight:800;margin:0}.bar-row{display:flex;align-items:center;margin-bottom:14px;gap:12px}.bar-label{width:190px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;background:#ffffff80;border-radius:8px;height:14px;overflow:hidden;box-shadow:inset 0 1px 2px #001a4d1a}.bar-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,#3ac9ed,#001a4d);transition:width .3s ease}.bar-value{width:44px;text-align:right;font-size:13px;color:#001a4db3;font-weight:600}table.rec-table{width:100%;border-collapse:collapse;font-size:13px}table.rec-table th{text-align:left;padding:12px 10px;border-bottom:2px solid rgba(0,26,77,.1);color:#001a4dcc;font-weight:700;background:#ffffff80}table.rec-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.3);vertical-align:top}.score-pill{display:inline-block;min-width:28px;text-align:center;border-radius:6px;padding:4px 8px;font-weight:700;font-size:12px;color:#fff;background:linear-gradient(135deg,#3a96ed,#8fc2f2)}.deal-row{display:flex;justify-content:space-between;align-items:center;padding:16px 12px;border-bottom:1px solid rgba(255,255,255,.2);text-decoration:none;color:#001a4de6;transition:all .2s ease;border-radius:8px;margin-bottom:4px}.deal-row:last-child{border-bottom:none}.deal-row:hover{background:#fff6;border-radius:8px;transform:translate(4px);box-shadow:0 4px 12px #3a96ed1a}.deal-row .btn.secondary{background:#ffffffe6;color:#b91c1c;border:1px solid rgba(185,28,28,.12)}.muted{color:#001a4d99;font-size:13px}.empty-state{text-align:center;padding:80px 20px;color:#001a4d99}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.spinner-wrap{display:flex;align-items:center;gap:10px;color:#001a4d99;font-size:14px}.spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#3a96ed;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid rgba(255,255,255,.2)}.tab{border:0;background:transparent;font-family:inherit;padding:12px 18px;cursor:pointer;font-size:14px;font-weight:600;color:#fffc;border-bottom:3px solid transparent;transition:all .2s ease}.tab:hover{color:#3a96ed}.tab.active{color:#3a96ed;border-bottom-color:#3a96ed}.error-box{background:linear-gradient(135deg,#fef2f2cc,#fef2f299);border:1px solid rgba(127,29,29,.2);color:#7f1d1d;padding:14px 18px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}.success-box{background:linear-gradient(135deg,#ecfdf5cc,#ecfdf599);border:1px solid rgba(6,95,70,.2);color:#065f46;padding:14px 18px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}.mapping-editor{margin-bottom:20px;padding:20px 24px;background:linear-gradient(135deg,#e6f2fd80,#e0f0fc80);border:1px solid rgba(58,150,237,.2);border-radius:12px}.mapping-role{background:#ffffffe6;border:1px solid rgba(58,150,237,.15);border-radius:12px;padding:18px 20px;margin-bottom:14px;transition:all .2s ease}.mapping-role:hover{border-color:#3a96ed66;box-shadow:0 4px 12px #3a96ed1a}.mapping-role:last-child{margin-bottom:0}.mapping-role-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.mapping-role-title{font-size:15px;font-weight:700;color:#001a4de6}.mapping-progress{flex-shrink:0;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:20px;white-space:nowrap;margin-top:1px}.mapping-progress.complete{background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border)}.mapping-progress.partial{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border)}.mapping-progress.incomplete{background:var(--red-bg);color:var(--red-fg);border:1px solid var(--red-border)}.mapping-settings-row{display:flex;gap:14px;margin:16px 0 18px;flex-wrap:wrap;align-items:flex-end}.mapping-settings-row .field{flex:1;min-width:100px}.mapping-settings-row .field.sheet{flex:2.4;min-width:220px}.mapping-settings-row label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#001a4d99;margin-bottom:5px;cursor:help}.mapping-settings-row input,.mapping-settings-row select{margin-bottom:0}.mapping-reset-link{font-size:12.5px;color:#3a96ed;cursor:pointer;background:none;border:none;padding:0 0 9px;text-decoration:underline;font-weight:600;transition:opacity .2s ease}.mapping-reset-link:hover{opacity:.8}.mapping-group-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#001a4d99;margin:16px 0 8px;padding-top:12px;border-top:1px solid rgba(58,150,237,.2)}.mapping-group-label:first-of-type{border-top:none;padding-top:0;margin-top:2px}.mapping-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}@media (max-width: 720px){.mapping-fields-grid{grid-template-columns:1fr}}.mapping-field{display:flex;align-items:center;gap:8px;background:#e6f2fd4d;border:1px solid rgba(58,150,237,.15);border-radius:8px;padding:8px 12px;transition:all .2s ease}.mapping-field.matched{border-color:var(--green-border);background:var(--green-bg)}.mapping-field.missing-required{border-color:var(--red-border);background:var(--red-bg)}.mapping-field.missing-optional{border-color:#3a96ed26;background:#e6f2fd4d}.mapping-dot{width:8px;height:8px;min-width:8px;border-radius:50%;transition:all .2s ease}.mapping-dot.matched{background:var(--green-fg)}.mapping-dot.missing-required{background:var(--red-fg)}.mapping-dot.missing-optional{background:#cbd5e0}.mapping-field-label{flex:1.1;font-size:12.5px;font-weight:600;color:#001a4dcc;margin:0;cursor:help}.mapping-field-label .req{color:var(--red-fg)}.mapping-field select{flex:1.3;margin-bottom:0;font-size:12.5px;padding:6px 8px;background:#ffffffe6}.header-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.narrow-page{max-width:500px;margin:40px auto}.reports-page{max-width:900px;margin:40px auto}.reports-card:hover{transform:none}.report-list-compact{display:flex;flex-direction:column;gap:4px}.report-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 12px;border-bottom:1px solid rgba(0,26,77,.08);border-radius:8px;transition:all .2s ease}.report-row:last-child{border-bottom:none}.report-row:hover{background:#ffffff80;transform:translate(4px);box-shadow:0 4px 12px #3a96ed1a}.report-row-main{flex:1;min-width:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px}.report-name{font-weight:600;color:#001a4de6}.report-meta{color:#001a4d99;font-size:13px}.report-row-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.report-delete{background:#ffffffe6;color:#b91c1c;border:1px solid rgba(185,28,28,.12)}.reports-empty{padding:48px 20px}@media (max-width: 768px){.header-right{gap:12px}.narrow-page{margin:16px auto}.report-row{flex-direction:column;align-items:flex-start}.report-row:hover{transform:none}}.ce{display:flex;justify-content:center}.upload-help{margin-bottom:18px}.upload-file-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.upload-file-row{display:grid;grid-template-columns:minmax(0,1fr) 300px auto;align-items:center;gap:14px;padding:12px 16px;background:#ffffffe6;border:1px solid rgba(0,26,77,.12);border-radius:10px;box-shadow:0 1px 2px #001a4d0d;transition:border-color .2s ease,box-shadow .2s ease}.upload-file-row:hover{border-color:#3a96ed66;box-shadow:0 2px 8px #3a96ed1a}.upload-file-name{font-size:14px;font-weight:600;color:#001a4d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-select{width:100%;margin-bottom:0}.upload-file-row .btn.small{white-space:nowrap}.upload-actions{margin-top:20px;padding-top:18px;border-top:1px solid rgba(0,26,77,.1)}@media (max-width: 680px){.upload-file-row{grid-template-columns:1fr;gap:10px}.upload-file-row .btn.small{justify-self:start}}
