.landing{--l-navy-900: #0b1e3a;--l-navy-800: #122a4f;--l-cyan-400: #38bdf8;--l-cyan-500: #0ea5e9;--l-cyan-600: #0284c7;--l-slate-50: #f8fafc;--l-slate-100: #f1f5f9;--l-slate-200: #e2e8f0;--l-slate-500: #64748b;--l-slate-600: #475569;--l-slate-700: #334155;--l-slate-800: #1e293b;--l-radius: 14px;--l-shadow-lg: 0 20px 50px -12px rgba(15, 23, 42, .18);font-family:Inter,Helvetica Neue,Arial,sans-serif;color:var(--l-slate-700);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}.landing *{box-sizing:border-box}.landing a{color:var(--l-cyan-500);text-decoration:none}.landing a:hover{color:var(--l-cyan-600)}.landing img,.landing svg{max-width:100%;display:block}.landing h1,.landing h2,.landing h3,.landing h4,.landing p{margin:0}.landing .container{max-width:1180px;margin:0 auto;padding:0 24px}.landing .nav{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--l-slate-200)}.landing .nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}.landing .brand{display:flex;align-items:center;gap:12px}.landing .brand-logo{width:38px;height:38px;background:linear-gradient(135deg,var(--l-cyan-400) 0%,var(--l-cyan-600) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #0ea5e94d}.landing .brand-text{font-weight:800;font-size:17px;color:var(--l-navy-900);letter-spacing:-.3px}.landing .brand-sub{font-size:11px;color:var(--l-slate-500);margin-top:-2px}.landing .nav-links{display:flex;gap:32px;align-items:center}.landing .nav-links a{color:var(--l-slate-700);font-weight:500;font-size:14px}.landing .nav-links a:hover{color:var(--l-cyan-600)}.landing .nav-cta{background:var(--l-navy-900);color:#fff!important;padding:9px 18px;border-radius:8px;font-weight:600;font-size:14px;transition:background .15s;cursor:pointer;border:none}.landing .nav-cta:hover{background:var(--l-navy-800);color:#fff}.landing .nav-login{color:var(--l-slate-700);font-weight:600;font-size:14px;padding:9px 14px;border-radius:8px;transition:background .15s}.landing .nav-login:hover{background:var(--l-slate-100)}@media (max-width: 800px){.landing .nav-links a.nav-anchor{display:none}}.landing .hero{background:radial-gradient(circle at 88% 18%,rgba(14,165,233,.45),transparent 55%),radial-gradient(circle at 12% 92%,rgba(34,211,238,.3),transparent 55%),linear-gradient(135deg,var(--l-navy-900) 0%,var(--l-navy-800) 45%,var(--l-navy-900) 100%);color:#fff;position:relative;overflow:hidden}.landing .hero:before{content:"";position:absolute;left:-150px;bottom:-80px;width:800px;height:380px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 320'><path d='M0,160 C150,80 300,260 520,140 C620,80 700,180 700,180 L700,320 L0,320 Z' fill='%230ea5e9' opacity='0.16'/><path d='M0,200 C200,120 350,280 560,180 C660,140 700,220 700,220 L700,320 L0,320 Z' fill='%2338bdf8' opacity='0.12'/></svg>");background-size:contain;background-repeat:no-repeat;pointer-events:none}.landing .hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:96px 0 120px;position:relative;z-index:2}.landing .chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1.4px;background:#0ea5e92e;color:#7dd3fc;border:1px solid rgba(125,211,252,.4);padding:7px 14px;border-radius:999px;text-transform:uppercase}.landing .hero h1{margin-top:22px;font-size:54px;line-height:1.08;font-weight:800;letter-spacing:-1.2px;color:#fff}.landing .hero h1 .accent{color:var(--l-cyan-400)}.landing .hero-sub{margin-top:22px;font-size:18px;line-height:1.6;color:#ffffffd9;max-width:560px}.landing .hero-ctas{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}.landing .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:10px;font-weight:700;font-size:15px;transition:transform .12s,box-shadow .12s;cursor:pointer;border:none;text-decoration:none}.landing .btn-primary{background:linear-gradient(135deg,var(--l-cyan-400) 0%,var(--l-cyan-600) 100%);color:var(--l-navy-900)!important;box-shadow:0 14px 30px #0ea5e959}.landing .btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 38px #0ea5e973}.landing .btn-ghost{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.3)}.landing .btn-ghost:hover{background:#ffffff14;border-color:#ffffff80}.landing .hero-trust{margin-top:44px;display:flex;flex-wrap:wrap;gap:18px 28px;font-size:12px;color:#ffffffb3}.landing .hero-trust strong{color:#fff;font-weight:700}.landing .mock{background:#0f1e37c7;border:1px solid rgba(125,211,252,.22);border-radius:18px;box-shadow:0 30px 60px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.landing .mock-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff0a;border-bottom:1px solid rgba(125,211,252,.15);font-size:12px;color:#ffffffd9}.landing .mock-header .dots{display:flex;gap:5px}.landing .mock-header .dots span{width:9px;height:9px;border-radius:50%;background:#ffffff2e}.landing .mock-body{padding:18px}.landing .kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.landing .kpi{background:#38bdf814;border:1px solid rgba(56,189,248,.22);border-radius:10px;padding:12px 14px}.landing .kpi-label{font-size:10px;color:#ffffffb3;letter-spacing:.6px;text-transform:uppercase}.landing .kpi-value{font-size:22px;font-weight:800;margin-top:4px;color:#e0f2fe}.landing .kpi-trend{font-size:11px;color:#4ade80;margin-top:2px;font-weight:700}.landing .chart{margin-top:16px;height:110px;border-radius:10px;background:linear-gradient(180deg,#38bdf82e,#38bdf800);border:1px solid rgba(56,189,248,.18);position:relative;overflow:hidden}.landing .chart svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.landing .module-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.landing .module{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 6px;text-align:center;font-size:11px;font-weight:700;color:#cbd5e1}.landing .module .em{display:block;font-size:18px;color:var(--l-cyan-400);margin-bottom:3px}@media (max-width: 900px){.landing .hero-inner{grid-template-columns:1fr;gap:50px;padding:64px 0 80px}.landing .hero h1{font-size:38px}}.landing .compliance-bar{background:var(--l-slate-50);border-top:1px solid var(--l-slate-200);border-bottom:1px solid var(--l-slate-200);padding:32px 0}.landing .compliance-inner{display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}.landing .compliance-title{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--l-slate-500);text-transform:uppercase}.landing .compliance-badges{display:flex;gap:14px;flex-wrap:wrap}.landing .lbadge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;background:#fff;border:1px solid var(--l-slate-200);font-size:13px;font-weight:600;color:var(--l-slate-700)}.landing .lbadge .bullet{width:8px;height:8px;border-radius:50%;background:var(--l-cyan-500)}.landing section.block{padding:100px 0}.landing .section-head{text-align:center;max-width:760px;margin:0 auto 60px}.landing .section-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--l-cyan-600);text-transform:uppercase}.landing .section-title{margin-top:14px;font-size:40px;line-height:1.15;font-weight:800;color:var(--l-navy-900);letter-spacing:-.8px}.landing .section-sub{margin-top:16px;font-size:17px;color:var(--l-slate-600);line-height:1.65}.landing .problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing .problem-card{padding:28px;border-radius:var(--l-radius);background:var(--l-slate-50);border:1px solid var(--l-slate-200)}.landing .problem-card .ico{width:44px;height:44px;border-radius:10px;background:#ef44441f;color:#dc2626;display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;font-weight:800}.landing .problem-card h3{font-size:18px;color:var(--l-navy-900);margin-bottom:8px;font-weight:700}.landing .problem-card p{font-size:14px;color:var(--l-slate-600);line-height:1.6}@media (max-width: 800px){.landing .problem-grid{grid-template-columns:1fr}}.landing .features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing .feature{padding:32px;background:#fff;border:1px solid var(--l-slate-200);border-radius:var(--l-radius);transition:transform .15s,box-shadow .15s,border-color .15s}.landing .feature:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0f172a14;border-color:var(--l-cyan-400)}.landing .feature .ico{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#0ea5e91f,#0ea5e90a);color:var(--l-cyan-600);display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}.landing .feature .ico svg{width:26px;height:26px}.landing .feature h3{font-size:18px;color:var(--l-navy-900);margin-bottom:8px;font-weight:700}.landing .feature p{font-size:14px;color:var(--l-slate-600);line-height:1.6}@media (max-width: 900px){.landing .features-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.landing .features-grid{grid-template-columns:1fr}}.landing .how-bg{background:var(--l-slate-50)}.landing .how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}.landing .step{background:#fff;border:1px solid var(--l-slate-200);border-radius:var(--l-radius);padding:32px;position:relative}.landing .step-num{position:absolute;top:-18px;left:28px;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--l-cyan-400),var(--l-cyan-600));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;box-shadow:0 6px 16px #0ea5e966}.landing .step h3{margin-top:12px;font-size:19px;color:var(--l-navy-900);font-weight:700;margin-bottom:10px}.landing .step p{font-size:14px;color:var(--l-slate-600);line-height:1.65}@media (max-width: 800px){.landing .how-steps{grid-template-columns:1fr;gap:36px}}.landing .sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing .sector{background:#fff;border:1px solid var(--l-slate-200);border-radius:var(--l-radius);padding:24px 20px;text-align:center;transition:border-color .15s,transform .15s}.landing .sector:hover{border-color:var(--l-cyan-400);transform:translateY(-2px)}.landing .sector .ico{width:56px;height:56px;margin:0 auto 14px;border-radius:14px;background:linear-gradient(135deg,#0ea5e91a,#0ea5e905);display:inline-flex;align-items:center;justify-content:center;color:var(--l-cyan-600)}.landing .sector h4{font-size:15px;color:var(--l-navy-900);font-weight:700;margin-bottom:4px}.landing .sector p{font-size:12px;color:var(--l-slate-500)}@media (max-width: 800px){.landing .sectors{grid-template-columns:1fr 1fr}}.landing .cta-banner{background:radial-gradient(circle at 80% 30%,rgba(14,165,233,.5),transparent 50%),linear-gradient(135deg,var(--l-navy-900) 0%,var(--l-navy-800) 100%);color:#fff;border-radius:24px;padding:64px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:var(--l-shadow-lg)}.landing .cta-banner h2{font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-.6px;color:#fff}.landing .cta-banner p{margin-top:12px;color:#ffffffd9;font-size:16px;max-width:480px}@media (max-width: 800px){.landing .cta-banner{flex-direction:column;text-align:center;padding:48px 28px;align-items:stretch}}.landing .about-bg{background:var(--l-slate-50)}.landing .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.landing .about p{font-size:16px;color:var(--l-slate-600);line-height:1.75;margin-bottom:16px}.landing .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing .stat{background:#fff;padding:24px;border-radius:var(--l-radius);border:1px solid var(--l-slate-200)}.landing .stat .v{font-size:32px;font-weight:800;color:var(--l-cyan-600);letter-spacing:-.6px}.landing .stat .l{font-size:13px;color:var(--l-slate-500);margin-top:4px}@media (max-width: 900px){.landing .about-grid{grid-template-columns:1fr;gap:40px}}.landing .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.landing .contact-card{background:#fff;border:1px solid var(--l-slate-200);border-radius:var(--l-radius);padding:32px}.landing .contact-item{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--l-slate-100)}.landing .contact-item:last-child{border-bottom:none}.landing .contact-item .ico{width:40px;height:40px;border-radius:10px;background:#0ea5e91a;color:var(--l-cyan-600);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.landing .contact-item .ico svg{width:20px;height:20px}.landing .contact-item .lbl{font-size:12px;color:var(--l-slate-500);font-weight:600;text-transform:uppercase;letter-spacing:.6px}.landing .contact-item .val{font-size:15px;color:var(--l-slate-800);font-weight:500;margin-top:2px}.landing .contact-item a.val{color:var(--l-cyan-600)}.landing .contact-form input,.landing .contact-form textarea,.landing .contact-form select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--l-slate-200);background:#fff;font-family:inherit;font-size:14px;color:var(--l-slate-800);transition:border-color .15s}.landing .contact-form input:focus,.landing .contact-form textarea:focus,.landing .contact-form select:focus{outline:none;border-color:var(--l-cyan-500);box-shadow:0 0 0 3px #0ea5e926}.landing .contact-form label{font-size:13px;font-weight:600;color:var(--l-slate-700);display:block;margin-bottom:6px}.landing .contact-form .row{margin-bottom:16px}.landing .contact-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing .contact-form button{width:100%;padding:14px}@media (max-width: 800px){.landing .contact-grid,.landing .contact-form .grid2{grid-template-columns:1fr}}.landing footer.landing-footer{background:var(--l-navy-900);color:#ffffffb3;padding:56px 0 28px}.landing .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.landing footer.landing-footer h4{color:#fff;font-size:14px;font-weight:700;margin-bottom:14px;letter-spacing:.3px}.landing footer.landing-footer a{color:#ffffffb3;display:block;padding:4px 0;font-size:14px}.landing footer.landing-footer a:hover{color:var(--l-cyan-400)}.landing .footer-brand{display:flex;gap:12px;align-items:center;margin-bottom:16px}.landing .footer-brand .brand-logo{width:38px;height:38px}.landing .footer-brand-text{color:#fff;font-weight:800;font-size:18px}.landing .footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:#ffffff80}.landing .social{display:flex;gap:10px;margin-top:12px}.landing .social a{width:36px;height:36px;border-radius:50%;background:#ffffff14;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.landing .social a:hover{background:#38bdf833;color:var(--l-cyan-400)}.landing .social svg{width:16px;height:16px}@media (max-width: 800px){.landing .footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.landing .footer-grid{grid-template-columns:1fr}}:root{--bg: #f4f6fa;--surface: #ffffff;--border: #e6eaf0;--text: #1a2236;--muted: #6b7280;--primary: #0e7490;--primary-dark: #0b5a73;--primary-soft: #e0f2f7;--accent: #0ea5e9;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--danger-soft: #fee2e2;--warning-soft: #fef3c7;--success-soft: #dcfce7;--sidebar-bg: #0f172a;--sidebar-fg: #cbd5e1;--sidebar-fg-active: #ffffff;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(14, 165, 233, .18);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--radius: 10px;--radius-sm: 6px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1{font-size:22px;margin:0 0 4px;font-weight:700}h2{font-size:18px;margin:0 0 8px;font-weight:600}h3{font-size:15px;margin:0 0 8px;font-weight:600}.muted{color:var(--muted)}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--sidebar-bg);color:var(--sidebar-fg);display:flex;flex-direction:column;flex-shrink:0}.sidebar__brand{padding:20px 20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar__brand-logo{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--primary));border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:700}.sidebar__brand-text{color:#fff;font-weight:600;font-size:15px;letter-spacing:.2px}.sidebar__brand-sub{color:var(--sidebar-fg);font-size:11px;opacity:.7}.sidebar__nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px}.sidebar__section-title{text-transform:uppercase;font-size:10px;letter-spacing:1px;color:#64748b;padding:16px 12px 6px}.sidebar__link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--sidebar-fg);font-size:13.5px;transition:background .15s,color .15s}.sidebar__link:hover{background:var(--sidebar-hover);color:#fff}.sidebar__link.active{background:var(--sidebar-active);color:var(--sidebar-fg-active);font-weight:500}.sidebar__link svg{width:18px;height:18px;opacity:.85;flex-shrink:0}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar__crumb{color:var(--muted);font-size:13px}.topbar__crumb strong{color:var(--text);font-weight:600}.topbar__actions{display:flex;align-items:center;gap:14px}.topbar__user{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:999px;background:var(--bg)}.topbar__avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}.topbar__user-name{font-weight:500;font-size:13px}.topbar__user-role{color:var(--muted);font-size:11px}.content{padding:24px;flex:1;overflow:auto}.page-header{margin-bottom:20px}.page-header__title{font-size:22px;font-weight:700;margin:0}.page-header__sub{color:var(--muted);margin:2px 0 0;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card__header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card__title{font-size:14px;font-weight:600}.card__body{padding:16px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:flex-start;gap:14px;box-shadow:var(--shadow-sm)}.kpi__icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.kpi__icon svg{width:22px;height:22px}.kpi--primary .kpi__icon{background:var(--primary-soft);color:var(--primary)}.kpi--success .kpi__icon{background:var(--success-soft);color:var(--success)}.kpi--warning .kpi__icon{background:var(--warning-soft);color:var(--warning)}.kpi--danger .kpi__icon{background:var(--danger-soft);color:var(--danger)}.kpi__label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:0}.kpi__value{font-size:26px;font-weight:700;margin:4px 0 0}.kpi__sub{font-size:12px;color:var(--muted);margin-top:2px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table thead th{background:#f8fafc;color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.6px;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.table tbody td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:hover{background:#fafbfd}.table tbody tr:last-child td{border-bottom:none}.table-empty{padding:40px 16px;text-align:center;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap}.badge--primary{background:var(--primary-soft);color:var(--primary-dark)}.badge--success{background:var(--success-soft);color:#166534}.badge--warning{background:var(--warning-soft);color:#92400e}.badge--danger{background:var(--danger-soft);color:#991b1b}.badge--muted{background:#f1f5f9;color:#475569}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:background .15s,border .15s}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark)}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn--ghost:hover{background:#f8fafc}.btn--block{width:100%;justify-content:center}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field__label{font-size:12px;font-weight:500;color:var(--muted)}.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);color:var(--text);transition:border .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0e74901f}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login__pane{background:linear-gradient(135deg,#0f172a,#0e7490);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login__brand{display:flex;align-items:center;gap:12px}.login__brand-logo{width:40px;height:40px;background:#ffffff1f;border-radius:10px;display:grid;place-items:center;font-weight:700}.login__title{font-size:32px;font-weight:700;line-height:1.2;margin-top:60px}.login__sub{opacity:.85;max-width:420px;margin-top:14px;line-height:1.6}.login__footer{font-size:12px;opacity:.6}.login__form-pane{display:grid;place-items:center;padding:40px}.login__form{width:100%;max-width:360px}.login__form h2{font-size:22px;margin-bottom:4px}.login__form .muted{margin-bottom:28px}.login__error{background:var(--danger-soft);color:var(--danger);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.grid-2,.login{grid-template-columns:1fr}.login__pane{display:none}}
