/* Smart360 UI • shared visual system. Existing app.css remains the component base. */
.s360-app {
  --bg:#0e151c; --bg2:#18232e; --bg3:#202e3b; --bg4:#293b4c;
  --border:#30404f; --border2:#42576a;
  --text:#f3f7fa; --text1:#f3f7fa; --text2:#bfccd8; --text3:#a2b2c2;
  --accent:#50e2b7; --accent2:#85beff; --accent3:#c0b4ff;
  --success:#50e2b7; --warning:#ffd08a; --danger:#ff9da9; --info:#85beff;
  --sidebar-w:248px; --radius:14px; --radius-sm:9px; --shadow:0 6px 18px #00000014;
  color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px; background:var(--bg); line-height:1.55;
}
.s360-app button,.s360-app input,.s360-app select,.s360-app textarea {font-family:inherit}
.s360-app a {color:var(--accent)}
.s360-app :focus-visible {outline:2px solid var(--accent);outline-offset:4px}
.s360-app [hidden] {display:none!important}
.ui-icon {flex-shrink:0;vertical-align:middle}
.skip-link {position:fixed;top:-80px;left:16px;z-index:2000;background:var(--bg2);padding:12px;border:2px solid var(--accent);border-radius:8px}
.skip-link:focus {top:12px}
.app-layout {width:100%;min-width:0}
.s360-app .sidebar {background:#101820;border-right:1px solid var(--border);box-shadow:none;overflow:hidden;z-index:120}
.sidebar-logo {min-height:90px;padding:22px 20px;border-color:var(--border)}
.logo-icon {width:37px;height:37px;background:#50e2b7;color:#10231e;border-radius:10px;box-shadow:none}
.logo-text {font-size:20px;letter-spacing:-.65px;line-height:1.2}
.brand-dot {color:var(--accent)}
.logo-sub {font-size:9px;letter-spacing:1.35px;color:var(--text3);margin-top:6px}
.sidebar-nav {padding:18px 12px;overflow-y:auto;overscroll-behavior:contain}
.nav-section-label {display:block;margin:0 0 12px;padding:0 12px;color:var(--text3);font-size:10px;letter-spacing:1.3px}
.s360-app .nav-item {min-height:44px;gap:12px;margin:2px 0;padding:11px 12px;color:var(--text2);font-size:13px;border:0;border-radius:9px;text-decoration:none;line-height:1.4;transition:background .15s,color .15s}
.s360-app .nav-item:hover {background:#1d2b36;color:var(--text);transform:none}
.s360-app .nav-item.active {background:#153b32;color:#80f2ce;border:0;font-weight:650}
.s360-app .nav-item.active::before {display:none}
.nav-group {margin:4px 0}
.nav-group summary {display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 12px;font-weight:550;font-size:13px;color:var(--text2);cursor:pointer;border-radius:9px;list-style:none}
.nav-group summary::-webkit-details-marker {display:none}
.nav-group summary::marker {content:""}
.nav-group summary:hover {background:#1d2b36;color:var(--text)}
.nav-group summary>.ui-icon:last-child {width:15px;height:15px;margin-left:auto;transition:transform .15s}
.nav-group[open] summary>.ui-icon:last-child {transform:rotate(90deg)}
.nav-group.current-group>summary {color:var(--text)}
.nav-group-items {margin:3px 0 9px 21px;padding-left:10px;border-left:1px solid #354755}
.s360-app .nav-group-items .nav-item {font-size:12px;padding:10px 11px}
.nav-badge,.nav-group-count {margin-left:auto;padding:1px 6px;font-size:10px;line-height:18px;border-radius:5px;background:#5e2935;color:#ffd2d9;font-weight:650}
.nav-group-count {background:var(--bg3);color:var(--text2)}
.nav-group summary>.nav-group-count+.ui-icon {margin-left:0}
.sidebar-footer {padding:14px 12px;border-color:var(--border);background:#101820}
.admin-info {background:#192631;padding:10px;gap:10px}
.admin-avatar {background:#2c443e;color:#a0f8db;border-radius:8px;width:33px;height:33px}
.admin-text {min-width:0;flex:1}
.admin-name {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.admin-role {color:var(--text3);font-size:10px;margin-top:2px}
.icon-button {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text2);cursor:pointer;text-decoration:none;flex-shrink:0}
.icon-button:hover {background:var(--bg3);color:var(--text)}
.admin-info .icon-button {width:32px;height:36px}
.menu-toggle,.sidebar-close,.sidebar-overlay {display:none}
.s360-app .main-content {width:calc(100% - var(--sidebar-w));min-width:0;margin-left:var(--sidebar-w);padding-bottom:0}
.topbar {height:80px;min-height:80px;background:#101820;border-color:var(--border);padding:0 32px;box-shadow:none;backdrop-filter:none;gap:16px}
.topbar-leading {display:flex;align-items:center;gap:12px;min-width:0}
.topbar-title {font-size:17px;font-weight:650;letter-spacing:-.3px;line-height:1.5}
.topbar-sub {font-size:11px;color:var(--text3);margin:0;line-height:1.4}
.topbar-actions {gap:16px;flex-shrink:0}
.topbar-date {font-size:12px;color:var(--text3)}
.workspace-badge {border:1px solid var(--border);border-radius:7px;padding:5px 9px;font-size:11px;color:var(--text2)}
.page-content {width:100%;max-width:1640px;min-width:0;padding:32px;margin:0 auto}
.page-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.page-heading h1 {font-size:26px;line-height:1.25;font-weight:650;letter-spacing:-.8px;margin:0 0 8px}
.page-heading p {color:var(--text3);font-size:13px;max-width:65ch}
.page-actions {display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.eyebrow {display:block;font-size:10px;letter-spacing:1.5px;font-weight:650;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.card,.stat-card,.summary-card,.wiz-panel {background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);min-width:0}
.card:hover,.stat-card:hover {border-color:var(--border2)}
.card-header {padding:18px 20px;gap:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}
.card-title {font-size:14px;font-weight:650;letter-spacing:-.15px}
.card-sub {font-size:12px;color:var(--text3);margin-top:4px}
.card-body {padding:20px;min-width:0}
.stats-grid {grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:16px;margin-bottom:24px;min-width:0}
.stat-card {padding:20px;display:flex;flex-direction:column;position:relative}
.stat-card::before {display:none}
.stat-icon {width:34px;height:34px;border-radius:9px;margin-bottom:18px;background:#254239!important;color:var(--accent);font-size:16px}
.stat-card.blue .stat-icon {background:#263e56!important;color:var(--accent2)}
.stat-card.purple .stat-icon {background:#38354e!important;color:var(--accent3)}
.stat-value {font-size:clamp(22px,2.25vw,30px);font-weight:650;letter-spacing:-.8px;line-height:1.2;margin-bottom:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat-label {font-size:12px;text-transform:none;letter-spacing:0;color:var(--text2);font-weight:500}
.stat-change {font-size:11px;color:var(--text3);margin-top:10px}
.stat-change.up {color:var(--text3)}
.dashboard-kpis {grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-grid {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-bottom:20px;align-items:start}
.dashboard-grid>.card {width:100%}
.dashboard-secondary {margin-top:24px}
.attention-strip {display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--border);border-radius:11px;padding:12px 16px;background:#15212b;margin:0 0 24px;color:var(--text2);font-size:12px}
.attention-strip a {text-decoration:none}
.attention-strip strong {color:var(--text);margin-right:4px}
.section-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 14px}
.section-heading h2 {font-size:15px;font-weight:600}
.section-heading span {font-size:12px;color:var(--text3)}
.ui-details {margin:16px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);min-width:0}
.ui-details>summary {padding:18px 20px;cursor:pointer;font-weight:600;font-size:14px;color:var(--text);list-style:none;display:flex;align-items:center;gap:12px}
.ui-details>summary::-webkit-details-marker {display:none}
.ui-details>summary::after {content:"+";font-size:20px;font-weight:400;margin-left:auto;color:var(--text3)}
.ui-details[open]>summary::after {content:"−"}
.ui-details>summary>span {font-weight:400;color:var(--text3);font-size:12px}
.ui-details[open]>summary {border-bottom:1px solid var(--border)}
.ui-details-body {padding:20px}
.ui-details-body>.card:last-child {margin-bottom:0}
.ui-details-body>div[style*="grid-template-columns"] {min-width:0}
.dashboard-secondary .dashboard-grid:last-child {margin-bottom:0}
.ui-tabs {display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#101b24;border:1px solid var(--border);border-radius:12px;margin-bottom:22px}
.ui-tab {padding:10px 15px;border-radius:8px;color:var(--text2);font-size:13px;font-weight:550;text-decoration:none;border:1px solid transparent;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.s360-app a.ui-tab {color:var(--text2)}
.s360-app a.ui-tab:hover {background:var(--bg3);color:var(--text)}
.s360-app a.ui-tab[aria-current="page"] {background:#284538;color:#a2f7d8;border-color:#426253}
.s360-app .ui-tab.hidden-by-script {display:none}
.slot-panel {scroll-margin-top:100px}
.slot-panel:focus {outline:none}
.slot-panel>.card {margin-bottom:20px}
.slot-actions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}
.slot-action {display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg2);text-decoration:none;min-width:0}
.slot-action:hover {background:#20342e;border-color:#4b7263}
.slot-action .ui-icon:last-child {margin-left:auto;width:17px}
.slot-action strong {display:block;font-size:13px;color:var(--text);font-weight:600}
.slot-action small {display:block;font-size:11px;color:var(--text3);margin-top:4px}
.slot-action .action-symbol {width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#254239;border-radius:10px;flex-shrink:0}
.slot-help-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.slot-help-grid strong {display:block;margin-bottom:6px;font-size:13px}
.slot-help-grid p {font-size:13px;color:var(--text2)}
.slot-panel .stats-grid {margin-bottom:20px}
.s360-app .btn {min-height:42px;padding:9px 15px;border-radius:8px;font-size:12px;font-weight:600;justify-content:center;line-height:1.4;box-shadow:none;transform:none}
.s360-app .btn-primary {background:#50e2b7;color:#0d2a20;border:1px solid #50e2b7}
.s360-app .btn-primary:hover {background:#79edca;color:#0d2a20}
.s360-app .btn-secondary {background:#23323f;color:var(--text);border:1px solid var(--border2)}
.s360-app .btn-sm {min-height:36px;padding:7px 11px;font-size:11px}
.s360-app .btn-xs {min-height:32px;padding:5px 9px}
.s360-app .form-control {background:#111d27;border:1px solid #445a6c;border-radius:8px;color:var(--text);min-height:44px;font-size:14px;box-shadow:none}
.s360-app .form-control:focus {border-color:var(--accent);box-shadow:0 0 0 3px #50e2b71c;background:#15232e}
.form-label {font-size:12px;letter-spacing:0;color:var(--text2)}
.form-hint {font-size:12px;color:var(--text3);line-height:1.5}
.form-row,.form-row-3 {min-width:0}
.form-row>*,.form-row-3>* {min-width:0}
.table-wrap,.table-responsive {width:100%;max-width:100%;overflow-x:auto;border-radius:0;overscroll-behavior-x:contain}
.s360-app table {border-collapse:collapse;border-spacing:0}
.s360-app thead th {background:#1e2c38;color:var(--text2);font-size:10px;font-weight:600;letter-spacing:.6px;padding:12px 16px;border-color:var(--border)}
.s360-app tbody td {font-size:12px;color:var(--text2);padding:14px 16px;border-color:#2b3b49;overflow-wrap:anywhere}
.s360-app tbody tr:hover td {background:#20313e}
.s360-app .badge {font-size:10px;letter-spacing:0;font-weight:600;padding:4px 8px;border-radius:5px;white-space:nowrap}
.s360-app .badge-inactive {background:#34404b;color:#d3dde5}
.empty-state {padding:36px 20px}
.empty-desc {font-size:12px;color:var(--text3)}
.alert {border-radius:10px;line-height:1.6}
.alert-danger,.alert-warning {color:var(--text)}
.alert[role] {outline-offset:3px}
.modal-overlay {padding:16px}
.modal {max-height:calc(100dvh - 32px)}
.bandwidth-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:14px}
.bandwidth-panel {background:#111d27;border:1px solid var(--border);border-radius:10px;padding:16px;min-width:0}
.bandwidth-meta {overflow-wrap:anywhere}
.data-mobile-label {display:none}
@media(min-width:1600px) {.page-content {padding:36px 42px}}
@media(max-width:1200px) {
  .page-content {padding:24px}
  .topbar {padding:0 24px}
  .dashboard-kpis {grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid {grid-template-columns:minmax(0,1fr)}
  .slot-actions {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px) {
  .s360-app .sidebar {width:280px;max-width:calc(100vw - 48px);transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s}
  .s360-app .sidebar.open {transform:translateX(0);visibility:visible;box-shadow:15px 0 60px #0006}
  .s360-app .main-content {margin-left:0;width:100%}
  .menu-toggle,.sidebar-close {display:inline-flex}
  .sidebar-close {margin-left:auto;width:36px}
  .sidebar-logo {padding:20px 16px;gap:10px}
  .sidebar-overlay:not([hidden]) {display:block;position:fixed;inset:0;background:#0009;border:0;border-radius:0;z-index:110}
  .menu-is-open {overflow:hidden}
  .topbar {height:72px;min-height:72px;padding:0 20px}
  .topbar-date {display:none}
  .page-content {padding:24px 20px}
  .page-content .stats-grid[style*="grid-template-columns"] {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px) {
  .s360-app {font-size:14px}
  .topbar {padding:0 12px}
  .topbar-title {font-size:15px}
  .topbar-actions {gap:0}
  .workspace-badge {font-size:10px;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .page-content {padding:24px 16px}
  .page-heading {gap:16px;margin-bottom:22px}
  .page-heading h1 {font-size:24px}
  .page-heading p {font-size:12px}
  .page-heading .page-actions {width:100%}
  .page-actions .btn {flex:1;min-height:44px}
  .stats-grid,.dashboard-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat-card {padding:15px 13px}
  .stat-icon {width:30px;height:30px;margin-bottom:16px}
  .stat-value {font-size:23px;letter-spacing:-.7px}
  .stat-label {font-size:11px}
  .stat-change {font-size:10px;line-height:1.6}
  .slot-kpis .stat-value {font-size:20px}
  .attention-strip {gap:10px 16px;padding:12px;font-size:11px}
  .dashboard-grid {gap:16px;margin-bottom:16px}
  .card-header {padding:16px;gap:12px}
  .card-body,.ui-details-body {padding:16px}
  .card-title {font-size:13px}
  .card-sub {font-size:11px}
  .ui-details>summary {padding:16px;font-size:13px;flex-wrap:wrap;gap:6px}
  .ui-details>summary>span {display:none}
  .slot-actions {grid-template-columns:1fr;gap:10px}
  .slot-action {padding:15px}
  .ui-tabs {gap:4px;padding:5px}
  .ui-tab {font-size:12px;padding:9px 12px;flex:1;justify-content:center}
  .slot-help-grid,.form-row,.form-row-3 {grid-template-columns:minmax(0,1fr)}
  .page-content div[style*="grid-template-columns"] {grid-template-columns:minmax(0,1fr)!important}
  .page-content .stats-grid[style*="grid-template-columns"] {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-control {font-size:16px!important}
  .table-toolbar {padding:14px;align-items:stretch}
  .table-toolbar .search-box {min-width:0;flex-basis:100%}
  .modal-header,.modal-body,.modal-footer {padding:16px}
  .modal-footer {flex-wrap:wrap}
  .modal-footer .btn {flex:1}
  .page-content .btn {white-space:normal;overflow-wrap:anywhere}
  .page-content .btn-sm {min-height:40px}
  /* Opt-in card rows for the dashboard and wallet; other tables retain scrolling. */
  .mobile-records table,.mobile-records tbody {display:block;width:100%}
  .mobile-records thead {display:none}
  .mobile-records tr {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:10px 16px;border-bottom:1px solid var(--border);gap:0 12px}
  .mobile-records tbody td {display:block;border:0;padding:7px 0!important;min-width:0;white-space:normal!important}
  .mobile-records td::before {content:attr(data-label);display:block;font-size:10px;color:var(--text3);font-weight:400;letter-spacing:.3px;margin-bottom:4px}
  .mobile-records td[colspan] {grid-column:1/-1;text-align:center}
  .mobile-records td[colspan]::before {display:none}
  .mobile-records .empty-state {padding:20px 0}
  .mobile-records .mono {font-size:11px}
}
@media(max-width:359px) {.page-content {padding:20px 12px}.slot-kpis,.dashboard-kpis {grid-template-columns:1fr}.page-content .slot-kpis[style] {grid-template-columns:1fr!important}.workspace-badge {display:none}}
@media(prefers-reduced-motion:reduce) {*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print {.sidebar,.topbar,.sidebar-overlay,.page-actions,.ui-tabs,.skip-link {display:none!important}.s360-app .main-content {margin:0;width:100%}.page-content {padding:0;max-width:none}.s360-app {--bg:#fff;--bg2:#fff;--bg3:#f3f3f3;--text:#111;--text1:#111;--text2:#333;--text3:#555;--border:#ccc;color-scheme:light}.slot-panel[hidden] {display:block!important}.card,.stat-card {box-shadow:none;break-inside:avoid}}
/* Keep activity links clear of the sticky header after anchor navigation. */
.ui-tabs {scroll-margin-top:96px}
#dashboard-network .ui-details-body>.card {margin-bottom:18px}
#dashboard-network .ui-details-body>.card:last-child {margin-bottom:0}
/* Feature pages: consistent screen styles. Original print-only templates stay independent. */
.s360-app {
 --card:var(--bg2);--color-background-secondary:var(--bg2);--color-background-tertiary:var(--bg3);
 --color-background-info:#203a50;--color-background-warning:#433b26;
 --color-border-tertiary:var(--border);--color-border-danger:#733f49;--color-border-success:#386b59;--color-border-info:#3d6080;
 --color-text-primary:var(--text);--color-text-secondary:var(--text2);--color-text-tertiary:var(--text3);
 --color-text-success:var(--success);--color-text-danger:var(--danger);--color-text-warning:var(--warning);--color-text-info:var(--info);
}
.module-nav {display:flex;gap:5px;flex-wrap:wrap;margin:0 0 28px;border-bottom:1px solid var(--border);padding-bottom:10px;min-width:0}
.module-nav a {display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;color:var(--text3);font-size:12px;text-decoration:none;border-radius:8px;white-space:nowrap}
.module-nav a:hover {background:var(--bg3);color:var(--text)}
.module-nav a[aria-current] {color:var(--accent);background:#17352e;font-weight:600}
.s360-app .page-heading h1 {font-family:inherit;font-size:25px;font-weight:650;color:var(--text);line-height:1.3;letter-spacing:-.65px}
.page-heading>div>div:not(:first-child) {color:var(--text3);font-size:12px}
.s360-app .feature-kpis {grid-template-columns:repeat(auto-fit,minmax(min(175px,100%),1fr))!important}
.s360-app .feature-grid {min-width:0}
.feature-grid>* {min-width:0}
.feature-disclosure>.ui-details-body>.card {margin:0!important}
.feature-disclosure>.ui-details-body {padding:0}
.feature-disclosure>.ui-details-body>.card {border:0;border-radius:0 0 var(--radius) var(--radius);box-shadow:none}
.feature-disclosure .card-header {background:#1a2934}
.feature-disclosure>summary {min-height:58px}
.page-content>.card {margin-bottom:22px}
.feature-filters form {align-items:center;gap:10px!important}
.feature-filters input:not([type=checkbox]):not([type=hidden]),.feature-filters select {min-height:42px}
.feature-filters .search-box {min-width:min(240px,100%)!important}
.s360-app .access-tabs {display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--border);border-radius:11px;background:#101b24}
.s360-app .access-tabs .access-tab {min-height:42px;border:1px solid transparent;color:var(--text2)}
.s360-app .access-tabs .access-tab.active {background:#284538;border-color:#426253;color:#a2f7d8}
.server-tabs {max-width:100%;flex-wrap:wrap!important;gap:6px!important;width:100%!important;padding:6px!important}
.server-tabs>a {min-height:42px;display:inline-flex;align-items:center;justify-content:center;flex:1;white-space:nowrap}
.s360-app .standalone-card {padding:20px}
.voucher-workspace {display:block!important;border:1px solid var(--border);border-radius:var(--radius);padding:20px;background:var(--bg2)}
.workspace-switcher {display:flex;gap:6px;padding:5px;background:#101b24;border:1px solid var(--border);border-radius:10px;margin-bottom:20px;scroll-margin-top:96px}
.workspace-switcher a {flex:1;min-height:44px;border-radius:7px;padding:10px 14px;text-align:center;color:var(--text2);text-decoration:none;font-size:13px;font-weight:550}
.workspace-switcher a[aria-current] {background:#284538;color:#a2f7d8}
.voucher-workspace .voucher-create-card {padding:0;border:0;box-shadow:none;border-radius:0;max-width:680px;margin:0 auto}
.workspace-panel:focus {outline:none}
.profile-actionbar {display:flex!important;padding:0!important;border:0!important;background:none!important;gap:12px!important;align-items:center;flex-wrap:wrap}
.profile-actionbar>.btn {margin-left:0!important}
.profile-tools {margin:0;min-width:240px;flex:1}
.profile-tools>summary {padding:13px 16px;font-size:12px}
.profile-tool-list {display:flex;flex-wrap:wrap;gap:10px}
.ui-row-actions {position:relative;min-width:100px}
.ui-row-actions>summary {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 12px;background:#23323f;border:1px solid var(--border2);border-radius:7px;font-size:11px;color:var(--text);cursor:pointer;list-style:none}
.ui-row-actions>summary::-webkit-details-marker {display:none}
.ui-row-actions>summary::after {content:'⌄';font-size:15px;color:var(--text3)}
.ui-row-actions-menu {display:flex;flex-direction:column;gap:5px;padding:8px;background:#1c2b37;border:1px solid var(--border2);border-radius:10px;box-shadow:0 12px 28px #0006;min-width:175px}
.ui-row-actions-menu .btn {justify-content:flex-start;white-space:normal!important}
.ui-row-actions:not([open]) .ui-row-actions-menu {display:none}
.ui-row-actions[open] .ui-row-actions-menu {z-index:350}
.s360-app .ui-floating-menu {z-index:350!important;max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain}
.s360-app .dditem {min-height:40px;display:flex;align-items:center;gap:8px;white-space:normal}
.s360-app .ui-dialog-overlay {padding:20px!important;align-items:center!important;overscroll-behavior:contain}
.s360-app .ui-dialog-overlay>div,.s360-app .modal-overlay>.modal {max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
.s360-app .ui-dialog-overlay input,.s360-app .ui-dialog-overlay select {min-width:0}
.s360-modal-open {overflow:hidden}
.s360-app .modal-close {width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.s360-app button:disabled,.s360-app .btn:disabled {opacity:.5;cursor:not-allowed}
.s360-app .card-header h3 {font-size:14px;font-weight:650;line-height:1.5;margin:0}
.s360-app .card-header>span {font-size:11px;color:var(--text3)}
.s360-app .usage-report {padding:0}
.s360-app .usage-report .report-title {margin-bottom:24px}
.s360-app .usage-report .search-card,.s360-app .usage-report .summary-card,.s360-app .usage-report .table-card {background:var(--bg2);border:1px solid var(--border);padding:20px;border-radius:var(--radius);color:var(--text);box-shadow:none}
.s360-app .usage-report h3 {font-size:14px;margin:0 0 18px;color:var(--text)}
.s360-app .usage-report .form-row {display:flex;align-items:center;gap:10px}
.s360-app .usage-report input {background:#111d27;border:1px solid #445a6c;color:var(--text);min-width:0;flex:1;min-height:44px;font-size:14px}
.s360-app .usage-report button,.s360-app .usage-report .btn-link {background:var(--accent);color:#0d2a20;min-height:44px;font-size:12px;font-weight:600;padding:11px 16px;border-radius:8px}
.s360-app .usage-report .metric {background:var(--bg3);border:1px solid var(--border);border-radius:9px}
.s360-app .usage-report .metric .label,.s360-app .usage-report .small {color:var(--text3)}
.s360-app .usage-report .graph-box {background:#111d27;border:1px solid var(--border)}
.s360-app .usage-report .graph-bar {background:var(--accent)}
.s360-app .usage-report .graph-label,.s360-app .usage-report .graph-legend {color:var(--text3)}
.s360-app .usage-report .timeline {background:var(--bg3)}
.s360-app .usage-report .timeline-fill {background:var(--accent)}
.s360-app .usage-report .table {font-size:12px}
.s360-app .usage-report .delta-good {color:var(--success)}
.s360-app .usage-report .delta-flat {color:var(--warning)}
.s360-app .usage-report .notice {background:#433b26;color:var(--warning);border:1px solid #6a5733}
.s360-app .usage-report .error {background:#4c2831;color:#ffd4db;border:1px solid #733f49}
.s360-app .usage-report .badge-green {background:#173b30;color:#80f2ce}
.s360-app .usage-report .badge-red {background:#4c2831;color:#ffd4db}
.s360-app .usage-report .badge-gray {background:#34404b;color:#d3dde5}
.s360-app .usage-report .badge-blue {background:#203a50;color:#acd3ff}
.s360-app .search-card+.summary-card {margin-top:20px}
.s360-auth .login-page {background:var(--bg);padding:32px 20px}
.s360-auth .login-box {max-width:440px;background:var(--bg2);padding:36px;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 70px #0003}
.s360-auth .login-logo .logo-icon {background:var(--accent);box-shadow:none;color:#0d2a20}
.s360-auth .login-logo p {color:var(--text3);font-size:13px}
.s360-public {display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:32px 20px}
.s360-public>.card {background:var(--bg2);max-width:560px;width:100%;padding:32px;border:1px solid var(--border);box-shadow:0 20px 70px #0003}
.s360-public .logo-name,.s360-public h2,.s360-public .success-title {color:var(--text)}
.s360-public .logo-name {font-size:25px;letter-spacing:-.7px}
.s360-public .logo-sub,.s360-public p,.s360-public .success-desc {color:var(--text3)}
.s360-public label {color:var(--text2);font-size:12px}
.s360-public input,.s360-public select,.s360-public textarea {min-height:46px;background:#111d27;border:1px solid #445a6c;color:var(--text);font-size:14px}
.s360-public .btn {background:var(--accent);color:#0d2a20;min-height:46px}
.s360-public .error {background:#4c2831;color:#ffd4db;border:1px solid #733f49}
.s360-app .pagination {flex-wrap:wrap}
@media(max-width:1100px) {.s360-app .feature-grid {grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px) {
 .module-nav {flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-bottom:22px;padding-bottom:10px;scrollbar-width:thin}
 .module-nav a {font-size:11px;min-height:42px;padding:9px 11px}
 .s360-app .feature-kpis {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
 .s360-app .feature-filters form {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
 .feature-filters form>.search-box,.feature-filters input[type=text] {grid-column:1/-1;width:100%!important;min-width:0!important}
 .feature-filters form>.form-control {width:100%!important;min-width:0!important}
 .feature-filters .btn {min-height:44px!important}
 .s360-app .feature-filters [name=per_page] {width:100%!important}
 .s360-app .table-wrap.mobile-records {overflow:visible}
 .mobile-records tbody td {max-width:none!important;overflow-wrap:anywhere}
 .mobile-records td:last-child {grid-column:1/-1}
 .mobile-records td:has(.ui-row-actions),.mobile-records td:has([onclick^="toggleMenu"]) {grid-column:1/-1}
 .mobile-records .ui-row-actions {width:100%}
 .ui-row-actions>summary {min-height:44px;width:100%}
 .ui-row-actions-menu {min-width:190px}
 .ui-row-actions-menu .btn {min-height:44px}
 .s360-app .ui-dialog-overlay {padding:12px!important}
 .s360-app .ui-dialog-overlay>div,.s360-app .modal-overlay>.modal {max-width:calc(100vw - 24px)!important;padding-left:16px!important;padding-right:16px!important;max-height:calc(100dvh - 24px)}
 .s360-app .modal-overlay {padding:12px}
 .s360-app .feature-grid {grid-template-columns:minmax(0,1fr)!important}
 .voucher-workspace {padding:14px}
 .workspace-switcher a {padding:10px;font-size:12px}
 .profile-tools {min-width:0;width:100%;flex-basis:100%}
 .profile-actionbar>.btn {width:100%}
 .profile-tool-list .btn {flex:1;min-width:125px}
 .s360-auth .login-box,.s360-public>.card {padding:26px 20px}
 .s360-public {padding:24px 14px;align-items:flex-start}
 .s360-public input,.s360-public select,.s360-public textarea {font-size:16px}
 .s360-public .form-row {display:grid;grid-template-columns:minmax(0,1fr)}
 .s360-app .usage-report .grid {grid-template-columns:minmax(0,1fr)}
 .s360-app .usage-report .form-row {display:grid;grid-template-columns:minmax(0,1fr)}
 .s360-app .usage-report input {width:100%}
 .s360-app .usage-report .form-row button {width:100%}
}
@media(max-width:359px) {.s360-app .feature-kpis {grid-template-columns:minmax(0,1fr)!important}}
@media print {
 .module-nav,.workspace-switcher,.ui-row-actions {display:none!important}
 .feature-disclosure {border:0}
 .feature-disclosure>summary {font-size:15px;padding:12px 0}
 .feature-disclosure>summary::after {display:none}
 .feature-disclosure>.ui-details-body {padding:0}
 .workspace-panel[hidden] {display:block!important}
 .s360-app .mobile-records table {display:table!important}
 .s360-app .mobile-records thead {display:table-header-group!important}
 .s360-app .mobile-records tbody {display:table-row-group!important}
 .s360-app .mobile-records tr {display:table-row!important}
 .s360-app .mobile-records td {display:table-cell!important}
 .s360-app .mobile-records td::before {display:none!important}
}
.feature-grid>.ui-details {margin:0}
@media(min-width:601px) {.page-go_live_monitor .feature-kpis {grid-template-columns:repeat(4,minmax(0,1fr))!important}}
