*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--app-bg,#f4f7fb);color:var(--text,#172033);font-family:var(--font-family,Inter),system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh;overflow-x:hidden;transition:background .35s ease,color .35s ease}a{color:var(--brand)}.app-shell{min-height:100vh;display:flex;position:relative}.motion-orb{position:fixed;border-radius:999px;filter:blur(18px);pointer-events:none;z-index:-1;opacity:.15;animation:orbFloat calc(var(--motion-speed,1)*18s) ease-in-out infinite}.motion-orb.one{width:380px;height:380px;background:var(--brand);top:-120px;right:-100px}.motion-orb.two{width:300px;height:300px;background:var(--accent);bottom:-100px;left:18%;animation-delay:-7s}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width,270px);background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 94%,var(--brand) 6%),var(--sidebar));color:#fff;padding:20px 14px;display:flex;flex-direction:column;z-index:1040;border-right:1px solid rgba(255,255,255,.08);box-shadow:20px 0 50px rgba(15,23,42,.12);transition:transform .3s ease,width .3s ease}.brand{display:flex;gap:12px;align-items:center;padding:7px 8px 24px;min-height:66px}.brand-logo{width:46px;height:46px;border-radius:calc(var(--radius,18px)*.7);object-fit:contain;background:rgba(255,255,255,.96);padding:5px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.brand-mark{width:46px;height:46px;border-radius:calc(var(--radius,18px)*.7);background:linear-gradient(135deg,var(--brand),var(--accent));display:grid;place-items:center;font-weight:900;box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 35%,transparent)}.brand strong{display:block;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;color:#aab6cc}.sidebar nav{display:grid;gap:5px;overflow:auto;padding-right:3px}.sidebar .nav-link{color:#cbd5e1;padding:11px 12px;border-radius:12px;display:flex;gap:11px;align-items:center;position:relative;transition:all .25s ease}.sidebar .nav-link i{font-size:1.04rem}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.1);color:#fff;transform:translateX(3px)}.sidebar .nav-link.active:before{content:"";position:absolute;left:0;width:3px;height:55%;border-radius:99px;background:var(--accent)}.sidebar-bottom{margin-top:auto;padding-top:12px}.content{margin-left:var(--sidebar-width,270px);width:calc(100% - var(--sidebar-width,270px));padding:24px 28px 16px;position:relative}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.topbar h1{font-size:1.62rem;margin:0;font-weight:850;letter-spacing:-.03em}.topbar .subtitle{color:var(--muted);font-size:.82rem}.top-actions{display:flex;align-items:center;gap:10px}.top-action{width:42px;height:42px;border-radius:13px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;text-decoration:none;position:relative;transition:.25s ease}.top-action:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.09)}.notification-dot{position:absolute;right:7px;top:7px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px var(--surface)}.branch-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 13px;font-size:.78rem}.card,.glass-panel{border:1px solid var(--border)!important;border-radius:var(--radius,18px)!important;background:var(--surface)!important;color:var(--text);box-shadow:0 12px 38px rgba(15,23,42,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.card:hover[data-hover="lift"],.hover-lift:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(15,23,42,.11);border-color:color-mix(in srgb,var(--brand) 30%,var(--border))!important}body[data-glass="1"] .card,body[data-glass="1"] .glass-panel,body[data-glass="1"] .top-action,body[data-glass="1"] .branch-chip{background:color-mix(in srgb,var(--surface) var(--glass-opacity,78%),transparent)!important;backdrop-filter:blur(var(--glass-blur,18px));-webkit-backdrop-filter:blur(var(--glass-blur,18px))}.stat-card{padding:19px;height:100%;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--brand) 9%,transparent);right:-25px;bottom:-35px}.stat-card .label{color:var(--muted);font-size:.8rem;font-weight:650}.stat-card .value{font-size:1.7rem;font-weight:850;margin-top:5px;letter-spacing:-.035em}.stat-card i{position:absolute;right:16px;top:17px;font-size:1.55rem;color:var(--brand);opacity:.88}.stat-card .trend{font-size:.74rem;margin-top:8px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.section-title{font-weight:850;font-size:1.02rem;margin:0 0 12px}.section-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:var(--brand)}.table-responsive{border-radius:calc(var(--radius,18px)*.85)}.table{--bs-table-bg:transparent;--bs-table-color:var(--text);margin-bottom:0}.table thead th{font-size:.73rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);white-space:nowrap;border-bottom-color:var(--border)}.table td{border-bottom-color:var(--border)}.badge-soft{background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--text)}.btn{border-radius:11px;font-weight:650}.btn-brand{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 72%,var(--accent)));border-color:transparent;color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 24%,transparent);transition:.25s ease}.btn-brand:hover{filter:brightness(.97);color:#fff;transform:translateY(-1px)}.form-control,.form-select{border-radius:11px;padding:.68rem .8rem;border-color:var(--border);background:var(--surface);color:var(--text)}.form-control:focus,.form-select:focus{background:var(--surface);color:var(--text);border-color:color-mix(in srgb,var(--brand) 55%,#fff);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 15%,transparent)}.form-control::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.text-muted{color:var(--muted)!important}.nav-tabs{border-bottom-color:var(--border)}.nav-tabs .nav-link{color:var(--muted);border-radius:12px 12px 0 0}.nav-tabs .nav-link.active{background:var(--surface);color:var(--brand);border-color:var(--border) var(--border) var(--surface)}.app-footer{padding:30px 0 8px;color:var(--muted);font-size:.76rem;text-align:center}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--border)}.timeline-item{position:relative;padding:0 0 18px 18px}.timeline-item:before{content:"";position:absolute;left:-22px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,var(--surface))}.hero-public{background:radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--brand) 45%,transparent),transparent 34%),radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 28%),var(--sidebar);color:#fff;border-radius:calc(var(--radius,18px)*1.55);padding:50px;box-shadow:0 26px 80px rgba(15,23,42,.22);position:relative;overflow:hidden}.hero-public:after{content:"";position:absolute;inset:auto -80px -100px auto;width:260px;height:260px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.03),0 0 0 70px rgba(255,255,255,.02)}.pod-signature{border:1px dashed var(--border);border-radius:14px;background:#fff;touch-action:none}.sticky-actions{position:sticky;bottom:12px;z-index:10}.insight-card{display:flex;gap:14px;align-items:flex-start;padding:15px;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 88%,transparent);transition:.25s ease}.insight-card:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}.insight-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:1.15rem;flex:0 0 auto}.severity-danger .insight-icon{background:#fee2e2;color:#b91c1c}.severity-warning .insight-icon{background:#fef3c7;color:#a16207}.severity-success .insight-icon{background:#dcfce7;color:#15803d}.severity-info .insight-icon{background:#dbeafe;color:#1d4ed8}.risk-meter{height:8px;background:var(--border);border-radius:99px;overflow:hidden}.risk-meter>span{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,var(--accent),#ef4444);width:var(--risk,0%)}.ai-orb{width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,var(--brand),var(--accent));display:grid;place-items:center;color:#fff;font-size:1.55rem;box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 30%,transparent);animation:aiPulse calc(var(--motion-speed,1)*3s) ease-in-out infinite}.ai-chat{max-height:480px;overflow:auto;padding-right:4px}.ai-bubble{padding:14px 16px;border-radius:16px;margin-bottom:10px;line-height:1.55}.ai-bubble.user{background:color-mix(in srgb,var(--brand) 13%,var(--surface));margin-left:12%}.ai-bubble.assistant{background:var(--surface-2);margin-right:8%;border:1px solid var(--border)}.command-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:7px 11px;background:var(--surface);font-size:.78rem;cursor:pointer;transition:.2s}.command-chip:hover{border-color:var(--brand);transform:translateY(-1px)}.glass-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 15%,var(--surface)),color-mix(in srgb,var(--accent) 8%,var(--surface)))!important}.glass-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-140px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 22%,transparent),color-mix(in srgb,var(--accent) 18%,transparent));filter:blur(2px)}.motion-grid{position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent)}.settings-preview{position:sticky;top:20px}.preview-window{border-radius:22px;border:1px solid var(--border);overflow:hidden;background:var(--app-bg);box-shadow:0 20px 50px rgba(15,23,42,.1)}.preview-sidebar{width:28%;min-height:260px;background:var(--sidebar);float:left;padding:12px}.preview-content{margin-left:28%;min-height:260px;padding:15px}.preview-pill{height:9px;border-radius:99px;background:rgba(255,255,255,.16);margin:9px 0}.preview-card{height:72px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin-bottom:10px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.color-input{height:46px!important}.mini-kpi{padding:15px;border-radius:15px;border:1px solid var(--border);background:var(--surface)}.mini-kpi strong{display:block;font-size:1.25rem}.progress-thin{height:7px}.public-logo{max-height:58px;max-width:180px;object-fit:contain}.login-backdrop{min-height:100vh;display:grid;place-items:center;background-size:cover;background-position:center;position:relative}.login-backdrop:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--brand) 30%,transparent),transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--sidebar) 94%,transparent),color-mix(in srgb,var(--brand) 35%,var(--sidebar)))}.login-card{width:min(450px,92vw);position:relative;z-index:1;padding:34px;border-radius:calc(var(--radius)*1.25);border:1px solid rgba(255,255,255,.15);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(20px);box-shadow:0 30px 90px rgba(0,0,0,.28)}
body[data-theme="dark"]{--app-bg:#08111f!important;--surface:#101b2e!important;--surface-2:#0d1728!important;--text:#e5edf9!important;--muted:#91a0b9!important;--border:#243149!important}body[data-theme="dark"] .table{--bs-table-color:var(--text)}body[data-theme="dark"] .btn-light,body[data-theme="dark"] .bg-light{background:#172337!important;color:#e5edf9!important;border-color:#2a3952!important}body[data-theme="dark"] .alert{filter:saturate(.85)}
[data-motion="off"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-motion="low"] .motion-orb,[data-motion="low"] .ai-orb{animation:none!important}.reveal{animation:revealIn calc(var(--motion-speed,1)*.55s) cubic-bezier(.2,.8,.2,1) both}.reveal-delay-1{animation-delay:.08s}.reveal-delay-2{animation-delay:.16s}.reveal-delay-3{animation-delay:.24s}.shimmer{position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;inset:0 auto 0 -80%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-20deg);animation:shimmerMove calc(var(--motion-speed,1)*5s) linear infinite}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block;box-shadow:0 0 0 0 rgba(34,197,94,.45);animation:pulseDot calc(var(--motion-speed,1)*2s) infinite}
@keyframes revealIn{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@keyframes orbFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-35px,45px,0) scale(1.08)}}@keyframes aiPulse{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes shimmerMove{to{left:140%}}@keyframes pulseDot{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1199px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:991px){.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.content{margin-left:0;width:100%;padding:16px}.settings-preview{position:static}}@media(max-width:575px){.metric-grid{grid-template-columns:1fr}.hero-public{padding:30px 20px}.topbar h1{font-size:1.3rem}.top-actions .branch-chip{display:none}.content{padding:14px}.login-card{padding:26px 20px}}


/* V2.1 stability patch: persistent day/night mode + logo-safe rendering */
html[data-theme="dark"]{--app-bg:#08111f!important;--surface:#101b2e!important;--surface-2:#0d1728!important;--text:#e5edf9!important;--muted:#91a0b9!important;--border:#243149!important;color-scheme:dark}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"] .table{--bs-table-color:var(--text)}
html[data-theme="dark"] .btn-light,html[data-theme="dark"] .bg-light{background:#172337!important;color:#e5edf9!important;border-color:#2a3952!important}
html[data-theme="dark"] .alert{filter:saturate(.85)}
html[data-theme="dark"] .form-control,html[data-theme="dark"] .form-select{color-scheme:dark}
html[data-theme="dark"] .dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-color:var(--text);--bs-dropdown-link-color:var(--text);--bs-dropdown-border-color:var(--border)}

.brand{min-width:0;overflow:hidden}
.brand-logo-frame{width:52px;height:52px;min-width:52px;max-width:52px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.18);padding:5px;flex:0 0 52px}
.brand-logo-frame .brand-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center!important;border-radius:8px!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.brand-copy{min-width:0;max-width:175px;overflow:hidden}
.brand-copy strong,.brand-copy small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.public-logo-frame{width:190px;height:64px;max-width:42vw;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;flex:0 1 auto}
.public-logo-frame .public-logo,.safe-public-logo{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}
.login-logo-frame{height:76px;max-width:260px;margin-inline:auto;display:flex;align-items:center;justify-content:center;overflow:hidden}
.login-logo-frame .public-logo{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:72px!important;object-fit:contain!important}
.settings-logo-preview-frame{height:74px;max-width:220px;margin-top:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.settings-logo-preview-frame img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.logo-load-error{display:none!important}

.theme-floating{position:fixed;right:18px;bottom:18px;z-index:1060;width:46px;height:46px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;box-shadow:0 12px 36px rgba(15,23,42,.16);transition:transform .2s ease,background .25s ease,color .25s ease}
.theme-floating:hover{transform:translateY(-2px)}

/* Keep media and long content inside cards instead of breaking the page. */
.card img,.glass-panel img,.login-card img{max-width:100%}
.card,.glass-panel,.content,.topbar,.top-actions{min-width:0}
@media(max-width:575px){.brand-logo-frame{width:46px;height:46px;min-width:46px;max-width:46px;flex-basis:46px}.public-logo-frame{width:145px;height:54px}.public-logo-frame .public-logo{max-height:48px!important}}
