/* TrustNeo Phase 76 Design System Foundation */
:root{
 --tn-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 --tn-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
 --tn-text-xs:.75rem;--tn-text-sm:.875rem;--tn-text-md:1rem;--tn-text-lg:1.125rem;--tn-text-xl:1.375rem;--tn-text-2xl:1.875rem;--tn-text-3xl:2.5rem;
 --tn-space-1:.25rem;--tn-space-2:.5rem;--tn-space-3:.75rem;--tn-space-4:1rem;--tn-space-5:1.25rem;--tn-space-6:1.5rem;--tn-space-8:2rem;--tn-space-10:2.5rem;--tn-space-12:3rem;
 --tn-radius-sm:.5rem;--tn-radius-md:.75rem;--tn-radius-lg:1rem;--tn-radius-xl:1.25rem;--tn-radius-pill:999px;
 --tn-shadow-xs:0 1px 2px rgba(16,24,40,.05);--tn-shadow-sm:0 2px 8px rgba(16,24,40,.07);--tn-shadow-md:0 12px 28px rgba(16,24,40,.10);--tn-shadow-focus:0 0 0 4px rgba(18,108,91,.16);
 --tn-brand-50:#edfdf7;--tn-brand-100:#d3f8ea;--tn-brand-300:#6ce1bc;--tn-brand-500:#16a37f;--tn-brand-600:#126c5b;--tn-brand-700:#105849;--tn-brand-900:#0b3029;
 --tn-gray-25:#fcfcfd;--tn-gray-50:#f8fafc;--tn-gray-100:#f1f5f9;--tn-gray-200:#e2e8f0;--tn-gray-300:#cbd5e1;--tn-gray-500:#64748b;--tn-gray-600:#475569;--tn-gray-700:#334155;--tn-gray-800:#1e293b;--tn-gray-900:#0f172a;
 --tn-success-50:#ecfdf3;--tn-success-700:#027a48;--tn-warning-50:#fffaeb;--tn-warning-700:#b54708;--tn-danger-50:#fef3f2;--tn-danger-700:#b42318;--tn-info-50:#eff8ff;--tn-info-700:#175cd3;
 --tn-bg:#f5f7fa;--tn-surface:#fff;--tn-surface-subtle:#f8fafc;--tn-text:#172033;--tn-text-muted:#667085;--tn-border:#e2e8f0;--tn-border-strong:#cbd5e1;
 --tn-control-h:42px;--tn-content:1240px;
}
html{color-scheme:light;scroll-behavior:smooth}body{font-family:var(--tn-font-sans);background:var(--tn-bg);color:var(--tn-text);text-rendering:optimizeLegibility}
*:focus-visible{outline:2px solid var(--tn-brand-500);outline-offset:2px}.skip-link{position:fixed;left:var(--tn-space-4);top:-80px;z-index:10000;background:var(--tn-gray-900);color:#fff;padding:var(--tn-space-3) var(--tn-space-4);border-radius:var(--tn-radius-md)}.skip-link:focus{top:var(--tn-space-4)}
header{min-height:72px;height:auto;background:linear-gradient(120deg,#0f172a,#142d2a);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:var(--tn-shadow-sm);position:sticky;top:0;z-index:100;padding-block:var(--tn-space-3)}
.brand{display:inline-flex;align-items:center;gap:10px;letter-spacing:-.03em}.brand:before{content:"T";display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--tn-brand-300),var(--tn-brand-500));color:var(--tn-brand-900);font-size:18px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.5)}
header nav{max-height:42px;overflow:hidden;align-items:center;gap:6px;flex:1;justify-content:flex-end}header nav.is-open{max-height:70vh;overflow:auto;padding:10px;background:#101828;border-radius:var(--tn-radius-lg);position:absolute;left:24px;right:24px;top:64px;box-shadow:var(--tn-shadow-md)}header nav a{padding:8px 10px;border-radius:8px;font-size:var(--tn-text-sm);white-space:nowrap}header nav a:hover,header nav a[aria-current="page"]{background:rgba(126,231,196,.14);color:#a7f3d0}
.tn-nav-toggle{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15)}
main{width:100%;max-width:var(--tn-content);padding:var(--tn-space-8) var(--tn-space-6)}.page-head{margin-bottom:var(--tn-space-6);padding-bottom:var(--tn-space-4);border-bottom:1px solid var(--tn-border)}.page-head h1{margin:0;letter-spacing:-.025em;font-size:clamp(1.65rem,3vw,var(--tn-text-2xl));line-height:1.2}
h1,h2,h3{color:var(--tn-gray-900);letter-spacing:-.018em}h2{font-size:var(--tn-text-xl);margin-top:var(--tn-space-8)}h3{font-size:var(--tn-text-lg)}p{max-width:75ch}.muted,small{color:var(--tn-text-muted)}code{font-family:var(--tn-font-mono);font-size:.9em;background:var(--tn-gray-100);border:1px solid var(--tn-border);border-radius:6px;padding:2px 6px}
.card{border-color:var(--tn-border);border-radius:var(--tn-radius-lg);padding:var(--tn-space-6);box-shadow:var(--tn-shadow-xs);transition:border-color .18s,box-shadow .18s,transform .18s}.card:hover{border-color:var(--tn-border-strong);box-shadow:var(--tn-shadow-sm)}a.card{text-decoration:none;color:inherit}.grid{gap:var(--tn-space-5)}.stats{gap:var(--tn-space-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:var(--tn-space-6)}.stats .card{min-width:0}.stats b,.metric{font-size:clamp(1.55rem,3vw,2rem);letter-spacing:-.035em}.stats span{font-size:var(--tn-text-sm)}
.btn,button,input[type=submit]{min-height:var(--tn-control-h);border-radius:var(--tn-radius-md);padding:9px 15px;background:var(--tn-brand-600);box-shadow:var(--tn-shadow-xs);transition:background .15s,transform .12s,box-shadow .15s}.btn:hover,button:hover,input[type=submit]:hover{background:var(--tn-brand-700);transform:translateY(-1px);box-shadow:var(--tn-shadow-sm)}.btn:active,button:active{transform:none}.btn.secondary,button.secondary{background:var(--tn-gray-600)}.btn.danger,button.danger{background:var(--tn-danger-700)}.btn.warning,button.warning{background:var(--tn-warning-700)}.btn.ghost,button.ghost{background:transparent;color:var(--tn-gray-700);border:1px solid var(--tn-border-strong);box-shadow:none}.btn.small,button.small{min-height:34px;padding:6px 10px;font-size:var(--tn-text-sm)}button:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
.form{gap:var(--tn-space-4)}.form label,label{color:var(--tn-gray-700);font-size:var(--tn-text-sm);font-weight:650}input,select,textarea{min-height:var(--tn-control-h);border:1px solid var(--tn-border-strong);border-radius:var(--tn-radius-md);padding:9px 12px;color:var(--tn-text);background:var(--tn-surface);transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#98a2b3}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tn-brand-500);box-shadow:var(--tn-shadow-focus)}input::placeholder,textarea::placeholder{color:#98a2b3}.field-help{font-size:var(--tn-text-xs);color:var(--tn-text-muted)}
table{border:1px solid var(--tn-border);border-radius:var(--tn-radius-lg);box-shadow:var(--tn-shadow-xs);overflow:hidden}th{background:var(--tn-surface-subtle);color:var(--tn-gray-600);font-size:var(--tn-text-xs);text-transform:uppercase;letter-spacing:.045em;position:sticky;top:70px;z-index:2}th,td{padding:12px 14px}tbody tr:hover{background:var(--tn-brand-50)}tbody tr:last-child td{border-bottom:0}.table-wrap{overflow:auto;border-radius:var(--tn-radius-lg);margin-block:var(--tn-space-4)}
.pill,.badge,.tn-badge{border-radius:var(--tn-radius-pill);font-size:var(--tn-text-xs);font-weight:750;padding:5px 9px;background:var(--tn-brand-50);color:var(--tn-brand-700);border:1px solid var(--tn-brand-100)}.badge.success,.tn-badge.success{background:var(--tn-success-50);color:var(--tn-success-700)}.badge.warning,.tn-badge.warning{background:var(--tn-warning-50);color:var(--tn-warning-700)}.badge.danger,.tn-badge.danger{background:var(--tn-danger-50);color:var(--tn-danger-700)}.badge.info,.tn-badge.info{background:var(--tn-info-50);color:var(--tn-info-700)}
.flash{border:1px solid transparent;padding:12px 15px;border-radius:var(--tn-radius-md);box-shadow:var(--tn-shadow-xs)}.flash.ok,.ok{background:var(--tn-success-50);color:var(--tn-success-700);border-color:#abefc6}.flash.bad,.bad{background:var(--tn-danger-50);color:var(--tn-danger-700);border-color:#fecdca}.empty{border:1px dashed var(--tn-border-strong);border-radius:var(--tn-radius-lg);background:var(--tn-surface-subtle)}
.tn-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tn-space-3);flex-wrap:wrap;margin-bottom:var(--tn-space-5)}.tn-stack{display:flex;flex-direction:column;gap:var(--tn-space-4)}.tn-cluster{display:flex;align-items:center;gap:var(--tn-space-3);flex-wrap:wrap}.tn-divider{height:1px;background:var(--tn-border);margin:var(--tn-space-6) 0}.tn-swatch{height:72px;border-radius:var(--tn-radius-md);display:flex;align-items:end;padding:8px;color:#fff;font-weight:700}.tn-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.tn-component-demo{display:grid;gap:var(--tn-space-5)}.tn-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:var(--tn-text-xs);font-weight:800;color:var(--tn-brand-700)}
.tn-skeleton{position:relative;overflow:hidden;background:var(--tn-gray-200);border-radius:8px;min-height:16px}.tn-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:tn-shimmer 1.5s infinite}@keyframes tn-shimmer{100%{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.tn-density-compact{--tn-control-h:36px}body.tn-density-compact .card{padding:var(--tn-space-4)}body.tn-density-compact th,body.tn-density-compact td{padding:8px 10px}
@media(max-width:900px){header{padding-inline:18px}.tn-nav-toggle{display:inline-grid}header nav{display:none}header nav.is-open{display:flex;flex-direction:column;align-items:stretch}header nav a{width:100%}main{padding:var(--tn-space-6) var(--tn-space-4)}th{top:68px}.two-col{grid-template-columns:1fr}}
@media(min-width:901px){.tn-nav-toggle{display:inline-grid}}
@media(max-width:620px){.stats{grid-template-columns:1fr 1fr}.card{padding:var(--tn-space-4)}.page-head{align-items:flex-start}.actions,.filters{width:100%}.actions .btn,.actions button{flex:1}.tn-hide-mobile{display:none!important}}
