/* iRamdisk admin design system: dark/light, bilingual, responsive. */
:root{
  color-scheme:light;
  --app-side-width:256px;
  --app-side-collapsed:72px;
  --app-header-height:68px;
  --app-tabs-height:40px;
  --app-bg:#f3f6f8;
  --app-sidebar:#ffffff;
  --app-sidebar-soft:#f7f9fa;
  --app-surface:#ffffff;
  --app-surface-raised:#ffffff;
  --app-surface-soft:#f7f9fb;
  --app-input:#ffffff;
  --app-line:#e2e7eb;
  --app-line-strong:#d5dce2;
  --app-text:#17202a;
  --app-text-soft:#3f4a56;
  --app-muted:#707b87;
  --app-faint:#98a2ad;
  --app-accent:#24aa98;
  --app-accent-hover:#1b9585;
  --app-accent-soft:rgba(36,170,152,.11);
  --app-blue:#4c7cf0;
  --app-blue-soft:rgba(76,124,240,.11);
  --app-green:#26a65b;
  --app-green-soft:rgba(38,166,91,.11);
  --app-amber:#d69022;
  --app-amber-soft:rgba(214,144,34,.12);
  --app-purple:#9a62dc;
  --app-purple-soft:rgba(154,98,220,.12);
  --app-red:#d75464;
  --app-red-soft:rgba(215,84,100,.11);
  --app-shadow:0 8px 24px rgba(29,42,55,.07);
  --app-shadow-menu:0 14px 36px rgba(29,42,55,.16);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --app-bg:#080c14;
  --app-sidebar:#10151f;
  --app-sidebar-soft:#141b27;
  --app-surface:#111824;
  --app-surface-raised:#151d2a;
  --app-surface-soft:#0d141f;
  --app-input:#182130;
  --app-line:#263142;
  --app-line-strong:#354155;
  --app-text:#f1f3f5;
  --app-text-soft:#c4cbd3;
  --app-muted:#929dab;
  --app-faint:#6f7a88;
  --app-accent:#37c5b2;
  --app-accent-hover:#50d1bf;
  --app-accent-soft:rgba(55,197,178,.12);
  --app-blue:#6d8ff3;
  --app-blue-soft:rgba(109,143,243,.14);
  --app-green:#4bc477;
  --app-green-soft:rgba(75,196,119,.13);
  --app-amber:#e0a84a;
  --app-amber-soft:rgba(224,168,74,.14);
  --app-purple:#b475e8;
  --app-purple-soft:rgba(180,117,232,.14);
  --app-red:#e36a78;
  --app-red-soft:rgba(227,106,120,.13);
  --app-shadow:0 12px 34px rgba(0,0,0,.24);
  --app-shadow-menu:0 18px 44px rgba(0,0,0,.42);
}

[hidden]{display:none!important;}
*{letter-spacing:0;}
html,body{min-height:100%;background:var(--app-bg);}
body{
  color:var(--app-text);
  background:var(--app-bg);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background-color .18s ease,color .18s ease;
}
button,input,select,textarea{letter-spacing:0;}
button{font-size:inherit;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid color-mix(in srgb,var(--app-accent) 55%,transparent);
  outline-offset:2px;
}
body.sidebar-lock{overflow:hidden;}

::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--app-muted) 45%,transparent);background-clip:padding-box;}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--app-muted) 65%,transparent);background-clip:padding-box;}

/* App frame */
body.admin-page{background:var(--app-bg);color:var(--app-text);}
.admin-shell{display:block!important;min-height:100vh;background:var(--app-bg)!important;}
.side{
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:80!important;
  width:var(--app-side-width)!important;
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column;
  overflow:hidden!important;
  color:var(--app-text-soft)!important;
  background:var(--app-sidebar)!important;
  border-right:1px solid var(--app-line)!important;
  box-shadow:none!important;
  transition:width .18s ease,transform .18s ease,background-color .18s ease!important;
}
.brand{
  flex:0 0 var(--app-header-height);
  height:var(--app-header-height)!important;
  padding:0 22px!important;
  display:flex;
  align-items:center;
  color:var(--app-text)!important;
  background:var(--app-sidebar)!important;
  border-bottom:1px solid var(--app-line)!important;
  box-shadow:none!important;
}
.brand-logo{
  flex:0 0 36px;
  width:36px!important;
  height:36px!important;
  margin-right:12px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--app-accent) 55%,var(--app-line))!important;
  border-radius:8px!important;
  color:#fff!important;
  background:var(--app-accent)!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--app-accent) 20%,transparent)!important;
  font-size:13px!important;
  font-weight:800;
}
.brand-name{overflow:hidden;color:var(--app-text)!important;font-size:18px!important;font-weight:700!important;white-space:nowrap;text-shadow:none!important;}
.side-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 0;}
.menu-section{border:0!important;}
.menu-title{
  height:38px!important;
  padding:0 18px!important;
  color:var(--app-muted)!important;
  background:transparent!important;
  font-size:13px!important;
  font-weight:700!important;
  text-transform:uppercase;
  cursor:pointer;
  user-select:none;
}
.menu-label{color:inherit!important;font-size:13px!important;}
.menu-chevron{color:var(--app-faint)!important;font-size:13px!important;transition:transform .16s ease;}
.menu-section.collapsed .menu-chevron{transform:rotate(180deg);}
.menu-section nav{display:block;max-height:720px;overflow:hidden;transition:max-height .18s ease;}
.menu-section.collapsed nav{max-height:0;}
.nav-item{
  position:relative;
  height:42px!important;
  margin:2px 12px!important;
  padding:0 14px!important;
  display:flex;
  align-items:center;
  color:var(--app-text-soft)!important;
  background:transparent!important;
  border:0!important;
  border-radius:8px!important;
  font-size:14px;
  font-weight:500!important;
  transition:background-color .14s ease,color .14s ease!important;
}
.nav-item:before{display:none!important;}
.nav-item:hover{color:var(--app-text)!important;background:var(--app-surface-soft)!important;transform:none!important;}
.nav-item.active{
  color:var(--app-accent)!important;
  background:var(--app-accent-soft)!important;
  border:0!important;
  box-shadow:inset 3px 0 0 var(--app-accent)!important;
}
.nav-icon{flex:0 0 22px;width:22px!important;margin-right:10px!important;color:currentColor;font-size:14px!important;filter:none!important;opacity:.9;}
.side-footer{flex:0 0 auto;padding:10px 12px 14px;border-top:1px solid var(--app-line);background:var(--app-sidebar);}
.side-control{
  width:100%;height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--app-text-soft);
  display:flex;align-items:center;gap:12px;cursor:pointer;white-space:nowrap;
}
.side-control:hover{background:var(--app-surface-soft);color:var(--app-text);}
.side-control .theme-icon,.side-collapse-icon{width:18px;text-align:center;color:var(--app-amber);font-size:17px;}
.side-collapse-icon{color:var(--app-muted);font-size:20px;}

