:root{font-family:Inter,Arial,sans-serif;color:#e8f0ec;background:#0d1b16}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:#e8f0ec;background:linear-gradient(180deg,#10231b,#0d1b16)}a{color:inherit}.app-shell{min-height:100vh}.app-header{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#071c14;z-index:50}.app-main{padding:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.8rem;color:#b8d3c6}.top-nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.nav-link{color:#dceee5;text-decoration:none;padding:.5rem .75rem;border-radius:999px}.nav-link.active,.nav-link:hover{background:#ffffff1a}.page-grid,.stack{display:grid;gap:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1rem;color:#e8f0ec}.kpi-label,.muted{opacity:.82;color:#c7ddd2}.kpi-value{margin:.25rem 0;color:#fff}.data-table{width:100%;border-collapse:collapse;color:#e8f0ec}.data-table th,.data-table td{text-align:left;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}pre{color:#111}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.app-version{margin-top:10px;color:#7b8794}.privacy-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:1000;width:min(760px,calc(100vw - 48px));margin:0 auto;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#071c14fa;color:#e8f0ec;box-shadow:0 18px 50px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.privacy-banner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.privacy-banner h2{margin:0;font-size:1.25rem;line-height:1.3;color:#fff}.privacy-banner-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#9fc5b4}.privacy-banner-text{margin:14px 0 0;line-height:1.55;color:#dceee5}.privacy-banner-secondary{margin:10px 0 0;font-size:.9rem;line-height:1.5;color:#b8d3c6}.privacy-banner-secondary a{color:#8fd6b7;text-decoration:underline}.privacy-preferences{display:grid;gap:10px;margin-top:16px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff0a}.privacy-preference-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;background:#ffffff08}.privacy-preference-row input{margin-top:3px}.privacy-preference-description{display:block;margin-top:4px;font-size:.85rem;line-height:1.4;color:#b8d3c6}.privacy-banner-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.privacy-button{appearance:none;border:0;border-radius:999px;padding:10px 16px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.privacy-button-primary{background:#8fd6b7;color:#092017}.privacy-button-primary:hover{background:#a9e2c9}.privacy-button-secondary{background:#ffffff14;color:#e8f0ec;border:1px solid rgba(255,255,255,.12)}.privacy-button-secondary:hover{background:#ffffff21}.privacy-button-outline{background:transparent;color:#9fd9bf;border:1px solid rgba(143,214,183,.4)}.privacy-button-outline:hover{background:#8fd6b714}@media(max-width:640px){.privacy-banner{left:12px;right:12px;bottom:12px;width:auto;padding:18px}.privacy-banner-actions{flex-direction:column}.privacy-button{width:100%}}.app-footer{margin-top:48px;padding:24px;border-top:1px solid rgba(255,255,255,.1);color:#b8d3c6;font-size:.875rem;text-align:center;background:#071c14}.app-footer-links{margin-top:10px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.app-footer-links a{color:#9fd9bf;text-decoration:none}.app-footer-links a:hover{color:#fff;text-decoration:underline}.app-footer-link-button{appearance:none;border:0;padding:0;background:transparent;color:#9fd9bf;font:inherit;cursor:pointer}.app-footer-link-button:hover{color:#fff;text-decoration:underline}.app-version{margin-top:10px;color:#7fa392}
