/*
 * TrustNeo Premium UI
 * Original TrustNeo design language informed by ultra-minimal SaaS, premium fintech,
 * conversational support, and polished marketing patterns.
 */
:root{
  --tn-premium-ink:#0a2540;
  --tn-premium-text:#182230;
  --tn-premium-muted:#667085;
  --tn-premium-subtle:#98a2b3;
  --tn-premium-line:#e7eaf0;
  --tn-premium-line-strong:#d5dae3;
  --tn-premium-page:#f7f8fb;
  --tn-premium-surface:#ffffff;
  --tn-premium-surface-2:#fbfcfe;
  --tn-premium-sidebar:#111318;
  --tn-premium-sidebar-2:#17191f;
  --tn-premium-primary:var(--brand-primary,#2563eb);
  --tn-premium-accent:var(--brand-accent,#7c3aed);
  --tn-premium-blue:#146ef5;
  --tn-premium-help:#1f8ded;
  --tn-premium-radius:12px;
  --tn-premium-radius-lg:16px;
  --tn-premium-shadow:0 1px 2px rgba(16,24,40,.03),0 10px 30px rgba(16,24,40,.045);
  --tn-premium-shadow-pop:0 20px 60px rgba(15,23,42,.18);
  --tn77-sidebar:248px;
  --tn77-sidebar-collapsed:72px;
  --tn77-topbar:60px;
}

html,body{background:var(--tn-premium-page);color:var(--tn-premium-text)}
body{font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.005em}
a{color:var(--tn-premium-primary)}
::selection{background:rgba(99,91,255,.18)}

/* Public shell */
body.tn77-public{background:
  radial-gradient(circle at 88% -5%,rgba(124,58,237,.09),transparent 28rem),
  radial-gradient(circle at 0 8%,rgba(20,110,245,.08),transparent 26rem),
  var(--tn-premium-page)}
body.tn77-public>header{height:68px;background:rgba(255,255,255,.86);color:var(--tn-premium-ink);border-bottom:1px solid rgba(10,37,64,.08);box-shadow:none;backdrop-filter:blur(18px);position:sticky;top:0;z-index:100}
body.tn77-public>header .brand{color:var(--tn-premium-ink);font-weight:760;letter-spacing:-.04em}
body.tn77-public>header .brand:before{background:linear-gradient(135deg,var(--tn-premium-primary),var(--tn-premium-accent));color:#fff;box-shadow:0 7px 18px rgba(99,91,255,.2)}
body.tn77-public>header nav a{color:#425466;font-weight:650;padding:8px 10px;border-radius:9px}
body.tn77-public>header nav a:hover{background:#f0f3f8;color:var(--tn-premium-ink)}
body.tn77-public main{max-width:1180px}
body.tn77-public .hero{position:relative;max-width:840px;padding:88px 0 76px}
body.tn77-public .hero:before{content:"";position:absolute;inset:22px auto auto -60px;width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.08));filter:blur(2px);z-index:-1}
body.tn77-public .hero h2{font-size:clamp(2.7rem,6vw,4.8rem);line-height:.99;letter-spacing:-.058em;color:var(--tn-premium-ink);font-weight:760}
body.tn77-public .hero p{font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65;color:#53657a;max-width:690px}

/* Core surfaces */
.card{background:var(--tn-premium-surface);border:1px solid var(--tn-premium-line);border-radius:var(--tn-premium-radius-lg);box-shadow:0 1px 2px rgba(16,24,40,.025);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.card:hover{border-color:#d8dde7;box-shadow:var(--tn-premium-shadow)}
.grid{gap:16px}.two-col{gap:16px}
h1,h2,h3{color:var(--tn-premium-ink)}
h1{font-weight:740;letter-spacing:-.045em}h2{font-weight:700;letter-spacing:-.035em}h3{font-weight:690;letter-spacing:-.025em}
.muted,small,.stats span{color:var(--tn-premium-muted)}
hr{border:0;border-top:1px solid var(--tn-premium-line)}

/* Buttons: precise SaaS geometry with restrained fintech gradient */
.btn,button,input[type=submit]{border-radius:10px;font-weight:700;letter-spacing:-.012em;background:linear-gradient(135deg,var(--tn-premium-primary),var(--tn-premium-accent));box-shadow:0 1px 2px rgba(16,24,40,.08),0 5px 14px rgba(37,99,235,.12)}
.btn:hover,button:hover,input[type=submit]:hover{filter:saturate(1.04) brightness(.98);box-shadow:0 5px 18px rgba(37,99,235,.17);transform:translateY(-1px)}
.btn.secondary,button.secondary{background:#344054;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.btn.ghost,button.ghost{background:#fff;color:#344054;border:1px solid var(--tn-premium-line-strong);box-shadow:0 1px 2px rgba(16,24,40,.03)}
.btn.ghost:hover,button.ghost:hover{background:#f8fafc;border-color:#c7cdd8;color:var(--tn-premium-ink)}
.btn.danger,button.danger{background:#d92d20}.btn.warning,button.warning{background:#dc6803}

/* Form language */
.form label,label{color:#344054;font-weight:650;letter-spacing:-.005em}
input,select,textarea{background:#fff;color:#182230;border:1px solid #d5dae3;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,.025);transition:border-color .15s,box-shadow .15s,background .15s}
input:hover,select:hover,textarea:hover{border-color:#b9c0cc}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--tn-premium-primary);box-shadow:0 0 0 3px rgba(37,99,235,.11)}
input::placeholder,textarea::placeholder{color:#98a2b3}

/* Data surfaces */
table{border:1px solid var(--tn-premium-line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.025)}
th{background:#fafbfc;color:#475467;text-transform:none;font-size:.78rem;font-weight:720;letter-spacing:.005em}
th,td{border-bottom-color:#edf0f4;padding:12px 14px}
tbody tr{transition:background .12s}tbody tr:hover{background:#fafbff}
.pill,.badge,.tn-badge{background:#f0f2ff;color:#5147cd;border:1px solid #e2e5ff;font-weight:720}
.flash{border-radius:12px;box-shadow:none}

/* Authenticated app shell */
body.tn77-auth{background:
  radial-gradient(circle at 80% -12%,rgba(99,91,255,.05),transparent 30rem),
  var(--tn-premium-page)}
.tn77-sidebar{background:linear-gradient(180deg,var(--tn-premium-sidebar),#0d0f13);border-right:1px solid rgba(255,255,255,.07);box-shadow:inset -1px 0 rgba(255,255,255,.015)}
.tn77-brand-row{height:68px;padding:0 12px;border-bottom-color:rgba(255,255,255,.07)}
.tn77-brand{grid-template-columns:36px 1fr;grid-template-rows:19px 15px;gap:0 8px}
.tn77-brand>span{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6d5dfc,#315cf4);color:#fff;box-shadow:0 7px 20px rgba(80,71,205,.28);font-weight:800}
.tn77-brand strong{font-size:15px;font-weight:730;letter-spacing:-.025em}.tn77-brand small{font-size:10px;color:#737986;letter-spacing:.02em}
.tn77-sidebar .tn77-icon-btn{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);color:#aeb4c0}.tn77-sidebar .tn77-icon-btn:hover{background:rgba(255,255,255,.085);color:#fff}
.tn77-side-search{padding:12px 10px 10px}.tn77-side-search button{min-height:38px;border-radius:9px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.075);color:#9da4b1;box-shadow:none;padding:8px 10px}
.tn77-side-search button:hover{background:rgba(255,255,255,.075);color:#e6e9ee;transform:none}
.tn77-nav{padding:0 8px 18px}.tn77-nav section{margin:3px 0 7px}.tn77-group-title{color:#656b77!important;font-size:9px;letter-spacing:.095em;padding:6px 9px!important;font-weight:760}
.tn77-group-links{gap:2px}.tn77-group-links a,.tn77-sidebar-foot a{min-height:35px;padding:7px 9px;border-radius:8px;color:#aeb4c0;font-size:12.5px;font-weight:560;letter-spacing:-.006em;position:relative}
.tn77-group-links a i,.tn77-sidebar-foot a i{width:21px;color:#747b88;font-size:13px}
.tn77-group-links a:hover,.tn77-sidebar-foot a:hover{background:rgba(255,255,255,.055);color:#f4f5f7}
.tn77-group-links a[aria-current=page]{background:linear-gradient(90deg,rgba(99,91,255,.21),rgba(99,91,255,.08));color:#fff;box-shadow:inset 1px 0 rgba(145,135,255,.7)}
.tn77-group-links a[aria-current=page] i{color:#b9b2ff}
.tn77-sidebar-foot{padding:10px 8px;border-top-color:rgba(255,255,255,.07)}
.tn77-logout-form button{min-height:35px!important;padding:7px 9px!important;color:#aeb4c0!important;background:transparent!important;box-shadow:none!important;font-size:12.5px}.tn77-logout-form button:hover{background:rgba(255,255,255,.055)!important;color:#f4f5f7!important;transform:none!important}

.tn77-workspace{background:transparent}
.tn77-topbar{height:var(--tn77-topbar);min-height:var(--tn77-topbar);background:rgba(255,255,255,.86);backdrop-filter:blur(20px) saturate(1.25);border-bottom:1px solid rgba(10,37,64,.075);padding:0 26px}
.tn77-breadcrumbs{font-size:12px;color:#98a2b3}.tn77-breadcrumbs a{color:#667085}.tn77-breadcrumbs strong{color:#344054;font-weight:650}
.tn77-search-trigger{min-height:34px;padding:6px 9px;border-radius:9px;background:#fff;color:#667085;border-color:#e0e4ea;font-size:12px}.tn77-search-trigger:hover{background:#f9fafb;border-color:#cfd5de}
.tn77-icon-btn{width:35px;height:35px;min-height:35px;border-radius:9px;border-color:#e2e6ec;color:#475467;background:#fff}
.tn77-avatar{width:35px;height:35px;background:linear-gradient(135deg,#eef2ff,#e8edff);color:#5147cd;border:1px solid #dfe3ff;font-size:12px}
.tn88-connectivity{background:#fff;border-color:#e1e5eb;color:#667085;box-shadow:none}
.tn77-main{padding:26px 30px 48px;max-width:1500px;width:100%;margin:0 auto}
.tn77-page-head{margin-bottom:20px;padding:0 0 16px;border-bottom:1px solid #e8ebf0}
.tn77-page-head h1{font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:730;letter-spacing:-.048em}
.tn77-eyebrow{font-size:9px;letter-spacing:.105em;color:#8a93a1;font-weight:760}
.tn77-page-tools{gap:8px}.tn77-page-tools .pill{font-size:10px}
.tn77-footer{padding:15px 30px;border-top-color:#e8ebf0;color:#98a2b3;background:rgba(255,255,255,.45)}

/* Command palette & drawers */
.tn77-command{background:rgba(8,13,24,.52);backdrop-filter:blur(5px)}
.tn77-command-panel{border-radius:16px;border:1px solid rgba(255,255,255,.16);box-shadow:var(--tn-premium-shadow-pop)}
.tn77-command-input{padding:11px 13px;background:#fff}.tn77-command-input input{font-size:15px}.tn77-command-results{padding:7px}
.tn77-command-group small{font-size:9px;color:#98a2b3}.tn77-command-group a{border-radius:9px;font-size:13px}.tn77-command-group a:hover,.tn77-command-group a.is-selected{background:#f1f3ff;color:#4238ca}
.tn87-drawer,.tn94-drawer{box-shadow:-18px 0 70px rgba(15,23,42,.16)}

/* KPI / dashboard polish */
.stats .card,.tn84-kpi,.tn88-kpi{position:relative;overflow:hidden}
.stats .card:before,.tn84-kpi:before,.tn88-kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--tn-premium-primary),var(--tn-premium-accent));opacity:.72}
.stats b,.metric{color:var(--tn-premium-ink);font-weight:740}
.tn92-banner{background:linear-gradient(105deg,#fff,#f8f7ff);border-color:#e5e2ff;box-shadow:none}

/* Finance: keep data dense but visually premium */
.tn84-hero,.tn88-hero{background:
  radial-gradient(circle at 90% 0,rgba(255,255,255,.17),transparent 25%),
  linear-gradient(120deg,#111a3a 0%,#273f8f 52%,#654de8 100%);border:0;box-shadow:0 16px 40px rgba(49,46,129,.17)}
.tn84-wallet-card{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.2),transparent 26%),linear-gradient(135deg,#18285f,#5b45d8);box-shadow:0 18px 38px rgba(67,56,202,.20)}
.tn84-panel,.tn84-kpi,.tn84-method{border-color:var(--tn-premium-line)}

/* Responsive */
@media(max-width:980px){
  .tn77-topbar{padding:0 14px}.tn77-main{padding:20px 15px calc(var(--tn88-bottom-nav-height) + var(--tn88-safe-bottom) + 34px)}
  .tn77-sidebar{width:min(292px,88vw)}
  .tn88-bottom-nav{background:rgba(255,255,255,.93);border-top-color:#e1e5eb;box-shadow:0 -8px 26px rgba(15,23,42,.08)}
  .tn88-bottom-nav a[aria-current=page],.tn88-bottom-nav a:active,.tn88-bottom-nav button:active{color:#5147cd;background:#f0efff}
}
@media(max-width:620px){
  body.tn77-public>header{padding:13px 15px}.tn77-main{padding-inline:13px}.card{border-radius:13px}
  .tn77-page-head h1{font-size:1.55rem}.stats{gap:10px}
}

/* Dark theme compatibility */
html[data-theme="dark"]:not([data-theme="high-contrast"]){
  --tn-premium-ink:#f5f7fb;--tn-premium-text:#e7eaf0;--tn-premium-muted:#a9b0bd;--tn-premium-subtle:#7f8794;
  --tn-premium-line:#29303a;--tn-premium-line-strong:#39424e;--tn-premium-page:#0b0d11;--tn-premium-surface:#12151a;--tn-premium-surface-2:#15191f;
}
html[data-theme="dark"] body.tn77-auth{background:#0b0d11;color:#e7eaf0}
html[data-theme="dark"] .tn77-topbar{background:rgba(18,21,26,.9);border-bottom-color:#262c34}
html[data-theme="dark"] .tn77-breadcrumbs strong,html[data-theme="dark"] .tn77-search-trigger,html[data-theme="dark"] .tn77-icon-btn{color:#d7dbe3}
html[data-theme="dark"] .tn77-search-trigger,html[data-theme="dark"] .tn77-icon-btn,html[data-theme="dark"] .tn88-connectivity{background:#15191f;border-color:#2c333d}
html[data-theme="dark"] .card,html[data-theme="dark"] table,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#12151a;color:#e7eaf0;border-color:#29303a}
html[data-theme="dark"] th{background:#171b21;color:#b6bdc8}html[data-theme="dark"] tbody tr:hover{background:#161a20}
html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] button.ghost{background:#15191f;color:#d7dbe3;border-color:#343c47}
html[data-theme="dark"] .tn77-command-panel,html[data-theme="dark"] .tn77-command-input{background:#12151a;color:#e7eaf0}
html[data-theme="dark"] .tn77-command-group a{color:#d7dbe3}html[data-theme="dark"] .tn77-command-group a:hover,html[data-theme="dark"] .tn77-command-group a.is-selected{background:#24213c;color:#d9d5ff}
html[data-theme="dark"] .tn77-page-head,html[data-theme="dark"] .tn77-footer{border-color:#272d35}

@media(prefers-reduced-motion:reduce){.card,.btn,button,input,select,textarea{transition:none!important;transform:none!important}}
/* Phase 112 admin security navigation hotfix */
.tn-identity-enrollment-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.tn-identity-enrollment-notice>div{display:flex;flex-direction:column;gap:4px}.tn-identity-enrollment-notice span{font-size:13px;line-height:1.5}.tn-identity-enrollment-notice .btn{flex:0 0 auto}@media(max-width:720px){.tn-identity-enrollment-notice{align-items:flex-start;flex-direction:column}.tn-identity-enrollment-notice .btn{width:100%;text-align:center}}
