@import url("https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&display=swap");
:root{
  font-family:"Sora",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;
  color-scheme:dark;
  color:#eef7fb;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;
  background:
    linear-gradient(180deg, rgba(4,16,23,.62), rgba(4,16,23,.80)),
    url('/assets/tech-bg.svg') center center / cover fixed no-repeat,
    #07141c;
}
button,input,select,textarea{font:inherit}
a{color:#9bf8f2;text-decoration:none}a:hover{text-decoration:underline}
button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a8fff7;outline-offset:3px}
button,.btn{
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));
  border:1px solid rgba(232,247,255,.20);
  color:#f8feff;
  font-weight:500;
  border-radius:16px;
  padding:11px 16px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  text-decoration:none;white-space:normal;line-height:1.25;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20), 0 10px 30px rgba(7,20,28,.18);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
button:hover:not(:disabled),.btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.12));text-decoration:none}
.btn-muted,button.muted-button,.help-btn{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07));border:1px solid rgba(232,247,255,.16);color:#eef9fb}
.btn-danger{background:linear-gradient(180deg,rgba(255,153,170,.18),rgba(255,153,170,.10));border:1px solid rgba(255,192,203,.24);color:#fff0f3}
.btn-sm{font-size:12px;padding:8px 12px}.link-button{background:transparent;border:0;color:#9bf8f2;padding:5px;font-weight:500}
.app-top{
  height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(13,30,40,.62),rgba(13,30,40,.40));
  backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%);
  padding:10px clamp(16px,4vw,42px);position:sticky;top:0;z-index:20;
}
.brand-img{width:172px;height:49px;object-fit:contain;object-position:left;filter:drop-shadow(0 6px 20px rgba(98,238,226,.20))}
.top-actions{display:flex;align-items:center;gap:14px}.top-actions .role{color:#d2e8eb;font-size:12px;font-weight:400}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px);max-width:1520px;margin:auto}
.sidebar{
  padding:24px 14px 24px;border-right:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
}
.nav-label{font-weight:500;color:#d2eaee;letter-spacing:.16em;font-size:10px;padding:7px 13px 12px;text-transform:uppercase}
.nav-item{color:#edf8fb;display:flex;align-items:center;gap:12px;border-radius:16px;padding:12px 14px;font-size:14px;font-weight:400;margin:3px 0;width:100%;background:transparent;border:1px solid transparent;text-align:left;justify-content:flex-start;transition:.18s ease}
.nav-item.active{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.09));border-color:rgba(255,255,255,.16);color:#fff}.nav-item:hover{background:rgba(255,255,255,.08);color:white;text-decoration:none}.nav-item .nav-icon{font-size:16px;width:20px;text-align:center}.nav-item .count{margin-left:auto;background:rgba(130,255,245,.14);color:#b7fff8;padding:2px 7px;border-radius:999px;font-size:11px}
.side-note{margin:32px 9px;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;font-size:12px;line-height:1.65;color:#d2e7ea;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));backdrop-filter:blur(14px)}
.main{max-width:1240px;width:100%;padding:34px clamp(16px,3vw,38px) 90px;margin:0 auto}
.eyebrow{color:#9dfaf1;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:500;margin-bottom:10px}
.page-title{font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.08;letter-spacing:-.04em;margin:0 0 10px}
.page-subtitle{color:#d7e8ec;font-size:15px;line-height:1.72;max-width:780px;margin:0 0 28px;font-weight:300}
.section-title{font-size:19px;letter-spacing:-.02em;margin:0 0 6px;font-weight:600}.section-desc{font-size:13px;color:#d1e2e6;line-height:1.65;margin:0 0 18px;font-weight:300}
.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:15px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;padding:22px;min-width:0;overflow-wrap:anywhere;
  box-shadow:0 20px 40px rgba(7,20,28,.18), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(24px) saturate(155%); -webkit-backdrop-filter:blur(24px) saturate(155%);
}
.card-inset{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:15px;backdrop-filter:blur(12px)}
.card-click:hover{border-color:rgba(160,255,247,.30)}
.stat-label{font-size:12px;color:#d8e9ed;font-weight:400}.stat-value{font-size:28px;font-weight:600;letter-spacing:-.05em;margin:7px 0}.stat-foot{font-size:11px;color:#d2e5e8;font-weight:300}.mint{color:#b2fff8}.muted{color:#d6e6e9}.mini{font-size:12px}.hidden{display:none!important}
.badge{font-size:11px;font-weight:500;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);color:#f5fbfd;display:inline-flex;align-items:center;gap:5px}.badge.warn{background:rgba(255,218,150,.14);border-color:rgba(255,224,176,.20);color:#fff1ca}.badge.gray{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.10);color:#ebf6f8}.badge.red{background:rgba(255,166,176,.14);border-color:rgba(255,196,203,.18);color:#ffe1e6}
.spacer{height:23px}.divider{height:1px;background:rgba(255,255,255,.10);margin:17px 0}.field{margin-bottom:16px}label.field-title{font-size:12px;font-weight:500;color:#f2fcfd;margin-bottom:7px;display:block}
input,textarea,select{width:100%;min-width:0;background:rgba(255,255,255,.10);color:#f7fdff;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:11px 12px;font-size:13px;backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
select{appearance:auto}textarea{resize:vertical;min-height:95px;line-height:1.65}input::placeholder,textarea::placeholder{color:#c6dadd}input[type=checkbox]{width:auto;accent-color:#70f8eb;margin-right:8px}
.hint{font-size:11px;color:#d0e2e5;margin-top:5px;line-height:1.5;font-weight:300}.callout{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:15px;color:#f2fdfd;font-size:13px;line-height:1.6}.callout.warn{background:linear-gradient(180deg,rgba(255,216,146,.14),rgba(255,216,146,.08));border-color:rgba(255,224,178,.18);color:#fff1d0}
.notice{min-height:0}.notice:not(:empty){background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.16);color:#f6feff;padding:13px 16px;margin:14px 0;border-radius:18px;font-size:13px;line-height:1.5;backdrop-filter:blur(18px)}.notice.error{background:linear-gradient(180deg,rgba(255,173,185,.18),rgba(255,173,185,.10));border-color:rgba(255,205,211,.20);color:#fff4f6}
.list-row{border-bottom:1px solid rgba(255,255,255,.08);padding:15px 0;display:flex;justify-content:space-between;gap:15px;align-items:center}.list-row:last-child{border-bottom:0}.list-row h3{font-size:14px;margin:0 0 4px;font-weight:600}.list-row p{font-size:12px;color:#d7e7ea;margin:3px 0;line-height:1.6;font-weight:300}.list-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.empty{border:1px dashed rgba(255,255,255,.16);border-radius:18px;padding:24px;text-align:center;color:#dcebee;font-size:13px;line-height:1.6;background:rgba(255,255,255,.05)}.empty .emoji{font-size:27px;display:block;margin-bottom:6px}.pre{white-space:pre-wrap;word-break:break-word;line-height:1.65;font-size:13px;color:#f4fdff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:15px;border-radius:16px;max-height:520px;overflow:auto;font-weight:300}
.tabbar{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;margin:22px 0}.tab{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#eef8fb;border-radius:999px;padding:10px 15px;font-size:12px;white-space:nowrap;font-weight:400}.tab.active{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.12));color:#ffffff;border-color:rgba(255,255,255,.18)}
.footer{color:#d0e3e6;font-size:11px;text-align:center;margin-top:35px;font-weight:300}.subtle{font-size:12px;line-height:1.6;color:#dbe9ec;font-weight:300}.w-100{width:100%}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.detail-panel{margin:15px 0}.summary{display:grid;gap:13px;grid-template-columns:repeat(3,minmax(0,1fr))}.score-pill{font-size:19px;font-weight:600;color:#c0fff9}.toast{position:fixed;bottom:20px;right:20px;background:linear-gradient(180deg,rgba(19,40,49,.90),rgba(19,40,49,.82));border:1px solid rgba(255,255,255,.14);color:#edfffa;padding:12px 16px;border-radius:16px;z-index:100;max-width:370px;box-shadow:0 18px 50px rgba(0,0,0,.24);font-size:13px;backdrop-filter:blur(18px)}.toast.error{background:linear-gradient(180deg,rgba(84,38,47,.92),rgba(64,27,35,.86));border-color:rgba(255,194,204,.20)}
.progress{height:8px;background:rgba(255,255,255,.08);border-radius:20px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#79fff2,#69b9ff,#a78cff);border-radius:20px}.all-good{color:#c9ffee}.inline-link{background:transparent;padding:0;border:0;color:#9ef9f2;display:inline;font-weight:500;text-align:left}.mobile-menu{display:none}.small-head{margin:0 0 10px;font-size:15px;font-weight:600}.float-filter{max-width:225px}.accordion-title{border:0;padding:9px 0;background:transparent;color:#f5fdff;width:100%;display:flex;justify-content:space-between;text-align:left;font-size:14px;font-weight:500}.accordion-body{padding:12px 0;border-top:1px solid rgba(255,255,255,.10)}.section-block{scroll-margin-top:90px}
.gloss-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:12px;color:#f6feff;font-weight:400}
.metric-pair{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:1040px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:190px minmax(0,1fr)}.main{padding:25px 20px 70px}}
@media(max-width:750px){body{background:linear-gradient(180deg, rgba(4,16,23,.68), rgba(4,16,23,.84)), url('/assets/tech-bg.svg') 68% center / cover fixed no-repeat, #07141c}.app-shell{display:block}.sidebar{display:none}.sidebar.open{display:block;position:fixed;z-index:19;top:78px;left:0;width:235px;max-height:calc(100vh - 78px);overflow:auto;box-shadow:0 0 0 100vw rgba(0,0,0,.45)}.mobile-menu{display:inline-flex}.grid-2,.grid-3{grid-template-columns:1fr}.main{padding:20px 16px 60px}.brand-img{width:148px;height:42px}.top-actions{gap:7px}.top-actions .role{display:none}.page-title{font-size:28px}.list-row{align-items:flex-start;flex-direction:column}.list-actions{justify-content:flex-start}.summary{grid-template-columns:1fr}.grid-4{gap:9px}.stat-value{font-size:23px}}
@media(max-width:400px){.grid-4{grid-template-columns:1fr 1fr}.card{padding:16px}.app-top{padding:10px 12px}.top-actions .btn-sm{padding:7px}}

.page-title,.section-title,.list-row h3{ text-shadow:0 2px 12px rgba(0,0,0,.18); }
.page-subtitle,.muted,.subtle,.section-desc,.list-row p{ color:#e0eef1; }
select, .preview-select{ color:#f7fdff; }
option{ background:#f4f8fb; color:#10202b; }
