:root{
  --bg:#f3f6f5;
  --surface:#ffffff;
  --surface-2:#f8fbfa;
  --surface-3:#eef5f2;
  --text:#16211d;
  --muted:#68766f;
  --muted-2:#8b9892;
  --line:#dfe7e3;
  --line-strong:#cbd8d2;
  --sidebar-a:#111917;
  --sidebar-b:#1a2823;
  --sidebar-c:#22372f;
  --accent:#16875f;
  --accent-strong:#0d6f4d;
  --accent-soft:#e7f6ef;
  --accent-soft-2:#d8f0e5;
  --good:#0e9f6e;
  --bad:#cf3653;
  --warn:#b8790b;
  --info:#315ea8;
  --shadow:0 18px 55px rgba(18,43,34,.075);
  --shadow-soft:0 8px 24px rgba(18,43,34,.055);
  --radius:18px;
  --topbar-h:70px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body{font-size:14px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
::selection{background:#ccecdf;color:#0d4f38}

.app-shell{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(155deg,var(--sidebar-a) 0%,var(--sidebar-b) 55%,var(--sidebar-c) 100%);color:#d7e4de;padding:22px 18px;display:flex;flex-direction:column;box-shadow:14px 0 34px rgba(15,31,25,.08);z-index:50;overflow:auto;scrollbar-width:thin;scrollbar-color:#365247 transparent}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 4%,rgba(47,177,127,.13),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%)}
.sidebar>*{position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:13px;padding:2px 10px 24px;min-height:58px}
.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#28a978,#14694d);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 28px rgba(18,134,92,.34);border:1px solid rgba(255,255,255,.12)}
.brand-copy strong,.brand-copy span{display:block}
.brand strong{color:#fff;font-size:19px;line-height:1.05;letter-spacing:-.02em}
.brand span{color:#92aca1;font-size:11px;margin-top:5px;letter-spacing:.11em;text-transform:uppercase}
.brand-custom{height:50px;max-width:215px;display:flex;align-items:center}.brand-custom img{display:block;max-width:100%;max-height:50px;object-fit:contain;object-position:left center}

.nav{display:flex;flex-direction:column;gap:5px}
.nav>a{min-height:48px;border-radius:13px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 13px;color:#b7c7c0;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease;position:relative;border:1px solid transparent}
.nav>a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px);border-color:rgba(255,255,255,.055)}
.nav>a.active{background:linear-gradient(90deg,rgba(37,161,113,.24),rgba(255,255,255,.075));color:#fff;border-color:rgba(83,202,155,.22);box-shadow:inset 3px 0 0 #43c38f,0 8px 20px rgba(0,0,0,.07)}
.nav-icon{font-size:18px;color:#8fb2a3;text-align:center;line-height:1}
.nav>a:hover .nav-icon,.nav>a.active .nav-icon{color:#73d7b0}
.nav>a b{font-size:15px;line-height:1.2;font-weight:760;letter-spacing:-.01em}
.nav>a em{font-size:10px;font-style:normal;background:rgba(255,255,255,.07);color:#80978d;padding:4px 7px;border-radius:8px;border:1px solid rgba(255,255,255,.04)}
.nav>a.disabled{opacity:.58;cursor:default;transform:none}
.nav>a.disabled:hover{background:transparent;border-color:transparent;color:#b7c7c0}
.nav-label{font-size:10px;font-weight:900;letter-spacing:.16em;color:#668277;margin:21px 13px 6px}
.nav-sub{min-height:42px!important;margin-left:15px;padding-left:12px!important;background:rgba(255,255,255,.012)}
.nav-sub .nav-icon{font-size:8px;color:#54796a}
.nav-sub b{font-size:14px!important;font-weight:700!important}
.sidebar-foot{margin-top:auto;padding:16px 9px 0;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:10px}
.user{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2e4f42,#1d342b);color:#fff;font-weight:900;border:1px solid rgba(255,255,255,.08)}
.user strong,.user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user strong{font-size:13px;color:#fff}.user small{font-size:10px;color:#829b91;margin-top:2px}.icon-btn{width:38px;height:38px;border:1px solid transparent;border-radius:11px;background:transparent;color:#8ba298;font-size:18px;cursor:pointer;transition:.16s}.icon-btn:hover{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08)}

.main{min-width:0}
.topbar{height:var(--topbar-h);background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:40}
.breadcrumb{display:flex;gap:7px;align-items:center}.topbar small{color:#96a39d}.topbar strong{font-size:14px}.top-actions{font-size:12px;color:#68766f;display:flex;align-items:center;gap:8px}.status-dot{width:9px;height:9px;border-radius:50%;background:#19b77d;box-shadow:0 0 0 5px #d8f5e8}.mobile-menu{display:none;border:1px solid var(--line);background:#fff;width:40px;height:40px;border-radius:11px;font-size:20px;cursor:pointer;color:var(--text)}
.content{padding:30px 34px 44px;max-width:1560px;margin:0 auto}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.sticky-page-head{position:sticky;top:var(--topbar-h);z-index:25;background:linear-gradient(180deg,rgba(243,246,245,.98) 0%,rgba(243,246,245,.94) 78%,rgba(243,246,245,0) 100%);padding:18px 0 20px;margin-top:-18px}
.eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:#6f8278}.page-head h1{font-size:30px;margin:5px 0 7px;letter-spacing:-.04em;line-height:1.1}.page-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:760px}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:20px;transition:transform .17s,border-color .17s,box-shadow .17s}.metric:hover{transform:translateY(-2px);border-color:#bfd3ca;box-shadow:0 20px 55px rgba(18,43,34,.11)}.metric span,.metric small{display:block}.metric span{font-size:11px;color:#718078;font-weight:800}.metric strong{font-size:31px;display:block;margin:8px 0 4px;letter-spacing:-.05em}.metric small{font-size:11px;color:#96a39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-version{font-size:24px!important;color:var(--accent-strong)}.metric-text{font-size:16px!important;line-height:1.25;letter-spacing:-.02em!important;min-height:39px;display:flex!important;align-items:center}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.panel-head h2{margin:4px 0 0;font-size:18px;letter-spacing:-.02em}.panel-head>a{font-size:12px;color:var(--accent);font-weight:850}.panel-meta{font-size:11px;color:#87958e;background:#f5f8f7;border:1px solid var(--line);border-radius:999px;padding:6px 9px}
.action-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.action-card h2{font-size:19px;margin:4px 0 5px}.action-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.action-icon{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;font-weight:900;font-size:16px;border:1px solid #cce9dc}.action-icon.plugin{background:#edf3fb;color:#315ea8;border-color:#d8e3f4}.update-card-link{transition:transform .16s,border-color .16s}.update-card-link:hover{transform:translateY(-2px);border-color:#bfd4cb}

.empty{min-height:210px;border:1px dashed #cedad4;border-radius:15px;background:var(--surface-2);display:grid;place-items:center;text-align:center;padding:26px}.empty>*{margin:0}.empty-icon{font-size:30px;color:#80968c}.empty strong{margin-top:8px}.empty p{font-size:12px;color:#77867f;max-width:430px;line-height:1.55}
.rule-list{display:flex;flex-direction:column;gap:12px}.rule-list>div{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:#4b5a53}.rule-list i{width:8px;height:8px;border-radius:50%;background:#2aaf7e;margin-top:6px;flex:0 0 auto;box-shadow:0 0 0 4px #e5f7ef}.modern-rules>div{padding:13px 0;border-bottom:1px solid #edf2ef}.modern-rules>div:last-child{border-bottom:0}.modern-rules span strong,.modern-rules span small{display:block}.modern-rules span small{font-size:11px;color:#85928c;line-height:1.5;margin-top:4px}.standards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.standard-item{display:grid;grid-template-columns:38px 1fr;gap:12px;border:1px solid #e4ebe7;background:#fbfdfc;border-radius:14px;padding:15px}.standard-item>span{width:34px;height:34px;border-radius:10px;background:#e7f5ef;color:#147451;display:grid;place-items:center;font-size:10px;font-weight:900}.standard-item strong{font-size:13px}.standard-item p{margin:4px 0 0;font-size:11px;color:#7a8982;line-height:1.55}

.btn{border:1px solid transparent;border-radius:11px;min-height:41px;padding:0 15px;font-weight:820;font-size:12px;cursor:pointer;transition:background .16s,color .16s,border-color .16s,transform .16s,box-shadow .16s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn.primary{background:linear-gradient(180deg,#173028,#10261f);color:#fff;border-color:#0d211b;box-shadow:0 8px 18px rgba(16,38,31,.11)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#16875f,#0f714f);border-color:#0d6b4b;transform:translateY(-1px);box-shadow:0 11px 24px rgba(22,135,95,.2)}.btn.secondary{background:#fff;border-color:#cedad4;color:#27372f}.btn.secondary:hover{background:#f4f9f7;border-color:#a9c2b7;color:#0d6f4d}.btn.ghost{background:transparent;border-color:#d4dfda;color:#4d5d55}.btn.ghost:hover{background:#f3f7f5;border-color:#bfd0c8}.btn.wide{width:100%;height:46px}.btn.small{min-height:34px;padding:0 11px;font-size:10px}
.status-chip,.version-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap}.version-pill{background:#e8f5ef;color:#0f714f;border:1px solid #d0eade}.status-chip.success{background:#e9f8f1;color:#0d7652;border:1px solid #cdeedf}.status-chip.neutral{background:#f4f7f6;color:#697871;border:1px solid var(--line)}

.alert{padding:13px 15px;border-radius:12px;font-size:12px;margin-bottom:17px;border:1px solid}.alert.error{background:#fff1f3;color:#9f1239;border-color:#fecdd5}.alert.success{background:#eaf9f2;color:#065f46;border-color:#bdebd7}.alert.warning{background:#fff9e9;color:#8a5a08;border-color:#f5dfaa}

.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px}.smart-search{min-width:min(520px,70%);height:42px;border:1px solid #d4dfda;background:#f9fbfa;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 12px;transition:border-color .16s,box-shadow .16s,background .16s}.smart-search:focus-within{background:#fff;border-color:#7eb7a0;box-shadow:0 0 0 4px #e3f4ec}.smart-search>span{font-size:18px;color:#769188}.smart-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.smart-search input::placeholder{color:#97a39e}.page-size{font-size:11px;color:#7b8982;display:flex;align-items:center;gap:7px}.page-size select{height:38px;border:1px solid #d4dfda;background:#fff;border-radius:10px;padding:0 28px 0 10px;color:#43534b;outline:none}.page-size select:focus{border-color:#7eb7a0;box-shadow:0 0 0 3px #e6f4ed}
.table-wrap{overflow:auto;border-radius:13px}.data-table,table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}.data-table th,th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#7c8b84;padding:11px 12px;border-bottom:1px solid var(--line);background:#fbfcfc}.data-table td,td{font-size:12px;padding:14px 12px;border-bottom:1px solid #edf2ef;vertical-align:middle;background:#fff}.data-table tbody tr td{transition:background .14s}.data-table tbody tr:hover td,tbody tr:hover td{background:#f7faf8}.data-table tbody tr:last-child td{border-bottom:0}.table-sticky{max-height:520px}.table-sticky thead th{position:sticky;top:0;z-index:5;background:#f7faf8;box-shadow:0 1px 0 var(--line)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sub{display:block;color:#97a39e;margin-top:4px;font-size:10px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f0f4f2;color:#52635a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid #e4ebe7}.badge.ready,.badge.completed,.badge.enabled{background:#eaf8f1;color:#06724d;border-color:#d2efe1}.badge.active{background:#edf8f4;color:#0c7351;border-color:#d4eee3}.badge.failed,.badge.error,.badge.disabled{background:#fff1f3;color:#b32142;border-color:#f7d2da}.badge.platform{background:#e8f5ef;color:#116e4f;border-color:#d2eadd}.badge.plugin{background:#edf3fb;color:#315b99;border-color:#d7e2f1}.table-empty{padding:40px;text-align:center;color:#85938c}.pagination-bar{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:14px;min-height:36px}.pagination-bar button{min-width:34px;height:34px;border:1px solid #d7e1dc;background:#fff;border-radius:9px;color:#53635b;cursor:pointer;font-size:11px;font-weight:800}.pagination-bar button:hover{border-color:#9abaaa;background:#f3f8f5;color:#0d6f4d}.pagination-bar button.active{background:#143328;color:#fff;border-color:#143328}.pagination-bar button:disabled{opacity:.42;cursor:not-allowed}.pagination-summary{font-size:10px;color:#89958f;margin-right:7px}

.modal{position:fixed;inset:0;background:rgba(8,20,16,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:80;backdrop-filter:blur(6px)}.modal.open{display:flex}.modal-card{width:min(760px,100%);background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(8,30,21,.28);padding:24px;border:1px solid #e2eae6}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:4px 0 0}.modal-close{border:1px solid #e0e7e3;background:#f7f9f8;width:36px;height:36px;border-radius:10px;font-size:20px;cursor:pointer;color:#66766e}.modal-close:hover{background:#eef5f2;color:#173b2e}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.login-card label,.settings-form label{font-size:12px;font-weight:800;color:#4d5e55;display:block}.form-grid label.full{grid-column:1/-1}.form-grid input,.login-card input,.settings-form input,.settings-form select{width:100%;margin-top:7px;border:1px solid #d4dfda;border-radius:11px;padding:11px 12px;background:#fbfcfc;color:#18251f;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.form-grid input:focus,.login-card input:focus,.settings-form input:focus,.settings-form select:focus{border-color:#6ba98f;box-shadow:0 0 0 4px #e4f4ed;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}

.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.health-item{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid #e4ebe7;border-radius:13px;background:#fbfdfc}.health-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:900}.health-icon.ok{background:#dff5ea;color:#08724f}.health-icon.bad{background:#ffe6eb;color:#b51f40}.health-item strong,.health-item small{display:block}.health-item strong{font-size:12px}.health-item small{color:#87958e;font-size:10px;margin-top:3px}

.update-workspace{align-items:start}.update-upload-panel{min-height:410px}.upload-form{display:flex;flex-direction:column}.dropzone{border:1.5px dashed #bdcdc5;border-radius:16px;background:linear-gradient(180deg,#fbfdfc,#f6faf8);min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;cursor:pointer;margin-bottom:14px;transition:border-color .17s,background .17s,box-shadow .17s,transform .17s;position:relative;overflow:hidden}.dropzone:hover,.dropzone.dragover{border-color:#44a77f;background:#f0faf5;box-shadow:inset 0 0 0 1px #b8e5d1;transform:translateY(-1px)}.dropzone input{display:none}.dropzone-idle{display:grid;place-items:center;gap:7px}.dropzone-idle strong{font-size:14px}.dropzone-idle small{font-size:11px;color:#87958e}.drop-icon{width:48px;height:48px;border-radius:14px;background:#e5f5ed;color:#0d7954;display:grid;place-items:center;font-size:22px;margin-bottom:5px;border:1px solid #cfe9dd}.package-preview{width:100%;text-align:left}.package-preview[hidden]{display:none!important}.package-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #e5ece8}.package-preview-head>div{min-width:0}.package-preview-head strong,.package-preview-head small{display:block}.package-preview-head strong{font-size:16px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.package-preview-head small{font-size:10px;color:#85928c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.package-type{font-size:9px;font-weight:900;letter-spacing:.12em;color:#0d7652;background:#e8f6ef;border:1px solid #d1ebdf;border-radius:999px;padding:5px 8px;display:inline-flex}.package-type.plugin{color:#315d9a;background:#edf3fb;border-color:#d8e3f3}.verify-dot{font-size:10px;font-weight:850;border-radius:999px;padding:6px 9px;background:#f2f5f4;color:#6c7973;border:1px solid #e1e8e4;white-space:nowrap}.verify-dot.ok{background:#e8f7ef;color:#08714e;border-color:#cdebdc}.verify-dot.bad{background:#fff0f2;color:#b32142;border-color:#f4cfd7}.package-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.package-facts>div{border:1px solid #e5ece8;background:#fff;border-radius:11px;padding:10px}.package-facts span,.package-facts strong{display:block}.package-facts span{font-size:9px;color:#8a9791;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.package-facts strong{font-size:11px;margin-top:4px;color:#24342c;overflow-wrap:anywhere}.package-note{font-size:10px;color:#75837c;line-height:1.55;margin:12px 2px 0}.package-message{font-size:11px;padding:10px 12px;border-radius:10px;margin-bottom:12px;border:1px solid}.package-message.ok{background:#e9f8f1;color:#0b714f;border-color:#caeadb}.package-message.error{background:#fff1f3;color:#a92241;border-color:#f2cdd5}.update-submit{margin-top:1px}

.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 12% 8%,#dff3e9 0,transparent 31%),linear-gradient(145deg,#f4f8f6,#eef4f1);padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #dde7e2;border-radius:22px;box-shadow:0 28px 75px rgba(18,43,34,.13);padding:31px}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:27px}.login-brand strong,.login-brand span{display:block}.login-brand span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#899890}.login-custom-logo{height:56px;max-width:230px;display:flex;align-items:center}.login-custom-logo img{display:block;max-width:100%;max-height:56px;object-fit:contain;object-position:left center}.login-card h1{font-size:25px;margin:0 0 6px;letter-spacing:-.03em}.login-card>p{margin:0 0 21px;color:#78867f;font-size:12px}.login-card label{margin-bottom:14px}

.settings-head{align-items:center}.settings-safe{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #d8e4de;background:#fff;border-radius:999px;color:#607168;font-size:11px;font-weight:800}.settings-safe i{width:7px;height:7px;border-radius:50%;background:#10a873;box-shadow:0 0 0 4px #d9f2e7}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.settings-card{padding:23px}.settings-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.settings-card-head h2{margin:4px 0 6px;font-size:19px;letter-spacing:-.02em}.settings-card-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:500px}.settings-icon{width:44px;height:44px;border-radius:13px;background:#e7f5ef;color:#0e7552;display:grid;place-items:center;font-size:13px;font-weight:900;flex:0 0 auto;border:1px solid #d1eadf}.settings-form{display:grid;gap:15px;margin-top:19px}.settings-form label small{display:block;margin-top:6px;color:#94a19b;font-weight:500;font-size:10px}.settings-form select{width:100%;height:44px;margin-top:7px;border:1px solid #d4dfda;border-radius:11px;padding:0 38px 0 12px;background:#fbfcfc;color:#18251f;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.settings-session-card{grid-column:1/-1}.settings-session-form{max-width:620px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:17px;margin-top:4px}.settings-actions>span{font-size:10px;color:#87948e}.branding-form{margin-top:5px}.branding-item{display:grid;grid-template-columns:126px minmax(0,1fr);gap:17px;align-items:center;padding:18px 0;border-bottom:1px solid #edf2ef}.branding-preview{height:86px;border:1px solid #dfe8e4;border-radius:14px;background:linear-gradient(135deg,#fafcfb,#eff6f3);display:grid;place-items:center;overflow:hidden;padding:12px}.branding-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview img{max-height:60px}.favicon-preview img{width:50px;height:50px;object-fit:contain}.brand-fallback{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#1c9a6e,#0d6549);display:grid;place-items:center;color:white;box-shadow:0 8px 20px rgba(14,117,82,.2)}.favicon-fallback{width:46px;height:46px;border-radius:12px;background:#173229;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.branding-copy strong{font-size:13px}.branding-copy p{margin:5px 0 12px;color:#78877f;font-size:11px;line-height:1.55}.file-button{display:inline-flex}.file-button input{display:none}.file-button span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #d2ddd8;border-radius:10px;background:#fff;color:#34483e;font-size:11px;font-weight:800;cursor:pointer;transition:.16s}.file-button span:hover{border-color:#8eb8a5;background:#f3f8f5;color:#0d704f}.branding-form .settings-actions{margin-top:17px}.reset-row{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line)}.settings-note{display:flex;gap:13px;align-items:flex-start;margin-top:0}.settings-note-icon{width:36px;height:36px;border-radius:10px;background:#e7f7ef;color:#08724f;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.settings-note strong{display:block;font-size:12px}.settings-note p{margin:4px 0 0;color:#78877f;font-size:11px;line-height:1.5}

@media(max-width:1200px){.app-shell{grid-template-columns:266px minmax(0,1fr)}.content{padding-left:25px;padding-right:25px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{grid-template-columns:auto 1fr}.action-card .btn{grid-column:1/-1;justify-self:stretch}.standards-grid{grid-template-columns:1fr}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-300px;top:0;z-index:90;width:286px;transition:left .2s ease}.sidebar.open{left:0}.mobile-menu{display:grid;place-items:center}.topbar{justify-content:flex-start;gap:14px;padding:0 18px}.top-actions{margin-left:auto}.grid-2,.settings-grid,.health-grid{grid-template-columns:1fr}.sticky-page-head{top:var(--topbar-h)}.package-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.content{padding:21px 14px 35px}.topbar{padding:0 12px}.breadcrumb small{display:none}.page-head{align-items:flex-start;flex-direction:column}.sticky-page-head{position:static;margin-top:0;padding-top:0}.page-head h1{font-size:26px}.metric-grid{grid-template-columns:1fr}.panel{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.branding-item{grid-template-columns:1fr}.branding-preview{height:100px}.settings-actions{align-items:flex-start;flex-direction:column}.settings-actions .btn{width:100%}.settings-head{align-items:flex-start}.table-toolbar{align-items:stretch;flex-direction:column}.smart-search{min-width:100%;width:100%}.page-size{justify-content:flex-end}.package-facts{grid-template-columns:1fr}.package-preview-head{flex-direction:column}.action-card{grid-template-columns:1fr}.action-icon{width:42px;height:42px}.pagination-bar{justify-content:center;flex-wrap:wrap}}


/* VM7 UI Standard 0.1.3 — anthracite-first, controlled green */
:root{
  --sidebar-a:#101419;
  --sidebar-b:#171c21;
  --sidebar-c:#12231d;
  --sidebar-text:#f5f8f6;
  --neon:#67f6a8;
  --orange:#e7832f;
  --orange-soft:#fff3e9;
}
.sidebar{
  background:linear-gradient(158deg,var(--sidebar-a) 0%,var(--sidebar-b) 64%,var(--sidebar-c) 100%);
  color:var(--sidebar-text);
  box-shadow:16px 0 38px rgba(8,14,12,.12);
  scrollbar-color:#355246 transparent;
}
.sidebar:before{
  background:radial-gradient(circle at 4% 100%,rgba(18,145,92,.15),transparent 30%),radial-gradient(circle at 98% 4%,rgba(255,255,255,.035),transparent 25%);
}
.brand span{color:#aab9b2}
.nav>a,.nav>a b{color:#f5f8f6}
.nav>a:hover{color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.075),rgba(31,123,87,.08));border-color:rgba(255,255,255,.075)}
.nav>a.active{color:#fff;background:linear-gradient(90deg,rgba(26,125,88,.28),rgba(255,255,255,.055));border-color:rgba(80,213,157,.24);box-shadow:inset 3px 0 0 #45d495,0 10px 24px rgba(0,0,0,.11)}
.nav-icon{color:#a6b8b0}.nav>a:hover .nav-icon,.nav>a.active .nav-icon{color:#6ce1ad}
.nav-label{color:#9ab0a6}
.nav-sub{background:rgba(255,255,255,.018)}.nav-sub b{color:#f4f8f6}.nav-sub .nav-icon{color:#5ad49d}
.nav>a.disabled{opacity:1;color:#dfe6e2}.nav>a.disabled b{color:#e9efec;opacity:.80}.nav>a.disabled .nav-icon{color:#8d9f97;opacity:.80}.nav>a.disabled:hover{background:transparent;border-color:transparent;color:#dfe6e2}
.nav>a em{color:var(--neon);background:rgba(68,255,153,.10);border-color:rgba(103,246,168,.24);box-shadow:0 0 14px rgba(75,255,158,.05);font-weight:850}
.sidebar-foot{border-top-color:rgba(255,255,255,.11)}.user small{color:#a6b6af}.icon-btn{color:#b1c1ba}

/* Limited orange accents in the light content area. */
.eyebrow{color:#a86128}
.page-head h1{position:relative}.page-head h1:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-left:9px;vertical-align:middle;opacity:.9}
.panel-head>a:hover{color:#b96624}.settings-icon{background:linear-gradient(145deg,#e7f5ef,#fff5ec);border-color:#d9e7df;color:#0e7552}
.btn.secondary:hover{border-color:#d8b28f;background:#fff8f2;color:#9a5420}
.branding-warning{margin-top:7px!important;color:#a65a24!important;font-weight:750!important;background:var(--orange-soft);border:1px solid #f1d7c0;border-radius:9px;padding:7px 9px}

/* VM7 0.1.5 — Data Center / Database Manager */
.title-accent{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f28b36;vertical-align:middle;margin-left:5px;box-shadow:0 0 0 5px rgba(242,139,54,.08)}
.dc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.dc-metric{background:#fff;border:1px solid #dde6e1;border-radius:17px;padding:17px 18px;box-shadow:0 8px 25px rgba(19,39,31,.035);position:relative;overflow:hidden}.dc-metric:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#1b7e5d;opacity:.16}.dc-metric span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6f7f77}.dc-metric strong{display:block;font-size:25px;line-height:1.1;margin:8px 0 5px;color:#101b17}.dc-metric small{font-size:10px;color:#94a099}.dc-metric.has-error:after{background:#da455f;opacity:.7}.dc-metric.has-error strong{color:#b52a46}
.data-center-panel{padding:20px}.panel-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.panel-title-row h2{font-size:19px;margin:3px 0 4px}.panel-title-row p{margin:0;color:#829087;font-size:11px}.pool-size{text-align:right;border-left:1px solid #e3ebe7;padding-left:22px;min-width:135px}.pool-size span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a9790;font-weight:900}.pool-size strong{font-size:16px;color:#26362e}.smart-search kbd{font-family:inherit;border:1px solid #d9e4de;background:#fff;color:#76867e;border-radius:6px;padding:3px 6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.dc-table-wrap{max-height:min(59vh,620px)}.dc-table-wrap table{min-width:1120px}.space-code{display:flex;align-items:center;gap:8px}.space-code>strong{font-size:12px}.sub.subtle{opacity:.8}.health-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;border:1px solid #dce5e0;background:#f4f7f5;color:#6a7971;white-space:nowrap}.health-pill i{width:7px;height:7px;border-radius:50%;background:#8d9993}.health-pill.ok{background:#e9f8f1;color:#08714f;border-color:#cfedde}.health-pill.ok i{background:#25c58a;box-shadow:0 0 0 4px rgba(37,197,138,.11)}.health-pill.error{background:#fff1f3;color:#af2945;border-color:#f3d1d8}.health-pill.error i{background:#e14662}.health-pill.warning{background:#fff7e9;color:#9a5b0d;border-color:#f4dfb8}.health-pill.warning i{background:#f3a43d}.error-text{color:#b52c46;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generation-chip{display:inline-grid;place-items:center;min-width:35px;height:29px;border:1px solid #d6e2dc;border-radius:9px;background:#f7faf8;color:#285946;font-size:10px;font-weight:950}.empty-assignment{display:inline-flex;align-items:center;border-radius:8px;background:#f5f8f6;padding:6px 8px;font-size:9px;color:#718078;font-weight:800}.date-main{font-size:10px;color:#4d5d55;white-space:nowrap}.th-action,.td-action{text-align:right!important}.table-btn{height:32px!important;padding:0 10px!important;border-radius:9px!important;background:#fff!important;color:#174e3a!important;border:1px solid #cfe0d7!important;font-size:9px!important;box-shadow:none!important}.table-btn:hover{background:#163a2d!important;color:#fff!important;border-color:#163a2d!important;transform:none!important}.dc-empty{display:flex;flex-direction:column;align-items:center;gap:7px}.dc-empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#edf6f1;color:#167052;font-size:19px}.dc-empty strong{font-size:14px;color:#1b2b23}.dc-empty p{max-width:520px;margin:0 0 5px;font-size:10px}.dc-modal-card{width:min(720px,94vw)}.dc-modal-card .modal-head p{font-size:10px;color:#829188;margin:4px 0 0}.dc-form-section{padding:15px 0;border-bottom:1px solid #e8eeeb}.form-section-title{display:block;margin-bottom:10px;font-size:9px;font-weight:950;color:#a75b17;letter-spacing:.1em;text-transform:uppercase}.form-grid label small{display:block;font-size:9px;font-weight:500;color:#98a49e;margin:2px 0 5px}.security-note{display:flex;gap:11px;align-items:flex-start;margin:16px 0 0;padding:12px 13px;border:1px solid #d7e9df;background:#f3faf6;border-radius:12px;color:#39604e}.security-note>span{color:#18a36f}.security-note strong{display:block;font-size:10px}.security-note p{font-size:9px;margin:3px 0 0;color:#71847a;line-height:1.5}
@media(max-width:1200px){.dc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.dc-metrics{grid-template-columns:1fr}.panel-title-row{align-items:flex-start;flex-direction:column}.pool-size{text-align:left;border-left:0;border-top:1px solid #e3ebe7;padding:10px 0 0;width:100%}.data-center-panel{padding:15px}}

/* VM7 v0.1.6 — Data Space Lifecycle */
.dc-metrics-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dc-metric.has-warning{border-color:#f1d39b;background:linear-gradient(180deg,#fff,#fffaf0)}
.badge.reserved{background:#fff4df;color:#945510;border-color:#f3d7a6}.badge.paused{background:#eef2f1;color:#52635a;border-color:#dce5e0}
.charset-warning{color:#a96318!important;font-weight:800}.dc-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.dc-actions form{margin:0}
.table-btn.action-accent{background:#fff8eb!important;border-color:#efc98d!important;color:#9b5a10!important}.table-btn.action-accent:hover{background:#e98528!important;border-color:#e98528!important;color:#fff!important}
.table-btn.action-positive{background:#eaf8f1!important;border-color:#ccebdc!important;color:#08714f!important}.table-btn.action-positive:hover{background:#0f7955!important;border-color:#0f7955!important;color:#fff!important}
.table-btn.action-warning{background:#fff6e8!important;border-color:#f2d1a0!important;color:#9b5d15!important}.table-btn.action-warning:hover{background:#d97718!important;border-color:#d97718!important;color:#fff!important}
.table-btn:disabled{opacity:.4!important;cursor:not-allowed!important;transform:none!important;background:#f4f6f5!important;color:#85918b!important;border-color:#e0e6e3!important}
.dc-rules-panel{margin-top:18px;padding:20px 22px}.dc-rules-panel h2{margin:4px 0 13px;font-size:19px}.dc-rules-panel>p{margin:13px 0 0;color:#7e8b84;font-size:10px;line-height:1.6;max-width:1050px}
.lifecycle-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lifecycle-flow>i{font-style:normal;color:#9ba79f;font-size:13px;font-weight:900}.flow-step{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:10px;border:1px solid #dce5e0;background:#f7faf8;color:#45574e;font-size:10px;font-weight:900}.flow-step.ready{background:#eaf8f1;color:#08714f;border-color:#d0edde}.flow-step.reserved{background:#fff6e6;color:#995b14;border-color:#f0d7ae}.flow-step.active{background:#143d2f;color:#fff;border-color:#143d2f}.flow-step.paused{background:#edf1ef;color:#526159}.flow-step.future{border-style:dashed;color:#78877f}.flow-step small{font-size:8px;font-weight:700;opacity:.72}
.reserve-modal-card{width:min(590px,94vw)}.reserve-label{display:block;margin-top:8px;font-size:11px;font-weight:850;color:#32453b}.reserve-label small{display:block;font-size:9px;font-weight:500;color:#94a199;margin:4px 0 7px}.reserve-label input{width:100%}
@media(max-width:1280px){.dc-metrics-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dc-metrics-5{grid-template-columns:1fr 1fr}.dc-actions{justify-content:flex-start}.lifecycle-flow{align-items:stretch}.lifecycle-flow>i{align-self:center}}

/* v0.1.7 — Data Space maintenance */
.badge.archived{background:rgba(245,133,45,.12);color:#c96312;border:1px solid rgba(245,133,45,.28)}
.badge.archiving,.badge.cleaning,.badge.freezing{background:rgba(24,188,126,.10);color:#0a845d;border:1px solid rgba(24,188,126,.24)}
.action-danger{border-color:rgba(207,54,67,.28)!important;color:#b72735!important;background:rgba(207,54,67,.055)!important}
.action-danger:hover{background:rgba(207,54,67,.11)!important;border-color:rgba(207,54,67,.42)!important}
.warning-btn{background:linear-gradient(135deg,#e7781c,#f0963f)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 22px rgba(231,120,28,.17)}
.warning-btn:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(231,120,28,.22)}
.danger-btn{background:linear-gradient(135deg,#a91f2e,#d23b4a)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(169,31,46,.18)}
.danger-btn:hover{transform:translateY(-1px);box-shadow:0 14px 29px rgba(169,31,46,.24)}
.warning-note{border-color:rgba(230,125,38,.24)!important;background:linear-gradient(135deg,rgba(255,249,241,.98),rgba(255,255,255,.98))!important}
.warning-note>span{background:rgba(239,133,42,.13)!important;color:#cb6717!important}
.danger-note{border-color:rgba(193,45,59,.22)!important;background:linear-gradient(135deg,rgba(255,245,246,.98),rgba(255,255,255,.98))!important}
.danger-note>span{background:rgba(193,45,59,.11)!important;color:#b12734!important}
.danger-eyebrow{color:#b12734!important}
.archive-target,.generation-warning{margin:18px 0;padding:14px 16px;border:1px solid rgba(26,68,56,.12);border-radius:14px;background:rgba(12,50,41,.035);display:flex;align-items:center;justify-content:space-between;gap:14px}
.archive-target span,.generation-warning{font-size:13px;color:#65756f}.archive-target strong{font-size:15px;color:#10231d}
.generation-warning{display:block;line-height:1.55}.generation-warning strong{color:#0b7857}
.danger-modal-card{max-width:650px}
.dc-archive-panel{margin-top:22px}.compact-table td,.compact-table th{padding-top:14px;padding-bottom:14px}.compact-table .sub{margin-top:3px}
.flow-step.archived{background:rgba(239,132,42,.11);border-color:rgba(239,132,42,.25);color:#bf6118}
.flow-step.cleaning{background:rgba(20,142,100,.09);border-color:rgba(20,142,100,.22);color:#0b7958}
@media(max-width:760px){.archive-target{align-items:flex-start;flex-direction:column}.dc-archive-panel .table-wrap{overflow:auto}}

/* VM7 v0.1.8 — Job Engine / Queue */
.job-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.job-metric{position:relative;overflow:hidden;background:#fff;border:1px solid #dce6e1;border-radius:17px;padding:16px 18px;box-shadow:0 9px 25px rgba(17,36,29,.035)}.job-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#7f9188;opacity:.26}.job-metric span{display:block;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#6d7c75}.job-metric strong{display:block;font-size:27px;line-height:1.05;margin:8px 0 5px;color:#111d18}.job-metric small{font-size:10px;color:#8c9992}.job-metric.active:before{background:#1ab87f;opacity:.8}.job-metric.warning:before{background:#ef8a31;opacity:.9}.job-metric.danger:before{background:#cf3643;opacity:.85}.job-metric.success:before{background:#0c7857;opacity:.75}
.job-panel{padding:20px}.job-title-row{align-items:center}.worker-state{display:flex;align-items:center;gap:7px;border:1px solid #d9e5df;background:#f8fbf9;border-radius:12px;padding:9px 11px;white-space:nowrap}.worker-state i{width:8px;height:8px;border-radius:50%;background:#2bc78e;box-shadow:0 0 0 5px rgba(43,199,142,.11)}.worker-state span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7e8d86;font-weight:900}.worker-state strong{font-size:13px;color:#17372b}
.job-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) auto auto;align-items:center;gap:12px;margin:12px 0 14px}.job-search{min-width:0}.job-status-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.job-status-filters button{border:1px solid #dbe5e0;background:#fff;color:#64766d;border-radius:9px;padding:8px 10px;font:inherit;font-size:9px;font-weight:900;cursor:pointer;transition:.16s ease}.job-status-filters button:hover{border-color:#a9c7b9;color:#174c39}.job-status-filters button.active{background:#153b2e;border-color:#153b2e;color:#fff;box-shadow:0 7px 18px rgba(21,59,46,.13)}.page-size-label{display:flex;align-items:center;gap:8px;font-size:9px;color:#7d8b84;white-space:nowrap}.page-size-label select{height:38px;border:1px solid #d9e5df;border-radius:10px;background:#fff;padding:0 31px 0 10px;color:#26372f;font-weight:800}
.job-table-wrap{max-height:min(63vh,690px)}.job-table{min-width:1240px}.job-name{display:flex;flex-direction:column;gap:4px}.job-name strong{font-size:11px;color:#17261f}.job-name code{width:max-content;font-size:9px;border-radius:6px;background:#f2f6f4;border:1px solid #e1e9e5;padding:3px 5px;color:#607168}.job-name small{font-size:9px;color:#99a49e}.job-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #dfe7e3;border-radius:999px;background:#f5f8f6;color:#65766d;font-size:9px;font-weight:950;white-space:nowrap}.job-status i{width:7px;height:7px;border-radius:50%;background:#93a199}.job-status.queued{background:#f4f7f6;color:#586b61}.job-status.running{background:#e9f9f2;color:#08724f;border-color:#cceede}.job-status.running i{background:#26c88e;box-shadow:0 0 0 4px rgba(38,200,142,.11)}.job-status.retrying{background:#fff7e8;color:#9a5a0f;border-color:#f2d9ae}.job-status.retrying i{background:#ef963e}.job-status.failed{background:#fff0f2;color:#af2b42;border-color:#f2d2d8}.job-status.failed i{background:#df425b}.job-status.completed{background:#edf7f2;color:#226747;border-color:#d5e9de}.job-status.completed i{background:#1d9b68}.job-status.cancelled{background:#f2f3f3;color:#6d7772}.job-next{display:block;margin-top:5px;font-size:8px;color:#9a6b34}.job-source{display:flex;flex-direction:column;gap:2px}.job-source strong{font-size:10px}.job-source span{font-size:9px;color:#8b9992}.job-space{display:inline-flex;align-items:center;gap:5px;margin-top:5px}.job-space b,.job-space span{font-size:8px;border-radius:6px;padding:3px 5px}.job-space b{background:#eef6f2;color:#28634d}.job-space span{background:#fff4e5;color:#9f5a0f}.priority-chip{display:inline-grid;place-items:center;min-width:33px;height:29px;border:1px solid #dae5df;border-radius:8px;background:#f8faf9;color:#3c5247;font-size:10px;font-weight:950}
.job-engine-note{margin-top:18px}.job-engine-note h2{font-size:20px;margin:4px 0 14px}.job-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.job-rule-grid>div{display:grid;grid-template-columns:32px 1fr;column-gap:9px;row-gap:3px;padding:13px;border:1px solid #e0e8e4;border-radius:13px;background:#fbfcfc}.job-rule-grid i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#123a2c;color:#fff;font-style:normal;font-size:10px;font-weight:950}.job-rule-grid strong{font-size:10px;color:#213229}.job-rule-grid span{font-size:9px;color:#7f8d86;line-height:1.5}
.job-detail-card{width:min(780px,94vw)}.job-detail-meta{display:flex;align-items:center;justify-content:space-between;margin:13px 0;padding:10px 12px;border:1px solid #e1e9e5;border-radius:11px;background:#f8faf9}.job-detail-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#84918a;font-weight:900}.job-detail-meta strong{font-size:10px;color:#26382f}.job-code-block{margin-top:11px;border:1px solid #dfe7e3;border-radius:12px;overflow:hidden}.job-code-block>div{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid #e5ece8;background:#f7faf8}.job-code-block strong{font-size:10px}.job-code-block span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#87948d;font-weight:900}.job-code-block pre{margin:0;max-height:190px;overflow:auto;padding:12px;background:#101a16;color:#cde8dc;font:10px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.job-code-block.error-block pre{background:#231316;color:#ffd5db}.job-code-block.error-block[hidden]{display:none}
@media(max-width:1350px){.job-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.job-toolbar{grid-template-columns:1fr auto}.job-status-filters{grid-column:1/-1;grid-row:2}.job-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.job-metrics{grid-template-columns:1fr 1fr}.job-toolbar{grid-template-columns:1fr}.job-status-filters{grid-column:auto;grid-row:auto}.page-size-label{justify-content:flex-end}.job-rule-grid{grid-template-columns:1fr}.job-title-row{align-items:flex-start}.worker-state{align-self:flex-start}}

/* VM7 0.1.9 · Scheduler */
.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.page-actions form{margin:0}
.scheduler-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.scheduler-metric{background:#fff;border:1px solid #dce6e1;border-radius:17px;padding:17px 18px;box-shadow:0 8px 26px rgba(17,37,29,.04);position:relative;overflow:hidden}.scheduler-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#1d8e67;opacity:.22}.scheduler-metric span{display:block;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#718078}.scheduler-metric strong{display:block;font-size:27px;line-height:1.1;margin:8px 0 5px;color:#13221b}.scheduler-metric small{display:block;font-size:9px;color:#94a099;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduler-metric.due:before{background:#ee8a32;opacity:.8}.scheduler-metric.paused:before{background:#86988f;opacity:.55}.scheduler-metric.danger:before{background:#dd465d;opacity:.8}.scheduler-metric.success:before{background:#20b57d;opacity:.9}.scheduler-metric.neutral:before{background:#c0cbc6}.scheduler-health-text{font-size:19px!important;letter-spacing:-.02em!important;margin-top:12px!important}
.scheduler-panel,.scheduler-history-panel,.cron-panel,.scheduler-rule-panel{padding:20px}.scheduler-title-row{align-items:center}.scheduler-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:12px;margin:12px 0 14px}.scheduler-table-wrap{max-height:min(61vh,670px)}.scheduler-table{min-width:1120px}.scheduler-task-name{display:flex;flex-direction:column;gap:4px}.scheduler-task-name strong{font-size:11px;color:#14231c}.scheduler-task-name code{width:max-content;max-width:240px;overflow:hidden;text-overflow:ellipsis;font-size:8px;border:1px solid #e2eae6;background:#f4f7f5;color:#62726a;border-radius:6px;padding:3px 5px}.scheduler-task-name small{font-size:9px;color:#8e9b95}.scheduler-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;border:1px solid #dce6e1;background:#f5f8f6;color:#66766e;font-size:9px;font-weight:950;white-space:nowrap}.scheduler-status i{width:7px;height:7px;border-radius:50%;background:#92a098}.scheduler-status.active{background:#eaf9f2;color:#06704d;border-color:#cceede}.scheduler-status.active i{background:#25c58b;box-shadow:0 0 0 4px rgba(37,197,139,.11)}.scheduler-status.paused{background:#f3f5f4;color:#68766f}.scheduler-status.error{background:#fff0f2;color:#ad2942;border-color:#f1d0d7}.scheduler-status.error i{background:#df425b}.scheduler-status.disabled{background:#f0f1f1;color:#79827e}.scheduler-error{display:block;color:#b72f47;margin-top:5px;font-size:8px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduler-actions{flex-wrap:wrap;justify-content:flex-end}.scheduler-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;margin:18px 0}.cron-state{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:950;border:1px solid #dce6e1;background:#f6f8f7;color:#78867f}.cron-state i{width:7px;height:7px;border-radius:50%;background:#a6b1ab}.cron-state.ok{background:#eaf8f1;color:#08704e;border-color:#d0ecdf}.cron-state.ok i{background:#25c58b;box-shadow:0 0 0 4px rgba(37,197,139,.1)}.cron-state.waiting{background:#fff6e9;color:#9b5b12;border-color:#f0d9b4}.cron-state.waiting i{background:#ed933b}.cron-expression{display:flex;align-items:center;gap:14px;border:1px solid #dce6e1;background:#f8fbf9;border-radius:13px;padding:13px 15px;margin:14px 0}.cron-expression span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#78877f}.cron-expression strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;color:#17382b;letter-spacing:.08em}.cron-expression small{margin-left:auto;color:#98a39e;font-size:9px}.cron-command{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #dce6e1;border-radius:13px;padding:12px 13px;background:#fff}.cron-command>div strong,.cron-command>div span{display:block}.cron-command>div strong{font-size:10px}.cron-command>div span{font-size:8px;color:#96a19b;margin-top:2px}.cron-command code{display:block;min-width:0;overflow:auto;white-space:nowrap;padding:8px 10px;border-radius:9px;background:#13231c;color:#dff6eb;font-size:9px;scrollbar-width:thin}.cron-flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:15px 0 7px}.cron-flow span{border:1px solid #dbe5e0;background:#f7faf8;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:900;color:#29483b}.cron-flow b{color:#e57e25}.cron-note{margin:8px 0 0;color:#849189;font-size:9px;line-height:1.55}.scheduler-rules{display:grid;gap:9px;margin-top:13px}.scheduler-rules>div{display:flex;gap:10px;align-items:flex-start;border:1px solid #e3eae6;background:#fafcfb;border-radius:11px;padding:10px 11px}.scheduler-rules i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:#173b2e;color:#fff;font-size:9px;font-weight:950}.scheduler-rules p{margin:0}.scheduler-rules strong,.scheduler-rules span{display:block}.scheduler-rules strong{font-size:10px;color:#1b2b23}.scheduler-rules span{font-size:8px;color:#89958f;margin-top:3px;line-height:1.45}.scheduler-run-wrap{max-height:420px}.scheduler-dispatch{display:inline-flex;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:950;border:1px solid #dce6e1}.scheduler-dispatch.queued{background:#eaf8f1;color:#08704e;border-color:#cfecde}.scheduler-dispatch.skipped{background:#fff6e9;color:#995a10;border-color:#efd9b6}.scheduler-dispatch.error{background:#fff0f2;color:#ad2942;border-color:#f1d0d7}
.scheduler-create-card{width:min(820px,95vw)}.scheduler-create-form .form-grid select,.scheduler-create-form .form-grid textarea{width:100%;margin-top:7px;border:1px solid #d4dfda;border-radius:11px;padding:11px 12px;background:#fbfcfc;color:#18251f;outline:none;transition:border-color .16s,box-shadow .16s,background .16s;font:inherit;font-size:11px}.scheduler-create-form .form-grid select{height:42px}.scheduler-create-form .form-grid textarea{resize:vertical;min-height:105px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.scheduler-create-form .form-grid select:focus,.scheduler-create-form .form-grid textarea:focus{border-color:#6ba98f;box-shadow:0 0 0 4px #e4f4ed;background:#fff}.scheduler-create-form label>span{display:block;font-size:10px;font-weight:900;color:#4d5e55}.scheduler-create-form label span em{font-style:normal;color:#98a39e;font-weight:600}.scheduler-check{display:flex;gap:10px;align-items:flex-start;margin-top:15px;padding:12px 13px;border:1px solid #dbe7e1;background:#f7fbf9;border-radius:12px;cursor:pointer}.scheduler-check input{margin-top:3px;accent-color:#12815c}.scheduler-check span strong,.scheduler-check span small{display:block}.scheduler-check span strong{font-size:10px}.scheduler-check span small{font-size:8px;color:#87948e;margin-top:3px;line-height:1.45}
@media(max-width:1450px){.scheduler-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.scheduler-toolbar{grid-template-columns:1fr auto}.scheduler-toolbar .job-status-filters{grid-column:1/-1;grid-row:2}.scheduler-bottom-grid{grid-template-columns:1fr}}
@media(max-width:820px){.page-actions{justify-content:flex-start}.scheduler-metrics{grid-template-columns:1fr 1fr}.scheduler-toolbar{grid-template-columns:1fr}.scheduler-toolbar .job-status-filters{grid-column:auto;grid-row:auto}.cron-command{grid-template-columns:1fr}.cron-command .table-btn{justify-self:flex-start}.scheduler-create-card .form-grid{grid-template-columns:1fr}.scheduler-create-card .form-grid label.full{grid-column:auto}}
@media(max-width:560px){.scheduler-metrics{grid-template-columns:1fr}}

/* VM7 0.1.12 · Event Bus */
.event-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.event-metric{background:#fff;border:1px solid #dce6e1;border-radius:17px;padding:17px 18px;box-shadow:0 8px 26px rgba(17,37,29,.04);position:relative;overflow:hidden}.event-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#6f8178;opacity:.3}.event-metric span{display:block;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#718078}.event-metric strong{display:block;font-size:27px;line-height:1.1;margin:8px 0 5px;color:#13221b}.event-metric small{display:block;font-size:9px;color:#94a099}.event-metric.success:before{background:#22b881;opacity:.95}.event-metric.warning:before{background:#f08a2f;opacity:.95}.event-metric.danger:before{background:#dd465d;opacity:.9}
.event-panel,.listener-panel,.event-rule-panel{padding:20px}.event-title-row{align-items:center}.event-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:12px;margin:12px 0 14px}.event-table-wrap{max-height:min(61vh,680px)}.event-table{min-width:1020px}.event-name{display:flex;flex-direction:column;gap:4px}.event-name strong{font-size:11px;color:#14231c}.event-name code{width:max-content;max-width:240px;overflow:hidden;text-overflow:ellipsis;font-size:8px;border:1px solid #e2eae6;background:#f4f7f5;color:#62726a;border-radius:6px;padding:3px 5px}.event-name small{font-size:8px;color:#8e9b95}.event-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;border:1px solid #dce6e1;background:#f5f8f6;color:#66766e;font-size:9px;font-weight:950;white-space:nowrap}.event-status i{width:7px;height:7px;border-radius:50%;background:#92a098}.event-status.processed{background:#eaf9f2;color:#06704d;border-color:#cceede}.event-status.processed i{background:#25c58b;box-shadow:0 0 0 4px rgba(37,197,139,.11)}.event-status.published{background:#eef5f2;color:#476158}.event-status.partial{background:#fff6e9;color:#995a10;border-color:#efd9b6}.event-status.partial i{background:#ee8a32}.event-status.failed{background:#fff0f2;color:#ad2942;border-color:#f1d0d7}.event-status.failed i{background:#df425b}.event-error{display:block;color:#b72f47;margin-top:5px;font-size:8px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-delivery-count strong,.event-delivery-count span{display:block}.event-delivery-count strong{font-size:11px;color:#21352b}.event-delivery-count span{font-size:8px;color:#8a9790;margin-top:3px}
.listener-panel{margin-top:18px}.listener-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:14px}.listener-card{border:1px solid #dfe8e3;background:#fafcfb;border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:6px;min-width:0}.listener-card .listener-pattern{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;border:1px solid #cde6d9;background:#eaf8f1;color:#08704e;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:950}.listener-card strong{font-size:10px;color:#1a2b23;overflow:hidden;text-overflow:ellipsis}.listener-card small{font-size:8px;color:#8b9891}.event-rule-panel{margin-top:18px}.event-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:13px 0}.event-detail-grid>div{border:1px solid #e0e8e4;background:#f8faf9;border-radius:11px;padding:10px;min-width:0}.event-detail-grid span,.event-detail-grid strong,.event-detail-grid code{display:block}.event-detail-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#89968f;font-weight:950}.event-detail-grid strong,.event-detail-grid code{margin-top:5px;font-size:9px;color:#23382e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-detail-grid code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:1450px){.event-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.event-toolbar{grid-template-columns:1fr auto}.event-toolbar .job-status-filters{grid-column:1/-1;grid-row:2}.listener-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.event-metrics{grid-template-columns:1fr 1fr}.event-toolbar{grid-template-columns:1fr}.event-toolbar .job-status-filters{grid-column:auto;grid-row:auto}.listener-grid{grid-template-columns:1fr}.event-detail-grid{grid-template-columns:1fr}}@media(max-width:560px){.event-metrics{grid-template-columns:1fr}}

/* VM7 0.1.16 · Core Test Runner */
body.test-modal-open{overflow:hidden}.test-runner-modal{background:rgba(8,17,14,.64);backdrop-filter:blur(10px)}.test-runner-card{width:min(760px,94vw);padding:0;overflow:hidden;border:1px solid rgba(137,165,151,.35);box-shadow:0 34px 110px rgba(4,18,12,.38);background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%)}.test-runner-head{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:22px 22px 18px;border-bottom:1px solid #e2eae6;background:linear-gradient(135deg,#f8fbf9 0%,#fff 55%,#fff7ee 100%)}.test-runner-copy h2{font-size:22px;margin:3px 0 4px;color:#14231c}.test-runner-copy p{margin:0;color:#7f8d86;font-size:11px}.test-runner-symbol{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#17392d;box-shadow:0 10px 24px rgba(17,70,49,.18);position:relative;overflow:hidden}.test-runner-symbol span{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#61e2ad;border-radius:50%}.test-runner-symbol.running span{animation:vm7-spin .8s linear infinite}.test-runner-symbol.success{background:linear-gradient(135deg,#0d6a4b,#1ca574)}.test-runner-symbol.success span{border:0;width:22px;height:14px;border-left:3px solid #fff;border-bottom:3px solid #fff;border-radius:0;transform:rotate(-45deg) translate(2px,-2px)}.test-runner-symbol.warning{background:linear-gradient(135deg,#bf6619,#f18b2f)}.test-runner-symbol.warning span{border:0;width:4px;height:24px;background:#fff;border-radius:5px;position:relative}.test-runner-symbol.warning span:after{content:"";position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;bottom:-8px;left:0}.test-runner-symbol.error{background:linear-gradient(135deg,#a8273e,#df465d)}.test-runner-symbol.error span{border:0;width:24px;height:24px;position:relative}.test-runner-symbol.error span:before,.test-runner-symbol.error span:after{content:"";position:absolute;left:11px;top:1px;width:3px;height:22px;background:#fff;border-radius:3px}.test-runner-symbol.error span:before{transform:rotate(45deg)}.test-runner-symbol.error span:after{transform:rotate(-45deg)}@keyframes vm7-spin{to{transform:rotate(360deg)}}
.test-runner-status{margin:18px 22px 0;padding:13px 14px;border-radius:13px;display:flex;gap:11px;align-items:flex-start;border:1px solid #dce6e1;background:#f6f9f7}.test-runner-status>i{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:0 0 9px;background:#8e9b95}.test-runner-status strong,.test-runner-status span{display:block}.test-runner-status strong{font-size:11px;color:#1b2b23}.test-runner-status span{font-size:9px;color:#7f8d86;margin-top:3px;line-height:1.45}.test-runner-status.running{background:#edf8f3;border-color:#d4eadf}.test-runner-status.running>i{background:#23c58b;box-shadow:0 0 0 5px rgba(35,197,139,.11);animation:vm7-pulse 1.1s infinite}.test-runner-status.success{background:#eaf9f2;border-color:#cceede}.test-runner-status.success>i{background:#21b981;box-shadow:0 0 0 5px rgba(33,185,129,.1)}.test-runner-status.warning{background:#fff7ea;border-color:#f2d9b4}.test-runner-status.warning>i{background:#ed8a31}.test-runner-status.error{background:#fff1f3;border-color:#f2cfd7}.test-runner-status.error>i{background:#dd425b}@keyframes vm7-pulse{50%{box-shadow:0 0 0 8px rgba(35,197,139,.03)}}
.test-runner-steps{list-style:none;margin:18px 22px 0;padding:0;display:grid;gap:9px}.test-runner-steps li{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;border:1px solid #e2e9e5;background:#fff;border-radius:12px;padding:11px 12px;transition:border-color .18s,background .18s,transform .18s}.test-step-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f1f4f2;border:1px solid #e0e7e3}.test-step-icon i{width:8px;height:8px;border-radius:50%;background:#a6b1ab}.test-runner-steps strong,.test-runner-steps small{display:block}.test-runner-steps strong{font-size:10px;color:#22352b}.test-runner-steps small{font-size:8px;color:#98a39e;margin-top:2px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.test-runner-steps li.running{border-color:#bfe5d4;background:#f4fbf7;transform:translateX(2px)}.test-runner-steps li.running .test-step-icon{background:#e8f8f0;border-color:#ccebdd}.test-runner-steps li.running .test-step-icon i{background:#20bd83;box-shadow:0 0 0 5px rgba(32,189,131,.1);animation:vm7-pulse 1s infinite}.test-runner-steps li.success{border-color:#d8ebe2;background:#fbfdfc}.test-runner-steps li.success .test-step-icon{background:#eaf8f1;border-color:#cfeadb}.test-runner-steps li.success .test-step-icon i{width:11px;height:6px;border-radius:0;background:transparent;border-left:2px solid #169568;border-bottom:2px solid #169568;transform:rotate(-45deg) translate(1px,-1px)}.test-runner-steps li.warning{border-color:#efd9b7;background:#fffaf2}.test-runner-steps li.warning .test-step-icon{background:#fff1dc;border-color:#efd5aa}.test-runner-steps li.warning .test-step-icon i{background:#ed8a31}.test-runner-steps li.error{border-color:#f0cbd4;background:#fff6f7}.test-runner-steps li.error .test-step-icon{background:#ffe8ec;border-color:#f1cad2}.test-runner-steps li.error .test-step-icon i{background:#d94159}
.test-runner-tech{margin:15px 22px 0;border:1px solid #dfe7e3;border-radius:12px;background:#f8faf9;overflow:hidden}.test-runner-tech summary{cursor:pointer;padding:11px 13px;font-size:9px;font-weight:900;color:#506159;user-select:none}.test-runner-tech summary:hover{color:#164c39;background:#f2f7f4}.test-runner-tech pre{margin:0;padding:13px;border-top:1px solid #e1e8e4;background:#13221b;color:#dff5e9;max-height:220px;overflow:auto;font:9px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.test-runner-actions{display:flex;align-items:center;gap:9px;margin-top:18px;padding:16px 22px 20px;border-top:1px solid #e4ebe7}.test-runner-note{margin-right:auto;color:#89968f;font-size:9px}.test-runner-actions .btn{min-width:118px}.test-runner-actions .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important}.metric-pulse{animation:vm7-metric-pop .8s ease}@keyframes vm7-metric-pop{0%{transform:scale(1)}35%{transform:scale(1.13);color:#0b875e}100%{transform:scale(1)}}
@media(max-width:680px){.test-runner-head{grid-template-columns:auto 1fr}.test-runner-close{grid-column:3;grid-row:1}.test-runner-symbol{width:44px;height:44px;border-radius:13px}.test-runner-copy h2{font-size:18px}.test-runner-actions{flex-wrap:wrap}.test-runner-note{width:100%;margin-right:0}.test-runner-actions .btn{flex:1}}

/* VM7 v0.1.17 · Data Engine Foundation */
.engine-test-action{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.engine-space-select{display:flex;flex-direction:column;gap:5px;min-width:190px}.engine-space-select span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted,#738178);text-transform:uppercase}.engine-space-select select{min-height:44px;border:1px solid #d6e2dc;border-radius:12px;background:#fff;padding:0 38px 0 12px;color:#132019;font-weight:700;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.engine-space-select select:hover{border-color:#a9c9b9}.engine-space-select select:focus{border-color:#2bbd7e;box-shadow:0 0 0 4px rgba(43,189,126,.12)}
.data-engine-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.engine-flow-card{overflow:hidden}.engine-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;position:relative;margin-top:22px}.engine-flow-step{position:relative;padding:18px 16px;border:1px solid #dce7e1;border-radius:16px;background:linear-gradient(145deg,#fff,#f7faf8);min-height:120px;display:flex;flex-direction:column;justify-content:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.engine-flow-step:hover{transform:translateY(-2px);border-color:#9bc5b1;box-shadow:0 12px 28px rgba(18,60,46,.08)}.engine-flow-step>span{position:absolute;top:12px;right:12px;font-size:11px;font-weight:900;color:#26b477;background:#eaf8f1;border:1px solid #ccebdc;border-radius:999px;padding:4px 7px}.engine-flow-step strong{font-size:14px;letter-spacing:.07em;color:#14211b}.engine-flow-step small{margin-top:7px;color:#78877e}.engine-flow-step:not(:last-child)::after{content:'›';position:absolute;right:-12px;top:50%;transform:translate(50%,-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#173d31;color:#fff;font-weight:900;z-index:2}.engine-contract-note{margin-top:18px;padding:14px 16px;border-radius:14px;background:linear-gradient(90deg,rgba(18,60,46,.06),rgba(237,128,35,.06));border:1px solid #dce6df;color:#526159;line-height:1.55}.engine-contract-note b{color:#173d31}.contract-grid{display:flex;flex-wrap:wrap;gap:9px}.contract-grid code{padding:8px 10px;border-radius:9px;background:#f1f6f3;border:1px solid #d9e6df;color:#1a4b3b;font-size:12px;font-weight:800}.data-engine-table td strong+small{display:block;margin-top:4px;color:#87938c}.soft-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eef7f2;border:1px solid #d4e9de;color:#2b6f56;font-size:11px;font-weight:900;letter-spacing:.05em}.alert.warning{background:#fff7e9;border-color:#f4d7a6;color:#8a5416}
@media(max-width:1280px){.data-engine-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-flow-step:nth-child(3)::after{display:none}}
@media(max-width:820px){.data-engine-metrics{grid-template-columns:1fr 1fr}.engine-flow{grid-template-columns:1fr 1fr}.engine-flow-step:nth-child(2)::after,.engine-flow-step:nth-child(4)::after{display:none}.engine-test-action{justify-content:flex-start}.engine-space-select{min-width:100%;width:100%}}
@media(max-width:560px){.data-engine-metrics,.engine-flow{grid-template-columns:1fr}.engine-flow-step::after{display:none!important}}

/* VM7 v0.1.18 — Snapshot / Change History */
.engine-test-stack{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.engine-test-stack form{margin:0}.engine-test-stack .engine-test-action{justify-content:flex-end}.snapshot-btn{background:linear-gradient(135deg,#122f27,#1d5a45)!important;color:#fff!important;border-color:#1f6f52!important;box-shadow:0 10px 24px rgba(18,47,39,.16)}.snapshot-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(18,47,39,.22)}.snapshot-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.snapshot-policy-grid>div{padding:15px;border:1px solid #dce7e1;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbf9);display:grid;gap:6px}.snapshot-policy-grid b{font-size:12px;color:#173d31}.snapshot-policy-grid span{font-size:11px;color:#7c8982;line-height:1.5}.snapshot-policy-grid i{font-style:normal;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#edf8f2;color:#16a56b;font-weight:950}.history-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#f3f7f5;border:1px solid #dde7e1;font-size:10px;font-weight:900;color:#486158}.history-pill.orange{background:#fff5e9;border-color:#f6d8b6;color:#a65a16}.history-pill.green{background:#ebf8f1;border-color:#ccebdc;color:#167a50}.data-engine-v2-note{margin-top:14px;padding:12px 14px;border-left:3px solid #ed8023;border-radius:10px;background:#fff9f3;color:#6b5949;line-height:1.55;font-size:12px}
@media(max-width:1100px){.snapshot-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.engine-test-stack{justify-content:flex-start}}
@media(max-width:620px){.snapshot-policy-grid{grid-template-columns:1fr}.engine-test-stack,.engine-test-stack form,.engine-test-stack .engine-test-action{width:100%}.engine-test-stack .engine-test-action{justify-content:flex-start}.engine-test-stack .btn{width:100%}}

/* VM7 v0.1.19 — Data Engine Benchmark */
.benchmark-action{padding:10px 12px;border:1px solid #d9e7df;border-radius:15px;background:linear-gradient(135deg,rgba(18,60,46,.045),rgba(236,128,35,.055))}.benchmark-profile{min-width:165px}.benchmark-btn{background:linear-gradient(135deg,#ec7f22,#f29a45)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 11px 26px rgba(231,120,28,.20)}.benchmark-btn:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(231,120,28,.26)}
.benchmark-card{overflow:hidden}.benchmark-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.benchmark-metric-grid>div{padding:15px 16px;border:1px solid #dce7e1;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbf9);position:relative;overflow:hidden}.benchmark-metric-grid>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#20b77d}.benchmark-metric-grid>div:nth-child(2):before,.benchmark-metric-grid>div:nth-child(3):before{background:#ed8125}.benchmark-metric-grid>div:nth-child(4):before{background:#d94657}.benchmark-metric-grid span,.benchmark-metric-grid strong,.benchmark-metric-grid small{display:block}.benchmark-metric-grid span{font-size:9px;font-weight:950;letter-spacing:.08em;color:#718078}.benchmark-metric-grid strong{font-size:24px;margin:7px 0 4px;color:#17251e}.benchmark-metric-grid small{font-size:9px;color:#8c9992}.benchmark-stage-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;padding:12px;border:1px solid #e0e8e4;border-radius:14px;background:#f8faf9;margin-bottom:16px}.benchmark-stage-strip span{display:flex;align-items:center;gap:6px;min-width:0;font-size:9px;font-weight:850;color:#586a61;white-space:nowrap}.benchmark-stage-strip i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:#153d30;color:#fff;font-size:8px;font-weight:950}.benchmark-stage-strip span:nth-child(6) i,.benchmark-stage-strip span:nth-child(7) i{background:#e47b23}.benchmark-toolbar{margin-top:8px}.benchmark-table{min-width:1420px}.benchmark-table td,.benchmark-table th{white-space:nowrap}.benchmark-table td strong{font-size:11px}.benchmark-table td small{display:block;margin-top:3px;color:#8b9992;font-size:9px}
@media(max-width:1320px){.benchmark-stage-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.benchmark-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.benchmark-metric-grid{grid-template-columns:1fr}.benchmark-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.benchmark-action{width:100%}.benchmark-profile{min-width:100%}}

/* VM7 v0.1.21 · Observability / Storage / Audit */
.observability-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.observability-panel{padding:20px;overflow:hidden}.tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid #e1e9e5;padding-bottom:12px}.tabbar a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid #d6e1dc;border-radius:10px;background:#f7faf8;color:#5a6b62;font-size:11px;font-weight:900;text-decoration:none;transition:.16s}.tabbar a:hover{border-color:#97b9aa;color:#0e694b;background:#f0f8f4}.tabbar a.active{background:#143a2e;color:#fff;border-color:#143a2e;box-shadow:0 8px 18px rgba(17,58,45,.12)}.observability-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) 150px 105px auto;gap:10px;align-items:center;margin-bottom:14px}.observability-toolbar .smart-search{min-width:0;width:100%}.observability-toolbar select{height:42px;border:1px solid #d4dfda;background:#fff;border-radius:11px;padding:0 10px;color:#405149;font-weight:750;outline:0}.observability-toolbar select:focus{border-color:#7eb7a0;box-shadow:0 0 0 3px #e6f4ed}.smart-search>b{font-size:8px;color:#0c7d56;background:#e7f8f0;border:1px solid #c8ebdc;border-radius:6px;padding:3px 6px;letter-spacing:.06em}.observability-table-wrap{max-height:min(62vh,680px)}.observability-table{min-width:1180px}.observability-table th{position:sticky;top:0;z-index:2}.observability-table td{vertical-align:top}.observability-table details{margin-top:5px}.observability-table summary{cursor:pointer;color:#0b7552;font-size:9px;font-weight:900}.observability-table pre{max-width:520px;max-height:220px;overflow:auto;margin:7px 0 0;padding:9px;border:1px solid #dde6e1;border-radius:9px;background:#f6f9f7;color:#405149;font-size:9px;white-space:pre-wrap}.log-level{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:950;letter-spacing:.06em;border:1px solid #dce5e0;background:#f3f6f4;color:#68776f}.log-level.info{background:#eaf8f2;color:#08704e;border-color:#cdebdc}.log-level.debug{background:#eef3f1;color:#52665d}.log-level.warning{background:#fff5e7;color:#9c5b0d;border-color:#f0d9b5}.log-level.error{background:#fff0f2;color:#b12643;border-color:#f0ced6}.log-level.critical{background:#5f1726;color:#fff;border-color:#5f1726}.block-muted{display:block;color:#8b9891;margin-top:3px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:#7a8981;font-size:10px}.pager>div{display:flex;gap:5px}.pager a,.pager b{min-width:31px;height:31px;display:grid;place-items:center;border-radius:8px;border:1px solid #d7e2dc;background:#fff;color:#234a3a;text-decoration:none}.pager b{background:#143a2e;color:#fff;border-color:#143a2e}.empty-cell{text-align:center!important;padding:34px!important;color:#8a9891}.storage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:3px 0 18px}.storage-grid>div,.retention-grid>div{padding:16px;border:1px solid #dce7e1;border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbf9)}.storage-grid span,.storage-grid strong,.retention-grid span,.retention-grid strong{display:block}.storage-grid span,.retention-grid span{font-size:9px;color:#78877f;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.storage-grid strong{font-size:20px;margin-top:7px;color:#17382d}.retention-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.retention-grid strong{font-size:14px;margin-top:6px;color:#a75b17}.storage-paths{border-top:1px solid #e1e9e5;padding-top:15px}.storage-paths h3{font-size:15px;margin:0 0 10px}.storage-paths>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 3px;border-bottom:1px solid #eef2f0}.storage-paths code{font-size:10px;color:#345446}.health-dot{font-size:8px;font-weight:950;padding:5px 8px;border-radius:999px}.health-dot.ok{color:#08714f;background:#e9f8f1;border:1px solid #ccebdc}.health-dot.bad{color:#ae2944;background:#fff0f2;border:1px solid #f1d0d7}.btn.orange{background:linear-gradient(180deg,#f28a2c,#dc7019);color:#fff;border-color:#d66b17;box-shadow:0 9px 20px rgba(225,117,28,.18)}.btn.orange:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(225,117,28,.25)}
@media(max-width:1450px){.observability-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.storage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.retention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.observability-toolbar{grid-template-columns:1fr 140px 100px}.observability-toolbar .btn{grid-column:1/-1;justify-self:flex-start}}
@media(max-width:820px){.observability-metrics,.storage-grid,.retention-grid{grid-template-columns:1fr 1fr}.observability-toolbar{grid-template-columns:1fr}.observability-toolbar .btn{grid-column:auto;width:100%}}
@media(max-width:560px){.observability-metrics,.storage-grid,.retention-grid{grid-template-columns:1fr}}

/* VM7 0.1.22 Plugin System Foundation */
.plugin-foundation-grid{align-items:stretch}.head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.row-sub{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}.badge.unknown{background:#f2f4f1;color:#607068}.badge.healthy{background:#e7f8ef;color:#087653}.badge.warning{background:#fff1dd;color:#a5540a}.badge.error{background:#ffe9ed;color:#ba263f}.btn.danger-soft{background:#fff0ec;color:#b4492c;border:1px solid #f5c7bb}.btn.danger-soft:hover{background:#ffe3da;transform:translateY(-1px)}.compact-modal{max-width:620px}.compact-modal label{display:grid;gap:8px;margin-top:22px;font-weight:800}.compact-modal input{width:100%;border:1px solid var(--border);border-radius:13px;padding:13px 14px;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.btn.danger{background:#b93d32;color:#fff;border-color:#b93d32}.btn.danger:hover{background:#9f3028}.package-facts>div{min-width:0}.package-facts [data-package-permissions]{font-size:12px;word-break:break-word}.smart-toolbar{margin:0 0 14px}.smart-toolbar .smart-search{max-width:720px}
@media(max-width:900px){.plugin-foundation-grid{grid-template-columns:1fr}.row-actions{min-width:180px}}

/* VM7 v0.1.24 · Plugin Instance Foundation */
.instance-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.instance-foundation-grid{align-items:stretch}.instance-create-panel{overflow:hidden}.instance-create-form{display:grid;gap:16px}.instance-create-form .form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.instance-create-form label{display:grid;gap:7px}.instance-create-form label>span{font-size:10px;font-weight:950;color:#45584e}.instance-create-form label>small{font-size:9px;color:#87958e;line-height:1.45}.instance-create-form input,.instance-create-form select,.instance-create-form textarea,.instance-tools input,.instance-tools textarea{width:100%;border:1px solid #d5e1db;border-radius:12px;background:#fbfdfc;color:#19271f;padding:11px 12px;outline:0;transition:.16s}.instance-create-form select{height:43px}.instance-create-form textarea,.instance-tools textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.instance-create-form input:focus,.instance-create-form select:focus,.instance-create-form textarea:focus,.instance-tools input:focus,.instance-tools textarea:focus{border-color:#70ad93;background:#fff;box-shadow:0 0 0 4px #e6f5ee}.instance-table{min-width:1220px}.instance-uuid{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-actions{min-width:260px}.instance-tools{margin-top:10px;border-top:1px solid #edf1ef;padding-top:8px}.instance-tools>summary{cursor:pointer;color:#0e7553;font-size:9px;font-weight:950;list-style:none}.instance-tools>summary::-webkit-details-marker{display:none}.instance-tools>summary:before{content:'＋';margin-right:5px;color:#ef8427}.instance-tools[open]>summary:before{content:'−'}.instance-tool-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-top:10px;padding:12px;border:1px solid #dde7e2;border-radius:12px;background:#f8fbf9}.instance-tool-grid form{display:grid;gap:8px}.instance-tool-grid label{font-size:9px;font-weight:900;color:#5b6c63}.instance-remove-form{align-content:start;padding:10px;border:1px solid #f0d4cd;border-radius:10px;background:#fff8f6}.badge.neutral{background:#f2f5f3;color:#66756d;border-color:#e2e8e5}.instance-registry-panel{overflow:hidden}
@media(max-width:1320px){.instance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.instance-foundation-grid{grid-template-columns:1fr}.instance-create-form .form-grid-2,.instance-tool-grid{grid-template-columns:1fr}.instance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.instance-stat-grid{grid-template-columns:1fr}.instance-actions{min-width:0}.instance-create-form .btn{width:100%}}

/* VM7 0.1.25 · compact statistic cards + readable instance counters */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.stat-card{position:relative;min-width:0;padding:17px 18px 16px;border:1px solid #dce6e1;border-radius:15px;background:linear-gradient(145deg,#ffffff 0%,#f8fbf9 100%);box-shadow:0 10px 28px rgba(17,42,33,.055);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#93a69d}
.stat-card.success:before{background:#20b77d}.stat-card.warning:before{background:#ef8427}.stat-card.error:before{background:#dc455a}
.stat-card:hover{transform:translateY(-1px);border-color:#c5d7cf;box-shadow:0 15px 34px rgba(17,42,33,.075)}
.stat-card>span,.stat-card>strong,.stat-card>small{display:block;min-width:0}
.stat-card>span{font-size:9px;line-height:1.2;font-weight:950;letter-spacing:.085em;color:#738279;text-transform:uppercase;margin-bottom:8px}
.stat-card>strong{font-size:28px;line-height:1;font-weight:900;letter-spacing:-.045em;color:#14251e;margin:0 0 8px}
.stat-card>small{font-size:10px;line-height:1.4;color:#87958e;white-space:normal;overflow-wrap:anywhere}
.instance-stat-grid{grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px}
@media(max-width:1320px){.stat-grid,.instance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.stat-grid,.instance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stat-grid,.instance-stat-grid{grid-template-columns:1fr}}

/* ===== VM7 v0.1.26 · Stable list/table + pagination standard ===== */
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.main,.content{min-width:0;max-width:100%}
.panel{min-width:0;max-width:100%}
.job-panel{overflow:visible}
.job-table-wrap{width:100%;max-width:100%;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;border-radius:13px;overscroll-behavior-inline:contain;scrollbar-gutter:auto}
.job-table{min-width:1080px!important;table-layout:fixed}
.job-table th,.job-table td{overflow-wrap:anywhere;word-break:normal}
.job-table th:nth-child(1),.job-table td:nth-child(1){width:19%}
.job-table th:nth-child(2),.job-table td:nth-child(2){width:13%}
.job-table th:nth-child(3),.job-table td:nth-child(3){width:22%}
.job-table th:nth-child(4),.job-table td:nth-child(4){width:8%}
.job-table th:nth-child(5),.job-table td:nth-child(5){width:8%}
.job-table th:nth-child(6),.job-table td:nth-child(6){width:16%}
.job-table th:nth-child(7),.job-table td:nth-child(7){width:7%}
.job-table th:nth-child(8),.job-table td:nth-child(8){width:7%}
.job-source span,.instance-uuid{overflow-wrap:anywhere;word-break:break-word}
.job-table .td-action .dc-actions{justify-content:flex-start;flex-wrap:wrap}
.job-toolbar{min-width:0}

.vm7-pagination,.pagination{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:16px;padding:12px 2px 0;min-height:46px;border-top:1px solid #edf2ef
}
.vm7-pagination .pagination-summary,.pagination .pagination-summary{
  margin:0;color:#7c8b84;font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap
}
.pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.vm7-pagination button,.pagination button{
  display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #d7e2dc;
  border-radius:10px;background:#fff;color:#43574d;font:inherit;font-size:10px;font-weight:900;cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s
}
.vm7-pagination button:hover:not(:disabled),.pagination button:hover:not(:disabled){
  border-color:#8eb8a5;background:#f1f8f4;color:#0e6e4e;transform:translateY(-1px)
}
.vm7-pagination button.active,.pagination button.active{
  background:#12372a;border-color:#12372a;color:#fff;box-shadow:0 8px 18px rgba(18,55,42,.16)
}
.vm7-pagination button:disabled,.pagination button:disabled{opacity:.36;cursor:not-allowed;transform:none}
.pagination-ellipsis{display:inline-grid;place-items:center;min-width:24px;height:36px;color:#91a099;font-size:11px;font-weight:900}

@media(max-width:1180px){
  .job-toolbar{grid-template-columns:1fr}.job-status-filters{justify-content:flex-start}.page-size-label{justify-content:flex-start}
  .job-table{min-width:980px!important}
}
@media(max-width:680px){
  .vm7-pagination,.pagination{justify-content:center}.vm7-pagination .pagination-summary,.pagination .pagination-summary{width:100%;text-align:center}
  .pagination-controls{justify-content:center;width:100%}
}


/* ===== VM7 v0.1.27 · Fixed sidebar + pre-paint scroll restore ===== */
:root{--sidebar-w:286px}
.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{
  position:fixed!important;
  inset:0 auto 0 0;
  width:var(--sidebar-w);
  height:100dvh;
  min-height:100vh;
  overflow:hidden!important;
  overscroll-behavior:none;
}
.main{grid-column:2;min-width:0;max-width:100%}
.brand{flex:0 0 auto}
.sidebar .nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  scroll-behavior:auto;
  scrollbar-width:thin;
  scrollbar-color:#345247 transparent;
  padding-right:4px;
  margin-right:-4px;
}
.sidebar .nav::-webkit-scrollbar{width:5px}
.sidebar .nav::-webkit-scrollbar-track{background:transparent}
.sidebar .nav::-webkit-scrollbar-thumb{background:#345247;border-radius:999px}
.sidebar .nav::-webkit-scrollbar-thumb:hover{background:#477063}
.sidebar-foot{flex:0 0 auto;margin-top:14px;background:linear-gradient(180deg,rgba(17,25,23,0),rgba(17,25,23,.25))}

@media(max-width:1200px) and (min-width:981px){
  :root{--sidebar-w:266px}
  .app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
}
@media(max-width:980px){
  :root{--sidebar-w:286px}
  .app-shell{grid-template-columns:1fr}
  .main{grid-column:1}
  .sidebar{width:286px;left:-300px;right:auto;transition:left .2s ease}
  .sidebar.open{left:0}
}


/* ===== VM7 v0.1.28 · Live Job Telemetry + Core completion pass ===== */
@keyframes vm7LivePulse{0%,100%{opacity:.28;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}
@keyframes vm7FlowSweep{0%{transform:translateX(-105%);opacity:.2}50%{opacity:1}100%{transform:translateX(520%);opacity:.2}}
@keyframes vm7SoftGlow{0%,100%{box-shadow:0 0 0 0 rgba(50,140,255,.08)}50%{box-shadow:0 0 0 7px rgba(50,140,255,.07)}}

.metric.live-metric{position:relative}
.metric-live-dot{position:absolute;top:18px;right:18px;width:8px;height:8px;border-radius:50%;background:#b5c1bb}
.metric.live-metric.has-flow .metric-live-dot,.job-metric.is-live .metric-live-dot{background:#328cff;box-shadow:0 0 0 5px rgba(50,140,255,.10);animation:vm7LivePulse 1.35s ease-in-out infinite}
.job-metric>span{display:flex;align-items:center;gap:8px}
.job-metric .metric-live-dot{position:static;display:inline-block;width:7px;height:7px}

.flow-signal{display:inline-flex;align-items:center;gap:4px;min-width:38px}
.flow-signal i{display:block;width:6px;height:6px;border-radius:50%;background:#c5d0cb}
.flow-signal.running i{background:#328cff;box-shadow:0 0 8px rgba(50,140,255,.42);animation:vm7LivePulse 1.05s ease-in-out infinite}
.flow-signal.running i:nth-child(2){animation-delay:.18s}.flow-signal.running i:nth-child(3){animation-delay:.36s}

.job-flow-cell{display:grid;grid-template-columns:auto 1fr;gap:8px 9px;align-items:center;min-width:145px}
.job-flow-cell .job-progress-track{grid-column:1/-1;height:4px;border-radius:999px;background:#eaf0ed;overflow:hidden;position:relative}
.job-flow-cell .job-progress-track span{display:block;height:100%;border-radius:999px;background:#8ea49a;transition:width .35s ease}
.job-flow-cell.is-running .job-progress-track span{position:relative;background:linear-gradient(90deg,#236fd9,#43a7ff);min-width:12px}
.job-flow-cell.is-running .job-progress-track span:after{content:"";position:absolute;inset:0;width:20%;background:rgba(255,255,255,.55);filter:blur(2px);animation:vm7FlowSweep 1.6s linear infinite}
.job-flow-copy{min-width:0;display:grid;gap:2px}
.job-flow-copy strong{font-size:10px;color:#243a31;white-space:nowrap}
.job-flow-copy small{font-size:9px;line-height:1.35;color:#7f8f87;overflow-wrap:anywhere}
.job-status.running{background:#e9f3ff!important;color:#1764bd!important;border-color:#c7def9!important}
.job-status.running>i{background:#328cff!important;animation:vm7LivePulse 1.2s ease-in-out infinite}
.live-job-table{min-width:1250px!important}
.live-job-table th:nth-child(1),.live-job-table td:nth-child(1){width:16%}
.live-job-table th:nth-child(2),.live-job-table td:nth-child(2){width:10%}
.live-job-table th:nth-child(3),.live-job-table td:nth-child(3){width:17%}
.live-job-table th:nth-child(4),.live-job-table td:nth-child(4){width:17%}
.live-job-table th:nth-child(5),.live-job-table td:nth-child(5){width:7%}
.live-job-table th:nth-child(6),.live-job-table td:nth-child(6){width:7%}
.live-job-table th:nth-child(7),.live-job-table td:nth-child(7){width:12%}
.live-job-table th:nth-child(8),.live-job-table td:nth-child(8){width:7%}
.live-job-table th:nth-child(9),.live-job-table td:nth-child(9){width:7%}

.live-flow-panel{margin-bottom:18px;border-color:#d8e8e0;overflow:hidden}
.live-flow-panel .panel-head{margin-bottom:14px}
.live-eyebrow{display:inline-flex!important;align-items:center;gap:7px;color:#2874c7!important}
.live-eyebrow>i{width:7px;height:7px;border-radius:50%;background:#328cff;box-shadow:0 0 0 5px rgba(50,140,255,.1);animation:vm7LivePulse 1.25s ease-in-out infinite}
.live-eyebrow.telemetry-muted>i{background:#9ca9a3;animation:none;box-shadow:none}
.dashboard-flow-list{display:grid;gap:9px}
.dashboard-flow-item{display:grid;grid-template-columns:auto minmax(160px,1.5fr) minmax(150px,1fr) auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid #e1ebe6;border-radius:13px;background:linear-gradient(90deg,#fbfdfc,#f7fbff);min-width:0}
.dashboard-flow-main{display:grid;gap:3px;min-width:0}
.dashboard-flow-main strong{font-size:11px;color:#183128;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-flow-main span{font-size:9px;color:#778980;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-flow-progress{display:grid;gap:5px;min-width:0}
.dashboard-flow-progress>b{font-size:10px;color:#285e93;text-align:right}
.mini-progress{height:4px;border-radius:999px;background:#e4ecf1;overflow:hidden}
.mini-progress>span{display:block;height:100%;min-width:8px;border-radius:999px;background:linear-gradient(90deg,#236fd9,#43a7ff);transition:width .35s ease}
.dashboard-flow-item>small{font-size:9px;font-weight:850;color:#64756d}
.dashboard-space-list{display:grid;gap:8px;margin-top:6px}
.dashboard-space-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e6ece9;border-radius:12px;background:#fbfdfc}
.dashboard-space-row>div{display:grid;gap:2px;min-width:0}
.dashboard-space-row strong{font-size:10px;color:#22392f}.dashboard-space-row small{font-size:9px;color:#829088;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-space-row>b{font-size:9px;color:#617169}
.space-state-dot{width:8px;height:8px;border-radius:50%;background:#aab7b1}.space-state-dot.ready{background:#24b47e}.space-state-dot.active{background:#328cff}.space-state-dot.paused{background:#ef8427}.space-state-dot.error{background:#df4058}

.dc-clean-guide{margin-top:16px;border:1px solid #dce7e1;border-radius:14px;background:#fbfdfc;overflow:hidden}
.dc-clean-guide>summary{cursor:pointer;list-style:none;padding:13px 15px;font-size:10px;font-weight:900;color:#204438}
.dc-clean-guide>summary::-webkit-details-marker{display:none}.dc-clean-guide>summary:after{content:"＋";float:right;color:#ef8427}.dc-clean-guide[open]>summary:after{content:"−"}
.dc-clean-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.dc-clean-guide-grid>div{padding:12px;border:1px solid #e8eeeb;border-radius:11px;background:#fff}
.dc-clean-guide-grid strong{font-size:10px;color:#253b32}.dc-clean-guide-grid p{margin:5px 0 0;font-size:9px;line-height:1.55;color:#75847d}

@media(max-width:1050px){
  .dashboard-flow-item{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-flow-progress{grid-column:2/-1}.dashboard-flow-progress>b{text-align:left}
}
@media(max-width:720px){
  .dc-clean-guide-grid{grid-template-columns:1fr}.dashboard-flow-item{grid-template-columns:auto minmax(0,1fr)}.dashboard-flow-item>small{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  .flow-signal.running i,.job-status.running>i,.metric.live-metric.has-flow .metric-live-dot,.job-metric.is-live .metric-live-dot,.live-eyebrow>i,.job-flow-cell.is-running .job-progress-track span:after{animation:none!important}
}

/* VM7 v0.1.31 · Job pause / resume controls */
.job-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.job-metric.paused:before{background:#7b61c9;opacity:.82}
.job-status.paused{background:#f3efff;color:#6749b4;border-color:#ddd2fb}
.job-status.paused i{background:#7b61c9;box-shadow:0 0 0 4px rgba(123,97,201,.10)}
.table-btn.action-pause{background:#fff7e8!important;border-color:#efd4a6!important;color:#98600f!important}
.table-btn.action-pause:hover{background:#e98528!important;border-color:#e98528!important;color:#fff!important}
.table-btn.action-success{background:#ebf8f2!important;border-color:#cce9da!important;color:#17684a!important}
.table-btn.action-success:hover{background:#18825d!important;border-color:#18825d!important;color:#fff!important}
.job-next.paused-note{color:#7259ae}.job-next.control-note{color:#c06a18;font-weight:800}
.job-status.running.control-pause{background:#fff7e8!important;color:#9a5a0f!important;border-color:#f2d9ae!important}
.job-status.running.control-pause i{background:#ef963e!important}
.job-status.running.control-cancel{background:#fff0f2!important;color:#af2b42!important;border-color:#f2d2d8!important}
.job-status.running.control-cancel i{background:#df425b!important}
@media(max-width:1350px){.job-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.job-metrics{grid-template-columns:1fr 1fr}}

.update-version-stack{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.update-version-stack{justify-content:flex-start}}


/* VM7 Platform 5.0.1 · Plugin Instance görünür düzenleme */
.instance-edit-btn{white-space:nowrap}.instance-edit-modal-card{width:min(820px,96vw);max-height:92vh;overflow:auto}.instance-edit-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.instance-edit-facts>div{border:1px solid #e0e9e4;border-radius:13px;padding:12px;background:#f8fbf9;min-width:0}.instance-edit-facts span{display:block;font-size:9px;letter-spacing:.09em;font-weight:950;color:#8a9790}.instance-edit-facts strong{display:block;margin-top:5px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-edit-facts small{display:block;margin-top:4px;font-size:9px;color:#84938b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-adapter-summary{padding:13px;border:1px solid #dce9e2;border-radius:13px;background:#f6fbf8;margin-bottom:14px}.instance-summary-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.instance-summary-chips b{font-size:9px;padding:6px 8px;border-radius:999px;background:#e9f6ef;color:#225e47;border:1px solid #d5ebdf}.instance-edit-form label>span{font-size:11px;font-weight:900}.instance-edit-form textarea{width:100%;margin-top:8px;border:1px solid #d6e2dc;border-radius:13px;padding:13px 14px;background:#0e241c;color:#dff5ea;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;min-height:260px}.instance-edit-form textarea:focus{outline:none;border-color:#47a27e;box-shadow:0 0 0 4px rgba(71,162,126,.12)}.instance-edit-form textarea:disabled{opacity:.6;cursor:not-allowed}.instance-edit-form label small{display:block;margin-top:7px;color:#7f8f87;font-size:9px}.instance-edit-lock{margin:0 0 14px}.instance-edit-lock[hidden]{display:none!important}@media(max-width:850px){.instance-edit-facts{grid-template-columns:1fr 1fr}}

/* VM7 Platform 5.0.2 - discoverable Plugin Instance settings */
.instance-inline-edit{margin-top:9px;border:0;background:transparent;color:#0c7653;font-size:10px;font-weight:950;padding:0;cursor:pointer;letter-spacing:.01em}
.instance-inline-edit:hover{text-decoration:underline;color:#084f3a}
.instance-json-error{margin-top:-4px;padding:9px 11px;border:1px solid #f0c7cf;border-radius:10px;background:#fff1f3;color:#ad2941;font-size:10px;font-weight:850}
.instance-edit-form textarea:disabled{opacity:.65;cursor:not-allowed;background:#f1f4f2}

/* VM7 Platform 5.0.5 · Sistem Sağlığı / Bakım */
.health-section-tabs{display:flex;gap:8px;margin:-4px 0 16px}.health-section-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid var(--line,#dfe7e3);border-radius:12px;background:#fff;color:#65736e;font-weight:800;text-decoration:none}.health-section-tabs a.active{background:#123f32;color:#fff;border-color:#123f32}.health-maintenance-callout{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:16px;padding:22px 24px}.health-maintenance-callout h2{margin:4px 0 5px}.health-maintenance-callout p{margin:0;color:#75817d}.maintenance-recommendations{padding:22px 24px}.maintenance-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.maintenance-section-head h2{margin:4px 0 5px}.maintenance-section-head p{margin:0;color:#75817d}.maintenance-scan-time{font-size:12px;color:#84918c;white-space:nowrap}.maintenance-reco-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.maintenance-reco{display:flex;align-items:flex-start;gap:11px;border:1px solid #e1e8e5;border-radius:14px;padding:13px 14px;background:#fbfcfc}.maintenance-reco-dot{width:9px;height:9px;border-radius:50%;background:#2dbb8a;margin-top:6px;flex:0 0 auto}.maintenance-reco.warning .maintenance-reco-dot{background:#e7a235}.maintenance-reco strong{display:block;font-size:13px}.maintenance-reco p{margin:3px 0 0;color:#77837f;font-size:12px;line-height:1.45}.maintenance-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.maintenance-metric{background:#fff;border:1px solid #e1e8e5;border-radius:15px;padding:14px 15px;min-width:0}.maintenance-metric>span{display:block;color:#8a9692;font-size:10px;font-weight:900;letter-spacing:.08em}.maintenance-metric strong{display:block;font-size:22px;color:#1b2b26;margin:4px 0 2px}.maintenance-metric small{display:block;color:#88938f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.maintenance-card{padding:20px 21px;display:flex;flex-direction:column;min-height:255px}.maintenance-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.maintenance-card-icon{display:flex;width:38px;height:38px;border-radius:12px;align-items:center;justify-content:center;background:#e9f6f1;color:#16845e;font-weight:900;font-size:19px}.maintenance-card.warning .maintenance-card-icon{background:#fff3df;color:#c87a13}.maintenance-card.info .maintenance-card-icon{background:#eef3f1;color:#5c6d67}.maintenance-level{font-size:10px;font-weight:900;letter-spacing:.09em;color:#7c8a85}.maintenance-card h3{font-size:17px;margin:14px 0 7px}.maintenance-card p{margin:0;color:#76827e;font-size:13px;line-height:1.55}.maintenance-card form,.maintenance-card>a.btn{margin-top:auto;align-self:flex-start}.maintenance-card-meta{display:flex;justify-content:space-between;gap:14px;color:#87928e;font-size:11px;border-top:1px solid #eef2f0;margin-top:15px;padding-top:12px}.maintenance-card form{padding-top:14px}.maintenance-details{margin-top:14px;padding:22px 24px}.maintenance-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.maintenance-detail-grid>div{border:1px solid #e6ece9;border-radius:12px;padding:12px 14px;background:#fbfcfc}.maintenance-detail-grid strong{display:block;font-size:11px;color:#6e7b76;margin-bottom:4px}.maintenance-detail-grid span{font-size:12px;color:#263832}.maintenance-state.ok,.maintenance-plugin-row .ok{color:#19855f}.maintenance-state.warning,.maintenance-plugin-row .warning{color:#b36d10}.maintenance-plugin-table{margin-top:16px;border:1px solid #e4eae7;border-radius:14px;overflow:hidden}.maintenance-plugin-row{display:grid;grid-template-columns:2fr .8fr .8fr 1.3fr;gap:12px;padding:11px 14px;border-top:1px solid #edf1ef;font-size:12px;align-items:center}.maintenance-plugin-row.head{border-top:0;background:#f7f9f8;color:#7c8984;font-size:10px;font-weight:900;letter-spacing:.06em}.maintenance-plugin-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.maintenance-card .btn{min-width:150px}@media(max-width:1200px){.maintenance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.maintenance-grid,.maintenance-reco-grid,.maintenance-detail-grid{grid-template-columns:1fr}.maintenance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-section-head,.health-maintenance-callout{flex-direction:column;align-items:flex-start}.maintenance-plugin-row{grid-template-columns:1.5fr .8fr .8fr 1fr}}@media(max-width:520px){.maintenance-metrics{grid-template-columns:1fr 1fr}.health-section-tabs a{flex:1}.maintenance-plugin-row{grid-template-columns:1fr 1fr}.maintenance-plugin-row span:nth-child(4){grid-column:1/-1}}


/* VM7 5.0.6 — Akıllı Pano */
.dashv2{display:flex;flex-direction:column;gap:18px}.dashv2 *{box-sizing:border-box}
.dashv2-hero{position:relative;overflow:hidden;border:1px solid #dce8e3;border-radius:22px;padding:24px 26px;background:linear-gradient(135deg,#103f35,#1b5748);color:#fff;box-shadow:0 18px 44px rgba(16,63,53,.12)}
.dashv2-hero:after{content:"";position:absolute;right:-70px;top:-100px;width:300px;height:300px;border:44px solid rgba(255,255,255,.035);border-radius:50%}.dashv2-hero-inner{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:center}.dashv2-eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em;color:#bde7d7}.dashv2-hero h1{margin:5px 0 6px;font-size:32px;letter-spacing:-.03em}.dashv2-hero p{margin:0;max-width:740px;color:#d9ebe5}.dashv2-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.dashv2-hero-actions a{white-space:nowrap;text-decoration:none;border:1px solid rgba(255,255,255,.2);border-radius:11px;padding:9px 12px;color:#e9f4f0;font-size:12px;font-weight:850;background:rgba(255,255,255,.06)}.dashv2-hero-actions a.primary{background:#fff;color:#153f35}
.dashv2-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.dashv2-kpi{background:#fff;border:1px solid #dfe9e5;border-radius:17px;padding:16px 17px;box-shadow:0 9px 28px rgba(24,61,51,.05)}.dashv2-kpi span{font-size:11px;color:#7b8b85;font-weight:750}.dashv2-kpi strong{display:block;font-size:27px;line-height:1.1;margin-top:7px;color:#10241f}.dashv2-kpi small{display:block;margin-top:6px;color:#87958f;font-size:10px}.dashv2-kpi small.good{color:#14835f;font-weight:800}.dashv2-kpi small.warn{color:#c67517;font-weight:800}.dashv2-kpi small.bad{color:#bc4c4c;font-weight:800}
.dashv2-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.dashv2-grid.equal{grid-template-columns:1fr 1fr}.dashv2-panel{background:#fff;border:1px solid #dfe9e5;border-radius:19px;padding:18px;box-shadow:0 10px 30px rgba(24,61,51,.05);min-width:0}.dashv2-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.dashv2-panel-head h2{font-size:18px;margin:0 0 3px;color:#10241f}.dashv2-panel-head p{font-size:11px;color:#81908a;margin:0}.dashv2-panel-head a{font-size:11px;font-weight:850;color:#17644f;text-decoration:none;white-space:nowrap}.dashv2-badge{font-size:9px;font-weight:900;letter-spacing:.05em;color:#126d50;background:#edf7f3;border-radius:999px;padding:6px 8px;white-space:nowrap}
.dashv2-flow-chart{height:160px;border-radius:14px;background:linear-gradient(180deg,#f8fbfa,#fff);border:1px solid #edf2f0;padding:10px;overflow:hidden}.dashv2-flow-chart svg{width:100%;height:100%}.dashv2-chart-grid{stroke:#e7efec;stroke-width:1}.dashv2-chart-area{fill:rgba(35,145,106,.10)}.dashv2-chart-line{fill:none;stroke:#168461;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dashv2-chart-dot{fill:#168461}.dashv2-chart-fail{fill:#d06b52}.dashv2-axis{display:flex;justify-content:space-between;margin-top:7px;color:#91a09a;font-size:9px}.dashv2-flow-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.dashv2-mini{background:#f7faf9;border-radius:11px;padding:9px}.dashv2-mini span{font-size:9px;color:#81908a;display:block}.dashv2-mini b{font-size:15px;display:block;margin-top:3px}
.dashv2-maint{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center}.dashv2-health-ring{width:132px;height:132px;border-radius:50%;position:relative;margin:auto;background:conic-gradient(#14976d var(--health),#eaf0ed 0)}.dashv2-health-ring:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff;border:1px solid #eef2f0}.dashv2-health-center{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.dashv2-health-center strong{font-size:28px}.dashv2-health-center small{font-size:9px;color:#84928d}.dashv2-health-list{display:flex;flex-direction:column;gap:9px}.dashv2-health-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:11px;padding-bottom:8px;border-bottom:1px solid #edf2f0}.dashv2-health-row:last-child{border:0;padding-bottom:0}.dashv2-health-dot{width:8px;height:8px;border-radius:50%;background:#1b9c72}.dashv2-health-dot.warn{background:#d28a25}.dashv2-health-dot.bad{background:#c95454}.dashv2-health-row b{font-size:11px}
.dashv2-rival{min-height:245px}.dashv2-rival-loading{display:grid;place-content:center;min-height:190px;color:#83928c;font-size:11px}.dashv2-rival-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.dashv2-rival-kpi{background:#f7faf9;border-radius:11px;padding:9px}.dashv2-rival-kpi span{display:block;font-size:9px;color:#81908a}.dashv2-rival-kpi b{display:block;font-size:15px;margin-top:3px}.dashv2-rival-bars{display:flex;flex-direction:column;gap:10px}.dashv2-rival-bar{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:9px;align-items:center}.dashv2-rival-name{font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashv2-rival-track{height:9px;background:#edf2f0;border-radius:99px;overflow:hidden}.dashv2-rival-fill{height:100%;border-radius:99px}.dashv2-rival-bar b{font-size:10px}.dashv2-rival-hero{margin-top:12px;border-top:1px solid #edf2f0;padding-top:11px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.dashv2-rival-hero i{font-style:normal;width:30px;height:30px;border-radius:9px;background:#edf7f3;display:grid;place-items:center}.dashv2-rival-hero strong{font-size:11px}.dashv2-rival-hero small{font-size:9px;color:#85938e;display:block;margin-top:2px}.dashv2-rival-hero b{color:#13946a;font-size:12px}
.dashv2-live-list{display:flex;flex-direction:column;gap:9px}.dashv2-live{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e6eeeb;border-radius:12px}.dashv2-live-dot{width:8px;height:8px;border-radius:50%;background:#24a479;box-shadow:0 0 0 4px rgba(36,164,121,.1)}.dashv2-live strong{font-size:11px}.dashv2-live small{display:block;font-size:9px;color:#85938e;margin-top:2px}.dashv2-live b{font-size:10px;color:#55706a}.dashv2-empty{padding:24px;text-align:center;color:#83918c;font-size:11px}
.dashv2-notify-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:11px}.dashv2-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.dashv2-filter{border:1px solid #dde8e4;background:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;color:#60716b;cursor:pointer}.dashv2-filter.active{background:#17483d;color:#fff;border-color:#17483d}.dashv2-notify-settings{position:relative}.dashv2-settings-btn{border:1px solid #dde8e4;background:#fff;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:850;cursor:pointer}.dashv2-settings-pop{display:none;position:absolute;right:0;top:38px;width:220px;background:#fff;border:1px solid #dce7e3;border-radius:13px;padding:12px;box-shadow:0 18px 40px rgba(14,50,42,.15);z-index:20}.dashv2-settings-pop.open{display:block}.dashv2-settings-pop strong{display:block;font-size:11px;margin-bottom:8px}.dashv2-settings-pop label{display:flex;align-items:center;gap:7px;font-size:10px;padding:5px 0}.dashv2-notifications{display:flex;flex-direction:column;max-height:300px;overflow:auto}.dashv2-note{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:flex-start;padding:10px 2px;border-bottom:1px solid #edf2f0}.dashv2-note:last-child{border-bottom:0}.dashv2-note-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef7f3;font-size:13px}.dashv2-note[data-type="error"] .dashv2-note-icon{background:#fff0ee}.dashv2-note[data-type="warning"] .dashv2-note-icon{background:#fff7e8}.dashv2-note-title{font-size:11px;font-weight:850}.dashv2-note-msg{font-size:9px;color:#83918d;margin-top:2px;line-height:1.35}.dashv2-note time{font-size:9px;color:#98a49f;white-space:nowrap}.dashv2-note.hidden{display:none}
.dashv2-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.dashv2-quick a{text-decoration:none;color:inherit;border:1px solid #e1eae7;border-radius:13px;padding:12px;background:#fff;transition:.15s}.dashv2-quick a:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(20,62,51,.07)}.dashv2-quick strong{display:block;font-size:11px}.dashv2-quick small{display:block;font-size:9px;color:#85938e;margin-top:4px}
@media(max-width:1200px){.dashv2-kpis{grid-template-columns:repeat(2,1fr)}.dashv2-grid,.dashv2-grid.equal{grid-template-columns:1fr}.dashv2-quick{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dashv2-hero-inner{flex-direction:column;align-items:flex-start}.dashv2-kpis{grid-template-columns:1fr 1fr}.dashv2-maint{grid-template-columns:1fr}.dashv2-flow-stats{grid-template-columns:1fr 1fr}.dashv2-rival-kpis{grid-template-columns:1fr}.dashv2-quick{grid-template-columns:1fr}.dashv2-rival-bar{grid-template-columns:95px 1fr auto}}

/* ===== VM7 Platform 5.0.10 · Compact operational sidebar ===== */
@media(min-width:981px){
  :root{--sidebar-w:260px}
  .app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
  .sidebar{width:var(--sidebar-w);padding:16px 13px 14px}
  .brand{gap:11px;padding:0 8px 13px;min-height:50px}
  .brand-mark{width:42px;height:42px;border-radius:13px;font-size:17px}
  .brand strong{font-size:18px}.brand span{font-size:10px;margin-top:4px}
  .brand-custom{height:44px;max-width:198px}.brand-custom img{max-height:44px}
  .sidebar .nav{padding-right:3px;margin-right:-3px}
  .nav{gap:2px}
  .nav>a{min-height:41px;border-radius:11px;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:0 10px}
  .nav-icon{font-size:16px}
  .nav>a b{font-size:14px;line-height:1.15;font-weight:760}
  .nav-label{font-size:9px;letter-spacing:.145em;margin:14px 10px 4px}
  .nav-label.nav-label-first{margin-top:2px}
  .nav-sub{min-height:36px!important;margin-left:9px;padding-left:9px!important}
  .nav-sub b{font-size:13px!important}
  .nav-sub .nav-icon{font-size:7px}
  .sidebar-foot{margin-top:9px;padding:11px 7px 0}
  .avatar{width:35px;height:35px}.user{gap:9px}.user strong{font-size:12px}.user small{font-size:9px}.icon-btn{width:34px;height:34px}
}
@media(max-width:1200px) and (min-width:981px){
  :root{--sidebar-w:250px}
  .app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
  .sidebar{width:var(--sidebar-w)}
}

/* VM7 5.0.13 — topbar notification center */
.top-actions{position:relative;gap:14px}
.system-status{display:flex;align-items:center;gap:8px;white-space:nowrap}
.notification-center{position:relative;display:flex;align-items:center}
.notification-bell{position:relative;width:42px;height:42px;border:1px solid #d9e4df;border-radius:12px;background:#fff;color:#56665f;display:grid;place-items:center;cursor:pointer;transition:.18s ease;box-shadow:0 4px 14px rgba(16,50,38,.05)}
.notification-bell:hover,.notification-center.open .notification-bell{border-color:#9bc9b7;color:#0e7657;background:#f7fbf9}
.notification-bell.has-alert{color:#0f7558;border-color:#a9d6c5}
.notification-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e53d58;color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 3px 8px rgba(229,61,88,.24)}
.notification-popover{position:absolute;right:0;top:52px;width:min(390px,calc(100vw - 28px));background:#fff;border:1px solid #dce7e2;border-radius:16px;box-shadow:0 20px 50px rgba(23,49,40,.16);overflow:hidden;z-index:120;color:#1d2b26}
.notification-popover[hidden]{display:none!important}
.notification-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 17px 13px;border-bottom:1px solid #edf2f0;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.notification-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}.notification-head strong{font-size:14px}.notification-head span{font-size:11px;color:#7a8982}
.notification-read-all{border:0;background:transparent;color:#177657;font-size:11px;font-weight:750;cursor:pointer;padding:3px 0;white-space:nowrap}
.notification-list{max-height:430px;overflow:auto;overscroll-behavior:contain}
.notification-item{width:100%;border:0;border-bottom:1px solid #eef3f1;background:#fff;text-align:left;display:grid;grid-template-columns:10px 1fr 8px;gap:11px;align-items:flex-start;padding:14px 16px;cursor:pointer;color:inherit;transition:background .15s ease}
.notification-item:hover{background:#f8fbfa}.notification-item.is-unread{background:#fbfefd}
.notification-level-dot{width:9px;height:9px;border-radius:50%;margin-top:7px;background:#99aaa3;box-shadow:0 0 0 4px #eef3f1}
.notification-item.level-critical .notification-level-dot{background:#df4059;box-shadow:0 0 0 4px #fdecef}
.notification-item.level-warning .notification-level-dot{background:#e8a23b;box-shadow:0 0 0 4px #fff3df}
.notification-item.level-info .notification-level-dot{background:#3b83df;box-shadow:0 0 0 4px #eaf2fd}
.notification-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.notification-copy .notification-meta{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#92a099}.notification-copy strong{font-size:12.5px;line-height:1.35;color:#21312b}.notification-copy small{font-size:11px;line-height:1.45;color:#6f7f78;font-weight:500}
.notification-new-dot{width:7px;height:7px;border-radius:50%;background:#19b77d;margin-top:8px}
.notification-empty{min-height:126px;padding:26px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:#718078}.notification-empty>span{width:30px;height:30px;border-radius:10px;background:#e8f7f1;color:#15966d;display:grid;place-items:center;font-weight:800;margin-bottom:3px}.notification-empty strong{font-size:12px;color:#31413b}.notification-empty small{font-size:11px}
.notification-foot{padding:10px 16px;background:#fbfdfc;border-top:1px solid #edf2f0;text-align:right}.notification-foot a{font-size:11px;font-weight:750;color:#176f55;text-decoration:none}
@media(max-width:680px){.top-actions{gap:9px}.system-status>span:last-child{display:none}.notification-bell{width:38px;height:38px;border-radius:11px}.notification-popover{position:fixed;right:10px;left:10px;top:64px;width:auto;max-height:calc(100vh - 82px)}.notification-list{max-height:calc(100vh - 210px)}}

/* VM7 5.0.15 — Maintenance controlled job intervention */
.maintenance-intervention{margin:18px 0;padding:22px;border:1px solid #dde8e4;border-radius:18px;background:#fff}
.maintenance-intervention-list{display:flex;flex-direction:column;border:1px solid #e3ece8;border-radius:15px;overflow:hidden}
.maintenance-intervention-row{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(330px,1fr) auto;gap:18px;align-items:center;padding:16px 17px;border-bottom:1px solid #e8efec;background:#fff}
.maintenance-intervention-row:last-child{border-bottom:0}
.maintenance-intervention-main{min-width:0}.maintenance-intervention-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.maintenance-intervention-title strong{font-size:14px}.maintenance-intervention-title span{font-size:10px;color:#7e8d87;background:#f1f5f3;border-radius:7px;padding:3px 6px}.maintenance-intervention-sub{font-size:11px;color:#73827c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-intervention-progress{font-size:11px;color:#3d514a;margin-top:7px;font-weight:700;line-height:1.35}
.maintenance-intervention-signals{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.maintenance-intervention-signals span{display:flex;flex-direction:column;gap:2px;background:#f7faf9;border:1px solid #edf2f0;border-radius:10px;padding:8px 10px;font-size:11px;color:#44574f}.maintenance-intervention-signals b{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#8a9892}
.maintenance-intervention-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.maintenance-intervention-actions form{margin:0}.maintenance-intervention-actions .btn{white-space:nowrap}.maintenance-intervention-actions .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.maintenance-intervention-note{margin:11px 2px 0;color:#71817a;font-size:11px;line-height:1.45}.maintenance-intervention-empty{display:flex;gap:11px;align-items:center;border:1px dashed #dce8e3;border-radius:13px;padding:16px;background:#fbfdfc}.maintenance-intervention-empty>span{width:34px;height:34px;border-radius:10px;background:#e8f7f1;color:#15966d;display:grid;place-items:center;font-weight:900}.maintenance-intervention-empty strong{display:block;font-size:12px}.maintenance-intervention-empty small{display:block;margin-top:3px;color:#7b8a84;font-size:11px}
@media(max-width:1180px){.maintenance-intervention-row{grid-template-columns:1fr}.maintenance-intervention-actions{justify-content:flex-start}}
@media(max-width:680px){.maintenance-intervention{padding:16px}.maintenance-intervention-signals{grid-template-columns:1fr 1fr}.maintenance-intervention-actions{display:grid;grid-template-columns:1fr}.maintenance-intervention-actions form,.maintenance-intervention-actions .btn{width:100%}}

/* 5.0.17 - Pano satış tahmini özeti */
.dashv2-panel-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashv2-rival-kpis-sales{grid-template-columns:repeat(4,1fr)}.dashv2-rival-kpi b.good{color:#14835f}.dashv2-rival-kpi b.warn{color:#b66f16}.dashv2-rival-kpi b.bad{color:#bb4e54}@media(max-width:900px){.dashv2-rival-kpis-sales{grid-template-columns:1fr 1fr}}
