.cms-body{--cms-bg:#f5f6f8;--cms-panel:#fff;--cms-ink:#14171f;--cms-ink-2:#43485a;--cms-mute:#8a90a2;--cms-line:#e6e8ec;--cms-soft:#f1f2f5;--cms-accent:#14171f;--cms-good:#067647;--cms-warn:#b54708;--cms-bad:#b42318;--cms-info:#175cd3;background:var(--cms-bg);color:var(--cms-ink);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.cms-body *,.cms-body :before,.cms-body :after{box-sizing:border-box}.cms-body a{color:inherit}.cms-body h1{letter-spacing:-.01em;margin:0;font-size:22px}.cms-body h2{margin:0;font-size:14px}.cms-muted{color:var(--cms-mute);margin:4px 0 0}.cms{min-height:100vh;display:flex}.cms-nav{background:var(--cms-panel);border-right:1px solid var(--cms-line);flex-direction:column;flex:0 0 232px;gap:10px;width:232px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow:auto}.cms-brand{padding:4px 10px 8px;font-size:15px;font-weight:700}.cms-nav nav{flex-direction:column;gap:12px;display:flex}.cms-nav-group{flex-direction:column;gap:2px;display:flex}.cms-nav-label{text-transform:uppercase;letter-spacing:.06em;color:var(--cms-mute);padding:0 10px 4px;font-size:11px;font-weight:600}.cms-nav a{color:var(--cms-ink-2);border-radius:8px;padding:7px 10px;text-decoration:none;display:block}.cms-nav a:hover{background:var(--cms-soft)}.cms-nav a.on{background:var(--cms-accent);color:#fff}.cms-who{border-top:1px solid var(--cms-line);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.cms-me{flex-direction:column;padding:0 10px;display:flex}.cms-me small{color:var(--cms-mute);text-transform:capitalize}.cms-frame{flex-direction:column;flex:1;min-width:0;display:flex}.cms-top{display:none}.cms-main{padding:28px 32px 48px}.cms-page{flex-direction:column;gap:18px;max-width:1200px;display:flex}.cms-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.cms-head-actions{gap:8px;display:flex}.cms-panel{background:var(--cms-panel);border:1px solid var(--cms-line);border-radius:12px;padding:16px}.cms-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cms-grid{gap:12px;display:grid}.cms-stat{background:var(--cms-panel);border:1px solid var(--cms-line);border-radius:12px;padding:14px 16px}.cms-stat span{color:var(--cms-mute);font-size:12px;display:block}.cms-stat strong{letter-spacing:-.02em;margin-top:4px;font-size:26px;display:block}.cms-stat small{color:var(--cms-mute)}.cms-stat em{font-style:normal;font-weight:600}.cms-stat em.up{color:var(--cms-good)}.cms-stat em.down{color:var(--cms-bad)}.cms-empty{color:var(--cms-mute);text-align:center;border:1px dashed var(--cms-line);background:var(--cms-panel);border-radius:12px;padding:28px}.cms-error,.cms-ok{border-radius:8px;margin:0;padding:9px 12px}.cms-error{color:var(--cms-bad);background:#fef3f2;border:1px solid #fecdc9}.cms-ok{color:var(--cms-good);background:#ecfdf3;border:1px solid #abefc6}.cms-badge{background:var(--cms-soft);color:var(--cms-ink-2);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.cms-badge.good{color:var(--cms-good);background:#ecfdf3}.cms-badge.warn{color:var(--cms-warn);background:#fffaeb}.cms-badge.bad{color:var(--cms-bad);background:#fef3f2}.cms-badge.info{color:var(--cms-info);background:#eff8ff}.cms-btn{background:var(--cms-accent);color:#fff;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px}.cms-btn:disabled{opacity:.55;cursor:default}.cms-btn.ghost{background:var(--cms-panel);color:var(--cms-ink-2);border-color:var(--cms-line)}.cms-btn.danger{background:var(--cms-panel);color:var(--cms-bad);border-color:#fecdc9}.cms-body input,.cms-body select,.cms-body textarea{font:inherit;color:inherit;background:#fff;border:1px solid #d9dce3;border-radius:8px;width:100%;padding:8px 10px}.cms-body input[type=checkbox]{width:16px;height:16px;padding:0}.cms-body textarea{resize:vertical;min-height:110px}.cms-body label{color:var(--cms-ink-2);flex-direction:column;gap:5px;font-size:12px;display:flex}.cms-body label.cms-check{flex-direction:row;align-items:center;gap:8px}.cms-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.cms-fields .wide{grid-column:1/-1}.cms-form{flex-direction:column;gap:14px;display:flex}.cms-actions,.cms-row-actions{flex-wrap:wrap;gap:8px;display:flex}.cms-inline{grid-template-columns:2fr 1.4fr 1fr auto;gap:8px;display:grid}.cms-search{max-width:280px;margin-bottom:10px}.cms-asset{flex-direction:column;gap:8px;display:flex}.cms-asset-row{align-items:flex-start;gap:10px;display:flex}.cms-asset-preview{object-fit:cover;border:1px solid var(--cms-line);background:#fafbfc;border-radius:8px;flex:none;width:84px;height:84px;display:block}.cms-asset-preview.empty{color:var(--cms-mute);text-align:center;place-items:center;font-size:11px;display:grid}.cms-asset-acts{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.cms-asset-url{font-size:12px}.cms-asset-error{color:var(--cms-bad,#c0392b);margin:0;font-size:12px}.cms-asset-empty{color:var(--cms-mute);margin:0;font-size:12px}.cms-asset-grid{border:1px solid var(--cms-line);background:#fafbfc;border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;max-height:210px;padding:8px;display:grid;overflow-y:auto}.cms-asset-tile{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:0;line-height:0;overflow:hidden}.cms-asset-tile.on{border-color:var(--cms-accent,#2f6fed)}.cms-asset-tile img,.cms-asset-tile video{aspect-ratio:1;object-fit:cover;width:100%;display:block}.cms-table-wrap{overflow-x:auto}.cms-table{border-collapse:separate;border-spacing:0;background:var(--cms-panel);border:1px solid var(--cms-line);border-radius:12px;width:100%;overflow:hidden}.cms-table th,.cms-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #eef0f3;max-width:320px;padding:10px 12px;overflow:hidden}.cms-table th{color:var(--cms-mute);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafbfc;font-size:12px;font-weight:600}.cms-table tr:last-child td{border-bottom:0}.cms-table tr.click{cursor:pointer}.cms-table tr.click:hover td{background:#fafbfc}.cms-table tr.off td{opacity:.5}.cms-table select{width:auto;min-width:110px;padding:5px 8px}.cms-row-actions{flex-wrap:nowrap}.cms-thumb{object-fit:cover;border-radius:6px;width:36px;height:36px;display:block}.cms-chart svg{width:100%;color:var(--cms-accent);display:block}.cms-chart rect{fill:currentColor;opacity:.85}.cms-chart polyline{stroke:currentColor;stroke-width:2px}.cms-chart polygon.area{fill:currentColor;opacity:.08}.cms-chart-x{color:var(--cms-mute);justify-content:space-between;gap:4px;margin-top:6px;font-size:11px;display:flex}.cms-chart-x span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cms-drawer-bg{z-index:50;background:#14171f52;justify-content:flex-end;display:flex;position:fixed;inset:0}.cms-drawer{background:var(--cms-panel);flex-direction:column;width:min(560px,100%);height:100%;display:flex;box-shadow:-20px 0 40px -20px #00000040}.cms-drawer header{border-bottom:1px solid var(--cms-line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.cms-drawer-body{padding:18px;overflow:auto}.cms-once{background:#fffaeb;border:1px solid #fedf89;border-radius:12px;gap:6px;padding:14px 16px;display:grid}.cms-once code{letter-spacing:.04em;font-size:16px;font-weight:600}.cms-gate{place-items:center;min-height:100vh;padding:16px;display:grid}.cms-card{background:var(--cms-panel);border:1px solid var(--cms-line);border-radius:14px;gap:12px;width:min(360px,100%);padding:26px;display:grid}@media (max-width:820px){.cms-nav{z-index:40;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:20px 0 40px -20px #0003}.cms.menu-open .cms-nav{transform:none}.cms-top{background:var(--cms-panel);border-bottom:1px solid var(--cms-line);z-index:30;align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:flex;position:sticky;top:0}.cms-main{padding:18px 16px 40px}.cms-head{flex-direction:column;align-items:flex-start}.cms-inline{grid-template-columns:1fr}}
