.dash-shell{background-color:var(--dash-bg);min-height:100vh;color:var(--dash-text);display:flex}.dash-shell *,.dash-shell :before,.dash-shell :after{box-sizing:border-box}.dash-topbar{z-index:var(--z-sticky);height:var(--dash-topbar-height);padding:0 var(--space-6);background-color:var(--dash-surface);border-bottom:1px solid var(--dash-border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.dash-sidebar{top:var(--dash-topbar-height);width:var(--dash-sidebar-width);background-color:var(--dash-surface);border-right:1px solid var(--dash-border);padding:var(--space-4) 0;z-index:var(--z-base);position:fixed;bottom:0;left:0;overflow-y:auto}.dash-sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);color:var(--dash-text-muted);transition:all var(--duration-fast) var(--ease-out);border-left:3px solid #0000;font-weight:500;text-decoration:none;display:flex}.dash-sidebar-link:hover{color:var(--dash-text);background-color:var(--dash-surface-hover)}.dash-sidebar-link--active{color:var(--dash-primary);background-color:var(--dash-primary-subtle);border-left-color:var(--dash-primary);font-weight:600}.dash-sidebar-separator{background-color:var(--dash-border);height:1px;margin:var(--space-3) var(--space-6)}.dash-main{margin-left:var(--dash-sidebar-width);min-height:calc(100vh - var(--dash-topbar-height));flex:1;margin-top:0}.dash-content{padding:var(--space-6);max-width:1400px}.dash-page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.dash-page-header h1{font-size:var(--text-xl);color:var(--dash-text);letter-spacing:var(--tracking-tight);font-weight:700}.dash-page-header__actions{gap:var(--space-3);align-items:center;display:flex}.dash-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;font-weight:500;line-height:1.5;font-family:var(--font-family);border:1px solid #0000;display:inline-flex}.dash-btn:disabled{opacity:.5;cursor:not-allowed}.dash-btn--primary{background-color:var(--dash-primary);color:#fff}.dash-btn--primary:hover:not(:disabled){background-color:var(--dash-primary-hover)}.dash-btn--outline{background-color:var(--dash-surface);color:var(--dash-text);border-color:var(--dash-border)}.dash-btn--outline:hover:not(:disabled){background-color:var(--dash-surface-hover);border-color:var(--dash-text-muted)}.dash-btn--ghost{color:var(--dash-text-muted);background-color:#0000}.dash-btn--ghost:hover:not(:disabled){background-color:var(--dash-surface-hover);color:var(--dash-text)}.dash-btn--danger{background-color:var(--dash-danger);color:#fff}.dash-btn--danger:hover:not(:disabled){background-color:#b91c1c}.dash-btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.dash-btn--icon{padding:var(--space-2);width:36px;height:36px}.dash-card{background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-md);padding:var(--space-6)}.dash-stat-card{background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-md);padding:var(--space-5)}.dash-stat-card__label{font-size:var(--text-sm);color:var(--dash-text-muted);margin-bottom:var(--space-1);font-weight:500}.dash-stat-card__value{font-size:var(--text-2xl);color:var(--dash-text);font-weight:700;line-height:1.2}.dash-table-wrapper{background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-md);overflow:hidden}.dash-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.dash-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--dash-text-muted);background-color:var(--dash-surface-hover);border-bottom:1px solid var(--dash-border);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none}.dash-table th[data-sortable=true]{cursor:pointer}.dash-table th[data-sortable=true]:hover{color:var(--dash-text)}.dash-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--dash-border-light);color:var(--dash-text);vertical-align:middle}.dash-table tbody tr:hover{background-color:var(--dash-surface-hover)}.dash-table tbody tr:last-child td{border-bottom:none}.dash-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-full);white-space:nowrap;font-weight:600;display:inline-flex}.dash-badge--draft{background-color:var(--dash-warning-subtle);color:var(--dash-warning)}.dash-badge--review{background-color:var(--dash-info-subtle);color:var(--dash-info)}.dash-badge--published{background-color:var(--dash-success-subtle);color:var(--dash-success)}.dash-badge--archived{background-color:var(--dash-surface-hover);color:var(--dash-text-muted)}.dash-badge--unread{background-color:var(--dash-danger-subtle);color:var(--dash-danger)}.dash-badge--read{background-color:var(--dash-success-subtle);color:var(--dash-success)}.dash-form-field{gap:var(--space-1);flex-direction:column;display:flex}.dash-form-field+.dash-form-field{margin-top:var(--space-4)}.dash-label{font-size:var(--text-sm);color:var(--dash-text);font-weight:500}.dash-input,.dash-textarea,.dash-select{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-family);color:var(--dash-text);background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none}.dash-input:focus,.dash-textarea:focus,.dash-select:focus{border-color:var(--dash-primary);box-shadow:0 0 0 3px var(--dash-primary-subtle)}.dash-input--error,.dash-textarea--error,.dash-select--error{border-color:var(--dash-danger)}.dash-input--error:focus,.dash-textarea--error:focus{box-shadow:0 0 0 3px var(--dash-danger-subtle)}.dash-textarea{resize:vertical;min-height:100px}.dash-error-text{font-size:var(--text-xs);color:var(--dash-danger)}.dash-hint-text{font-size:var(--text-xs);color:var(--dash-text-muted)}.dash-pagination{padding:var(--space-3) var(--space-4);border-top:1px solid var(--dash-border);font-size:var(--text-sm);color:var(--dash-text-muted);justify-content:space-between;align-items:center;display:flex}.dash-pagination__buttons{gap:var(--space-1);display:flex}.dash-filter-bar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.dash-search-input{min-width:200px;padding:var(--space-2) var(--space-3);padding-left:var(--space-8);font-size:var(--text-sm);font-family:var(--font-family);background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-sm);color:var(--dash-text);transition:border-color var(--duration-fast) var(--ease-out);outline:none;flex:1}.dash-search-input:focus{border-color:var(--dash-primary);box-shadow:0 0 0 3px var(--dash-primary-subtle)}.dash-empty{padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.dash-empty__icon{margin-bottom:var(--space-4);opacity:.4;font-size:48px}.dash-empty__title{font-size:var(--text-lg);color:var(--dash-text);margin-bottom:var(--space-2);font-weight:600}.dash-empty__text{font-size:var(--text-sm);color:var(--dash-text-muted);max-width:400px}.dash-skeleton{background:linear-gradient(90deg, var(--dash-surface-hover) 25%, var(--dash-border-light) 50%, var(--dash-surface-hover) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite dash-shimmer}@keyframes dash-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dash-toast-viewport{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:var(--z-toast);pointer-events:none;flex-direction:column;width:100%;max-width:420px;display:flex;position:fixed}.dash-toast{background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:flex-start;gap:var(--space-3);animation:dash-toast-in .2s var(--ease-out);display:flex}.dash-toast[data-state=closed]{animation:.1s ease-in dash-toast-out}.dash-toast--success{border-left:3px solid var(--dash-success)}.dash-toast--error{border-left:3px solid var(--dash-danger)}.dash-toast__title{font-size:var(--text-sm);color:var(--dash-text);font-weight:600}.dash-toast__description{font-size:var(--text-sm);color:var(--dash-text-muted);margin-top:var(--space-1)}@keyframes dash-toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes dash-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.dash-dialog-overlay{z-index:var(--z-overlay);animation:dash-overlay-in .15s var(--ease-out);background-color:#00000080;position:fixed;inset:0}.dash-dialog-overlay[data-state=closed]{animation:.1s ease-in dash-overlay-out}.dash-dialog-content{z-index:var(--z-modal);background-color:var(--dash-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-6);max-width:500px;width:calc(100% - var(--space-8));max-height:85vh;animation:dash-dialog-in .2s var(--ease-out);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dash-dialog-content[data-state=closed]{animation:.1s ease-in dash-dialog-out}.dash-dialog-title{font-size:var(--text-lg);color:var(--dash-text);margin-bottom:var(--space-2);font-weight:700}.dash-dialog-description{font-size:var(--text-sm);color:var(--dash-text-muted);margin-bottom:var(--space-6)}.dash-dialog-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}@keyframes dash-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dash-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes dash-dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dash-dialog-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.96)}}.dash-sheet-content{z-index:var(--z-modal);background-color:var(--dash-surface);width:480px;max-width:100%;box-shadow:var(--shadow-xl);padding:var(--space-6);animation:dash-sheet-in .25s var(--ease-out);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.dash-sheet-content[data-state=closed]{animation:.15s ease-in dash-sheet-out}@keyframes dash-sheet-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes dash-sheet-out{0%{transform:translate(0)}to{transform:translate(100%)}}.dash-tabs-list{border-bottom:1px solid var(--dash-border);gap:0;display:flex}.dash-tabs-trigger{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--dash-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-weight:500;font-family:var(--font-family);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.dash-tabs-trigger:hover{color:var(--dash-text)}.dash-tabs-trigger[data-state=active]{color:var(--dash-primary);border-bottom-color:var(--dash-primary);font-weight:600}.dash-tabs-content{padding:var(--space-4) 0}@media (max-width:1023px){.dash-sidebar{display:none}.dash-main{margin-left:0}.dash-content{padding:var(--space-4)}.dash-page-header h1{font-size:var(--text-lg)}.dash-dialog-content{max-width:calc(100% - var(--space-4));padding:var(--space-4)}.dash-sheet-content{width:100%}.dash-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.dash-filter-bar{flex-direction:column}.dash-search-input{width:100%}.dash-stat-grid{grid-template-columns:1fr}.dash-table-wrapper{overflow-x:auto}}.dash-stat-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.dash-grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:1023px){.dash-grid-2{grid-template-columns:1fr}}.dash-select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-family);background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-sm);cursor:pointer;min-width:140px;color:var(--dash-text);transition:border-color var(--duration-fast) var(--ease-out);outline:none;display:inline-flex}.dash-select-trigger:focus{border-color:var(--dash-primary);box-shadow:0 0 0 3px var(--dash-primary-subtle)}.dash-select-content{background-color:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);animation:dash-select-in .15s var(--ease-out);overflow:hidden}.dash-select-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer;color:var(--dash-text);outline:none}.dash-select-item[data-highlighted]{background-color:var(--dash-primary);color:#fff}@keyframes dash-select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dash-switch{background-color:var(--dash-border);border-radius:var(--radius-full);cursor:pointer;width:42px;height:24px;transition:background-color var(--duration-fast) var(--ease-out);border:none;padding:0;position:relative}.dash-switch[data-state=checked]{background-color:var(--dash-primary)}.dash-switch-thumb{border-radius:var(--radius-full);width:20px;height:20px;box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-out);background-color:#fff;display:block;transform:translate(2px)}.dash-switch-thumb[data-state=checked]{transform:translate(20px)}.dash-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite dash-spin;display:inline-block}@keyframes dash-spin{to{transform:rotate(360deg)}}.blog-category-checkboxes{gap:var(--space-2);flex-direction:column;display:flex}.blog-category-checkbox{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--dash-text);cursor:pointer;padding:var(--space-1) 0;display:flex}.blog-category-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--dash-primary);cursor:pointer}
