
/* AvB Premium Signature – shared design system */
:root,html[data-avb-theme="light"]{
 color-scheme:light;--bg:#f1f6fc;--nav:#fff;--panel:#fff;--panel2:#eef6fd;
 --line:#dce7f2;--text:#132b45;--muted:#617890;--accent:#00a9b7;
 --accent2:#1877dd;--green:#079b75;--yellow:#b8790a;--red:#d94d64;
 --side:#102b49;--card:var(--panel);--border:var(--line);
 --danger:var(--red);--shadow:0 12px 34px rgba(20,54,92,.07);
 --gradient:linear-gradient(120deg,#e8f8fc,#eaf0ff 55%,#f5f9ff)
}
html[data-avb-theme="dark"]{
 color-scheme:dark;--bg:#071626;--nav:#0c2035;--panel:#112940;--panel2:#1b3852;
 --line:#29435c;--text:#eff7ff;--muted:#a8bfd4;--accent:#19d2d2;
 --accent2:#85b8ff;--green:#46d7aa;--yellow:#f2bd65;--red:#ff7e91;
 --side:#081b2f;--card:var(--panel);--border:var(--line);
 --danger:var(--red);--shadow:0 16px 42px rgba(0,0,0,.18);
 --gradient:linear-gradient(115deg,#102f47,#142c4a 55%,#11243d)
}
*,*:before,*:after{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0!important;background:var(--bg)!important;color:var(--text)!important;font-family:Inter,"Segoe UI",system-ui,sans-serif!important;font-size:14px}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button,.button,.btn,input[type=submit]{
 border-radius:11px!important;min-height:40px;padding:10px 16px!important;
 font-weight:700!important;letter-spacing:.005em;cursor:pointer;
 transition:background .16s,transform .16s,border-color .16s,box-shadow .16s;
}
button:not(.secondary):not(.danger):not(.avb-theme-button),.button:not(.secondary){
 background:linear-gradient(110deg,#087fbe,#03b5b6)!important;color:#fff!important;
 border:1px solid transparent!important;box-shadow:0 5px 14px rgba(0,145,179,.16)
}
button.secondary,.button.secondary{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--line)!important}
button.danger{background:color-mix(in srgb,var(--red) 14%,var(--panel))!important;color:var(--red)!important;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line))!important}
button:hover:not(:disabled),.button:hover{transform:translateY(-1px);filter:brightness(1.05)}
button:disabled{opacity:.5;cursor:not-allowed}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{
 background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;
 border-radius:10px!important;padding:11px 13px!important;min-height:42px
}
input::placeholder{color:var(--muted)}
h1,h2,h3{color:var(--text);letter-spacing:-.035em}
h1{font-size:clamp(26px,2.8vw,34px)!important;line-height:1.16}
h2{font-size:18px!important}
p,.muted,.subtitle{color:var(--muted)}
.card,.panel,.stat-card,.tile,.loginbox,.dialog{
 background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;
 border-radius:17px!important;box-shadow:var(--shadow)!important
}
.card{padding:24px!important}
.grid{gap:18px!important}
.metric,.number{color:var(--text)!important;letter-spacing:-.05em}
table{width:100%;border-collapse:collapse}
th{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important}
th,td{padding:15px 13px!important;border-bottom:1px solid var(--line)!important}
tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.actions button{min-height:35px;padding:7px 12px!important}
.badge{border-radius:999px!important;padding:5px 10px!important}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.eyebrow{color:var(--accent2)!important}
.hidden{display:none!important}
.avb-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.avb-sidebar{background:var(--side);color:#eaf7ff;padding:27px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;border-right:1px solid #ffffff12}
.avb-brand{display:flex;align-items:center;gap:12px;padding:0 10px;font-weight:800;font-size:16px;letter-spacing:-.03em;color:#fff}
.avb-logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#238be9,#00d0bc);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;box-shadow:0 8px 24px #00aabb33}
.avb-brand small{display:block;font-size:10px;letter-spacing:.14em;color:#86cbd8;text-transform:uppercase;margin-top:3px}
.avb-nav{display:flex;flex-direction:column;gap:6px}
.avb-nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:11px;color:#b9cbdc;font-weight:600;font-size:13px}
.avb-nav a:hover{background:#ffffff12;color:#fff}
.avb-nav a.active{background:linear-gradient(100deg,#0d8fba44,#00c5c51c);color:#fff;box-shadow:inset 3px 0 #20d4cf}
.avb-icon{width:19px;height:19px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.avb-sidefoot{margin-top:auto;border-top:1px solid #ffffff20;padding:18px 12px 0;color:#8ba8bf;font-size:11px;line-height:1.7}
.avb-workspace{min-width:0}
.avb-topbar{height:74px;background:var(--nav);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}
.avb-topbar-title{font-size:13px;font-weight:700;color:var(--muted)}
.avb-topbar-right{display:flex;align-items:center;gap:15px}
.avb-account{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}
.avb-avatar{width:33px;height:33px;border-radius:11px;background:var(--panel2);color:var(--accent2);display:grid;place-items:center;font-weight:900}
.avb-content{max-width:1500px!important;margin:0 auto!important;padding:38px!important;width:100%!important}
.avb-content>.eyebrow{margin-bottom:8px}
.avb-content>.subtitle{margin-bottom:30px}
.avb-content .grid>.card{position:relative;overflow:hidden}
.avb-content .grid>.card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0db5bb,#5b92ef)}
.avb-content .grid>.card:nth-child(2):before{background:linear-gradient(90deg,#547cf2,#b28cff)}
.avb-content .grid>.card:nth-child(3):before{background:linear-gradient(90deg,#00b6a5,#59d3a1)}
.avb-content .grid>.card:nth-child(4):before{background:linear-gradient(90deg,#ed9a50,#ffcf79)}
.avb-theme-control{display:flex;gap:3px;align-items:center;background:var(--panel2);border:1px solid var(--line);padding:4px;border-radius:12px}
.avb-theme-button{background:transparent!important;color:var(--muted)!important;border:0!important;min-height:31px!important;min-width:33px;padding:5px 8px!important;box-shadow:none!important;border-radius:8px!important;font-size:15px}
.avb-theme-button[aria-pressed=true]{background:var(--panel)!important;color:var(--accent2)!important;box-shadow:0 2px 8px #00000010!important}
.avb-customer .layout{display:grid!important;grid-template-columns:252px minmax(0,1fr)!important;min-height:100vh}
.avb-customer aside{background:var(--side)!important;color:#fff!important;border-right:1px solid #ffffff12!important;padding:27px 16px!important;position:sticky;top:0;height:100vh}
.avb-customer aside .brand{padding:8px 10px;color:#fff;font-size:16px}
.avb-customer aside .brand span{color:#23d5d1}
.avb-customer aside .nav{background:linear-gradient(100deg,#0d8fba44,#00c5c51c)!important;color:#fff!important;border-left:3px solid #20d4cf;border-radius:10px!important;margin-top:35px!important}
.avb-customer main{max-width:1500px!important;padding:42px!important;margin:0 auto!important}
.avb-customer .top{align-items:center}
.avb-customer .grid{margin:28px 0!important}
.avb-customer .card{min-width:0}
.avb-customer .card .number{font-size:34px!important}
.avb-customer .login{background:var(--gradient)!important}
.avb-customer .loginbox{width:min(450px,100%)!important;padding:42px!important}
.avb-customer .modal{z-index:100;background:#061425bb!important}
.avb-customer .dialog{width:min(500px,100%)!important;padding:30px!important}
.avb-customer .nav svg{vertical-align:middle;margin-right:8px}
.avb-customer .loginbox .brand{font-size:22px}
.avb-customer #message{color:var(--accent2)}
@media(max-width:900px){
 .avb-shell{grid-template-columns:1fr}
 .avb-sidebar{position:static;height:auto;padding:14px 18px;gap:12px}
 .avb-nav{flex-direction:row;flex-wrap:wrap}
 .avb-nav a{padding:9px 12px}
 .avb-sidefoot{display:none}
 .avb-topbar{padding:0 20px;height:62px}
 .avb-content{padding:24px!important}
 .avb-customer .layout{grid-template-columns:1fr!important}
 .avb-customer aside{position:static;height:auto;padding:15px 20px!important}
 .avb-customer aside .nav{margin-top:12px!important}
 .avb-customer main{padding:24px!important}
}
@media(max-width:600px){
 .avb-content,.avb-customer main{padding:18px!important}
 .avb-topbar-title{display:none}
 .avb-topbar{justify-content:flex-end}
 .avb-customer .top{flex-wrap:wrap}
 .avb-customer .grid{grid-template-columns:1fr!important}
 .avb-customer .loginbox{padding:25px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
