:root{--bg:#f4f7fb;--bg-elev:#ffffff;--bg-soft:#f8fbff;--text:#0f172a;--muted:#66758f;--border:#d7e0eb;--primary:#2e56d6;--primary-2:#5d8cff;--danger:#ef6b6b;--success:#2fa36b;--warning:#ffb347;--shadow:0 16px 40px rgba(15, 23, 42, .08)}body[data-theme=dark]{--bg:#03102a;--bg-elev:rgba(7,19,46,.88);--bg-soft:rgba(9,24,58,.82);--text:#eef4ff;--muted:#91a6c9;--border:rgba(76,111,176,.24);--primary:#2f6bff;--primary-2:#62a0ff;--danger:#ff7f7f;--success:#45d39c;--warning:#ffc96b;--shadow:0 24px 60px rgba(0, 0, 0, .34)}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 20%,rgba(79,124,255,.12),transparent 35%),radial-gradient(circle at 80% 15%,rgba(0,214,255,.09),transparent 30%),radial-gradient(circle at 60% 80%,rgba(79,124,255,.06),transparent 35%),var(--bg);background-attachment:fixed}body[data-theme=dark]{background:radial-gradient(circle at 12% 18%,rgba(46,107,255,.22),transparent 24%),radial-gradient(circle at 82% 22%,rgba(0,173,255,.12),transparent 22%),radial-gradient(circle at 50% 78%,rgba(70,95,255,.12),transparent 28%),linear-gradient(90deg,rgba(14,42,102,.22),transparent 35%,rgba(14,42,102,.1)),#03102a;background-attachment:fixed}body[data-theme=dark]:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 18% 26%,rgba(47,107,255,.16),transparent 15%),radial-gradient(circle at 78% 20%,rgba(0,173,255,.1),transparent 14%),radial-gradient(circle at 55% 74%,rgba(79,124,255,.12),transparent 18%);filter:blur(90px);animation:stockgardGlow 16s ease-in-out infinite alternate;z-index:-1;pointer-events:none}@keyframes stockgardGlow{0%{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1%,-1%,0) scale(1.03)}}a{color:var(--primary);text-decoration:none}.app-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 18px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:14px;padding:8px 8px 16px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 10px 24px #4f7cff38}.brand-title{font-size:32px;font-weight:800;line-height:1}.brand-sub{margin-top:4px;color:var(--muted);font-size:13px}.nav{display:grid;gap:10px}.nav-button,.logout-btn,.btn,.theme-toggle{border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 90%,transparent);color:var(--text);border-radius:16px;padding:13px 15px;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.nav-button:hover,.logout-btn:hover,.theme-toggle:hover{box-shadow:0 0 0 1px #4f7cff1a,0 10px 24px #00000014}.nav-button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),#234fd6);box-shadow:0 0 0 1px #ffffff05,0 10px 26px #2f6bff4d}.sidebar-box{padding:16px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-soft) 96%,transparent),color-mix(in srgb,var(--bg-elev) 92%,transparent));box-shadow:var(--shadow)}.sidebar-box-label,.role-label,.stat-label,.metric-note{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.main{padding:22px;position:relative}.main-shell{display:grid;gap:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.role-card{min-width:240px;padding:18px 20px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elev) 92%,transparent),color-mix(in srgb,var(--bg-soft) 96%,transparent));box-shadow:var(--shadow)}.role-value{margin-top:6px;font-size:24px;font-weight:800}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search,.input,.select,.textarea{width:100%;color:var(--text);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);border:1px solid var(--border);border-radius:16px;padding:13px 15px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.search{min-width:290px}.search:focus,.input:focus,.select:focus,.textarea:focus{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 0 0 4px #4f7cff1a}.textarea{min-height:110px;resize:vertical}.user-chip{border:1px solid var(--border);padding:13px 15px;border-radius:16px;background:color-mix(in srgb,var(--bg-elev) 92%,transparent);font-weight:700}.page-title{margin:0;font-size:54px;line-height:.98;font-weight:850;letter-spacing:-.04em}.page-subtitle{margin:10px 0 0;color:var(--muted);font-size:18px;max-width:760px;line-height:1.6}.hero-card{position:relative;overflow:hidden;padding:34px;border-radius:32px;border:1px solid var(--border);background:radial-gradient(circle at 20% 30%,rgba(79,124,255,.12),transparent 28%),radial-gradient(circle at 75% 35%,rgba(0,195,255,.1),transparent 24%),linear-gradient(135deg,color-mix(in srgb,var(--bg-elev) 94%,transparent),color-mix(in srgb,var(--bg-soft) 94%,transparent));box-shadow:var(--shadow)}body[data-theme=dark] .hero-card{background:radial-gradient(circle at 20% 30%,rgba(47,107,255,.24),transparent 26%),radial-gradient(circle at 78% 34%,rgba(0,173,255,.11),transparent 22%),linear-gradient(135deg,#040e22f2,#08193aeb)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}.hero-panel{border-radius:28px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:22px}.hero-chip-row,.hero-tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-chip,.hero-tag{border:1px solid var(--border);background:#ffffff08;border-radius:999px;padding:10px 14px;color:var(--muted);font-weight:600}.hero-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.hero-kpi{border:1px solid var(--border);border-radius:22px;padding:18px;background:linear-gradient(180deg,#ffffff05,#ffffff03);transition:box-shadow .18s ease,border-color .18s ease,background .18s ease}.hero-kpi:hover{box-shadow:0 0 0 1px #4f7cff24,0 18px 40px #0000001f,0 0 22px #4f7cff1f}.hero-kpi-label{color:var(--muted);font-size:14px}.hero-kpi-value{margin-top:8px;font-size:42px;font-weight:850;letter-spacing:-.04em}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.stat-card,.panel,.form-card{position:relative;border-radius:26px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.stat-card{padding:20px}.stat-card:hover,.panel:hover,.form-card:hover{box-shadow:0 18px 48px #0000001f,0 0 24px #4f7cff1a}.stat-value{margin-top:10px;font-size:34px;font-weight:850;letter-spacing:-.04em}.content-grid,.section-grid,.form-panel-grid{display:grid;gap:16px}.content-grid{grid-template-columns:1fr 1fr}.form-panel-grid{grid-template-columns:380px 1fr}.panel,.form-card{padding:20px}.panel h2,.form-card h2{margin:0 0 14px;font-size:32px;letter-spacing:-.03em}.form-grid{display:grid;gap:12px}.table-wrap{overflow:auto;border-radius:20px;border:1px solid var(--border)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--bg-soft) 94%,transparent)}.table tr:hover td{background:#4f7cff0a}.actions-row{display:flex;gap:8px;flex-wrap:wrap}.btn{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),#234fd6);box-shadow:0 10px 26px #4f7cff38}.btn:hover,.theme-toggle:hover{box-shadow:0 0 0 1px #4f7cff29,0 12px 28px #4f7cff33,0 0 22px #4f7cff24}.btn-secondary{background:color-mix(in srgb,var(--bg-soft) 96%,transparent)!important;color:var(--text)!important}.btn-danger{background:transparent!important;color:var(--danger)!important;border-color:#ef6b6b47!important}.status-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}.status-low{color:var(--danger);background:#ef6b6b1f;border:1px solid rgba(239,107,107,.25)}.status-ok{color:var(--success);background:#2fa36b1f;border:1px solid rgba(47,163,107,.24)}.error-text{color:var(--danger);font-weight:700}.mini-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:190px;padding-top:16px}.bar-wrap{display:flex;flex-direction:column;gap:10px;align-items:center}.bar{width:100%;border-radius:18px 18px 8px 8px;background:linear-gradient(180deg,var(--primary-2),var(--primary));box-shadow:0 0 18px #4f7cff33;min-height:14px}.bar-value,.bar-label{font-size:12px;color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(420px,calc(100vw - 40px));padding:28px;border-radius:28px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);box-shadow:var(--shadow)}.auth-title{margin-top:0}@media (max-width:1320px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1120px){.hero-grid,.content-grid,.form-panel-grid{grid-template-columns:1fr}}@media (max-width:920px){.app-layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--border)}.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:stretch}.search{min-width:0}.page-title{font-size:42px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f1f5f9;line-height:1.4;font-weight:400}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg,#f8fafc,#eef2f7)}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #dbe3ee;padding:22px 18px;display:flex;flex-direction:column;gap:18px}.brand-lockup{display:flex;align-items:center;gap:16px}.brand-lockup.compact{padding:8px 8px 20px;border-bottom:1px solid #e2e8f0}.brand-logo{width:48px;height:48px;object-fit:contain}.brand-logo.large{width:90px;height:90px}.brand-name,.login-card h1{margin:0;font-size:28px;font-weight:700}.brand-sub,.eyebrow{color:#64748b;font-size:13px}.nav{display:grid;gap:8px}.nav-item{border:1px solid transparent;background:transparent;color:#334155;padding:12px 14px;border-radius:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.2s ease}.nav-item:hover{background:#f8fafc;border-color:#e2e8f0}.nav-item.active{background:#1d4ed8;color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.tenant-card,.user-chip{border:1px solid #dbe3ee;border-radius:16px;padding:12px 14px;background:#f8fafc}.tenant-title,.topbar-label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.tenant-value,.topbar-title{font-weight:600;margin-top:4px}.content{padding:22px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #dbe3ee;border-radius:24px;padding:18px 20px}.topbar-tools{display:flex;align-items:center;gap:12px}.search-box{min-width:320px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:0 14px}.search-box input{border:0;outline:none;height:42px;width:100%;background:transparent}.page{display:grid;gap:18px}.section-header{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-header h2{margin:0 0 4px;font-size:28px}.section-header p{margin:0;color:#64748b}.header-actions{display:flex;gap:10px}.card{background:#fff;border:1px solid #dbe3ee;border-radius:24px;padding:18px;box-shadow:0 10px 35px #0f172a0a}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-head h3{margin:0;font-size:18px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.kpi-card{padding:14px 16px}.kpi-label{color:#64748b;font-size:14px}.kpi-value{font-size:32px;font-weight:700;margin-top:6px}.kpi-value.critical{color:#dc2626}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table th{text-align:left;padding:12px 14px;font-size:12px;color:#64748b;background:#f8fafc;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:13px 14px;border-top:1px solid #eef2f7;color:#334155;vertical-align:top}.row-actions{display:flex;gap:8px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;border:1px solid #cbd5e1;background:#f8fafc;color:#475569}.pill.blue{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.pill.red{border-color:#fecaca;background:#fef2f2;color:#dc2626}.pill.gray{border-color:#e2e8f0;background:#f8fafc;color:#475569}.primary-btn,.ghost-btn{border-radius:16px;height:42px;padding:0 16px;cursor:pointer;border:1px solid transparent}.primary-btn{background:#1d4ed8;color:#fff}.primary-btn:hover{background:#1e40af}.primary-btn.danger{background:#dc2626}.ghost-btn{background:#fff;border-color:#dbe3ee;color:#334155}.ghost-btn:hover{background:#f8fafc}.ghost-btn.small{height:34px;border-radius:12px;padding:0 12px}.ghost-btn.small.danger{color:#dc2626}.ghost-btn.full,.primary-btn.full{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.form-grid{display:grid;gap:14px}.field{display:grid;gap:7px}.field span{font-size:13px;color:#475569;font-weight:600}.field input,.field select,.field textarea{border:1px solid #dbe3ee;border-radius:14px;padding:11px 13px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61f}.check-grid{display:grid;gap:10px;color:#475569}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;display:flex;justify-content:flex-end;z-index:40}.drawer{width:min(520px,100%);height:100%;background:#fff;padding:22px;box-shadow:-16px 0 50px #0f172a1f;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.drawer-head h3{margin:0}.drawer-body{display:grid;gap:18px}.dialog{width:min(420px,calc(100% - 32px));margin:auto;background:#fff;border-radius:24px;border:1px solid #dbe3ee;padding:22px}.dialog h3{margin-top:0}.dialog p{color:#64748b}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.tree{display:grid;gap:8px;color:#334155}.tree-indent{margin-left:18px;color:#475569}.tree-indent-2{margin-left:36px;color:#64748b}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,rgba(59,130,246,.16),transparent 25%),linear-gradient(180deg,#f8fafc,#eef2f7)}.login-card{width:min(760px,100%);background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #dbe3ee;border-radius:32px;padding:28px;box-shadow:0 24px 80px #0f172a14}.login-card p{color:#64748b}.helper-text{color:#64748b;font-size:13px}.toast-stack{position:fixed;top:18px;right:18px;display:grid;gap:10px;z-index:60}.toast{border-radius:16px;padding:12px 14px;background:#fff;border:1px solid #dbe3ee;box-shadow:0 10px 30px #0f172a14}.toast.success{border-color:#bfdbfe}.toast.info{border-color:#e2e8f0}.loading-screen{display:grid;place-items:center;min-height:50vh;color:#64748b}@media (max-width: 1180px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #dbe3ee}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:1fr}}@media (max-width: 760px){.content{padding:14px}.topbar,.section-header{flex-direction:column;align-items:stretch}.search-box{min-width:0;width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