.page{
  position:relative!important;
  width:calc(100% - var(--app-side-width))!important;
  min-height:100vh!important;
  margin-left:var(--app-side-width)!important;
  padding:0 0 34px!important;
  background:var(--app-bg)!important;
  transition:width .18s ease,margin-left .18s ease!important;
}
.topbar{
  position:sticky!important;top:0!important;z-index:65!important;
  height:var(--app-header-height)!important;
  padding:0 28px 0 20px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  color:var(--app-text)!important;background:color-mix(in srgb,var(--app-surface) 94%,transparent)!important;
  border-bottom:1px solid var(--app-line)!important;box-shadow:none!important;
  backdrop-filter:blur(14px)!important;overflow:visible!important;
}
.topbar-left,.topbar-actions{display:flex;align-items:center;min-width:0;}
.topbar-left{gap:14px;}
.topbar-actions{gap:10px;}
.hamb,.top-icon-button{
  flex:0 0 36px;width:36px!important;height:36px!important;min-width:36px;padding:0!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  border:1px solid transparent!important;border-radius:7px!important;
  color:var(--app-muted)!important;background:transparent!important;box-shadow:none!important;cursor:pointer;
}
.hamb{font-size:19px!important;line-height:36px!important;}
.top-icon-button{font-size:17px;}
.hamb:hover,.top-icon-button:hover{color:var(--app-text)!important;background:var(--app-surface-soft)!important;border-color:var(--app-line)!important;}
.page-heading{min-width:0;}
.page-heading h1{margin:0;color:var(--app-text);font-size:18px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.page-heading p{margin:3px 0 0;color:var(--app-muted);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.language-picker,.top-user-menu{position:relative;}
.language-trigger{
  height:36px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--app-text-soft);
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{border-color:var(--app-line);background:var(--app-surface-soft);color:var(--app-text);}
.language-mark{
  min-width:22px;height:22px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:6px;background:var(--app-accent-soft);color:var(--app-accent);font-size:10px;font-weight:800;
}
.language-chevron,.top-user-chevron{color:var(--app-faint);font-size:12px;transition:transform .15s ease;}
.language-trigger[aria-expanded="true"] .language-chevron,.top-user[aria-expanded="true"] .top-user-chevron{transform:rotate(180deg);}
.language-menu,.top-user-dropdown{
  position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:176px;padding:6px;
  border:1px solid var(--app-line);border-radius:8px;background:var(--app-surface-raised);box-shadow:var(--app-shadow-menu);
}
.language-menu button,.top-user-dropdown a{
  width:100%;height:38px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--app-text-soft);
  display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;
}
.language-menu button:hover,.language-menu button.active,.top-user-dropdown a:hover{color:var(--app-text);background:var(--app-surface-soft);}
.language-menu button.active{color:var(--app-accent);}
.language-menu button span{width:30px;color:var(--app-accent);font-size:11px;font-weight:800;}
.language-menu button strong{font-size:13px;font-weight:600;}
.top-balance{
  height:34px;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--app-accent) 22%,var(--app-line));
  border-radius:7px;background:var(--app-accent-soft);color:var(--app-muted);white-space:nowrap;
}
.top-balance span{font-size:11px;}.top-balance strong{color:var(--app-accent);font-size:13px;}
.top-user{
  min-height:42px!important;padding:3px 7px 3px 4px!important;border:1px solid transparent!important;border-radius:8px!important;
  background:transparent!important;color:var(--app-text)!important;display:flex!important;align-items:center;gap:9px;cursor:pointer;
}
.top-user:hover,.top-user[aria-expanded="true"]{border-color:var(--app-line)!important;background:var(--app-surface-soft)!important;}
.user-avatar{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  color:#fff;background:var(--app-accent);font-size:11px;font-weight:800;
}
.user-summary{min-width:70px;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;}
.user-summary strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;color:var(--app-text);font-size:12px;font-weight:650;}
.user-summary small{margin-top:2px;color:var(--app-muted);font-size:10px;}
.top-user-dropdown{width:158px;}
.top-user-dropdown a.danger{color:var(--app-red);}
.top-user-dropdown a.danger:hover{color:var(--app-red);background:var(--app-red-soft);}

