:root{--bg:#f3f5f8;--panel:#fff;--ink:#0f172a;--ink-2:#1e293b;--muted:#64748b;--muted-2:#94a3b8;--line:#e2e8f0;--line-2:#cbd5e1;--accent:#0284c7;--accent-2:#0369a1;--accent-soft:#0284c71f;--accent-soft-2:#0284c738;--accent-glow:#0ea5e973;--danger:#dc2626;--danger-soft:#dc26261a;--warn:#d97706;--warn-soft:#d977061f;--sidebar:#0b1220;--sidebar-2:#111827;--sidebar-w:268px;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--font:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .22s;display:grid}.shell.collapsed{--sidebar-w:84px}.sidebar{color:#fff;background:radial-gradient(420px 280px at 0 0,#0ea5e92e,#0000 55%),radial-gradient(360px 240px at 100% 100%,#0284c71f,#0000 50%),linear-gradient(#0f172a 0%,#0b1220 48%,#080d18 100%);border-right:1px solid #94a3b814;flex-direction:column;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:inset -1px 0 #ffffff08}.sidebar-inner{flex-direction:column;height:100%;min-height:0;padding:1.05rem .85rem .9rem;display:flex}.sidebar-brand{border-bottom:1px solid #94a3b81a;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.45rem .5rem 1.05rem;display:flex}.sidebar-brand .mark{color:#fff;letter-spacing:-.03em;background:linear-gradient(145deg,#38bdf8 0%,#0284c7 55%,#0369a1 100%);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:1.05rem;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 20px #0284c759}.sidebar-brand .copy{flex:1;min-width:0}.sidebar-brand .title{letter-spacing:-.03em;font-size:1.02rem;font-weight:700;line-height:1.15}.sidebar-brand .sub{color:#94a3b8d9;white-space:nowrap;text-overflow:ellipsis;margin-top:.18rem;font-size:.72rem;overflow:hidden}.brand-live{letter-spacing:.04em;text-transform:uppercase;color:#7dd3fc;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.65rem;font-weight:650;display:inline-flex}.brand-live i{background:#38bdf8;border-radius:999px;width:6px;height:6px;animation:1.8s ease-in-out infinite pulse-dot;display:block;box-shadow:0 0 0 3px #38bdf847}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#94a3b840 transparent;flex:1;min-height:0;padding:.55rem .15rem .5rem;overflow:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:999px}.shell.collapsed .sidebar-brand .copy,.shell.collapsed .nav-label,.shell.collapsed .sidebar-foot .meta-text,.shell.collapsed .nav-text,.shell.collapsed .brand-live,.shell.collapsed .logout-label{display:none}.shell.collapsed .sidebar a.nav-link{justify-content:center;padding:.65rem}.shell.collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.shell.collapsed .user-chip{justify-content:center}.nav-group{margin-bottom:.7rem}.nav-label{letter-spacing:.14em;text-transform:uppercase;color:#94a3b88c;justify-content:space-between;align-items:center;padding:.35rem .75rem .45rem;font-size:.62rem;font-weight:700;display:flex}.nav-label:after{content:"";background:linear-gradient(90deg,#94a3b82e,#0000);flex:1;height:1px;margin-left:.65rem}.sidebar a.nav-link{color:#e2e8f0b8;border-radius:12px;align-items:center;gap:.75rem;margin:.1rem .2rem;padding:.55rem .65rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.sidebar a.nav-link .nav-ico{background:#94a3b814;border:1px solid #94a3b814;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;transition:background .15s,border-color .15s,color .15s;display:grid}.sidebar a.nav-link svg{opacity:.9;width:16px;height:16px}.sidebar a.nav-link:hover{color:#fff;background:#94a3b814}.sidebar a.nav-link:hover .nav-ico{color:#7dd3fc;background:#0ea5e91f;border-color:#0ea5e933}.sidebar a.nav-link.active{color:#fff;background:linear-gradient(90deg,#0ea5e938,#0ea5e914);box-shadow:inset 0 0 0 1px #38bdf82e,0 6px 18px #0284c71f}.sidebar a.nav-link.active:before{content:"";width:3px;box-shadow:0 0 12px var(--accent-glow);background:linear-gradient(#7dd3fc,#0284c7);border-radius:0 4px 4px 0;position:absolute;top:20%;bottom:20%;left:0}.sidebar a.nav-link.active .nav-ico{color:#7dd3fc;background:#0ea5e938;border-color:#38bdf859;box-shadow:0 0 16px #0ea5e940}.sidebar a.nav-link.active svg{opacity:1;color:#7dd3fc}.sidebar-foot{border-top:1px solid #94a3b81f;margin-top:auto;padding-top:.85rem}.user-chip{background:#0f172a8c;border:1px solid #94a3b81f;border-radius:14px;align-items:center;gap:.7rem;padding:.65rem .7rem;display:flex;box-shadow:inset 0 1px #ffffff0a}.avatar{color:#fff;background:linear-gradient(145deg,#38bdf8,#0284c7);border-radius:999px;flex:none;place-items:center;width:36px;height:36px;font-size:.72rem;font-weight:700;display:grid;box-shadow:0 0 0 2px #0ea5e933}.avatar.sm{width:28px;height:28px;box-shadow:none;font-size:.65rem}.avatar.soft{color:#334155;box-shadow:none;background:#e8eef5}.user-chip .name{font-size:.86rem;font-weight:650}.user-chip .role{color:#94a3b8bf;margin-top:.08rem;font-size:.7rem}.logout-btn{color:#e2e8f0b3;text-align:left;background:#94a3b80d;border:1px solid #94a3b81f;border-radius:10px;align-items:center;gap:.5rem;width:100%;margin-top:.45rem;padding:.55rem .75rem;font-size:.8rem;font-weight:550;transition:background .15s,color .15s,border-color .15s;display:flex}.logout-btn:hover{color:#fecaca;background:#ef44441f;border-color:#ef444440}.shell.collapsed .logout-btn{justify-content:center;padding:.55rem}.workspace{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f4f5f7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.35rem;display:flex;position:sticky;top:0}.crumbs{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-size:.72rem;font-weight:600}.crumbs strong{color:var(--ink)}.topbar-right{align-items:center;gap:.55rem;display:flex}.app-pill,.user-pill{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem .35rem .4rem;font-size:.82rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #00000008}.app-pill select{background:0 0;border:0;outline:none;max-width:160px;font-weight:600}.search-pill{border:1px solid var(--line);color:var(--muted-2);background:#fff;border-radius:999px;align-items:center;gap:.45rem;min-width:220px;padding:.45rem .85rem;font-size:.84rem;display:none}@media (width>=1100px){.search-pill{display:inline-flex}}.icon-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:#fff;border-radius:999px;place-items:center;display:grid}.collapse-fab{border:1px solid var(--line);width:26px;height:26px;color:var(--muted);z-index:40;background:#fff;border-radius:999px;place-items:center;transition:transform .2s,color .15s,border-color .15s;display:grid;position:absolute;top:78px;right:-13px;box-shadow:0 4px 14px #0f172a1f}.collapse-fab:hover{color:var(--accent);border-color:#bae6fd}.main{flex:1;min-width:0;padding:1.15rem 1.35rem 2rem;overflow-x:clip}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.05rem}.stat .label{color:var(--muted);font-size:.78rem;font-weight:600}.stat .value{letter-spacing:-.03em;margin-top:.35rem;font-size:1.45rem;font-weight:700}.overview-hero{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.overview-date{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-size:.7rem;font-weight:700}.overview-hero h1{letter-spacing:-.03em;margin:.35rem 0 .25rem;font-size:1.75rem}.overview-hero p{color:var(--muted);margin:0}.pill-meta{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:.45rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1.35rem;display:grid}.kpi-card{border:1px solid var(--line);box-shadow:var(--shadow);border-top:3px solid var(--line-2);background:#fff;border-radius:16px;padding:1.05rem 1.1rem;transition:transform .15s,box-shadow .15s}.kpi-card:hover{transform:translateY(-1px);box-shadow:0 8px 28px #0f172a14}.kpi-card.tone-green,.kpi-card.tone-accent{border-top-color:var(--accent)}.kpi-card.tone-yellow{border-top-color:#eab308}.kpi-card.tone-blue{border-top-color:#3b82f6}.kpi-card.tone-red{border-top-color:var(--danger)}.kpi-label{color:var(--muted);font-size:.78rem;font-weight:650}.kpi-value{letter-spacing:-.03em;margin-top:.4rem;font-size:1.55rem;font-weight:750}.kpi-hint{color:var(--muted-2);margin-top:.35rem;font-size:.75rem}.action-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-bottom:1.15rem;display:grid}.action-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;align-items:flex-start;gap:.85rem;padding:1rem 1.05rem;display:flex}.action-card strong{font-size:.95rem;display:block}.action-card p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.action-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-2);border-radius:12px;flex:none;place-items:center;display:grid}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.65rem;display:grid}.summary-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem .9rem}.summary-item .s-label{letter-spacing:.08em;color:var(--muted-2);font-size:.65rem;font-weight:700}.summary-item .s-value{margin-top:.25rem;font-size:1.15rem;font-weight:700}.panel-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-bottom:.9rem;display:flex}.panel-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem .85rem;font-size:.88rem;font-weight:600}.panel-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.avatar-grid{flex-wrap:wrap;gap:.85rem;padding:1rem;display:flex}.avatar-tile{border:1px solid var(--line);background:#fafbfc;border-radius:12px;width:132px;padding:.55rem}.avatar-tile img{object-fit:cover;border-radius:8px;width:100%;height:100px}.list-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;width:100%;min-width:0;max-width:100%;overflow:hidden}.list-card-head{border-bottom:1px solid var(--line);background:linear-gradient(#fcfdff,#fff);padding:0 1.15rem}.list-tabs{gap:.15rem;margin-bottom:-1px;display:flex}.list-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:.95rem .85rem .9rem;font-size:.88rem;font-weight:600;position:relative}.list-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.list-toolbar{border-bottom:1px solid var(--line);background:#fafbfc;align-items:center;gap:.65rem;padding:.9rem 1.15rem;display:flex}.search-box{border:1px solid var(--line);color:var(--muted-2);background:#fff;border-radius:10px;flex:1;align-items:center;gap:.5rem;max-width:420px;padding:.6rem .9rem;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{box-shadow:0 0 0 3px var(--accent-soft);border-color:#7dd3fc}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:none}.list-body{min-width:0;padding:0;overflow-x:auto}.list-foot{border-top:1px solid var(--line);color:var(--muted);box-sizing:border-box;background:#fafbfc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;max-width:100%;padding:.8rem 1.15rem;font-size:.82rem;display:flex}.list-foot-meta{flex:auto;min-width:0}.pager{flex:none;gap:.4rem;margin-left:auto;display:inline-flex}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.95rem 1.15rem;font-size:.875rem}table.data th{color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;font-size:.68rem;font-weight:700}table.data th.num,table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data th.actions,table.data td.actions{text-align:right;width:52px;padding-right:1rem}table.data tr:last-child td{border-bottom:0}table.data tbody tr{transition:background .12s}table.data tbody tr:hover td{background:#f8fbff}table.data tbody tr.row-muted td{opacity:.62}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.cell-user{align-items:center;gap:.75rem;min-width:180px;display:flex}.cell-user .meta{color:var(--muted-2);margin-top:.12rem;font-size:.75rem}.cell-user .name{letter-spacing:-.01em;font-weight:650}.toggle-cell{align-items:center;gap:.45rem;display:inline-flex}.toggle-cell span{color:var(--muted-2);min-width:1.5rem;font-size:.75rem;font-weight:600}.toggle-cell span.on{color:var(--accent-2)}.comm-chips{flex-wrap:wrap;gap:.3rem;display:flex}.comm-chip{color:var(--ink-2);font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:6px;align-items:center;padding:.22rem .5rem;font-size:.72rem;font-weight:650;display:inline-flex}.lang-chips{flex-wrap:wrap;gap:.3rem;display:flex}.lang-chip{background:var(--accent-soft);color:var(--accent-2);letter-spacing:.04em;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.lang-pick{flex-wrap:wrap;gap:.5rem;display:flex}.lang-opt{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.84rem;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.lang-opt:hover{border-color:var(--accent)}.lang-opt .code{color:var(--muted);background:#f1f5f9;border-radius:5px;padding:.1rem .35rem;font-size:.68rem;font-weight:750}.lang-opt .native{color:var(--muted);font-size:.8rem}.lang-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2);box-shadow:0 0 0 3px #0284c71f}.lang-opt.on .code{background:var(--accent);color:#fff}.lang-opt .swatch{border-radius:50%;flex:none;width:10px;height:10px}.cat-chip{background:color-mix(in srgb, var(--chip,#1f6f68) 13%, white);color:color-mix(in srgb, var(--chip,#1f6f68) 80%, black);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:650;display:inline-flex}.tagline{color:var(--accent-2);margin:.2rem 0 0 2.75rem;font-size:.74rem;font-weight:600}.clamp-1{text-overflow:ellipsis;white-space:nowrap;max-width:380px;overflow:hidden}.blog-thumb{object-fit:cover;color:#fff;border-radius:8px;flex:none;place-items:center;width:56px;height:40px;font-weight:700;display:grid}.cell-user a.name{color:var(--ink);text-decoration:none}.cell-user a.name:hover{color:var(--accent)}.blog-editor{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.blog-main{flex-direction:column;gap:.75rem;min-width:0;display:flex}.blog-side{flex-direction:column;gap:1rem;display:flex;position:sticky;top:1rem}.blog-side .form-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.blog-title-input{font:inherit;letter-spacing:-.02em;color:var(--ink);background:0 0;border:0;outline:none;padding:.25rem 0;font-size:1.6rem;font-weight:750}.slug-row{border-bottom:1px dashed var(--line);align-items:center;gap:.25rem;padding-bottom:.6rem;font-size:.82rem;display:flex}.slug-row input{font:inherit;color:var(--accent-2);background:0 0;border:0;outline:none;flex:1}.cover-box{aspect-ratio:16/9;background:linear-gradient(135deg, var(--chip), color-mix(in srgb, var(--chip) 55%, white));color:#fff;text-align:center;border-radius:10px;place-items:center;font-weight:700;display:grid;overflow:hidden}.cover-box img{object-fit:cover;width:100%;height:100%}.cover-box small{opacity:.8;margin-top:.25rem;font-size:.72rem;font-weight:500;display:block}.rich-editor .ck-editor__editable{min-height:420px;font-size:.95rem;line-height:1.7}.rich-editor .ck.ck-editor__main>.ck-editor__editable{border-radius:0 0 10px 10px}.rich-editor .ck.ck-toolbar{border-radius:10px 10px 0 0}.rich-editor .ck-content h2{margin:1.2em 0 .4em;font-size:1.35rem}.rich-editor .ck-content h3{font-size:1.1rem}.rich-editor .ck-content blockquote{border-left:4px solid var(--accent);color:var(--ink-2);padding-left:1rem;font-style:normal}.policy-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.policy-tabs button{border:1px solid var(--line);background:var(--panel);font:inherit;cursor:pointer;color:var(--ink-2);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.8rem;display:inline-flex}.policy-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.dot-empty{background:var(--warn,#d97706);border-radius:50%;width:6px;height:6px;display:inline-block}.policy-meta{margin-bottom:.6rem;font-size:.8rem}@media (width<=1100px){.blog-editor{grid-template-columns:1fr}.blog-side{position:static}}.filter-select{border:1px solid var(--line);background:var(--panel);height:38px;color:var(--ink);font:inherit;border-radius:10px;padding:0 .75rem;font-size:.85rem}.status-stack{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.status-dot{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:650;display:inline-flex}.status-dot i{background:#94a3b8;border-radius:999px;width:7px;height:7px;display:block}.status-dot.on{color:var(--accent-2)}.status-dot.on i{background:#0ea5e9;box-shadow:0 0 0 3px #0ea5e933}.status-dot.off i{background:#cbd5e1}.row-menu{display:inline-flex;position:relative}.row-menu-btn{width:32px;height:32px}.row-menu-pop{border:1px solid var(--line);z-index:120;background:#fff;border-radius:12px;min-width:176px;padding:.35rem;position:fixed;box-shadow:0 12px 32px #0f172a29}.row-menu-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:.55rem .7rem;font-size:.84rem;font-weight:550;display:block}.row-menu-item:hover{background:#f1f5f9}.row-menu-item.danger{color:var(--danger)}.row-menu-item.danger:hover{background:var(--danger-soft)}.page-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.15rem;display:flex}.page-head h1{letter-spacing:-.035em;margin:0;font-size:1.65rem;font-weight:750}.page-head p{color:var(--muted);margin:.3rem 0 0;font-size:.9rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.05rem 1.15rem}.card+.card{margin-top:.9rem}.card-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.85rem;display:flex}.stack{flex-direction:column;gap:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.field{flex-direction:column;gap:.32rem;display:flex}.field label{color:var(--ink);font-size:.8rem;font-weight:600}.field .hint{color:var(--muted-2);font-size:.75rem}.field input,.field select,.field textarea,.input,.select,.textarea{border:1px solid var(--line-2);background:#fff;border-radius:10px;outline:none;width:100%;padding:.68rem .8rem}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.select:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#7dd3fc}.phone-field{border:1px solid var(--line-2);background:#fff;border-radius:10px;display:flex;overflow:hidden}.phone-field:focus-within{box-shadow:0 0 0 3px var(--accent-soft);border-color:#7dd3fc}.phone-prefix{border-right:1px solid var(--line);color:var(--muted);background:#f8fafc;place-items:center;padding:0 .8rem;font-size:.88rem;font-weight:700;display:grid}.phone-field input{box-shadow:none!important;border:0!important;border-radius:0!important}.btn{background:var(--ink);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.62rem 1.05rem;font-size:.88rem;font-weight:650;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn.primary{background:var(--accent)}.btn.primary:hover{background:var(--accent-2);filter:none}.btn.secondary{color:var(--ink);border:1px solid var(--line-2);background:#fff}.btn.ghost{color:var(--muted);background:0 0}.btn.danger{background:var(--danger)}.btn.sm{padding:.38rem .72rem;font-size:.8rem}.badge{color:var(--muted);background:#f3f4f6;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:650;display:inline-flex}.badge.ok{background:var(--accent-soft);color:var(--accent-2)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.brand{background:var(--accent-soft);color:var(--accent-2)}.switch{background:#d1d5db;border:0;border-radius:999px;width:40px;height:22px;padding:0;transition:background .15s;position:relative}.switch.on{background:var(--accent)}.switch i{background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .15s;display:block;position:absolute;top:3px;left:3px}.switch.on i{transform:translate(18px)}.modal-back{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:92vh;display:flex;overflow:auto;box-shadow:0 24px 80px #00000040}.modal.wide{width:min(720px,100%)}.modal-head{border-bottom:1px solid var(--line);padding:1.1rem 1.2rem .85rem}.modal-head h3{letter-spacing:-.02em;margin:0;font-size:1.15rem}.modal-head p{color:var(--muted);margin:.25rem 0 0;font-size:.86rem}.modal-body{flex:1;padding:1rem 1.2rem}.modal-foot{border-top:1px solid var(--line);background:#fafafa;justify-content:flex-end;gap:.5rem;padding:.9rem 1.2rem;display:flex}.form-section{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:.85rem;padding:1rem}.form-section-head{align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.form-section-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-2);border-radius:999px;flex:none;place-items:center;display:grid}.form-section-icon svg{width:16px;height:16px}.form-section h4{margin:0;font-size:.92rem}.form-section .sec-sub{color:var(--muted-2);margin:.15rem 0 0;font-size:.78rem}.editor-list{flex-direction:column;gap:.85rem;display:flex}.editor-item{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:1rem 1.05rem}.editor-item-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.editor-item-head .idx{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-size:.72rem;font-weight:700}.editor-item .field+.field,.editor-item .grid-2{margin-top:.75rem}.editor-empty{text-align:center;color:var(--muted);border:1px dashed var(--line-2);background:#fff;border-radius:12px;padding:1.4rem 1rem;font-size:.88rem}.editor-actions{justify-content:flex-start;margin-top:.95rem;display:flex}.icon-btn.danger{color:var(--danger);background:#fff;border-color:#fecaca}.icon-btn.danger:hover{background:var(--danger-soft)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;display:grid}.field-grid .field.full{grid-column:1/-1}@media (width<=720px){.field-grid{grid-template-columns:1fr}}.toast{z-index:90;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:12px;padding:.75rem 1rem;font-size:.88rem;position:fixed;bottom:1rem;right:1rem}.error{color:var(--danger);font-size:.86rem}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:2.2rem 1rem}.login-page{background:var(--sidebar);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(600px 320px at 20% 10%,#0ea5e959,#0000 55%),radial-gradient(480px 280px at 80% 80%,#0284c733,#0000 50%),linear-gradient(165deg,#0f172a,#0b1220 60%,#020617);padding:2.2rem}.login-visual h1{letter-spacing:-.03em;max-width:11ch;margin:2.4rem 0 .8rem;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.08}.login-visual p{color:#ffffff9e;max-width:28rem}.login-panel{background:var(--bg);place-items:center;padding:2rem;display:grid}.login-card{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:1.5rem}.login-card h2{letter-spacing:-.02em;margin:0 0 .2rem;font-size:1.35rem}.login-card .lead{color:var(--muted);margin:0 0 1.15rem}.modal-head-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.modal-close{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.modal-close:hover{color:var(--ink);background:#f8fafc}.sheet-back{z-index:120;background:#02061773;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;padding:.5rem .75rem max(.75rem, env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-up;box-shadow:0 -12px 40px #02061740}.sheet-grip{background:var(--line-2);border-radius:999px;width:40px;height:4px;margin:.2rem auto .6rem}.sheet-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:12px;padding:.95rem 1rem;font-size:1rem;font-weight:600;display:block}.sheet-item:active{background:#f1f5f9}.sheet-item.danger{color:var(--danger)}.sheet-item.cancel{text-align:center;color:var(--muted);background:#f1f5f9;margin-top:.35rem}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.bottom-nav{display:none}.topbar-left{align-items:center;gap:.6rem;min-width:0;display:flex}.menu-btn,.drawer-close,.nav-backdrop{display:none}.menu-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:#fff;border-radius:12px;flex:none;place-items:center;box-shadow:0 1px 2px #0000000a}.drawer-close{z-index:2;color:#e2e8f0;background:#94a3b814;border:1px solid #94a3b82e;border-radius:10px;place-items:center;width:36px;height:36px;position:absolute;top:.9rem;right:.8rem}@media (width<=960px){.shell,.shell.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:100;border-right:0;width:min(300px,86vw);height:100dvh;transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.shell.nav-open .sidebar{transform:translate(0);box-shadow:18px 0 48px #02061773}.sidebar-inner{padding-top:.9rem;padding-bottom:max(.9rem, env(safe-area-inset-bottom))}.sidebar-brand{padding-right:3rem}.sidebar a.nav-link{padding:.6rem .65rem;font-size:.95rem}.drawer-close{display:grid}.collapse-fab{display:none}.nav-backdrop{z-index:95;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#02061780;transition:opacity .2s;display:block;position:fixed;inset:0}.shell.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.menu-btn{display:grid}.topbar{gap:.5rem;padding:.6rem .85rem}.topbar-right{gap:.4rem;min-width:0}.crumbs{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.78rem;overflow:hidden}.crumb-section{display:none}.app-pill{min-width:0;padding:.3rem .55rem .3rem .3rem}.app-pill select{min-width:0;max-width:120px}.main{padding:.9rem .85rem 1.75rem}.page-head{flex-direction:column;align-items:stretch;gap:.75rem}.page-head h1{font-size:1.35rem}.overview-hero{flex-direction:column}.overview-hero h1{font-size:1.4rem}.login-page{grid-template-columns:1fr}.login-visual{display:none}.grid-2,.grid-3{grid-template-columns:1fr}.list-card-head{padding:0 .5rem}.list-tabs{scrollbar-width:none;overflow-x:auto}.list-tabs::-webkit-scrollbar{display:none}.list-tabs button{white-space:nowrap;flex:none;padding:.85rem .7rem}.list-toolbar{flex-wrap:wrap;gap:.5rem;padding:.75rem}.list-toolbar .search-box{flex:100%;max-width:none}.list-toolbar .filter-select{flex:140px}table.data th,table.data td{padding:.75rem .8rem}.list-foot{padding:.75rem}.modal-back{place-items:end center;padding:0}.modal,.modal.wide{border-radius:20px 20px 0 0;width:100%;max-height:92dvh}.modal-head,.modal-body{padding:1rem}.modal-foot{padding:.8rem 1rem max(.8rem, env(safe-area-inset-bottom));flex-wrap:wrap;position:sticky;bottom:0}.modal-foot .btn{flex:auto}.toast{left:.85rem;right:.85rem;bottom:calc(4.9rem + env(safe-area-inset-bottom));text-align:center;z-index:130}.bottom-nav{z-index:70;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:.3rem .25rem max(.35rem, env(safe-area-inset-bottom));background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a0f}.bottom-nav a,.bottom-nav button{color:var(--muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:.15rem;padding:.25rem 0;font-size:.68rem;font-weight:650;display:flex}.bottom-nav .ico{border-radius:999px;place-items:center;width:46px;height:30px;transition:background .15s;display:grid}.bottom-nav .active{color:var(--accent-2)}.bottom-nav .active .ico{background:var(--accent-soft)}.main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.field input,.field select,.field textarea,.input,.select,.textarea,.search-box input,.filter-select,.phone-field input{font-size:16px}.btn{min-height:42px}.btn.sm{min-height:36px}.icon-btn{width:40px;height:40px}.filter-select{height:42px}.switch{width:46px;height:26px}.switch i{width:20px;height:20px}.switch.on i{transform:translate(20px)}.page-head .row{width:100%}.page-head .row>*{flex:auto}.panel-tabs,.policy-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.panel-tabs::-webkit-scrollbar{display:none}.policy-tabs::-webkit-scrollbar{display:none}.panel-tabs button,.policy-tabs button{white-space:nowrap;flex:none}.action-grid{grid-template-columns:1fr;gap:.6rem}.blog-title-input{font-size:1.3rem}.modal-close{width:38px;height:38px}}@media (width<=720px){.list-body{overflow-x:visible}table.data,table.data tbody{width:100%;display:block}table.data thead{display:none}table.data tbody tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;padding:.95rem 1rem;display:grid;position:relative}table.data tbody tr:last-child{border-bottom:0}table.data tbody tr:hover td{background:0 0}table.data td,table.data th.num,table.data td.num{text-align:left;overflow-wrap:anywhere;border:0;flex-direction:column;align-items:flex-start;gap:.22rem;min-width:0;padding:0;font-size:.88rem;display:flex}table.data td:before{content:attr(data-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-size:.62rem;font-weight:700}table.data td[data-label=""]:before,table.data td:first-child:before{display:none}table.data td:first-child{grid-column:1/-1;padding-right:3rem}table.data td[colspan]{grid-column:1/-1;padding-right:0}:is(table.data td.actions,table.data td:last-child:has(.row-menu)){width:auto;padding:0;position:absolute;top:.8rem;right:.8rem}table.data td[data-label=""]:not(:first-child):not(.actions){grid-column:1/-1}.cell-user{min-width:0}}@media (width<=560px){.bell-btn,.user-pill-name{display:none}.user-pill{padding:.25rem}.app-pill .avatar{display:none}.app-pill{padding:.35rem .6rem}.app-pill select{max-width:105px;font-size:.8rem}.kpi-grid,.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.kpi-card,.stat{padding:.85rem}.kpi-value{font-size:1.25rem}.list-foot{flex-direction:column;align-items:stretch}.pager{justify-content:space-between;margin-left:0}.card{padding:.9rem}}
