:root{--brand:#ed4422;--brand-dark:#c73518;--bg:#f5f6f8;--card:#fff;--text:#20242b;--muted:#6d7480;--line:#e5e7eb;--good:#198754;--bad:#c0392b;--warn:#b7791f}
*{box-sizing:border-box}body{margin:0;font-family:Vazirmatn,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--brand);text-decoration:none}.guest-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff2ee,#f6f7f9)}.guest-shell{width:min(720px,92vw)}.brand{display:flex;align-items:center;gap:12px;margin:0 auto 22px;width:max-content}.brand strong{font-size:24px}.brand small{display:block;color:var(--muted);margin-top:2px}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 32px rgba(20,24,30,.04);margin-bottom:22px}.auth-card{max-width:520px;margin:0 auto}.auth-card.wide{max-width:700px}.auth-card h2,.card h2{margin-top:0}.muted{color:var(--muted)}label{display:block;font-weight:700;margin:14px 0}input,select{width:100%;padding:12px 13px;border:1px solid #d8dce2;border-radius:11px;background:#fff;font:inherit;margin-top:7px;outline:none}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(237,68,34,.10)}label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto;margin:0}.btn{border:0;border-radius:11px;padding:11px 17px;cursor:pointer;font:inherit;display:inline-block}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.secondary{background:#252a32;color:#fff}.btn.tiny{padding:7px 11px;background:#f2f3f5;color:#333}.btn:disabled{opacity:.55;cursor:not-allowed}.auth-card .btn{width:100%;margin-top:10px}.alert{border-radius:12px;padding:12px 15px;margin-bottom:16px}.alert.error{background:#fff0ed;color:#9d2e18;border:1px solid #ffd2c9}.alert.success{background:#eefaf3;color:#17653a;border:1px solid #c9efd9}.auth-footer{text-align:center;margin-bottom:0}.captcha-placeholder{border:1px dashed #b9bec6;border-radius:10px;padding:13px;text-align:center;color:var(--muted);background:#fafafa;margin:14px 0}.step-head{display:flex;align-items:center;justify-content:center;margin:2px 0 22px}.step{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9ebef;color:#667}.step.active,.step.done{background:var(--brand);color:#fff}.line{height:3px;width:80px;background:#e9ebef}.line.done{background:var(--brand)}.otp{text-align:center;font-size:25px;letter-spacing:10px;direction:ltr}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.grid-form .full{grid-column:1/-1}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs>input{display:none}.tabs>label{text-align:center;background:#f2f3f5;margin:0;padding:10px;cursor:pointer}.tabs>input:checked+label{background:var(--brand);color:#fff}.tab{grid-column:1/-1;display:none;padding-top:10px}.tabs #tab-email:checked~.email-tab,.tabs #tab-phone:checked~.phone-tab{display:block}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#181b20;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}.sidebar-brand{margin:0 0 25px;width:auto}.sidebar-brand .brand-mark{width:40px;height:40px}.sidebar-brand strong{font-size:18px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#e4e7eb;padding:11px 13px;border-radius:10px}.sidebar nav a:hover{background:#252a32;color:#fff}.nav-title{font-size:12px;color:#858c96;margin:17px 12px 4px}.logout-form{position:absolute;bottom:20px;right:16px;left:16px}.link-button{width:100%;background:#252a32;border:0;color:#fff;padding:11px;border-radius:10px;cursor:pointer}.main{padding:24px 28px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.topbar h1{font-size:24px;margin:0}.user-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:16px}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{display:block;font-size:27px;margin:7px 0}.stat-card.accent{border-top:3px solid var(--brand)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-head h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{font-size:12px;color:var(--muted)}.badge{background:#f0f1f3;padding:5px 8px;border-radius:8px}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#f0f1f3}.status.active{background:#e9f8ef;color:#17653a}.status.expired,.status.blocked{background:#fff0ed;color:#9d2e18}.status.pending{background:#fff7e6;color:#8a5d00}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.narrow{max-width:520px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.module-grid>*{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fafafa}.disabled-module{color:#8b9098}.balance-box{font-size:28px;font-weight:700;color:var(--brand);margin:15px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.logout-form{position:static;margin-top:15px}.stats-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.main{padding:18px}.module-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:600px){.stats-grid{grid-template-columns:1fr}.grid-form{grid-template-columns:1fr}.grid-form .full{grid-column:auto}.sidebar nav{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px}.user-chip{font-size:12px}}