.tabs.tabs-multi{
  position:sticky!important;top:var(--app-header-height)!important;z-index:55!important;
  height:var(--app-tabs-height)!important;padding:0 20px!important;display:flex!important;align-items:stretch!important;gap:3px!important;
  border-bottom:1px solid var(--app-line)!important;background:var(--app-surface)!important;box-shadow:none!important;overflow-x:auto;
  scrollbar-width:none;
}
.tabs.tabs-multi::-webkit-scrollbar{display:none;}
.tab-item{
  flex:0 0 auto;height:var(--app-tabs-height)!important;min-width:92px!important;max-width:190px!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:var(--app-muted)!important;
}
.tab-item:first-child{border:0!important;}
.tab-item:hover{color:var(--app-text)!important;background:var(--app-surface-soft)!important;}
.tab-item.active{color:var(--app-accent)!important;background:transparent!important;border:0!important;box-shadow:inset 0 -2px 0 var(--app-accent);font-weight:650!important;}
.tab-link{height:var(--app-tabs-height)!important;padding:0 8px 0 12px!important;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tab-close-link,.tab-close-spacer{margin-right:3px!important;}
.tab-close-link{width:22px;height:22px;border-radius:5px!important;color:var(--app-faint)!important;display:inline-flex;align-items:center;justify-content:center;}
.tab-close-link:hover{color:var(--app-text)!important;background:var(--app-line)!important;}
.content{min-height:calc(100vh - var(--app-header-height) - var(--app-tabs-height) - 34px)!important;padding:0!important;background:var(--app-bg)!important;}
.admin-footer{
  position:fixed!important;left:var(--app-side-width)!important;right:0!important;bottom:0!important;z-index:50!important;
  height:34px!important;line-height:34px!important;display:flex;align-items:center;justify-content:center;gap:7px;
  border-top:1px solid var(--app-line)!important;background:color-mix(in srgb,var(--app-surface) 94%,transparent)!important;
  color:var(--app-muted)!important;font-size:12px!important;backdrop-filter:blur(12px)!important;box-shadow:none!important;
  transition:left .18s ease!important;
}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--app-green);box-shadow:0 0 0 3px var(--app-green-soft);}
.sidebar-backdrop{display:none;}

.admin-shell.sidebar-collapsed .side{width:var(--app-side-collapsed)!important;}
.admin-shell.sidebar-collapsed .page{width:calc(100% - var(--app-side-collapsed))!important;margin-left:var(--app-side-collapsed)!important;}
.admin-shell.sidebar-collapsed .admin-footer{left:var(--app-side-collapsed)!important;}
.admin-shell.sidebar-collapsed .brand{padding:0!important;justify-content:center;}
.admin-shell.sidebar-collapsed .brand-logo{margin:0!important;}
.admin-shell.sidebar-collapsed .brand-name,.admin-shell.sidebar-collapsed .menu-label,.admin-shell.sidebar-collapsed .menu-chevron,
.admin-shell.sidebar-collapsed .nav-item>span:last-child,.admin-shell.sidebar-collapsed .side-control>span:last-child{display:none!important;}
.admin-shell.sidebar-collapsed .menu-title{padding:0!important;justify-content:center;}
.admin-shell.sidebar-collapsed .nav-item{margin:2px 10px!important;padding:0!important;justify-content:center;}
.admin-shell.sidebar-collapsed .nav-icon{margin:0!important;}
.admin-shell.sidebar-collapsed .side-control{padding:0!important;justify-content:center;}

