:root{--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--text:#162033;--muted:#667085;--line:#e5e7eb;--primary:#2563eb;--primary-2:#1d4ed8;--danger:#dc2626;--warning:#b45309;--success:#047857;--info:#175cd3;--shadow:0 8px 30px rgba(15,23,42,.06);--radius:16px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:14px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn,.avatar{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}.avatar{font-weight:700;background:#eef4ff;color:var(--primary);border:0}.notif b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;display:grid;place-items:center}.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 64px)}.sidebar{border-right:1px solid var(--line);background:#fff;padding:16px;display:none}.nav-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:18px 8px 8px}.nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:#344054;margin-bottom:4px}.nav-link:hover,.nav-link.active{background:#eef4ff;color:var(--primary);font-weight:700}.content{padding:18px 14px 84px;max-width:1500px;width:100%;margin:0 auto}.page-head{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.page-head h1{margin:0;font-size:28px;line-height:1.15}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer;background:#fff;border:1px solid var(--line)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-2)}.btn-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-sm{padding:8px 10px;font-size:12px;border-radius:10px}.grid{display:grid;gap:12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.grid-2{grid-template-columns:1fr}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.stat-label{font-size:13px;color:var(--muted)}.stat-value{font-size:28px;font-weight:800;margin-top:5px}.toolbar{display:flex;gap:8px;flex-direction:column;margin-bottom:12px}.toolbar .grow{flex:2}.input,.select,.textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.textarea{min-height:120px;resize:vertical}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:800px}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}.table tr:hover td{background:#fbfcfe}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f7;color:#475467}.badge-success{background:#ecfdf3;color:#027a48}.badge-danger{background:#fef2f2;color:#b42318}.badge-warning{background:#fff7ed;color:#b54708}.badge-info{background:#eff6ff;color:#175cd3}.form-grid{display:grid;gap:12px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.flash{padding:12px 14px;border-radius:12px;background:#ecfdf3;color:#027a48;margin-bottom:12px}.flash.error{background:#fef2f2;color:#b91c1c}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(100%,460px)}.muted{color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted)}.detail-grid{display:grid;gap:12px;grid-template-columns:1fr}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.timeline{display:grid;gap:12px}.timeline-item{border-left:3px solid #dbeafe;padding-left:12px}.timeline-item small{display:block;color:var(--muted);margin-bottom:3px}.pill-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:14px}.pill-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}.pill-tabs a.active{background:#eef4ff;border-color:#c7d7fe;color:var(--primary);font-weight:700}.mobile-nav{position:fixed;left:0;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:30}.mobile-nav a{display:grid;place-items:center;font-size:11px;color:var(--muted)}.mobile-nav a.active{color:var(--primary);font-weight:700}.mobile-nav span{display:block}.tree{display:grid;gap:10px}.tree-node{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.tree-child{margin-left:18px;padding-left:12px;border-left:2px solid #e5e7eb;display:grid;gap:8px}.tag{display:inline-flex;padding:4px 8px;border-radius:8px;background:#f2f4f7;font-size:12px;margin:2px}.article-body{line-height:1.7}.right{text-align:right}@media(min-width:700px){.content{padding:24px}.page-head{flex-direction:row;align-items:flex-end;justify-content:space-between}.toolbar{flex-direction:row}.form-grid.two{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:2fr 1fr}.mobile-nav{display:none}}@media(min-width:960px){.sidebar{display:block}.content{padding:28px}.topbar{padding:0 20px}}
.site-footer{max-width:1500px;margin:0 auto;padding:8px 14px 76px;color:var(--muted);font-size:12px;text-align:center}@media(min-width:700px){.site-footer{padding:4px 24px 20px}.content{min-height:calc(100vh - 110px)}}
.dnd-list{display:grid;gap:8px}.dnd-item{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:#fff;cursor:grab}.dnd-item small{color:var(--muted);text-align:right}.dnd-item.dragging{opacity:.45}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;gap:6px}.bar-label{display:flex;justify-content:space-between;font-size:13px}.bar-track{height:9px;border-radius:99px;background:#eef2f6;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:var(--primary)}.monthly-bars{display:flex;align-items:flex-end;gap:8px;min-height:220px;overflow:auto;padding-top:10px}.bar-col{min-width:30px;display:grid;justify-items:center;gap:5px;height:200px;grid-template-rows:20px 1fr 18px}.bar-v-track{width:22px;height:100%;background:#eef2f6;border-radius:7px 7px 3px 3px;display:flex;align-items:flex-end;overflow:hidden}.bar-v-fill{width:100%;background:var(--accent);border-radius:7px 7px 3px 3px}.bar-value,.bar-month{font-size:11px;color:var(--muted)}.service-card{transition:transform .15s ease,box-shadow .15s ease}.service-card:hover{transform:translateY(-2px)}

.workflow-board{display:flex;gap:12px;overflow:auto;padding:8px 0}.workflow-node{min-width:150px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:5px;position:relative}.workflow-node:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:34px;color:var(--muted);font-size:20px}.workflow-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.form-section{margin-top:12px;padding-bottom:4px;border-bottom:1px solid var(--line)}.dynamic-field[hidden]{display:none}.check{display:flex;gap:8px;align-items:center}

body.command-open{overflow:hidden}.command-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:start center;padding:80px 14px 20px}.command-overlay[hidden]{display:none}.command-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(4px)}.command-panel{position:relative;width:min(760px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 80px rgba(15,23,42,.24);overflow:hidden}.command-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.command-head small{display:block;color:var(--muted);margin-top:2px}.command-input-wrap{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.command-input-wrap>span{font-size:20px;color:var(--muted)}.command-input-wrap input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px}.command-input-wrap kbd,.command-footer kbd{font:inherit;font-size:11px;background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:2px 6px}.command-overlay-results{max-height:min(56vh,520px);overflow:auto;padding:8px}.command-results{display:grid;gap:4px}.command-result{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:12px}.command-result:hover,.command-result.is-active{background:#f5f8ff;border-color:#dbe7ff}.command-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--surface-2);color:var(--primary);font-weight:800;flex:none}.command-main{min-width:0;flex:1}.command-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-main small{display:block;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-arrow{color:var(--muted);font-size:18px}.command-section{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 5px}.command-footer{display:flex;justify-content:flex-end;gap:12px;padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-grid .btn{justify-content:flex-start}.page-head kbd{font:inherit;font-size:11px;background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:2px 6px}@media(min-width:768px){.sidebar{display:block}.layout{grid-template-columns:250px 1fr}.content{padding:24px}.page-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-direction:row;align-items:center}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav{display:none}}@media(max-width:767px){.command-overlay{padding-top:20px}.command-panel{border-radius:16px}.command-footer{display:none}}


/* v1.0.8 icon sizing and navigation polish */
.lucide-icon{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;display:block;flex:0 0 20px;stroke:currentColor;overflow:visible;vertical-align:middle}
.nav-link>.lucide-icon{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;flex:0 0 20px}
.icon-btn>.lucide-icon{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;flex:0 0 20px}
.brand .lucide-icon{width:20px;height:20px;min-width:20px;min-height:20px}
.command-icon>.lucide-icon{width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;flex:0 0 18px}
.command-input-icon>.lucide-icon{width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;flex:0 0 18px}
.mobile-nav a>.lucide-icon{width:22px;height:22px;min-width:22px;min-height:22px;max-width:22px;max-height:22px;flex:0 0 22px;display:block}
.mobile-fab-link strong>.lucide-icon{width:27px;height:27px;min-width:27px;min-height:27px;max-width:27px;max-height:27px;flex:0 0 27px}
.mobile-drawer-close .lucide-icon{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;flex:0 0 20px}

/* v0.6.0 mobile / PWA layer */
html{min-height:100%;scroll-behavior:smooth}body{padding-bottom:env(safe-area-inset-bottom)}button,input,select,textarea{font-size:16px}.mobile-menu-btn{display:grid;flex:none}.mobile-backdrop{position:fixed;inset:64px 0 0 0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px);z-index:60}.mobile-backdrop[hidden]{display:none}.mobile-drawer-close{display:none;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-weight:700;color:var(--text)}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .sidebar{display:block;position:fixed;left:0;top:64px;bottom:0;width:min(88vw,340px);padding:12px 14px calc(20px + env(safe-area-inset-bottom));z-index:70;overflow:auto;border-right:1px solid var(--line);box-shadow:12px 0 40px rgba(15,23,42,.16)}.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(62px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 30px rgba(15,23,42,.05)}.mobile-nav a{min-width:0;gap:2px}.mobile-nav a span{font-size:10px}.mobile-fab-link{transform:translateY(-12px)}.mobile-fab-link strong{width:48px;height:48px;border-radius:16px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 10px 28px rgba(37,99,235,.25)}.mobile-fab-link span{margin-top:-8px;color:var(--primary)}.pwa-install-btn{display:none}body.pwa-installable .pwa-install-btn{display:grid}.mobile-table-scroll{position:relative}.mobile-table-hint{display:none;color:var(--muted);font-size:11px;margin-bottom:6px}@media(max-width:767px){.mobile-drawer-close{display:flex}body.mobile-menu-open .sidebar{top:60px}.mobile-backdrop{inset:60px 0 0 0}.topbar{height:60px;padding:0 10px}.top-actions{gap:6px}.top-actions .icon-btn,.avatar{width:38px;height:38px;border-radius:11px}.brand{min-width:0;max-width:42vw}.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:14px 12px 98px}.page-head h1{font-size:24px}.card{padding:14px;border-radius:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:24px}.grid-2{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}.mobile-table-hint{display:block}.toolbar{gap:7px}.btn{min-height:44px}.icon-btn{min-width:40px;min-height:40px}.form-grid.two{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:3px}.actions{gap:7px}.actions .btn{flex:1 1 auto}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.command-panel{max-height:calc(100dvh - 24px);display:flex;flex-direction:column}.command-overlay-results{max-height:none;flex:1}}
@media(min-width:768px){.mobile-menu-btn{display:none}.mobile-backdrop{display:none!important}.mobile-table-hint{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* v1.0.0 Production Release */
.analytics-spark{width:100%;height:150px;display:block}.analytics-kpi{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.analytics-kpi .delta{font-size:12px;font-weight:700}.analytics-kpi .delta.up{color:var(--danger)}.analytics-kpi .delta.down{color:var(--success)}.analytics-bar-stack{display:grid;gap:8px}.report-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12px}

/* v1.0.2 responsive layout tiers: phone / tablet / desktop */
@media (min-width:768px) and (max-width:1199px){
  .layout{grid-template-columns:82px minmax(0,1fr)}
  .sidebar{display:block;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden;padding:12px 8px}
  .sidebar .nav-title{display:none}
  .sidebar .nav-link{justify-content:center;gap:0;padding:12px 8px;border-radius:12px;font-size:16px}
  .sidebar .nav-link span{display:none}
  .sidebar .nav-link:hover,.sidebar .nav-link.active{background:#eef4ff}
  .mobile-menu-btn{display:none}
  .mobile-nav{display:none}
  .content{padding:22px 20px 28px;max-width:none}
  .site-footer{padding:4px 20px 20px}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table{min-width:720px}
}

@media (min-width:1200px){
  .layout{grid-template-columns:280px minmax(0,1fr)}
  .sidebar{display:block;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;padding:18px 14px}
  .mobile-menu-btn{display:none}
  .mobile-nav{display:none}
  .content{padding:30px 32px 30px;max-width:none;margin:0}
  .page-head h1{font-size:30px}
  .stats{grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}
  .table{min-width:720px}
  .site-footer{padding:4px 32px 20px;max-width:none}
  .topbar{padding:0 24px}
}

@media (min-width:1600px){
  .layout{grid-template-columns:300px minmax(0,1fr)}
  .sidebar{padding-left:18px;padding-right:18px}
  .content{padding-left:40px;padding-right:40px}
  .page-head h1{font-size:32px}
}

@media (max-width:767px){
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .mobile-menu-btn{display:grid}
  .mobile-nav{display:grid}
  .content{max-width:none}
  .page-head h1{font-size:24px}
}

/* v1.0.6 Mobile layout hardening
   Mobile is intentionally single-column and the page grid cannot grow from
   wide descendants (tables, action rows, code blocks, etc.). */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app,.layout,.content,.page-head,.grid,.card,.table-wrap{min-width:0}
@media (max-width:767px){
  .layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
  .content{width:100%;max-width:100%;min-width:0;padding-left:12px;padding-right:12px}
  .page-head{width:100%;min-width:0}
  .page-head>div{min-width:0}
  .page-head p{max-width:100%;overflow-wrap:anywhere}
  .page-head .actions{width:100%;display:grid;grid-template-columns:1fr;align-items:stretch}
  .page-head .actions .btn{width:100%;min-width:0}
  .stats{grid-template-columns:minmax(0,1fr)!important}
  .stats .card{min-width:0;width:100%}
  .grid-2{grid-template-columns:minmax(0,1fr)!important}
  .card{min-width:0;max-width:100%}
  .table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}
  .topbar{width:100%;min-width:0}
  .brand{min-width:0;flex:1 1 auto}
  .top-actions{min-width:0;flex:0 0 auto}
  .mobile-nav{width:100vw;max-width:100vw;left:0;right:auto}
  .quick-grid{grid-template-columns:minmax(0,1fr)!important}
  .btn{max-width:100%}
  .article-body,.timeline,.kv{overflow-wrap:anywhere}
}
@media (min-width:768px){
  .layout{min-width:0}
  .content{min-width:0}
}

@media(max-width:767px){
  .mobile-nav{grid-template-rows:1fr;align-items:center}
  .mobile-nav a{align-content:center;justify-items:center;min-height:62px;line-height:1}
  .mobile-nav a span{line-height:1.1;margin-top:3px}
  .mobile-fab-link{align-content:center}
  .mobile-fab-link strong{line-height:1}
  .mobile-menu-btn{width:40px;height:40px}
  .mobile-menu-btn .lucide-icon{width:22px;height:22px;min-width:22px;min-height:22px;max-width:22px;max-height:22px;flex:0 0 22px}
  .mobile-backdrop{backdrop-filter:blur(3px)}
  body.mobile-menu-open .sidebar{padding-top:10px}
  body.mobile-menu-open .sidebar .nav-link{min-height:48px}
  body.mobile-menu-open .sidebar .nav-link>.lucide-icon{width:26px;height:26px;min-width:26px;min-height:26px;max-width:26px;max-height:26px;flex:0 0 26px}
}
.pwa-offline-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff7ed;color:#b54708;font-size:12px;font-weight:700;border:1px solid #fed7aa}.pwa-sync-dot{width:8px;height:8px;border-radius:50%;background:#12b76a}.pwa-sync-dot.offline{background:#f79009}.offline-note{margin-bottom:10px}@media(max-width:767px){.page-head .actions{width:100%}.page-head .actions .btn{width:100%}}

/* v1.1.2 PWA administration controls */
.settings-list{display:grid;gap:0;border:1px solid var(--border,#d7dee8);border-radius:14px;overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid var(--border,#d7dee8)}.settings-row:last-child{border-bottom:0}.switch{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.switch span{display:block;width:48px;height:28px;border-radius:999px;background:#cbd5e1;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.switch input:checked+span{background:var(--primary,#2563eb)}.switch input:checked+span:after{transform:translateX(20px)}.switch input:disabled+span{opacity:.45;cursor:not-allowed}

/* v1.1.4 Two-Factor Authentication QR setup */
.twofa-setup{display:grid;gap:16px}.twofa-step{display:flex;align-items:flex-start;gap:12px}.twofa-step-num{display:inline-grid;place-items:center;width:28px;height:28px;min-width:28px;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;font-size:13px}.twofa-qr-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.twofa-qrcode{width:220px;height:220px;min-width:220px;min-height:220px;display:grid;place-items:center;overflow:hidden;background:#fff;border-radius:12px;padding:10px;border:1px solid var(--line);box-sizing:border-box}.twofa-qrcode img,.twofa-qrcode canvas,.twofa-qrcode table,.twofa-qrcode svg{display:block!important;width:190px!important;height:190px!important;max-width:190px!important;max-height:190px!important;overflow:hidden}.twofa-qrcode table{border-collapse:collapse!important;border-spacing:0!important}.twofa-qr-meta{min-width:220px;flex:1}.twofa-secret-row{display:flex;gap:10px;align-items:center}.twofa-secret-row code{flex:1;word-break:break-all;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.twofa-advanced summary{cursor:pointer;font-weight:700}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:12px;font-weight:700}@media(max-width:767px){.twofa-qr-card{justify-content:center}.twofa-qrcode{width:200px;height:200px;min-width:200px;min-height:200px}.twofa-qrcode img,.twofa-qrcode canvas,.twofa-qrcode table,.twofa-qrcode svg{width:180px!important;height:180px!important;max-width:180px!important;max-height:180px!important}.twofa-secret-row{flex-direction:column;align-items:stretch}}


/* v1.1.13 Wide Operations Dashboard — Command Center refinement */
.dashboard-host{max-width:none!important;margin:0!important}
.dashboard-shell{width:100%;max-width:none}
.dashboard-head{margin-bottom:20px}
.dashboard-main{min-width:0}
.dashboard-primary-panels{min-width:0}
.dashboard-rail{display:none;min-width:0;gap:14px}
.rail-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px rgba(15,23,42,.055);padding:16px;min-width:0}
.rail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.rail-head>div{min-width:0}
.rail-head h3{margin:0;font-size:16px;letter-spacing:-.02em}
.rail-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.rail-live{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:11px;font-weight:800;white-space:nowrap}
.rail-live i{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.10)}
.pulse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
.pulse-item{text-align:center;min-width:0}
.pulse-ring{--ring:#2563eb;width:68px;height:68px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring) var(--value),#e9eef5 0);position:relative}
.pulse-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}
.pulse-ring span{position:relative;z-index:1;font-size:15px;font-weight:850;letter-spacing:-.03em}
.pulse-ring.danger{--ring:#ef4444}.pulse-ring.info{--ring:#3b82f6}.pulse-ring.neutral{--ring:#94a3b8}
.pulse-item strong{display:block;font-size:12px;line-height:1.2}.pulse-item small{display:block;margin-top:3px;font-size:10px;line-height:1.25;color:var(--muted)}
.health-list{display:grid;gap:0}
.health-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);font-size:12px}
.health-row:last-child{border-bottom:0}.health-row>span{color:var(--text);font-weight:650}.health-state{display:inline-flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.health-state i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.health-state.ok{color:#047857}.health-state.ok i{background:#10b981}.health-state.bad{color:#b42318}.health-state.bad i{background:#ef4444}.health-state.muted{color:var(--muted)}
.focus-list{display:grid;gap:6px}
.focus-row{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:10px 8px;border-radius:12px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .15s ease}.focus-row:hover{background:var(--surface-2);border-color:var(--line);transform:translateY(-1px)}
.focus-row>span:nth-child(2){min-width:0}.focus-row strong{display:block;font-size:12px}.focus-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.3}.focus-row svg{width:15px;height:15px;color:var(--muted)}
.focus-count{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:850;font-size:12px;border:2px solid currentColor}.focus-row.critical{color:#dc2626}.focus-row.warning{color:#d97706}.focus-row.info{color:#2563eb}.focus-row.success{color:#059669}
.focus-row.critical strong,.focus-row.warning strong,.focus-row.info strong,.focus-row.success strong{color:var(--text)}
.workload-list{display:grid;gap:13px}.workload-row{display:grid;gap:6px}.workload-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px}.workload-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workload-meta span{color:var(--muted);white-space:nowrap}.workload-track{height:9px;border-radius:999px;background:#edf1f6;overflow:hidden}.workload-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--accent) 70%,var(--primary)));min-width:2px}
.rail-actions-card{padding-bottom:14px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-actions .btn{min-height:42px;padding:9px 10px;font-size:12px}
.empty.compact{padding:18px 8px;font-size:12px}
.dashboard-statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-6px 0 16px;color:var(--muted);font-size:12px}.dashboard-statusbar .status-meta{display:flex;align-items:center;gap:8px}.dashboard-live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.10)}.dashboard-refresh{padding:7px 10px!important;font-size:11px!important}.dashboard-rail{max-height:calc(100vh - 98px);overflow:auto;scrollbar-width:thin}.dashboard-rail::-webkit-scrollbar{width:6px}.dashboard-rail::-webkit-scrollbar-thumb{background:#d5dce6;border-radius:999px}
@media (min-width:1600px){
  .dashboard-rail{display:grid;position:sticky;top:82px;align-self:start}
  .dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
  .dashboard-primary-panels .card{min-width:0}
  .dashboard-shell .stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}
  .dashboard-shell .stats .card{min-width:0}
  .dashboard-shell{padding-right:0}
}
@media (min-width:1800px){
  .dashboard-layout{grid-template-columns:minmax(0,1fr) 340px;gap:20px}
  .rail-card{padding:17px}
}
@media (min-width:2200px){
  .dashboard-layout{grid-template-columns:minmax(0,1fr) 380px;gap:22px}
  .rail-card{padding:18px}
  .pulse-ring{width:74px;height:74px}
}
@media (max-width:1599px){.dashboard-rail{display:none}}
@media (max-width:767px){.dashboard-host{max-width:100%!important}.dashboard-head{margin-bottom:14px}.dashboard-shell{width:100%}}

/* v1.1.14 Command Center — Attention Center + Activity Momentum */
.trend-summary{display:flex;align-items:baseline;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);white-space:nowrap}.trend-summary strong{font-size:15px;letter-spacing:-.02em}.trend-summary span{font-size:11px;color:var(--muted)}
.dashboard-trend-card{min-width:0;overflow:hidden}
.activity-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;min-height:190px;padding:6px 4px 0}.activity-bar-col{display:grid;grid-template-rows:22px 130px auto auto;gap:5px;align-items:end;min-width:0;text-align:center}.activity-bar-value{font-size:11px;color:var(--muted);font-weight:700}.activity-bar-track{height:130px;border-radius:10px;background:linear-gradient(to top,var(--surface-2),transparent);display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line)}.activity-bar-track span{display:block;width:100%;min-height:8px;border-radius:8px;background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--accent) 72%,var(--primary)));box-shadow:0 8px 16px rgba(37,99,235,.13)}.activity-bar-col strong{font-size:11px}.activity-bar-col small{font-size:10px;color:var(--muted)}
.attention-total{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:var(--text);color:#fff;font-size:12px;font-weight:850}.attention-list{display:grid;gap:7px}.attention-row{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:10px 8px;border:1px solid transparent;border-radius:12px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.attention-row:hover{background:var(--surface-2);border-color:var(--line);transform:translateY(-1px)}.attention-row>svg{width:15px;height:15px;color:var(--muted)}.attention-count{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:850;background:var(--surface-2);border:1px solid currentColor}.attention-copy{min-width:0}.attention-copy strong{display:block;font-size:12px;color:var(--text)}.attention-copy small{display:block;margin-top:2px;font-size:10px;color:var(--muted);line-height:1.25}.attention-row.critical{color:#dc2626}.attention-row.danger{color:#b42318}.attention-row.warning{color:#d97706}.attention-row.info{color:#2563eb}.attention-clear{display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2)}.attention-clear>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ecfdf5;color:#047857}.attention-clear svg{width:18px;height:18px}.attention-clear strong{display:block;font-size:12px}.attention-clear small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:767px){.trend-summary{padding:6px 9px}.activity-chart{gap:6px;min-height:160px}.activity-bar-col{grid-template-rows:18px 108px auto auto}.activity-bar-track{height:108px}.activity-bar-col strong{font-size:10px}.activity-bar-col small{font-size:9px}.attention-row{grid-template-columns:34px minmax(0,1fr) 16px}}
@media(min-width:1600px){.dashboard-trend-card{min-height:228px}.activity-chart{min-height:200px}}

/* v1.1.15 Command Center 2.0 — wide-screen operational intelligence */
.command-center-v2{display:none}
.command-v2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px}.command-v2-head>div:first-child{min-width:0}.command-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:5px;font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--primary);text-transform:uppercase}.command-v2-head h2{margin:0;font-size:19px;letter-spacing:-.03em}.command-v2-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.command-v2-score{flex:0 0 auto;display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:end;padding:9px 12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:0 5px 18px rgba(15,23,42,.035)}.command-v2-score span{grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:700}.command-v2-score strong{font-size:21px;line-height:1}.command-v2-score small{font-size:10px;color:var(--muted);align-self:end;white-space:nowrap}.command-v2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.command-v2-card{min-width:0;padding:15px}.command-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.command-card-head>div{min-width:0}.command-card-head h3{margin:0;font-size:15px}.command-card-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.flow-legend{display:flex;justify-content:flex-end;gap:13px;margin-bottom:5px;font-size:10px;color:var(--muted)}.flow-legend span{display:inline-flex;align-items:center;gap:5px}.flow-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.flow-dot.created{background:#2563eb}.flow-dot.closed{background:#10b981}.flow-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;padding-top:3px}.flow-day{display:grid;grid-template-rows:20px 118px auto auto;gap:4px;align-items:end;min-width:0;text-align:center}.flow-values{display:flex;justify-content:center;gap:6px;font-size:9px}.flow-values strong{color:var(--primary)}.flow-values span{color:var(--success)}.flow-track{height:118px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:4px 4px 0;border:1px solid var(--line);border-radius:10px;background:linear-gradient(to top,var(--surface-2),transparent)}.flow-track>span{width:46%;min-height:4px;border-radius:6px 6px 3px 3px;display:block}.flow-created{background:linear-gradient(180deg,#3b82f6,#2563eb)}.flow-closed{background:linear-gradient(180deg,#34d399,#10b981)}.flow-day>strong{font-size:10px}.flow-day>small{font-size:9px;color:var(--muted)}.itsm-queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.itsm-signal{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:transform .15s ease,border-color .15s ease,background .15s ease}.itsm-signal:hover{transform:translateY(-1px);border-color:#cbd5e1;background:var(--surface)}.itsm-signal strong{grid-row:1/3;font-size:20px;letter-spacing:-.03em}.itsm-signal span{font-size:11px;font-weight:800;color:var(--text)}.itsm-signal small{font-size:9px;color:var(--muted);margin-top:2px}.itsm-signal.danger strong{color:#dc2626}.itsm-signal.warning strong{color:#d97706}.itsm-signal.info strong{color:#2563eb}.itsm-signal.success strong{color:#059669}.desk-statuses{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.desk-status-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:11px}.desk-status-head span{color:var(--muted)}.desk-status-row{display:grid;grid-template-columns:78px minmax(0,1fr) 28px;align-items:center;gap:8px;margin:7px 0;font-size:10px}.desk-status-row>span:first-child{color:var(--muted);font-weight:650}.desk-status-row>strong{text-align:right;font-size:10px}.desk-track{display:block;height:8px;border-radius:999px;overflow:hidden;background:#edf1f6}.desk-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--accent) 65%,var(--primary)));min-width:2px}
@media (min-width:1600px){.command-center-v2{display:block;margin:0 0 18px}.command-v2-grid{gap:16px}.command-v2-card{border-radius:17px}.command-v2-head h2{font-size:20px}.flow-track,.flow-day{height:130px}.flow-day{grid-template-rows:20px 130px auto auto}}
@media (min-width:2200px){.command-v2-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.flow-track,.flow-day{height:140px}.flow-day{grid-template-rows:20px 140px auto auto}.command-v2-card{padding:17px}.itsm-signal{padding:11px}}
@media (max-width:767px){.command-v2-score{width:100%;grid-template-columns:auto auto}.command-v2-head{align-items:stretch;flex-direction:column}.command-v2-grid{grid-template-columns:1fr}.flow-days{gap:4px}.itsm-queue-grid{grid-template-columns:1fr}}