/* DDConnect v0.2 - Vazirmatn and extended panel components */
@font-face{font-family:Vazirmatn;src:url('../fonts/vazirmatn/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/vazirmatn/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/vazirmatn/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/vazirmatn/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
body,input,select,textarea,button{font-family:Vazirmatn,Tahoma,Arial,sans-serif}
textarea{width:100%;padding:12px 13px;border:1px solid #d8dce2;border-radius:11px;background:#fff;font:inherit;margin-top:7px;outline:none;min-height:95px;resize:vertical}
textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(237,68,34,.10)}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn.danger{background:#b42318;color:#fff}.btn.outline{background:#fff;border:1px solid var(--line);color:var(--text)}.btn.warn{background:#b7791f;color:#fff}.btn.good{background:#198754;color:#fff}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;position:relative}.plan-card.featured{border-color:var(--brand);box-shadow:0 8px 28px rgba(237,68,34,.08)}.plan-price{font-size:26px;font-weight:800;color:var(--brand);margin:10px 0}.plan-card ul{padding-right:18px;color:var(--muted);line-height:2}
.wizard{display:flex;align-items:center;gap:8px;margin:0 0 18px}.wizard .w-step{display:flex;align-items:center;gap:7px;color:var(--muted)}.wizard .w-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9ebef}.wizard .w-step.active{color:var(--brand);font-weight:700}.wizard .w-step.active b,.wizard .w-step.done b{background:var(--brand);color:#fff}.wizard .w-line{height:2px;min-width:35px;flex:1;background:#e9ebef}.wizard .w-line.done{background:var(--brand)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-box{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fafafa}.info-box small{display:block;color:var(--muted);margin-bottom:6px}.info-box strong{font-size:16px;word-break:break-word}
.code-box{direction:ltr;text-align:left;background:#171a1f;color:#f5f5f5;border-radius:12px;padding:12px 14px;font-family:Consolas,monospace;overflow:auto}.hint{padding:12px 14px;border-right:3px solid var(--brand);background:#fff5f2;border-radius:10px;color:#6f3529;margin:12px 0}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed #ccd1d8;border-radius:14px;background:#fafafa}
.kv{display:grid;grid-template-columns:190px 1fr;border-top:1px solid var(--line)}.kv>*{padding:10px;border-bottom:1px solid var(--line)}.kv dt{font-weight:700;color:var(--muted)}.kv dd{margin:0}.mini{font-size:12px;color:var(--muted)}
.captcha-box{display:flex;gap:10px;align-items:end;margin:14px 0}.captcha-question{min-width:110px;padding:11px;border:1px dashed #b9bec6;border-radius:10px;text-align:center;background:#fafafa;font-weight:800;direction:ltr}.captcha-box label{margin:0;flex:1}
.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.toolbar>*{margin:0}.toolbar label{min-width:180px}.danger-zone{border-color:#ffd0c8;background:#fffafa}.amount-positive{color:#198754}.amount-negative{color:#b42318}.ltr{direction:ltr;text-align:left}
@media(max-width:1000px){.plan-grid{grid-template-columns:1fr 1fr}.info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.plan-grid,.info-grid{grid-template-columns:1fr}.wizard{align-items:flex-start}.wizard .w-step span{display:none}.kv{grid-template-columns:1fr}.kv dt{border-bottom:0;padding-bottom:3px}.kv dd{padding-top:3px}}


/* DDConnect v0.3 - softer motion and interaction polish */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
::selection{background:rgba(237,68,34,.18);color:var(--text)}
a,.btn,button,input,select,textarea,.card,.stat-card,.plan-card,.info-box,.module-grid>*,.user-chip,.sidebar nav a,.brand-mark,.status,.badge{transition:all .22s cubic-bezier(.2,.8,.2,1)}
.card,.stat-card,.plan-card,.info-box,.module-grid>*{will-change:transform,box-shadow}
.card:hover{box-shadow:0 16px 42px rgba(25,29,36,.075)}
.stat-card:hover,.plan-card:hover,.info-box:hover,.module-grid>*:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(25,29,36,.07);border-color:#daddE3}
.plan-card.featured:hover{box-shadow:0 15px 38px rgba(237,68,34,.14)}
.btn{position:relative;overflow:hidden;box-shadow:0 5px 14px rgba(25,29,36,.07);transform:translateY(0)}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(25,29,36,.13)}
.btn:active{transform:translateY(0) scale(.985);box-shadow:0 3px 8px rgba(25,29,36,.09)}
.btn.primary{box-shadow:0 6px 18px rgba(237,68,34,.22)}
.btn.primary:hover{box-shadow:0 10px 24px rgba(237,68,34,.30)}
.sidebar nav a:hover{transform:translateX(-3px)}
.brand-mark{box-shadow:0 8px 20px rgba(237,68,34,.20)}
.brand:hover .brand-mark{transform:rotate(-4deg) scale(1.04);box-shadow:0 12px 26px rgba(237,68,34,.30)}
input:hover,select:hover,textarea:hover{border-color:#c8cdd5}
input:focus,select:focus,textarea:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(237,68,34,.10),0 7px 18px rgba(20,24,30,.04)}
.alert{animation:softDrop .35s ease both}
.auth-card{animation:softRise .42s cubic-bezier(.2,.8,.2,1) both}
.main>.card,.main>.stats-grid,.main>.two-col,.main>.plan-grid,.main>.section-head{animation:softRise .38s cubic-bezier(.2,.8,.2,1) both}
.tabs>label{transition:background .22s ease,color .22s ease,transform .22s ease}
.tabs>label:hover{transform:translateY(-1px)}
.auth-helper{text-align:center;margin:14px 0 4px}.auth-helper a{font-weight:600}
.soft-tabs{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.soft-tabs>label{margin:0;border-radius:0}.soft-tabs .tab{padding:18px}
@keyframes softRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes softDrop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* DDConnect v0.4 navigation, grouped settings and OTP */
.nav-tree{display:flex;flex-direction:column;gap:4px}.nav-icon{display:inline-grid;place-items:center;width:22px;margin-left:7px;color:var(--brand)}
.nav-group{border-radius:12px}.nav-group-title{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:10px;font-family:inherit;font-size:14px;cursor:pointer}.nav-group-title:hover{background:rgba(237,68,34,.07);color:var(--brand)}.nav-group-title b{transition:transform .2s ease}.nav-group.open .nav-group-title b{transform:rotate(180deg)}
.nav-submenu{display:grid;grid-template-rows:0fr;opacity:.25;transition:grid-template-rows .25s ease,opacity .2s ease}.nav-submenu>a{overflow:hidden;padding-top:0!important;padding-bottom:0!important;margin-right:23px;border-right:1px solid rgba(237,68,34,.18);border-radius:0!important}.nav-group.open .nav-submenu{grid-template-rows:1fr;opacity:1}.nav-group.open .nav-submenu>a{padding-top:9px!important;padding-bottom:9px!important}
.settings-index{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 18px}.settings-index a{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-weight:700}.settings-index a span{color:var(--brand)}.settings-index a:hover{transform:translateY(-2px);border-color:rgba(237,68,34,.35);box-shadow:0 8px 20px rgba(30,35,45,.07)}
.setting-section{scroll-margin-top:20px}.setting-list{display:flex;flex-direction:column}.setting-row{display:grid;grid-template-columns:44px minmax(210px,1fr) minmax(220px,1fr);align-items:center;gap:13px;padding:13px 0;margin:0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row input{margin:0}.setting-icon{width:38px;height:38px;border-radius:11px;background:rgba(237,68,34,.09);color:var(--brand);display:inline-grid;place-items:center;font-size:18px}.setting-copy{display:flex;flex-direction:column;gap:4px}.setting-copy small{color:var(--muted);font-weight:400}.sticky-actions{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:10px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:14px;border:1px solid var(--line);z-index:5}
.setting-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sms-card{margin:0}.sms-card>.actions{margin-top:12px}.switch-line{display:flex!important;align-items:center;gap:7px;margin:0!important}.code-pill{direction:ltr;background:#f3f4f6;border-radius:8px;padding:4px 7px;margin-right:7px;color:var(--muted)}
.otp-resend{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.otp-resend span{color:var(--muted);font-size:13px}.otp-resend button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.secret-value{font-family:Consolas,monospace;background:#f7f7f8;border-radius:8px;padding-inline:8px!important}.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.actions form{margin:0}.actions .btn{white-space:nowrap}
[data-network-options],[data-web-options]{display:contents}[data-network-options][hidden],[data-web-options][hidden]{display:none}.narrow{max-width:620px}
@media(max-width:900px){.setting-cards{grid-template-columns:1fr}.setting-row{grid-template-columns:40px 1fr}.setting-row input{grid-column:1/-1}.otp-resend{align-items:stretch;flex-direction:column}}
.inline-edit{display:flex;gap:6px;align-items:center}.inline-edit input{width:92px;margin:0;padding:7px 8px}.inline-edit select{width:100px;margin:0;padding:7px 8px}.purchase-access{border:1px solid var(--line);border-radius:13px;padding:13px;margin:12px 0;background:#fafafa}.purchase-access h4{margin:0 0 10px}

/* v0.5 sidebar/navigation refinements */
.app-shell{grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .22s ease}
.sidebar{padding:14px 12px 12px;display:flex;flex-direction:column;overflow:hidden;z-index:20}
.sidebar-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:2px 2px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.sidebar-brand{margin:0;min-width:0}.sidebar-brand .brand-copy{min-width:0}.sidebar-brand small{color:#9299a3}.sidebar-tools{display:flex;align-items:center;gap:6px;direction:ltr}.logout-icon-form{margin:0}.icon-button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#242930;color:#fff;display:grid;place-items:center;cursor:pointer;font:inherit;font-size:16px;transition:all .18s ease}.icon-button:hover{background:#30363f;transform:translateY(-1px)}.icon-button.danger-soft:hover{background:rgba(237,68,34,.18);color:#ff7b61;border-color:rgba(237,68,34,.3)}
.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 1px 18px;scrollbar-width:thin;scrollbar-color:#353b44 transparent}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#353b44;border-radius:20px}
.nav-tree{display:flex!important;flex-direction:column;gap:5px}.nav-tree>a,.nav-group-title{min-height:42px}.nav-tree>a{display:flex;align-items:center;gap:10px}.nav-group-title>span{display:flex;align-items:center;gap:10px;min-width:0}.nav-icon{width:20px;min-width:20px;text-align:center;color:#ff765a}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group{overflow:hidden;border:1px solid transparent}.nav-group.open{background:rgba(255,255,255,.018);border-color:rgba(255,255,255,.025)}
.nav-submenu{display:block!important;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .28s ease,opacity .18s ease,padding .2s ease;padding:0}.nav-submenu>a{display:block!important;overflow:hidden!important;max-height:0;padding-top:0!important;padding-bottom:0!important;margin-right:28px!important;border-right:1px solid rgba(237,68,34,.22)!important;color:#cfd3d8!important;font-size:13px;transition:all .2s ease}.nav-group.open>.nav-submenu{max-height:420px;opacity:1;pointer-events:auto;padding:3px 0 4px}.nav-group.open>.nav-submenu>a{max-height:48px;padding-top:9px!important;padding-bottom:9px!important}.nav-group-title b{font-size:12px;color:#9ba1aa}.nav-title{padding:8px 10px 1px;margin-top:8px}
.tech-badge{direction:ltr;font-family:Vazirmatn,Tahoma,sans-serif;background:#f4f5f7;border:1px solid #e7e9ed}

/* true collapsed state: icons only, absolutely no submenus */
body:has(.sidebar.collapsed) .app-shell{grid-template-columns:76px minmax(0,1fr)}
.sidebar.collapsed{padding-inline:10px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-title,.sidebar.collapsed .nav-group-title b{display:none!important}.sidebar.collapsed .sidebar-head{flex-direction:column;justify-content:flex-start}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar.collapsed .sidebar-brand .brand-mark{width:38px;height:38px}.sidebar.collapsed .sidebar-tools{flex-direction:column}.sidebar.collapsed .nav-tree>a,.sidebar.collapsed .nav-group-title{justify-content:center;padding-inline:8px}.sidebar.collapsed .nav-group-title>span{justify-content:center}.sidebar.collapsed .nav-icon{margin:0}.sidebar.collapsed .nav-submenu,.sidebar.collapsed .nav-group.open>.nav-submenu{display:none!important;max-height:0!important;opacity:0!important;padding:0!important;pointer-events:none!important}.sidebar.collapsed .nav-group{overflow:hidden}.sidebar.collapsed .nav-group.open{background:transparent;border-color:transparent}

@media(max-width:900px){
  .app-shell,body:has(.sidebar.collapsed) .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;max-height:none}.sidebar-scroll{overflow:visible}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label{display:inline!important}.sidebar.collapsed .nav-title{display:block!important}.sidebar.collapsed .sidebar-head{flex-direction:row}.sidebar.collapsed .sidebar-tools{flex-direction:row}.sidebar.collapsed .nav-tree>a,.sidebar.collapsed .nav-group-title{justify-content:flex-start}.sidebar.collapsed .nav-submenu{display:block!important}.sidebar.collapsed .nav-group.open>.nav-submenu{max-height:420px!important;opacity:1!important;padding:3px 0 4px!important;pointer-events:auto!important}
}

/* v0.7 compact service activity chart */
.mini-chart{height:190px;display:flex;align-items:flex-end;gap:8px;padding:18px 8px 6px;border:1px solid var(--line,#e7e9ee);border-radius:16px;overflow-x:auto;margin:12px 0 22px;background:linear-gradient(180deg,#fff,#fafbfc)}
.mini-chart-col{min-width:38px;height:150px;display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;position:relative}
.mini-chart-col i{display:block;width:70%;max-width:34px;min-height:4px;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,#ed4422,#ff7458);transition:.25s ease}
.mini-chart-col:hover i{transform:translateY(-3px);filter:brightness(.96)}
.mini-chart-col small{font-size:10px;color:#7c8491;white-space:nowrap}.mini-chart-value{font-size:11px;font-weight:700;color:#3e4652}

/* v0.8 auth usability */
.auth-stack{max-width:980px;margin:0 auto}.auth-recovery-grid{align-items:stretch}.recovery-card{height:100%;transition:transform .2s ease,box-shadow .2s ease}.recovery-card:hover{transform:translateY(-3px)}.setting-icon.big{width:46px;height:46px;font-size:20px;margin-bottom:12px}.optional{font-size:11px;font-weight:500;color:#7a8494;background:#f1f3f6;border-radius:999px;padding:2px 7px}.field-ok{color:#16834b!important}.field-error{color:#c83232!important}.password-meter{height:7px;background:#eceff3;border-radius:99px;overflow:hidden;margin-top:8px}.password-meter>span{display:block;height:100%;width:0;border-radius:99px;background:#b9bec8;transition:width .2s ease,background .2s ease}.password-meter>span[data-score="1"]{width:25%;background:#d93b3b}.password-meter>span[data-score="2"]{width:50%;background:#e48721}.password-meter>span[data-score="3"]{width:75%;background:#d4a514}.password-meter>span[data-score="4"]{width:100%;background:#16834b}

/* v0.11 - cleaner infrastructure editor */
.compact-infra-form{align-items:start}.infra-role-note{margin-top:4px}.info-strip{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc;color:#525964;font-weight:400}.advanced-box{border:1px solid var(--line);border-radius:14px;background:#fbfbfc;margin-top:12px;overflow:hidden}.advanced-box summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between}.advanced-box summary::-webkit-details-marker{display:none}.advanced-box summary:after{content:'＋';font-size:18px;color:var(--brand)}.advanced-box[open] summary:after{content:'−'}.advanced-content{padding:0 16px 16px;border-top:1px solid var(--line)}.advanced-section-title{font-weight:800;margin:16px 0 2px}.advanced-inline-checks{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.form-actions{display:flex;justify-content:flex-start;margin-top:8px}.infra-editor-card .hint{margin:8px 0 0}.infra-list-card table{min-width:780px}@media(max-width:760px){.advanced-inline-checks{display:grid;gap:8px}.form-actions .btn{width:100%}}

.form-action-end{align-self:end;display:flex;align-items:flex-end}.global-request-loader{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.28);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.global-request-loader[hidden]{display:none}.loader-card{background:#fff;border-radius:16px;padding:18px 24px;box-shadow:0 18px 55px rgba(0,0,0,.18);display:flex;gap:12px;align-items:center}.loader-spinner{width:23px;height:23px;border:3px solid #e5e7eb;border-top-color:#ed4422;border-radius:50%;animation:ddspin .7s linear infinite}@keyframes ddspin{to{transform:rotate(360deg)}}

.pagination{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:28px;color:var(--muted,#6b7280);font-weight:700}

/* DDConnect v0.16 branding */
.brand-logo{width:48px;height:48px;border-radius:14px;object-fit:cover;display:block;box-shadow:0 8px 20px rgba(0,0,0,.24);transition:all .22s cubic-bezier(.2,.8,.2,1)}
.sidebar-brand .brand-logo{width:40px;height:40px;border-radius:11px}
.brand:hover .brand-logo{transform:rotate(-3deg) scale(1.04);box-shadow:0 12px 26px rgba(0,0,0,.30)}
.sidebar.collapsed .sidebar-brand .brand-logo{width:38px;height:38px;border-radius:10px}
@media(max-width:900px){.sidebar.collapsed .sidebar-brand .brand-logo{width:40px;height:40px}}