/* Surfaces and controls */
.flash{margin:14px 20px 0!important;padding:11px 13px!important;border-radius:7px!important;box-shadow:none!important;}
.flash.ok{border:1px solid color-mix(in srgb,var(--app-green) 35%,var(--app-line))!important;background:var(--app-green-soft)!important;color:var(--app-green)!important;}
.flash.err{border:1px solid color-mix(in srgb,var(--app-red) 35%,var(--app-line))!important;background:var(--app-red-soft)!important;color:var(--app-red)!important;}
.panel-wrap{padding:20px 22px 48px!important;}
.grid-panel,.manager-panel,.formbox,.card,.service-section,.status-page,.settings-section-v3,.device-service-group,.device-register-footer{
  border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;
}
.grid-panel{padding:0!important;overflow:hidden!important;}
.manager-panel{margin:20px 22px 48px!important;overflow:hidden!important;}
.manager-toolbar,.toolbar{
  min-height:62px!important;height:auto!important;padding:11px 14px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:0!important;border-bottom:1px solid var(--app-line)!important;background:var(--app-surface)!important;
}
.manager-toolbar>form,.toolbar>form{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;}
.manager-left,.manager-right,.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px!important;min-width:0;}
.manager-left,.toolbar-left{flex-wrap:wrap;}
.manager-input,.manager-select,.search-input,.input,.admin-page select,.admin-page textarea{
  height:36px!important;border:1px solid var(--app-line-strong)!important;border-radius:6px!important;
  background:var(--app-input)!important;color:var(--app-text-soft)!important;box-shadow:none!important;outline:0;
}
.manager-input,.search-input,.input{padding:0 11px!important;}
.manager-input{min-width:260px!important;}
.search-input.ecid,.search-input.time{width:220px!important;}
.select-filter{width:130px!important;}
.manager-select,.admin-page select{padding:0 30px 0 10px!important;}
.admin-page textarea{height:auto!important;padding:10px 11px!important;}
.manager-input::placeholder,.search-input::placeholder,.input::placeholder,textarea::placeholder{color:var(--app-faint)!important;opacity:1;}
.manager-input:focus,.manager-select:focus,.search-input:focus,.input:focus,.admin-page select:focus,.admin-page textarea:focus{
  border-color:var(--app-accent)!important;box-shadow:0 0 0 3px var(--app-accent-soft)!important;background:var(--app-input)!important;
}
.rect-btn,.tool-square,.btn{
  height:36px!important;min-height:36px!important;padding:0 13px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--app-line-strong)!important;border-radius:6px!important;background:var(--app-surface-raised)!important;
  color:var(--app-text-soft)!important;box-shadow:none!important;transform:none!important;font-weight:600!important;white-space:nowrap;cursor:pointer;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease!important;
}
.rect-btn:hover,.tool-square:hover,.btn:hover{border-color:color-mix(in srgb,var(--app-accent) 45%,var(--app-line))!important;background:var(--app-accent-soft)!important;color:var(--app-accent)!important;filter:none!important;}
.rect-btn.primary,.btn:not(.flat):not(.gray):not(.red):not(.blue){border-color:var(--app-accent)!important;background:var(--app-accent)!important;color:#fff!important;}
.rect-btn.primary:hover,.btn:not(.flat):not(.gray):not(.red):not(.blue):hover{border-color:var(--app-accent-hover)!important;background:var(--app-accent-hover)!important;color:#fff!important;}
.rect-btn.green{border-color:var(--app-green)!important;background:var(--app-green)!important;color:#fff!important;}
.rect-btn.danger,.rect-btn.danger-soft,.btn.red,.orange-mini{border-color:var(--app-red)!important;background:var(--app-red-soft)!important;color:var(--app-red)!important;}
.btn.blue{border-color:var(--app-blue)!important;background:var(--app-blue)!important;color:#fff!important;}
.btn.gray{border-color:var(--app-line-strong)!important;background:var(--app-surface-raised)!important;color:var(--app-text-soft)!important;}
.btn.flat{border-color:var(--app-line-strong)!important;background:var(--app-surface-raised)!important;color:var(--app-text-soft)!important;}
.rect-btn.small,.btn.small{height:30px!important;min-height:30px!important;padding:0 9px!important;font-size:12px!important;}
.tool-square{width:34px!important;min-width:34px!important;padding:0!important;font-weight:500!important;}
.rect-btn:disabled,.btn:disabled,.tool-square:disabled{cursor:not-allowed!important;opacity:.48;}
.action-strip{
  min-height:62px!important;height:auto!important;margin:0 22px 10px!important;padding:12px 14px!important;display:flex!important;align-items:center;gap:9px!important;
  border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;
}

/* Dashboard */
.dash-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(176px,1fr))!important;gap:14px!important;padding:22px!important;background:transparent!important;}
.metric-card{
  position:relative;height:126px!important;min-width:0;padding:18px!important;display:flex;align-items:flex-start;gap:13px;
  border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;
  text-align:left!important;overflow:hidden!important;transition:border-color .14s ease!important;
}
.metric-card:hover{border-color:var(--app-line-strong)!important;transform:none!important;box-shadow:var(--app-shadow)!important;}
.metric-icon{flex:0 0 38px;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;}
.metric-credit .metric-icon{color:var(--app-green);background:var(--app-green-soft);}
.metric-permission .metric-icon{color:var(--app-blue);background:var(--app-blue-soft);}
.metric-orders .metric-icon{color:var(--app-amber);background:var(--app-amber-soft);}
.metric-used .metric-icon{color:var(--app-purple);background:var(--app-purple-soft);}
.metric-token .metric-icon{color:var(--app-red);background:var(--app-red-soft);}
.metric-copy{min-width:0;flex:1;}
.metric-title{height:auto!important;line-height:1.25!important;margin:1px 0 7px!important;border:0!important;background:transparent!important;color:var(--app-muted)!important;font-size:12px!important;font-weight:500!important;}
.metric-value{height:auto!important;min-height:28px!important;display:block!important;color:var(--app-text)!important;font-size:24px!important;font-weight:700!important;line-height:1.15!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.metric-value.small{padding:0!important;color:var(--app-text-soft)!important;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;white-space:normal!important;overflow-wrap:anywhere;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.metric-permission .metric-value{font-size:18px!important;line-height:1.2!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.metric-meta{margin-top:5px;color:var(--app-faint);font-size:11px;}
.panel-wrap .toolbar{border:0!important;border-bottom:1px solid var(--app-line)!important;}

/* Tables */
.wide-table-wrap,.table-scroll{overflow:auto!important;scrollbar-gutter:stable;background:var(--app-surface)!important;overscroll-behavior:contain;}
.wide-table-wrap{max-height:calc(100vh - 214px)!important;}
.table{width:100%;border-collapse:separate!important;border-spacing:0!important;border:0!important;background:var(--app-surface)!important;color:var(--app-text-soft)!important;font-size:13px!important;}
.table th,.table td{
  height:43px!important;padding:0 13px!important;border:0!important;border-right:1px solid var(--app-line)!important;border-bottom:1px solid var(--app-line)!important;
  color:var(--app-text-soft)!important;text-align:left;white-space:nowrap;
}
.table th{position:relative;background:var(--app-surface-soft)!important;color:var(--app-muted)!important;font-size:11px!important;font-weight:700!important;text-transform:none;}
.table th:last-child,.table td:last-child{border-right:0!important;}
.table tr:last-child td{border-bottom:0!important;}
.table tr:hover td{background:color-mix(in srgb,var(--app-accent-soft) 58%,var(--app-surface))!important;}
.table-empty{height:150px!important;text-align:center!important;color:var(--app-faint)!important;background:var(--app-surface)!important;}
.table th.sticky-action,.table th.sticky-time,.table th.sticky-status{background:var(--app-surface-soft)!important;}
.table td.sticky-action,.table td.sticky-time,.table td.sticky-status{background:var(--app-surface)!important;box-shadow:-10px 0 16px -16px rgba(0,0,0,.7)!important;}
.table tr:hover td.sticky-action,.table tr:hover td.sticky-time,.table tr:hover td.sticky-status{background:color-mix(in srgb,var(--app-accent-soft) 58%,var(--app-surface))!important;}
.dashboard-device-table th:nth-last-child(2),.dashboard-device-table td:nth-last-child(2){position:sticky;right:90px;z-index:3;}
.dashboard-device-table th:last-child,.dashboard-device-table td:last-child{position:sticky;right:0;z-index:4;}
.dashboard-device-table th:nth-last-child(2),.dashboard-device-table th:last-child{background:var(--app-surface-soft)!important;}
.dashboard-device-table td:nth-last-child(2),.dashboard-device-table td:last-child{background:var(--app-surface)!important;box-shadow:-10px 0 16px -16px rgba(0,0,0,.7);}
.dashboard-device-table tr:hover td:nth-last-child(2),.dashboard-device-table tr:hover td:last-child{background:color-mix(in srgb,var(--app-accent-soft) 58%,var(--app-surface))!important;}
.sort{color:var(--app-faint)!important;font-size:8px;}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;}
.muted,.muted-line{color:var(--app-muted)!important;}
.muted-line{padding:16px 22px 0!important;font-size:12px;line-height:1.6;}
.pos,.state-success,.text-green{color:var(--app-green)!important;}
.neg{color:var(--app-red)!important;}
.state-cancel{color:#2457ff!important;}
.state-pending{color:var(--app-amber)!important;}
.table td.state-success,.transaction-detail-grid strong.state-success{color:var(--app-green)!important;}
.table td.state-pending,.transaction-detail-grid strong.state-pending{color:var(--app-amber)!important;}
.table td.state-cancel,.transaction-detail-grid strong.state-cancel{color:#2457ff!important;}
.badge{padding:3px 7px!important;border-radius:5px!important;background:var(--app-accent-soft)!important;color:var(--app-accent)!important;font-size:11px;font-weight:650;}
.badge.off{background:var(--app-red-soft)!important;color:var(--app-red)!important;}
.pager{
  min-height:50px!important;height:auto!important;padding:9px 14px!important;display:flex;align-items:center;gap:8px!important;
  border-top:1px solid var(--app-line)!important;background:var(--app-surface)!important;color:var(--app-muted)!important;
}
.pager .page-num{min-width:30px;height:30px;border-radius:6px!important;color:var(--app-muted)!important;background:transparent!important;transform:none!important;}
.pager .page-num:hover{color:var(--app-accent)!important;background:var(--app-accent-soft)!important;transform:none!important;}
.pager .page-num.active{color:#fff!important;background:var(--app-accent)!important;box-shadow:none!important;}
.pager input{width:44px!important;height:30px!important;border:1px solid var(--app-line-strong)!important;border-radius:5px!important;background:var(--app-input)!important;color:var(--app-text)!important;text-align:center;}
.check-box{width:16px!important;height:16px!important;border:1px solid var(--app-line-strong)!important;border-radius:4px!important;background:var(--app-input)!important;accent-color:var(--app-accent);}
.ui-switch{
  position:relative;width:38px!important;height:22px!important;padding:0!important;border:0!important;border-radius:12px!important;
  background:var(--app-line-strong)!important;box-shadow:none!important;cursor:pointer;vertical-align:middle;
}
.ui-switch i{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .16s ease;}
.ui-switch.on{background:var(--app-accent)!important;}.ui-switch.on i{transform:translateX(16px);}
.ui-switch.disabled{opacity:.45;cursor:not-allowed;}
.page-transactions .content>.toolbar,.page-logs .content>.toolbar{margin:20px 22px 0!important;border:1px solid var(--app-line)!important;border-bottom:0!important;border-radius:8px 8px 0 0!important;}
.page-transactions .content>.wide-table-wrap,.page-logs .content>.wide-table-wrap{margin:0 22px 48px!important;border:1px solid var(--app-line)!important;border-radius:0 0 8px 8px!important;}

/* Modals */
.modal-mask{
  position:fixed!important;inset:0!important;z-index:200!important;padding:24px!important;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.56)!important;backdrop-filter:blur(3px)!important;
}
.modal-card{
  max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--app-line-strong)!important;border-radius:8px!important;
  background:var(--app-surface-raised)!important;color:var(--app-text)!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important;
}
.modal-head{
  position:sticky;top:0;z-index:3;height:52px!important;padding:0 16px!important;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--app-line)!important;background:var(--app-surface-raised)!important;color:var(--app-text)!important;
}
.modal-head strong{font-size:14px;font-weight:700;}
.modal-close{width:30px;height:30px;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--app-muted)!important;font-size:20px;cursor:pointer;}
.modal-close:hover{background:var(--app-surface-soft)!important;color:var(--app-text)!important;}
.modal-form{padding:18px!important;background:var(--app-surface-raised)!important;}
.modal-grid{gap:13px!important;}
.field{margin-bottom:13px!important;}.field label{margin-bottom:7px!important;color:var(--app-muted)!important;font-size:12px;font-weight:600;}
.modal-actions{padding-top:14px!important;border-top:1px solid var(--app-line)!important;display:flex;justify-content:flex-end;gap:8px!important;}
.modal-checkline{color:var(--app-text-soft)!important;}
.modal-section-title,.price-section-title{color:var(--app-text)!important;border-color:var(--app-line)!important;}
.transaction-detail-grid>div{border-color:var(--app-line)!important;}.transaction-detail-grid span{color:var(--app-muted)!important;}.transaction-detail-grid strong{color:var(--app-text-soft)!important;}
.user-edit-card-flat{background:var(--app-surface-raised)!important;}
.user-edit-card-flat .modal-form,.user-edit-card-flat .user-edit-grid,.user-edit-card-flat .user-price-columns,.user-edit-card-flat .modal-quick-actions,.user-edit-card-flat .modal-actions-flat{background:transparent!important;}
.user-price-columns,.price-column,.modal-quick-actions{border-color:var(--app-line)!important;}
.user-edit-card-flat .price-column{border-color:var(--app-line)!important;background:var(--app-surface-soft)!important;}
.price-column-title{color:var(--app-text)!important;background:var(--app-surface-soft)!important;border-color:var(--app-line)!important;}
.price-field{border-color:var(--app-line)!important;background:transparent!important;}
.user-edit-card-flat .price-column .price-field label{color:var(--app-text-soft)!important;}
.user-edit-card-flat .price-column .price-field .input{border-color:var(--app-line-strong)!important;background:var(--app-input)!important;color:var(--app-text)!important;}
.user-edit-card-flat .modal-quick-actions{background:var(--app-surface-raised)!important;}
.quick-actions-note{color:var(--app-muted)!important;}

/* Settings */
.settings-page-v3{width:calc(100% - 44px)!important;max-width:none!important;margin:20px auto 50px!important;}
.settings-toolbar-v3{
  height:58px!important;padding:0 16px!important;border:1px solid var(--app-line)!important;border-radius:8px!important;
  background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;
}
.settings-toolbar-v3 h1{color:var(--app-text)!important;font-size:15px!important;}
.settings-surface-v3{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;padding:14px 0 0!important;background:transparent!important;border:0!important;}
.settings-section-v3{min-width:0;padding:18px!important;box-shadow:var(--app-shadow)!important;}
.settings-section-last-v3,.settings-interface-v3{grid-column:1/-1!important;}
.settings-section-v3 h2{margin:0 0 15px!important;padding:0!important;border:0!important;color:var(--app-text)!important;font-size:14px!important;font-weight:700!important;}
.settings-cols-2-v3{grid-template-columns:minmax(0,1.5fr) minmax(120px,.8fr)!important;}
.settings-fields-v3,.settings-field-v3{min-width:0;}
.settings-field-v3>span,.settings-toggle-item-v3>span{color:var(--app-muted)!important;font-size:12px!important;}
.settings-toggle-item-v3{height:52px!important;padding:0 13px!important;border:1px solid var(--app-line)!important;border-radius:7px;background:var(--app-surface-soft)!important;}
.settings-switch-track{background:var(--app-line-strong)!important;box-shadow:none!important;}
.settings-switch-input:checked~.settings-switch-track{background:var(--app-accent)!important;}
.settings-switch-state{color:var(--app-muted)!important;}.settings-switch-input:checked~.settings-switch-state:after{color:var(--app-accent)!important;}
.settings-process-list-v3{border-color:var(--app-line-strong)!important;border-radius:6px!important;background:var(--app-input)!important;color:var(--app-text-soft)!important;}
.settings-help-v3{color:var(--app-muted)!important;}

/* Device registration and secondary pages */
.register-page-v2{height:auto!important;min-height:430px!important;padding:22px 22px 50px!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.register-form-v2{width:100%!important;max-width:1120px!important;margin:0 auto!important;}
.device-service-columns{gap:14px!important;}
.device-service-group{overflow:hidden;box-shadow:var(--app-shadow)!important;}
.device-service-group h2{height:46px!important;padding:0 15px!important;border-color:var(--app-line)!important;color:var(--app-text)!important;background:var(--app-surface)!important;}
.device-service-option{height:44px!important;border-color:var(--app-line)!important;background:var(--app-surface)!important;}
.device-service-option:hover{background:var(--app-surface-soft)!important;}
.device-service-option:has(input:checked){background:var(--app-accent-soft)!important;box-shadow:inset 3px 0 var(--app-accent)!important;}
.device-service-option input{accent-color:var(--app-accent)!important;}
.device-service-name{color:var(--app-text-soft)!important;}.device-service-price{color:var(--app-accent)!important;}
.device-register-footer{margin-top:14px!important;padding:13px 14px!important;box-shadow:var(--app-shadow)!important;}
.device-register-ecid{color:var(--app-muted)!important;}
.placeholder{margin:20px 22px 48px!important;padding:24px!important;border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;color:var(--app-text-soft)!important;box-shadow:var(--app-shadow)!important;}
.service-page{padding:20px 22px 48px!important;}.service-section{padding:19px!important;}
.section-title,.status-title{margin:0 0 14px!important;padding:0!important;border:0!important;color:var(--app-text)!important;font-size:15px!important;font-weight:700!important;}
.status-page{margin:20px 22px!important;}.status-card{border:1px solid var(--app-line)!important;border-radius:7px!important;background:var(--app-surface-soft)!important;color:var(--app-text-soft)!important;}
.status-card .label{color:var(--app-muted)!important;}
.password-section{margin:20px 22px 48px!important;padding:20px!important;border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;}
.password-form-flat,.password-grid{background:transparent!important;}
.price-panel{padding:18px!important;}.price-section-title{color:var(--app-text)!important;}
.price-export-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px;}

/* Login */
body.login-body{
  position:relative!important;min-height:100vh!important;padding:78px 20px 30px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:auto!important;background:var(--app-bg)!important;color:var(--app-text)!important;
}
body.login-v2:before{content:none!important;}
.login-utilities{position:fixed;top:18px;right:22px;z-index:20;display:flex;align-items:center;gap:8px;}
.login-utilities .top-icon-button,.login-utilities .language-trigger{border-color:var(--app-line)!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow);}
.login-frame{
  position:relative!important;z-index:2!important;width:420px!important;max-width:100%!important;padding:34px 34px 24px!important;
  border:1px solid var(--app-line)!important;border-radius:8px!important;background:var(--app-surface)!important;box-shadow:0 22px 64px rgba(0,0,0,.28)!important;
  text-align:left!important;
}
.login-logo-wrap{display:flex!important;justify-content:center!important;margin-bottom:12px!important;}
.login-logo{
  width:52px!important;height:52px!important;border:1px solid color-mix(in srgb,var(--app-accent) 55%,var(--app-line))!important;border-radius:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;background:var(--app-accent)!important;color:#fff!important;
  box-shadow:0 10px 25px color-mix(in srgb,var(--app-accent) 24%,transparent)!important;font-size:16px!important;font-weight:800!important;
}
.login-frame h1{margin:0!important;color:var(--app-text)!important;font-size:24px!important;font-weight:750!important;text-align:center!important;}
.login-product-line{margin:5px 0 24px!important;color:var(--app-muted)!important;font-size:11px!important;text-align:center!important;}
.login-frame h2{margin:0!important;color:var(--app-text)!important;font-size:17px!important;font-weight:700!important;text-align:left!important;}
.login-subtitle{margin:5px 0 20px!important;color:var(--app-muted)!important;font-size:13px!important;text-align:left!important;}
.login-error{display:none!important;margin:0 0 14px!important;padding:10px 11px!important;border:1px solid color-mix(in srgb,var(--app-red) 35%,var(--app-line))!important;border-radius:6px!important;background:var(--app-red-soft)!important;color:var(--app-red)!important;font-size:12px!important;}
.login-error.show{display:block!important;}
.login-form-v2{display:block!important;}
.login-field-v2{margin-bottom:15px!important;}
.login-field-v2 label{display:block!important;margin-bottom:7px!important;color:var(--app-text-soft)!important;font-size:12px!important;font-weight:600!important;}
.login-field-v2 input{
  width:100%!important;height:42px!important;padding:0 12px!important;border:1px solid var(--app-line-strong)!important;border-radius:6px!important;
  background:var(--app-input)!important;color:var(--app-text)!important;outline:0!important;
}
.login-field-v2 input::placeholder{color:var(--app-faint)!important;}
.login-field-v2 input:focus{border-color:var(--app-accent)!important;box-shadow:0 0 0 3px var(--app-accent-soft)!important;}
.password-field-v2{position:relative!important;}.password-field-v2 input{padding-right:44px!important;}
.eye-btn-v2{position:absolute!important;right:7px!important;bottom:6px!important;width:30px!important;height:30px!important;padding:6px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--app-muted)!important;cursor:pointer!important;}
.eye-btn-v2:hover{background:var(--app-surface-soft)!important;color:var(--app-text)!important;}
.eye-btn-v2 svg{width:18px!important;height:18px!important;}
.login-submit-v2{
  width:100%!important;height:42px!important;margin-top:2px!important;border:1px solid var(--app-accent)!important;border-radius:6px!important;
  background:var(--app-accent)!important;color:#fff!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important;
}
.login-submit-v2:hover{background:var(--app-accent-hover)!important;border-color:var(--app-accent-hover)!important;}
.login-copy{margin-top:22px!important;color:var(--app-faint)!important;font-size:11px!important;text-align:center!important;}

.model-table{min-width:930px!important;}
.product-table{min-width:760px!important;}
.product-table-wrap{max-height:calc(100vh - 214px)!important;}
.model-modal-card{width:min(700px,100%)!important;}
.product-modal-card{width:min(560px,100%)!important;}
.product-modal-grid{grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr)!important;}
.modal-toggle-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.column-picker{position:relative;}
.column-picker>summary{list-style:none;cursor:pointer;}
.column-picker>summary::-webkit-details-marker{display:none;}
.column-picker-menu{position:absolute;right:0;top:40px;z-index:30;width:190px;padding:8px;border:1px solid var(--app-line)!important;border-radius:7px;background:var(--app-surface)!important;box-shadow:0 12px 30px rgba(0,0,0,.22);}
.column-picker-menu label{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 7px;border-radius:5px;color:var(--app-text-soft)!important;font-size:12px;cursor:pointer;}
.column-picker-menu label:hover{background:var(--app-accent-soft)!important;color:var(--app-text)!important;}
.column-picker-menu input{accent-color:var(--app-accent);}

