:root{
  --bg:#eef3f8;
  --bg-soft:#f7f9fc;
  --card:#ffffff;
  --card-2:#f8fbff;
  --ink:#122033;
  --muted:#66758c;
  --line:#d9e4f2;
  --line-strong:#c7d6ea;
  --brand:#17457a;
  --brand-dark:#0b2f55;
  --brand-2:#0f766e;
  --brand-3:#3867d6;
  --gold:#d99021;
  --danger:#b42318;
  --warn:#b54708;
  --good:#087443;
  --info:#1d4ed8;
  --shadow-sm:0 8px 22px rgba(15,35,70,.08);
  --shadow:0 18px 45px rgba(15,35,70,.12);
  --shadow-lg:0 28px 80px rgba(10,25,50,.18);
  --radius:20px;
  --radius-sm:14px;
  --focus:0 0 0 4px rgba(56,103,214,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.48;
  background:
    radial-gradient(circle at top left,rgba(56,103,214,.12),transparent 34rem),
    radial-gradient(circle at top right,rgba(15,118,110,.10),transparent 30rem),
    linear-gradient(180deg,#f7fbff 0%,var(--bg) 38%,#f7f9fc 100%);
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(15,47,85,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,47,85,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 70%);
  z-index:-1;
}

.topbar{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(11,47,85,.98),rgba(23,69,122,.95) 48%,rgba(15,118,110,.94)),
    radial-gradient(circle at 85% 15%,rgba(217,144,33,.34),transparent 24rem);
  color:white;
  padding:26px clamp(16px,4vw,48px) 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
  box-shadow:0 16px 44px rgba(7,26,50,.24);
}
.topbar::after{
  content:"";
  position:absolute;
  right:-6rem;
  top:-10rem;
  width:34rem;
  height:34rem;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 58%);
}
.brand-row{position:relative;z-index:1;display:flex;gap:16px;align-items:center;max-width:980px}
.logo{
  width:66px;height:66px;flex:0 0 auto;
  border-radius:20px;
  background:rgba(255,255,255,.16);
  padding:8px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 16px 38px rgba(0,0,0,.18);
}
.eyebrow{margin:0 0 6px;color:#587097;text-transform:uppercase;font-weight:900;font-size:.75rem;letter-spacing:.105em}
.topbar .eyebrow{color:#b9ddff}
.topbar h1{margin:0;font-size:clamp(1.45rem,3.2vw,2.55rem);letter-spacing:-.045em;line-height:1.04}
.subtitle{margin:8px 0 0;color:#dfeefe;max-width:920px;font-size:clamp(.92rem,1.3vw,1.05rem)}
.top-actions,.button-row,.cta-row,.table-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.top-actions{position:relative;z-index:1}

button{
  border:0;
  border-radius:999px;
  padding:10px 16px;
  font-weight:850;
  letter-spacing:.005em;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
  background:#eaf1fb;
  color:var(--ink);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
button:active{transform:translateY(0);box-shadow:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus);border-color:#7aa7ff}
.primary{background:linear-gradient(135deg,var(--brand),#2d63a4);color:white;box-shadow:0 10px 24px rgba(23,69,122,.22)}
.secondary{background:#e7f2ff;color:#153f6d;border:1px solid #cfe3fb}
.ghost{background:rgba(255,255,255,.13);color:white;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.ghost:hover{background:rgba(255,255,255,.20)}
.danger{background:#fee4e2!important;color:#912018!important;border-color:#fda29b!important}

.nav-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px clamp(12px,3vw,38px);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(203,216,235,.9);
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:0 8px 20px rgba(15,35,70,.045);
  scrollbar-width:thin;
}
.nav-tabs::-webkit-scrollbar{height:8px}.nav-tabs::-webkit-scrollbar-thumb{background:#c7d6ea;border-radius:999px}
.nav-btn{
  white-space:nowrap;
  background:transparent;
  color:#31516f;
  border:1px solid transparent;
  padding:9px 14px;
  box-shadow:none;
}
.nav-btn:hover{background:#edf5ff;box-shadow:none}
.nav-btn.active{background:linear-gradient(135deg,var(--brand),#2d63a4);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(23,69,122,.18)}

main{padding:28px clamp(12px,3vw,40px);max-width:1540px;margin:0 auto}.screen{display:none}.active-screen{display:block;animation:screenIn .22s ease both}@keyframes screenIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero-grid,.split-grid,.dashboard-grid,.report-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);gap:20px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}
.card,.mini-card,.metric{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94));
  border:1px solid rgba(201,216,235,.92);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:19px;
  position:relative;
  overflow:hidden;
}
.card::before,.mini-card::before,.metric::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--gold));
  opacity:.12;
}
.card h3,.mini-card h3{margin:0 0 10px;font-size:1.08rem;letter-spacing:-.015em}.card h2,.section-head h2{letter-spacing:-.035em}.hero-card{background:linear-gradient(145deg,#ffffff 0%,#f5f9ff 52%,#eef8f6 100%)}.hero-card h2{font-size:clamp(1.85rem,4vw,3.4rem);line-height:1.03;margin:8px 0 13px;color:#10243d}.hero-card p{font-size:1.02rem;color:#465c76}.mini-card{padding:17px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.mini-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#bdd1e9}.mini-card p{margin:0;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.section-head h2{margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{padding:16px;background:linear-gradient(180deg,#fff,#f7fbff)}.metric strong{display:block;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.04em;color:#10243d}.metric span{color:var(--muted);font-size:.88rem;font-weight:700}.metric:nth-child(1)::before{opacity:.5;background:linear-gradient(90deg,#17457a,#3867d6)}.metric:nth-child(2)::before{opacity:.5;background:linear-gradient(90deg,#0f766e,#14b8a6)}.metric:nth-child(3)::before{opacity:.5;background:linear-gradient(90deg,#b54708,#f59e0b)}.metric:nth-child(4)::before{opacity:.5;background:linear-gradient(90deg,#b42318,#ef4444)}.metric:nth-child(5)::before{opacity:.5;background:linear-gradient(90deg,#4f46e5,#8b5cf6)}

.form-card{overflow:visible}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}label span{display:block;font-weight:850;font-size:.85rem;margin-bottom:6px;color:#263c55}input,select,textarea{
  width:100%;padding:11px 13px;border:1px solid #c8d6ea;border-radius:13px;background:#fff;color:var(--ink);font:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:hover,select:hover,textarea:hover{border-color:#aebfda}textarea{min-height:90px;resize:vertical}.wide{grid-column:1/-1}.mono-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;background:#0d1b2e;color:#d6e9ff;border-color:#1e3a5f}.hint{color:var(--muted);font-size:.9rem}.warning-card{border-color:#fed7aa;background:linear-gradient(180deg,#fffaf0,#fff7ed)}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#ecfdf3;color:#05603a;font-weight:850;border:1px solid #bbf7d0}.flow-block{display:grid;gap:11px}.flow-block div{border:1px solid var(--line);border-radius:16px;padding:13px;background:linear-gradient(180deg,#f8fbff,#fff)}.flow-block strong,.flow-block span{display:block}.flow-block span{color:var(--muted);font-size:.9rem;margin-top:3px}
.list,.timeline{display:grid;gap:11px}.row-card{border:1px solid rgba(201,216,235,.92);border-radius:16px;padding:13px;background:linear-gradient(180deg,#fbfdff,#fff);box-shadow:0 6px 16px rgba(15,35,70,.045)}.row-card h4{margin:0 0 5px;letter-spacing:-.015em}.row-card:hover{border-color:#b8cae2}.muted{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:.77rem;font-weight:900;background:#e9eff8;color:#2f4660}.status.good{background:#dcfae6;color:#067647}.status.warn{background:#fef0c7;color:#93370d}.status.danger{background:#fee4e2;color:#b42318}.status.info{background:#dbeafe;color:#1d4ed8}.status.critical{background:#fee2e2;color:#7f1d1d}.status.very-high{background:#ffedd5;color:#9a3412}.status.high{background:#fef3c7;color:#92400e}.status.medium{background:#e0f2fe;color:#075985}.status.low{background:#dcfce7;color:#166534}.status.suppressed{background:#f1f5f9;color:#334155}.status.verified{background:#dcfce7;color:#166534}.status.defective,.status.expired{background:#fee2e2;color:#991b1b}.status.uploaded{background:#dbeafe;color:#1d4ed8}
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.table th,.table td{border-bottom:1px solid var(--line);padding:10px 11px;text-align:left;vertical-align:top}.table tr:last-child td{border-bottom:0}.table th{color:#28435f;background:#f3f7fc;font-weight:900}.table tbody tr:hover td{background:#f9fcff}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.check{border:1px solid var(--line);border-radius:14px;padding:11px;background:#fbfdff}.report-grid{grid-template-columns:1fr 1fr}
.compact-form{grid-template-columns:1fr 1fr;margin-bottom:12px}.template-box{border:1px dashed #93c5fd;background:#eff6ff;border-radius:16px;padding:13px;color:#14365d;font-weight:700}.strategy-card{border-left:5px solid var(--brand)}.doc-vault-card,.call-task-card{border-left:5px solid var(--brand-2)}.mobile-shell{border:1px solid #d6e4ff;box-shadow:0 16px 38px rgba(15,35,70,.10);background:linear-gradient(180deg,#fff,#f6fbff)}.loan-card h4{margin:0 0 7px}.loan-card .status{display:inline-flex;margin-top:6px}.row-card .status{margin-top:4px}
.notify{position:fixed;right:18px;bottom:18px;z-index:80;max-width:min(430px,calc(100vw - 36px));padding:13px 15px;border-radius:16px;background:#111827;color:#fff;box-shadow:0 18px 48px rgba(0,0,0,.24);font-weight:800}.notify-good{background:#047857}.notify-warn{background:#b45309}.notify-danger{background:#b91c1c}
footer{text-align:center;color:var(--muted);padding:34px}.print-only{display:none}
@media(max-width:1180px){.feature-grid,.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid,.split-grid,.dashboard-grid,.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{align-items:flex-start;padding:20px 14px}.brand-row{align-items:flex-start}.logo{width:50px;height:50px;border-radius:16px}.top-actions,.button-row,.cta-row,.table-actions{width:100%}.top-actions button,.button-row button{flex:1}.feature-grid,.metric-grid,.form-grid,.check-grid,.compact-form{grid-template-columns:1fr}.card,.mini-card,.metric{padding:15px;border-radius:16px}.nav-tabs{gap:6px;padding:10px 10px}.nav-btn{padding:9px 12px;font-size:.83rem}.section-head{align-items:flex-start}.mobile-shell{border-radius:28px;padding:18px}}
@media print{.topbar,.nav-tabs,.top-actions,.button-row,button,.form-card,.table-actions,footer,.notify{display:none!important}body{background:white;color:#111}.screen{display:block!important}.card,.mini-card,.metric{box-shadow:none;break-inside:avoid;border-color:#ddd}.print-only{display:block}.table th{background:#f5f5f5!important}}
