:root{--bg-canvas:#f6f7f9;--bg-surface:#ffffff;--bg-surface-sunken:#eef0f3;--border:#dde1e6;--text-primary:#161b22;--text-secondary:#5b6470;--text-muted:#8a93a0;--accent:#3452e1;--accent-hover:#2a41bc;--status-draft:#8a93a0;--status-scheduled:#b7791f;--status-published:#1a7f5a;--status-archived:#8a93a0;--status-error:#c4331f;--radius-sm:6px;--radius-md:8px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Public Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-canvas);color:var(--text-primary);font-size:14px}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}.mono,code{font-family:IBM Plex Mono,monospace}.topbar{height:56px;background:var(--bg-surface);border-bottom:1px solid var(--border);justify-content:space-between;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:20}.site-switch,.topbar{display:flex;align-items:center}.site-switch{gap:8px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;border:none;background:none;color:inherit;transition:background .14s}.site-switch:hover{background:var(--bg-surface-sunken)}.swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.site-switch .name{font-weight:600;font-size:14px}.chev{font-size:10px}.chev,.crumb{color:var(--text-muted)}.crumb{font-size:13px;display:flex;align-items:center;gap:6px}.crumb a{color:var(--text-secondary);cursor:pointer}.search{flex:1 1;max-width:360px;margin:0 24px;position:relative}.search input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-sunken);font-family:inherit;font-size:13px;color:var(--text-primary)}.search input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);background:#fff}.search:before{content:"\2315";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px}.user{gap:10px;font-size:13px;color:var(--text-secondary);cursor:pointer;border:none;background:none}.avatar,.user{display:flex;align-items:center}.avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-surface-sunken);justify-content:center;font-size:12px;font-weight:600;color:var(--text-primary);flex-shrink:0}.shell{display:flex;padding-top:56px;min-height:100vh}.sidebar{width:200px;background:var(--bg-surface);border-right:1px solid var(--border);position:fixed;top:56px;bottom:0;left:0;padding:16px 12px;display:flex;flex-direction:column;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-secondary);font-weight:500;margin-bottom:2px;cursor:pointer;transition:background .14s,color .14s}.nav-item:hover{background:var(--bg-surface-sunken);color:var(--text-primary)}.nav-item.active{background:rgba(52,82,225,.08);color:var(--accent)}.nav-item .ic{width:16px;text-align:center;font-size:14px}.nav-divider{height:1px;background:var(--border);margin:12px 4px}.main{margin-left:200px;flex:1 1;padding:32px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}h1{font-size:28px}h1,h2{font-weight:600}h2{font-size:17px}h3{font-weight:700;text-transform:uppercase;letter-spacing:.03em}.head-sub,h3{font-size:13px;color:var(--text-secondary)}.head-sub{margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .14s ease-out;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;border-color:var(--border);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--status-error);border-color:transparent}.btn-ghost:hover{background:rgba(196,51,31,.06)}.btn-block{width:100%;margin-bottom:8px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:13px;color:var(--text-secondary);cursor:pointer}.filter-chip:hover{border-color:var(--accent);color:var(--text-primary)}.filter-chip select{border:none;background:transparent;font-family:inherit;font-size:13px;color:inherit;cursor:pointer}.filter-chip select:focus{outline:none}table{width:100%;border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}thead th{text-align:left;font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:12px 16px;background:var(--bg-surface-sunken)}tbody tr,thead th{border-bottom:1px solid var(--border)}tbody tr{cursor:pointer;transition:background .12s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:rgba(52,82,225,.03)}tbody td{padding:13px 16px;height:48px;vertical-align:middle;font-size:13.5px}.title-cell{font-weight:600;color:var(--text-primary)}.title-sub{font-size:12px;color:var(--text-muted);margin-top:2px;font-family:IBM Plex Mono,monospace}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%}.badge-draft{background:rgba(138,147,160,.12);color:#5b6470}.badge-draft .dot{background:var(--status-draft)}.badge-scheduled{background:rgba(183,121,31,.12);color:#8a5a17}.badge-scheduled .dot{background:var(--status-scheduled)}.badge-published{background:rgba(26,127,90,.12);color:#1a7f5a}.badge-published .dot{background:var(--status-published)}.badge-archived{background:rgba(138,147,160,.12);color:var(--text-muted);text-decoration:line-through}.badge-archived .dot{background:var(--status-archived)}.badge-error,.badge-failed{background:rgba(196,51,31,.1);color:var(--status-error)}.badge-error .dot,.badge-failed .dot{background:var(--status-error)}.badge-pending,.badge-processing{background:rgba(52,82,225,.1);color:var(--accent)}.badge-pending .dot,.badge-processing .dot{background:var(--accent)}.badge-active{background:rgba(26,127,90,.12);color:#1a7f5a}.badge-active .dot{background:var(--status-published)}.badge-inactive,.badge-invited,.badge-paused,.badge-suspended{background:rgba(138,147,160,.12);color:var(--text-secondary)}.badge-inactive .dot,.badge-invited .dot,.badge-paused .dot,.badge-suspended .dot{background:var(--status-draft)}.type-chip{background:var(--bg-surface-sunken);color:var(--text-secondary);padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap}.row-actions{display:flex;gap:4px;opacity:0;transition:opacity .12s;justify-content:flex-end}tbody tr:hover .row-actions{opacity:1}.icon-btn{width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;cursor:pointer;border:none;background:none}.icon-btn.active,.icon-btn:hover{background:var(--bg-surface-sunken);color:var(--text-primary)}.view-toggle{gap:4px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.stat-card .num{font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:500;margin-bottom:4px}.stat-card .label{font-size:12.5px;color:var(--text-secondary)}.stat-card.published .num{color:var(--status-published)}.stat-card.scheduled .num{color:var(--status-scheduled)}.stat-card.draft .num{color:var(--status-draft)}.cols{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:20px;gap:20px}@media (max-width:900px){.cols{grid-template-columns:1fr}}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:20px}.panel:last-child{margin-bottom:0}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-dot{width:6px;height:6px;border-radius:50%;margin-top:6px;flex-shrink:0}.activity-text{font-size:13.5px;line-height:1.5}.activity-time{font-size:12px;color:var(--text-muted);margin-top:2px}.quick-link{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:10px;cursor:pointer;transition:all .14s ease-out;background:none;font:inherit;width:100%;text-align:left;color:inherit}.quick-link:hover{border-color:var(--accent);background:rgba(52,82,225,.04)}.quick-link .ic{width:28px;height:28px;border-radius:6px;background:var(--bg-surface-sunken);display:flex;align-items:center;justify-content:center;font-size:14px}.quick-link .ql-text{font-size:13.5px;font-weight:500}.editor-shell{min-height:100vh;background:var(--bg-canvas)}.editor-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:56px;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.editor-header-left,.editor-header-right{display:flex;align-items:center;gap:12px}.editor-header-dots{display:flex;align-items:center;gap:7px}.header-dot{width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;transition:transform .12s}.header-dot:hover{transform:scale(1.3)}.header-dot.complete{background:var(--status-published)}.header-dot.incomplete{background:var(--status-scheduled)}.editor-header-back{font-size:18px;color:var(--text-secondary);padding:4px 6px;border-radius:var(--radius-sm)}.editor-header-back:hover{background:var(--bg-surface-sunken);color:var(--text-primary)}.btn-icon{border:1.5px solid var(--border);background:var(--bg-surface);width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-secondary);padding:0}.btn-icon:hover{background:var(--bg-surface-sunken)}.btn-icon.active{background:rgba(52,82,225,.08);border-color:var(--accent);color:var(--accent)}.editor-body{display:flex;gap:20px;width:100%;margin:0 auto;padding:20px 24px 60px;align-items:flex-start}.col-main{flex:1 1;min-width:0}.editor-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px 20px}.permalink-field{margin-top:4px}.permalink{display:flex;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text-muted);background:var(--bg-surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.permalink span{overflow-wrap:anywhere}.permalink-edit{border:none;background:none;color:var(--accent);font-family:Public Sans,sans-serif;font-size:12px;font-weight:600;flex-shrink:0}.top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.type-badge{background:var(--bg-surface-sunken);color:var(--text-secondary);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.lock-note{font-size:11.5px;color:var(--text-muted)}.field{margin-bottom:14px}label{display:block;font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;font-size:14px;color:var(--text-primary);background:var(--bg-surface);transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(52,82,225,.12)}.title-input{font-size:34px;font-weight:700;padding:8px 0;border:none;border-bottom:2px solid transparent;border-radius:0}.title-input:focus{border-bottom-color:var(--accent);box-shadow:none}.slug-row{display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:13px;background:var(--bg-surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px}.slug-row,.slug-row .base{color:var(--text-muted)}.slug-row input{font-family:IBM Plex Mono,monospace;font-size:13px;padding:6px 8px;width:auto;flex:1 1}textarea{min-height:80px;resize:vertical;line-height:1.5}.body-editor-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.body-editor-wrap .mdxeditor{font-family:inherit}.body-editor-wrap .body-editor{min-height:calc(100vh - 440px);padding:14px 16px;line-height:1.6}.helper{color:var(--text-muted)}.field-error,.helper{font-size:12px;margin-top:5px}.field-error{color:var(--status-error)}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input[type=checkbox]{width:auto}.section-card{background:var(--bg-surface-sunken);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:16px}.section-card h3{margin-bottom:14px}.steps-group{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:12px}.steps-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.steps-group-head .step-num{font-size:12px;font-weight:700;color:var(--accent)}.steps-group-head .remove{font-size:12px;color:var(--status-error)}.add-step,.steps-group-head .remove{cursor:pointer;background:none;border:none}.add-step{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent)}.col-rail{width:340px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;padding-bottom:8px}.rail-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px}.rail-panel h3{margin-bottom:14px}.summary-panel{font-size:12.5px;color:var(--text-secondary);background:var(--bg-surface-sunken);line-height:1.6}.status-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.rail-field{margin-bottom:14px}.rail-field label{font-size:11.5px}.rail-field-pair{display:flex;gap:10px}.rail-field-pair .rail-field{flex:1 1;min-width:0}.collapsible{padding:0;overflow:hidden}.col-main>.collapsible{margin-top:20px}.collapsible-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:12px 16px;text-align:left}.collapsible-head h3{margin-bottom:0}.collapsible-chevron{color:var(--text-muted);transition:transform .14s}.collapsible-chevron.open{transform:rotate(180deg)}.collapsible-body{padding:0 16px 14px}.collapsible-body .field:last-child,.collapsible-body .rail-field:last-child{margin-bottom:0}.rail-field-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:6px}.rail-field-label{font-size:12.5px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.rail-field-value{font-size:13px;color:var(--text-primary);text-align:right;background:none;border:none;padding:0}.rail-field-value.link{color:var(--accent);cursor:pointer}.rail-field-value.mono{font-family:IBM Plex Mono,monospace;font-size:12px;word-break:break-all}.category-list{max-height:180px;overflow-y:auto;border-radius:var(--radius-sm);padding:4px 8px}.category-list-item{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:13px;font-weight:400;margin-bottom:0;cursor:pointer}.category-list-item input{width:auto}.seo-preview{margin-bottom:16px}.seo-snippet{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;background:var(--bg-surface)}.seo-snippet-url{font-size:12px;color:var(--text-muted);margin-bottom:2px}.seo-snippet-title{font-size:15px;color:#1a0dab;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seo-snippet-desc{font-size:12.5px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seo-checks{display:flex;flex-direction:column;gap:4px}.seo-check-row{font-size:12px;display:flex;align-items:center;gap:6px}.seo-check-row.ok{color:var(--status-published)}.seo-check-row.warn{color:var(--status-scheduled)}.rail-field:last-child{margin-bottom:0}.thumb-picker{border:1.5px dashed var(--border);border-radius:8px;padding:20px;text-align:center;cursor:pointer;color:var(--text-muted);font-size:12.5px;background:none;width:100%}.thumb-picker:hover{border-color:var(--accent);color:var(--accent)}.thumb-preview{width:100%;height:120px;border-radius:8px;background:linear-gradient(135deg,#dde1e6,#eef0f3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;margin-bottom:8px;overflow:hidden}.thumb-preview img{width:100%;height:100%;object-fit:cover}.tag-input-wrap{display:flex;flex-wrap:wrap;gap:6px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px}.tag-input-wrap input{border:none;padding:3px 4px;flex:1 1;min-width:80px}.tag-input-wrap input:focus{box-shadow:none}.tag{display:inline-flex;align-items:center;gap:5px;background:rgba(52,82,225,.08);color:var(--accent);padding:3px 9px;border-radius:999px;font-size:12px;font-weight:500}.tag button{background:none;border:none;color:inherit;font-size:11px;line-height:1;cursor:pointer}.char-count{font-size:11px;color:var(--text-muted);text-align:right;margin-top:4px}.upload-zone{border:1.5px dashed var(--border);border-radius:10px;padding:24px;text-align:center;color:var(--text-muted);font-size:13px;margin-bottom:20px;cursor:pointer;transition:all .14s}.upload-zone:hover{border-color:var(--accent);color:var(--accent);background:rgba(52,82,225,.02)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.view-btn{padding:7px 12px;font-size:13px;cursor:pointer;color:var(--text-secondary);background:none;border:none}.view-btn.active{background:var(--bg-surface-sunken);color:var(--text-primary);font-weight:600}.grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:14px;gap:14px}@media (max-width:1100px){.grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:700px){.grid{grid-template-columns:repeat(2,1fr)}}.asset{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .14s;text-align:left}.asset.selected{box-shadow:0 0 0 2px rgba(52,82,225,.2)}.asset.selected,.asset:hover{border-color:var(--accent)}.thumb{aspect-ratio:1;background:linear-gradient(135deg,#dde1e6,#eef0f3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;position:relative;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .processing-overlay{position:absolute;inset:0;background:rgba(246,247,249,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--text-secondary);font-weight:600}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.asset-meta{padding:8px 10px}.a-name{font-size:11.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a-dims{font-size:10.5px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;margin-top:2px}.status-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%}.status-dot.ready{background:var(--status-published)}.status-dot.failed{background:var(--status-error)}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:48px 40px;width:380px;box-shadow:0 4px 24px rgba(22,27,34,.06);text-align:center}.logo,.mark{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent);margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.card .sub{font-size:14px;color:var(--text-secondary);margin-bottom:32px;line-height:1.5}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:#fff;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .14s ease-out}.google-btn:hover{border-color:var(--accent);background:var(--bg-surface-sunken)}.footnote{margin-top:24px;font-size:12.5px;color:var(--text-muted)}.error-banner{margin-bottom:20px;padding:12px 14px;border-radius:var(--radius-sm);background:rgba(196,51,31,.08);border:1px solid rgba(196,51,31,.25);color:var(--status-error);font-size:13px;text-align:left;line-height:1.4}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}.brand .mark{margin:0}.wrap{margin-top:56px;padding:24px 32px}.sub{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.site-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.site-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:all .14s ease-out;text-align:left;box-shadow:0 1px 2px rgba(22,27,34,.04)}.site-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(52,82,225,.08);transform:translateY(-1px)}.site-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.site-name{font-size:16px;font-weight:600}.site-domain{font-size:12.5px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;margin-bottom:16px}.stats{display:flex;gap:16px;padding-top:14px;border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column;gap:2px}.stat-num{font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:500}.stat-num.published{color:var(--status-published)}.stat-num.scheduled{color:var(--status-scheduled)}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.admin-link{margin-top:36px;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.admin-link:hover{color:var(--accent)}.empty-state{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:48px 24px;text-align:center;color:var(--text-secondary)}.empty-state p{margin-bottom:16px;font-size:13.5px}.link-button{background:none;border:none;padding:0;color:var(--text-primary);font:inherit;cursor:pointer;text-align:left}.link-button:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(22,27,34,.4);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--bg-surface);border-radius:12px;width:100%;max-width:920px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 48px rgba(22,27,34,.2)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-body{padding:20px;overflow-y:auto}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;bottom:24px;right:24px;background:var(--text-primary);color:#fff;padding:12px 18px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;box-shadow:0 8px 24px rgba(22,27,34,.2);z-index:200}.toast.error{background:var(--status-error)}.category-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.category-row:last-child{border-bottom:none}.category-list{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px}.loading-row{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.col-list{flex:1 1}.col-form{width:340px;flex-shrink:0}.form-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:20px;position:-webkit-sticky;position:sticky;top:88px}.form-panel h2{margin-bottom:16px}.cat-tree{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.cat-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);transition:background .12s}.cat-row:last-child{border-bottom:none}.cat-row:hover{background:rgba(52,82,225,.03)}.cat-row.child{padding-left:44px}.cat-name{font-weight:600;flex:1 1}.cat-count{font-size:12.5px;color:var(--text-muted);font-family:IBM Plex Mono,monospace}.type-tags{display:flex;gap:4px;flex-wrap:wrap}.type-tag{background:var(--bg-surface-sunken);color:var(--text-secondary);font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap}.cat-actions{display:flex;gap:4px}.type-checks{display:flex;flex-wrap:wrap;gap:6px}.type-check{display:flex;align-items:center;gap:5px;background:var(--bg-surface-sunken);padding:5px 10px;border-radius:999px;font-size:12.5px;cursor:pointer;border:none;color:var(--text-secondary)}.type-check.selected{background:var(--accent);color:#fff}.form-btn{width:100%;padding:10px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;cursor:pointer;border:1.5px solid transparent}.form-btn.primary{background:var(--accent);color:#fff;margin-bottom:8px}.form-btn.primary:hover{background:var(--accent-hover)}.form-btn.secondary{background:#fff;border-color:var(--border);color:var(--text-primary)}.global-tag{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;border:none;background:none;color:inherit}.global-tag:hover{background:var(--bg-surface-sunken)}.badge-global{background:rgba(52,82,225,.1);color:var(--accent);font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;text-transform:uppercase}.back-link{font-size:13px;color:var(--text-secondary);cursor:pointer}.author-cell,.user-cell{display:flex;align-items:center;gap:10px}.a-avatar,.access-avatar,.u-avatar{border-radius:50%;background:linear-gradient(135deg,#3452e1,#8a93a0);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.a-avatar{width:32px;height:32px;font-size:12px}.u-avatar{width:30px;height:30px;font-size:11.5px}.access-avatar{width:26px;height:26px;font-size:10.5px}.a-name,.u-name{font-weight:600}.a-title,.u-email{font-size:12px;color:var(--text-muted)}.u-email{font-family:IBM Plex Mono,monospace}.status-chip{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.status-active{background:rgba(26,127,90,.12);color:#1a7f5a}.status-inactive{background:rgba(138,147,160,.15);color:var(--text-muted)}.status-invited{background:rgba(183,121,31,.12);color:#8a5a17}.status-suspended{background:rgba(196,51,31,.12);color:#c4331f}.status-paused{background:rgba(183,121,31,.12);color:#8a5a17}.status-archived{background:rgba(138,147,160,.15);color:var(--text-muted)}.super-badge{background:rgba(52,82,225,.1);color:var(--accent);font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;text-transform:uppercase}.sites-chips{display:flex;gap:4px;flex-wrap:wrap}.site-chip{display:flex;align-items:center;gap:4px;background:var(--bg-surface-sunken);font-size:11px;padding:2px 7px;border-radius:999px;color:var(--text-secondary)}.site-chip .dot{width:5px;height:5px;border-radius:50%}.count{font-family:IBM Plex Mono,monospace;font-size:13px}.site-cell{display:flex;align-items:center;gap:8px;font-weight:600}.domain{font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--text-secondary)}.form-wrap{width:100%;max-width:720px}.form-wrap>h1{margin-bottom:24px}.form-wrap>.error-banner{margin-bottom:20px}.head-row{gap:14px;margin-bottom:28px}.big-avatar,.head-row{display:flex;align-items:center}.big-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3452e1,#8a93a0);justify-content:center;color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.panel h2{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.cred-row{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;margin-bottom:10px;align-items:center}.cred-remove{color:var(--status-error);font-size:12px}.add-link,.cred-remove{cursor:pointer;background:none;border:none}.add-link{font-size:13px;font-weight:600;color:var(--accent)}.mono-input{font-family:IBM Plex Mono,monospace;font-size:13px}.actions{display:flex;gap:10px;margin-top:8px}.btn-danger{background:#fff;border-color:rgba(196,51,31,.3);color:var(--status-error)}.btn-danger:hover{background:rgba(196,51,31,.06)}.switch{width:38px;height:22px;border-radius:999px;position:relative;cursor:pointer;flex-shrink:0;border:none}.switch.on{background:var(--accent)}.switch.off{background:var(--border)}.switch:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:2px}.switch.on:after{right:2px}.switch.off:after{left:2px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.toggle-row:not(:last-child){border-bottom:1px solid var(--border)}.toggle-label{font-size:13.5px;font-weight:500}.toggle-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.access-row,.site-access-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.access-row:last-child,.site-access-row:last-child{border-bottom:none}.access-name,.sa-name{font-weight:600;font-size:13px;flex:1 1}.role-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-size:12.5px;font-family:inherit;color:var(--text-primary);width:auto}.remove-link{font-size:12.5px;color:var(--status-error);cursor:pointer;background:none;border:none}.color-row{display:flex;align-items:center;gap:10px}.swatch-lg{width:32px;height:32px;border-radius:8px;flex-shrink:0}.api-key-row{display:flex;align-items:center;gap:10px;background:var(--bg-surface-sunken);border-radius:var(--radius-sm);padding:10px 12px}.api-key-row .key{flex:1 1;font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--text-secondary);word-break:break-all}.regen-link{font-size:12.5px;font-weight:600;color:var(--accent);cursor:pointer;background:none;border:none;white-space:nowrap}.slug{font-family:IBM Plex Mono,monospace;font-size:12.5px}.old-slug{text-decoration:line-through}.arrow,.old-slug{color:var(--text-muted)}.arrow{margin:0 8px}.target-link{color:var(--accent);font-weight:500}.origin-chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px}.origin-system{background:var(--bg-surface-sunken);color:var(--text-muted)}.origin-manual{background:rgba(52,82,225,.1);color:var(--accent)}.delete-btn{color:var(--status-error);font-size:12.5px;font-weight:600;cursor:pointer;background:none;border:none}.delete-btn:hover{text-decoration:underline}.pill-select{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;background:var(--bg-surface)}.dropzone{border:2px dashed var(--border);border-radius:10px;padding:44px 24px;text-align:center;cursor:pointer;transition:all .14s ease-out;margin-bottom:20px}.dropzone.active,.dropzone:hover{border-color:var(--accent);background:rgba(52,82,225,.03)}.dropzone .ic{font-size:28px;color:var(--text-muted);margin-bottom:10px}.dropzone .main-txt{font-size:14px;font-weight:600;margin-bottom:4px}.dropzone .sub-txt{font-size:12.5px;color:var(--text-muted)}.dropzone .browse{color:var(--accent);font-weight:600}.queue-list{display:flex;flex-direction:column;gap:10px}.queue-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.q-thumb{width:40px;height:40px;border-radius:6px;background:linear-gradient(135deg,#dde1e6,#eef0f3);flex-shrink:0;object-fit:cover}.q-info{flex:1 1;min-width:0}.q-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-meta{font-size:11.5px;color:var(--text-muted);margin-top:2px}.q-progress-track{height:4px;background:var(--bg-surface-sunken);border-radius:999px;margin-top:6px;overflow:hidden}.q-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .14s ease-out}.q-status{font-size:11.5px;font-weight:600;flex-shrink:0}.q-status.uploading{color:var(--accent)}.q-status.done{color:var(--status-published)}.q-status.error{color:var(--status-error)}.media-detail-layout{display:flex;gap:24px}.col-preview{flex:1 1;min-width:0}.preview-frame{background:linear-gradient(135deg,#dde1e6,#eef0f3);border:1px solid var(--border);border-radius:10px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;margin-bottom:16px;overflow:hidden}.preview-frame img{width:100%;height:100%;object-fit:contain}.preview-img{opacity:0;transition:opacity .18s ease}.preview-img.loaded{opacity:1}.variant-strip{display:flex;gap:10px;flex-wrap:wrap}.variant-chip{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-family:IBM Plex Mono,monospace;color:var(--text-secondary)}.variant-chip a,.variant-chip button{color:var(--accent);font-family:Public Sans,sans-serif;font-weight:600;margin-left:4px;cursor:pointer;background:none;border:none;padding:0;font-size:12px}.variant-chip.active{border-color:var(--accent)}.variant-chip.active,.variant-chip.active button{color:var(--text-primary)}.preview-url-row{display:flex;align-items:center;gap:8px;margin-top:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.preview-url-row input{flex:1 1;min-width:0;border:none;background:none;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-secondary)}.preview-url-row input:focus{outline:none}.col-detail{width:340px;flex-shrink:0}.meta-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px}.meta-row:last-child{border-bottom:none}.meta-label{color:var(--text-muted)}.meta-value{font-weight:500;font-family:IBM Plex Mono,monospace;font-size:12px}.usage-item{display:block;width:100%;text-align:left;font-size:12.5px;color:var(--accent);padding:6px 0;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-family:inherit}.usage-item:last-child{border-bottom:none}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .14s;padding:0}.color-swatch.selected{border-color:var(--text-primary);transform:scale(1.08)}.danger-panel{border-color:rgba(196,51,31,.25);background:rgba(196,51,31,.03)}.danger-panel h2{color:var(--status-error)}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.danger-desc{font-size:12.5px;color:var(--text-secondary);max-width:340px}.center-row{display:flex;justify-content:center;padding:40px 32px}