:root{
  --bg-primary:#F5F7FA;
  --bg-secondary:#FFFFFF;
  --bg-card:#FFFFFF;
  --bg-card-hover:#F8FAFC;
  --surface:#FFFFFF;
  --surface-alt:#EEF2F7;
  --border-color:#DEE4EC;
  --border:#DEE4EC;
  --border-strong:#C7D0DC;
  --text-primary:#0F1A2B;
  --text-secondary:#55637A;
  --text-faint:#8B96A8;
  --accent-blue:#0E6E6E;
  --accent-green:#1F9D55;
  --accent-red:#D0342C;
  --accent-orange:#C77D22;
  --accent-purple:#55637A;
  --accent-cyan:#0E6E6E;
  --accent:#0E6E6E;
  --accent-strong:#0A5555;
  --accent-soft:#E1F3F1;
  --online:#1F9D55;
  --online-soft:#E4F6EA;
  --warning:#C77D22;
  --warning-soft:#FBF0E0;
  --critical:#D0342C;
  --critical-soft:#FCE7E6;
  --offline:#8A94A6;
  --offline-soft:#EEF1F5;
  --shadow:0 1px 2px rgba(15,26,43,.03),0 8px 24px rgba(15,26,43,.04);
  --shadow-lg:0 18px 50px rgba(15,26,43,.10);
  --radius:10px;
  --radius-lg:16px;
  --sidebar-width:236px;
}
*{box-sizing:border-box}
html,body{background:var(--bg-primary)!important;color:var(--text-primary)!important}
body{font-family:"Manrope","Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif!important;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
button,input,select,textarea{font:inherit}
.hidden{display:none!important}

/* Login */
.login-container{background:linear-gradient(180deg,#f9fbfc 0%,#eef3f5 100%)!important}
.login-box{width:420px!important;padding:38px!important;border:1px solid var(--border)!important;border-radius:16px!important;box-shadow:var(--shadow-lg)!important}
.login-box .logo h1{font-size:28px!important;background:none!important;-webkit-text-fill-color:initial!important;color:var(--text-primary)!important;letter-spacing:-.03em}
.login-box .logo h1 .bi{color:var(--accent)!important}
.btn-login{background:var(--accent)!important;border-radius:9px!important;box-shadow:none!important}.btn-login:hover{background:var(--accent-strong)!important;transform:none!important}

/* Shell */
#appPage{min-height:100vh;background:var(--bg-primary)}
.sidebar{width:var(--sidebar-width)!important;background:var(--surface)!important;border-right:1px solid var(--border)!important;box-shadow:none!important;overflow:hidden!important}
.sidebar-brand{height:auto!important;padding:22px 20px 18px!important;border-bottom:0!important}
.sidebar-brand h2{font-size:15px!important;font-weight:800!important;color:var(--text-primary)!important;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}
.sidebar-brand h2::before{content:"";display:inline-block;width:32px;height:32px;border-radius:8px;background:var(--accent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.sidebar-brand h2 .bi{position:absolute;margin-left:7px;color:#fff!important;z-index:1;width:18px;height:18px}
.sidebar-brand small{font-size:10.5px!important;color:var(--text-faint)!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase;margin-left:42px}
.sidebar-nav{padding:6px 12px 16px!important;overflow-y:auto!important;flex:1;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.nn-nav-section-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);padding:16px 10px 6px}
.sidebar .nav-item{min-height:38px!important;padding:9px 11px!important;margin:2px 0!important;border-radius:8px!important;color:var(--text-secondary)!important;font-size:13px!important;font-weight:650!important;display:flex!important;align-items:center!important;gap:11px!important;border:1px solid transparent!important;transition:background .12s ease,color .12s ease,border-color .12s ease!important;text-decoration:none!important}
.sidebar .nav-item:hover{background:var(--surface-alt)!important;color:var(--text-primary)!important;transform:none!important}
.sidebar .nav-item.active{background:var(--accent-soft)!important;color:var(--accent-strong)!important;border-color:transparent!important;box-shadow:none!important}
.sidebar .nav-item .bi{width:17px!important;height:17px!important;min-width:17px!important;color:currentColor!important;opacity:.9}
.sidebar .nav-item.active .bi{opacity:1}
.sidebar-footer{border-top:1px solid var(--border)!important;padding:13px 16px 17px!important;background:var(--surface)!important}
.user-info{gap:10px!important}.user-avatar{width:32px!important;height:32px!important;border-radius:50%!important;background:var(--surface-alt)!important;border:1px solid var(--border)!important;color:var(--text-secondary)!important;font-size:12px!important}.user-name{font-size:12.5px!important;font-weight:750!important}.user-role{font-size:10.5px!important;color:var(--text-faint)!important}
.nn-logout{margin-left:auto!important;padding:5px 8px!important;height:30px!important;font-size:11.5px!important;font-weight:700!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important;background:#fff!important;border-radius:7px!important;display:flex!important;align-items:center!important;gap:5px!important}.nn-logout:hover{background:var(--surface-alt)!important;color:var(--text-primary)!important}

.main-content{margin-left:var(--sidebar-width)!important;min-height:100vh!important;background:var(--bg-primary)!important}
.top-bar{height:72px!important;padding:0 28px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;backdrop-filter:blur(12px);position:sticky!important;top:0!important;z-index:30!important}
.top-bar h3{font-size:16px!important;font-weight:800!important;letter-spacing:-.02em;color:var(--text-primary)!important;margin:0!important}.page-simple-help{font-size:11.5px!important;color:var(--text-faint)!important;margin-top:2px!important;max-width:680px}
.live-indicator{border-radius:20px!important;background:var(--online-soft)!important;color:var(--online)!important;border:0!important;padding:5px 10px!important;font-size:11px!important;font-weight:750!important}.live-dot{width:6px!important;height:6px!important;background:var(--online)!important}
#clock{font-family:"JetBrains Mono","Cascadia Code",monospace!important;font-size:11px!important;color:var(--text-faint)!important;border:1px solid var(--border);background:#fff;padding:6px 9px;border-radius:8px}
.page-content{padding:24px 28px 60px!important;max-width:1440px!important;margin:0 auto!important}

/* Universal page headers */
.page-header{margin:0 0 20px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-header h1,.page-header h2{font-size:22px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.025em!important;color:var(--text-primary)!important}.page-header p{margin-top:5px!important;color:var(--text-secondary)!important;font-size:12.5px!important;line-height:1.6!important}

/* Dashboard */
.enterprise-hero{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;padding:22px 24px!important;margin-bottom:18px!important;box-shadow:none!important;overflow:hidden!important;position:relative!important}
.enterprise-hero::after{content:"";display:block;height:58px;margin-top:14px;background:linear-gradient(to bottom,transparent 49%,var(--border) 50%,transparent 51%) 0 0/100% 24px,linear-gradient(90deg,transparent 0 8%,var(--accent) 8.2% 8.5%,transparent 8.7% 18%,var(--accent) 18.2% 18.5%,transparent 18.7% 34%,var(--accent) 34.2% 34.5%,transparent 34.7% 52%,var(--accent) 52.2% 52.5%,transparent 52.7% 71%,var(--accent) 71.2% 71.5%,transparent 71.7% 100%);opacity:.28;mask:linear-gradient(#000 0 0)}
.enterprise-eyebrow{font-size:10.5px!important;letter-spacing:.07em!important;font-weight:800!important;color:var(--text-faint)!important}.enterprise-hero h2{font-size:22px!important;font-weight:800!important;letter-spacing:-.025em!important;margin-top:5px!important;color:var(--text-primary)!important}.enterprise-hero p{max-width:720px!important;color:var(--text-secondary)!important;font-size:12.5px!important}.enterprise-hero-meta{border:0!important;background:var(--online-soft)!important;color:var(--online)!important;border-radius:20px!important;padding:6px 10px!important;min-width:auto!important}.enterprise-hero-meta span{font-size:11.5px!important;font-weight:700!important}.enterprise-hero-meta small{display:none!important}
.stats-grid,.enterprise-bento{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:14px!important;margin-bottom:20px!important}.stat-card,.stats-grid>div{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:none!important;padding:16px 18px!important;min-height:106px}.stats-grid .stat-icon{width:30px!important;height:30px!important;border-radius:8px!important;background:var(--accent-soft)!important;color:var(--accent-strong)!important}.stats-grid .stat-value{font-family:"JetBrains Mono","Cascadia Code",monospace!important;font-size:22px!important;font-weight:800!important}.stats-grid .stat-label{font-size:11.5px!important;color:var(--text-secondary)!important;font-weight:650!important}.enterprise-dashboard-grid{gap:18px!important}

/* Cards / panels */
.data-card,.card,.panel,.enterprise-card,.ops-card{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:none!important;margin-bottom:18px!important;overflow:hidden!important}
.data-card-header,.card-header,.panel-header{min-height:52px!important;padding:14px 17px!important;border-bottom:1px solid var(--border)!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.data-card-header h5,.card-header h3,.card-header h4,.panel-header h3{font-size:13.5px!important;font-weight:800!important;color:var(--text-primary)!important;display:flex;align-items:center;gap:8px;margin:0!important}.data-card-header span,.card-header p{font-size:11px!important;color:var(--text-faint)!important}.card-body{padding:17px!important}

/* Tables */
.table-container{overflow:auto!important}table{width:100%!important;border-collapse:collapse!important;font-size:12.5px!important}thead th{background:#fff!important;color:var(--text-faint)!important;font-size:10.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.055em!important;padding:11px 16px 8px!important;border:0!important;white-space:nowrap!important;text-align:left!important}tbody tr{border-top:1px solid var(--border)!important;transition:background .1s ease!important}tbody tr:hover{background:var(--surface-alt)!important}tbody td{padding:11px 16px!important;color:var(--text-primary)!important;border:0!important;vertical-align:middle!important}tbody td small{color:var(--text-faint)!important}

/* Buttons */
.btn,.btn-action,.btn-primary-custom,.btn-success-custom,.btn-warning-custom,.btn-danger-custom,.btn-ghost,.btn-secondary{min-height:36px!important;border-radius:8px!important;padding:7px 13px!important;font-size:12px!important;font-weight:750!important;letter-spacing:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-shadow:none!important;transition:background .12s ease,border-color .12s ease,transform .06s ease!important;text-decoration:none!important}.btn:active,.btn-action:active{transform:scale(.985)!important}.btn-primary,.btn-primary-custom{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important}.btn-primary:hover,.btn-primary-custom:hover{background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}.btn-secondary,.btn-ghost,.btn-action.btn-ghost{background:#fff!important;border:1px solid var(--border-strong)!important;color:var(--text-primary)!important}.btn-secondary:hover,.btn-ghost:hover{background:var(--surface-alt)!important}.btn-success-custom{background:var(--online-soft)!important;border:1px solid #cbead5!important;color:var(--online)!important}.btn-warning-custom{background:var(--warning-soft)!important;border:1px solid #f1ddbf!important;color:#9b6017!important}.btn-danger-custom{background:var(--critical-soft)!important;border:1px solid #f4c9c7!important;color:var(--critical)!important}.btn-sm{min-height:30px!important;padding:5px 9px!important;font-size:11px!important}

/* Forms */
.search-box,input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:38px;border:1px solid var(--border)!important;border-radius:8px!important;background:#fff!important;color:var(--text-primary)!important;padding:8px 11px!important;font-size:12.5px!important;outline:none!important;box-shadow:none!important}.search-box:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}label{font-size:11.5px!important;font-weight:700!important;color:var(--text-secondary)!important;margin-bottom:5px}input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)!important}

/* Chips / badges */
.badge,.status-badge,.pill,.chip{border-radius:20px!important;font-size:10.5px!important;font-weight:750!important;padding:4px 9px!important}.badge-success,.status-online,.online{background:var(--online-soft)!important;color:var(--online)!important}.badge-warning,.status-warning,.warning{background:var(--warning-soft)!important;color:var(--warning)!important}.badge-danger,.status-critical,.critical{background:var(--critical-soft)!important;color:var(--critical)!important}.badge-secondary,.status-offline,.offline{background:var(--offline-soft)!important;color:var(--offline)!important}

/* Reports */
.report-workspace-grid{display:grid!important;gap:18px!important}.report-card{margin-bottom:0!important}.report-card-header>div{display:flex!important;align-items:center!important;gap:10px!important}.report-step{width:26px!important;height:26px!important;border-radius:7px!important;background:var(--accent-soft)!important;color:var(--accent-strong)!important;font-size:11px!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important}.report-card-header h3{font-size:13.5px!important}.report-card-header p{font-size:11px!important;color:var(--text-faint)!important;margin-top:2px!important}.label-editor-grid{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:12px!important}.field-device{grid-column:span 2!important}.field-notes{grid-column:span 2!important}.field-group{display:flex!important;flex-direction:column!important}.label-save-wrap{display:flex!important;align-items:flex-end!important}.report-inline-note{margin-top:12px!important;padding:10px 12px!important;border-radius:8px!important;background:var(--surface-alt)!important;color:var(--text-secondary)!important;font-size:11.5px!important;display:flex!important;gap:8px!important}.professional-profile-bar,.report-profile-bar,.report-create-bar,.csv-import-bar{display:flex!important;gap:8px!important;align-items:end!important;flex-wrap:wrap!important}.inventory-check-grid,.report-field-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important;margin:12px 0 16px!important}.inventory-check-grid label{min-height:42px!important;border:1px solid var(--border)!important;border-radius:8px!important;background:#fff!important;padding:9px 10px!important;display:flex!important;align-items:center!important;gap:8px!important;color:var(--text-secondary)!important}.inventory-check-grid label:has(input:checked){border-color:#b7ddda!important;background:var(--accent-soft)!important;color:var(--accent-strong)!important}.report-selection-head{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:12px!important;margin-top:15px!important}.report-selection-head strong{display:block;font-size:12.5px!important}.report-selection-head span{display:block;font-size:11px!important;color:var(--text-faint)!important;margin-top:2px!important}.report-job-status{margin-top:12px!important;border:1px dashed var(--border-strong)!important;border-radius:9px!important;padding:12px!important;background:#fbfcfd!important}.report-header-badge{border:1px solid var(--border)!important;background:#fff!important;color:var(--text-secondary)!important;border-radius:8px!important;padding:7px 10px!important;font-size:11px!important}

/* Modals / toast */
.modal-overlay{background:rgba(15,26,43,.38)!important;backdrop-filter:blur(4px)!important}.modal-box{border-radius:14px!important;border:1px solid var(--border)!important;background:#fff!important;box-shadow:var(--shadow-lg)!important}.toast{border-radius:9px!important;box-shadow:var(--shadow-lg)!important}.toast-container{z-index:1000!important}

/* icon system */
.bi{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:1em;height:1em;line-height:1;vertical-align:-.12em;color:currentColor}.bi svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* dense inline legacy layouts */
[style*="display:grid"]{row-gap:12px}
#bulkActions{margin-top:12px!important}
.device-pager{padding:12px 16px!important;border-top:1px solid var(--border)!important;background:#fff!important}

@media(max-width:1100px){.label-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.field-device,.field-notes{grid-column:span 2!important}}
@media(max-width:900px){:root{--sidebar-width:0px}.sidebar{transform:translateX(-100%);transition:transform .2s ease;z-index:60!important}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0!important}.top-bar{padding:0 16px!important}.page-content{padding:18px 14px 48px!important}.enterprise-dashboard-grid{grid-template-columns:1fr!important}.label-editor-grid{grid-template-columns:1fr!important}.field-device,.field-notes{grid-column:auto!important}}