@media (min-width:1500px){.dash-cards{grid-template-columns:repeat(5,minmax(0,1fr))!important;}}
@media (max-width:1499px) and (min-width:681px){
  .dash-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .metric-token{grid-column:1/-1;}
}
@media (max-width:1180px){
  .topbar{padding-right:18px!important;}.top-balance{display:none;}
  .settings-client-grid-v3{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:1050px) and (min-width:901px){
  .settings-surface-v3{grid-template-columns:1fr!important;}
  .settings-section-last-v3,.settings-interface-v3{grid-column:auto!important;}
  .user-summary{display:none;}
}
@media (max-width:900px){
  .side,.admin-shell.sidebar-collapsed .side{width:var(--app-side-width)!important;transform:translateX(-100%);}
  .admin-shell.sidebar-mobile-open .side{transform:translateX(0);}
  .page,.admin-shell.sidebar-collapsed .page{width:100%!important;margin-left:0!important;}
  .admin-footer,.admin-shell.sidebar-collapsed .admin-footer{left:0!important;}
  .admin-shell.sidebar-collapsed .brand{padding:0 22px!important;justify-content:flex-start!important;}
  .admin-shell.sidebar-collapsed .brand-logo{margin-right:12px!important;}
  .admin-shell.sidebar-collapsed .brand-name,.admin-shell.sidebar-collapsed .menu-label,.admin-shell.sidebar-collapsed .menu-chevron,
  .admin-shell.sidebar-collapsed .nav-item>span:last-child,.admin-shell.sidebar-collapsed .side-control>span:last-child{display:block!important;}
  .admin-shell.sidebar-collapsed .menu-title{padding:0 18px!important;justify-content:space-between!important;}
  .admin-shell.sidebar-collapsed .nav-item{margin:2px 12px!important;padding:0 14px!important;justify-content:flex-start!important;}
  .admin-shell.sidebar-collapsed .nav-icon{margin-right:10px!important;}
  .admin-shell.sidebar-collapsed .side-control{padding:0 12px!important;justify-content:flex-start!important;}
  .sidebar-backdrop{position:fixed;inset:0;z-index:75;border:0;background:rgba(0,0,0,.54);cursor:pointer;}
  .admin-shell.sidebar-mobile-open .sidebar-backdrop{display:block;}
  .page-heading p{display:none;}
  .settings-surface-v3{grid-template-columns:1fr!important;}
  .settings-section-last-v3,.settings-interface-v3{grid-column:auto!important;}
}
@media (max-width:680px){
  :root{--app-header-height:62px;--app-tabs-height:38px;}
  .topbar{padding:0 10px!important;}.topbar-left{gap:7px;}.topbar-actions{gap:3px;}
  .page-heading h1{max-width:135px;font-size:15px;}
  .top-icon-button{display:none!important;}.language-trigger{padding:0 7px;}.language-trigger [data-language-code]{display:none;}
  .user-summary,.top-user-chevron{display:none!important;}.top-user{padding:2px!important;}.user-avatar{width:32px;height:32px;}
  .tabs.tabs-multi{padding:0 8px!important;}.tab-item{min-width:82px!important;}
  .dash-cards{grid-template-columns:1fr!important;padding:12px!important;gap:10px!important;}
  .metric-card{height:112px!important;}
  .action-strip{margin:0 12px 10px!important;align-items:stretch!important;flex-wrap:wrap!important;}
  .action-strip form,.action-strip .btn{flex:1 1 135px;}
  .manager-panel{margin:12px 10px 44px!important;}.panel-wrap{padding:12px 10px 44px!important;}
  .manager-toolbar,.toolbar{align-items:stretch!important;flex-direction:column!important;}
  .manager-left,.manager-right,.toolbar-left,.toolbar-right{width:100%;flex-wrap:wrap;}
  .manager-input,.search-input,.search-input.ecid,.search-input.time{width:100%!important;min-width:0!important;}
  .page-transactions .content>.toolbar,.page-logs .content>.toolbar{margin:12px 10px 0!important;}
  .page-transactions .content>.wide-table-wrap,.page-logs .content>.wide-table-wrap{margin:0 10px 44px!important;}
  .settings-page-v3{width:calc(100% - 20px)!important;margin:12px auto 44px!important;}
  .settings-toolbar-v3{padding:0 12px!important;}.settings-surface-v3{gap:10px!important;}
  .settings-cols-2-v3,.settings-client-grid-v3,.settings-toggle-grid-v3,.settings-price-grid-v3{grid-template-columns:1fr!important;}
  .device-service-columns{grid-template-columns:1fr!important;}.device-service-list{grid-template-columns:1fr!important;}
  .device-service-option{border-right:0!important;}.register-page-v2{padding:12px 10px 44px!important;}
  .device-register-footer{align-items:stretch!important;flex-direction:column!important;}.device-register-footer .btn{width:100%;}
  .status-grid,.row,.price-two-col{grid-template-columns:1fr!important;}
  .status-page,.password-section{margin:12px 10px 44px!important;}
  .service-page{padding:12px 10px 44px!important;}
  .modal-mask{padding:10px!important;}.modal-card{max-height:calc(100vh - 20px);}.modal-grid,.user-edit-grid{grid-template-columns:1fr!important;}
  .product-modal-grid{grid-template-columns:1fr!important;}
  .login-utilities{top:12px;right:12px;}.login-frame{padding:28px 22px 22px!important;}.login-frame h1{font-size:21px!important;}
}

@media print{
  body.table-printing{background:#fff!important;color:#111!important;}
  body.table-printing .side,body.table-printing .topbar,body.table-printing .tabs,body.table-printing .admin-footer,body.table-printing .manager-toolbar,body.table-printing .pager{display:none!important;}
  body.table-printing .page{width:100%!important;margin:0!important;padding:0!important;}
  body.table-printing .content{min-height:0!important;background:#fff!important;}
  body.table-printing .content>*{display:none!important;}
  body.table-printing .content .table-print-container{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;}
  body.table-printing .table-print-container>*{display:none!important;}
  body.table-printing .table-print-container>.table-print-branch,body.table-printing .table-print-container>.table-print-target{display:block!important;}
  body.table-printing .table-print-branch>*{display:none!important;}
  body.table-printing .table-print-branch>.table-print-branch,body.table-printing .table-print-branch>.table-print-target{display:block!important;}
  body.table-printing .wide-table-wrap{display:block!important;max-height:none!important;overflow:visible!important;}
  body.table-printing table.table-print-target{display:table!important;min-width:0!important;color:#111!important;}
  body.table-printing .table-print-target th,body.table-printing .table-print-target td{color:#111!important;background:#fff!important;}
}
