:root{--color-primary: #e07356;--color-primary-hover: #c45a3c;--color-primary-light: rgba(224, 115, 86, .1);--color-primary-text: #ffffff;--color-bg: #f0f2f5;--color-surface-hover: rgba(0, 0, 0, .05);--color-surface-solid: #ffffff;--color-text: #1a1a2e;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: rgba(0, 0, 0, .2);--color-border-light: rgba(0, 0, 0, .07);--color-success: #16a34a;--color-success-light: rgba(22, 163, 74, .1);--color-warning: #ea580c;--color-warning-light: rgba(234, 88, 12, .1);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: rgba(220, 38, 38, .1);--color-info: #2563eb;--color-info-light: rgba(37, 99, 235, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-bg-strong: rgba(255, 255, 255, .95);--glass-bg-subtle: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .5);--glass-blur: 12px;--glass-shadow: 0 1px 4px rgba(0, 0, 0, .06);--overlay-bg: rgba(0, 0, 0, .3);--overlay-bg-dark: rgba(0, 0, 0, .85);--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--control-sm: 1.25rem;--control-md: 1.75rem;--control-lg: 2.5rem;--input-height: 2.5rem;--input-height-sm: 2.25rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-root: 16px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .625rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 6px 12px rgba(0, 0, 0, .05);--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--sidebar-mobile-width: 300px;--content-max-width: 1600px;--designer-panel-left: 220px;--designer-panel-left-collapsed: 48px;--designer-panel-right: 300px;--designer-toolbar-height: 52px;--designer-canvas-padding: 40px;--designer-panel-transition: width .25s ease;--designer-scrollbar-size: 10px;--designer-scrollbar-thumb: rgba(0, 0, 0, .25);--designer-scrollbar-thumb-hover: rgba(0, 0, 0, .4);--designer-grid-size: 20px;--designer-border: rgba(0, 0, 0, .06);--designer-border-subtle: rgba(0, 0, 0, .04);--designer-hover-bg: rgba(0, 0, 0, .02);--designer-surface: rgba(255, 255, 255, .7);--designer-surface-strong: rgba(255, 255, 255, .92);--designer-dot-grid: rgba(0, 0, 0, .18);--designer-shadow-strong: rgba(0, 0, 0, .12);--designer-selection-glow: rgba(200, 149, 108, .15);--designer-handle-size: 12px;--designer-font-tiny: 10px;--designer-font-micro: 9px;--designer-toolbar-name-max: 180px;--login-card-width: 440px;--settings-max-width: 700px;--profile-card-width: 600px;--modal-max-width: 500px;--modal-xl-max-width: 800px;--table-min-width: 600px;--public-link-max-width: 300px;--grid-min-content: 200px;--grid-min-card: 280px;--icon-btn-size: 36px;--icon-btn-size-sm: 28px;--icon-btn-size-lg: 44px;--color-swatch-size: 32px;--property-input-sm: 60px;--property-input-md: 80px;--property-input-lg: 100px;--empty-state-icon-size: 48px;--empty-state-max-width: 320px;--toolbar-divider-height: 24px;--toolbar-zoom-width: 40px;--toolbar-left-min-height: 44px;--sidebar-icon-size: 20px;--sidebar-toggle-size: 32px;--mobile-btn-size: 40px;--status-dot-size: 8px;--action-btn-size: 32px;--page-preview-height: 200px;--page-num-size: 18px;--duration-input-width: 60px;--add-page-preview-width: 48px;--add-page-preview-height: 32px;--error-icon-size: 64px;--playlist-duration-width: 80px;--textarea-min-height: 100px;--scrollbar-size: 6px;--page-header-mobile-indent: 48px;--blur-modal-backdrop: 8px;--blur-modal: 16px;--blur-login: 16px;--z-sidebar: 100;--z-dropdown: 200;--z-modal-backdrop: 300;--z-modal: 310;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-root);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh}textarea{resize:vertical}.divider{border-bottom:1px solid var(--color-border-light);margin:var(--space-lg) 0}.divider-accent{border-bottom:2px solid var(--color-primary)}::selection{background-color:var(--color-primary);color:var(--color-primary-text)}img,video{display:block;max-width:100%}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-sm{font-size:var(--font-size-xs)}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.text-success{color:var(--color-success)}.spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .6s linear infinite}.page{padding:var(--space-md) 0}.page-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-3xl) 0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.page-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}@media(max-width:768px){.page-header{padding-left:var(--space-sm);padding-right:var(--space-sm);gap:var(--space-lg)}}@media(max-width:350px){.page-header{flex-direction:column;align-items:center;gap:var(--space-md)}.page-header h1{font-size:var(--font-size-xl)}.page-header .btn{width:100%}}[data-solid-toast]{font-family:var(--font-family);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-xl)}.access-denied-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center;color:var(--color-text-muted)}.access-denied-content h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.access-denied-content p{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--radius-full);white-space:nowrap}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-info{background-color:var(--color-info-light);color:var(--color-info)}.badge-neutral{background-color:var(--color-bg);color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-text)}.btn-secondary{background-color:var(--glass-bg);color:var(--color-text);border-color:var(--glass-border);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.btn-secondary:hover{background-color:var(--color-surface-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.btn-danger{background-color:var(--color-danger);color:var(--color-primary-text);border-color:var(--color-danger)}.btn-danger:hover{opacity:.9}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-md)}.btn-icon{padding:var(--space-sm);width:var(--icon-btn-size);height:var(--icon-btn-size)}.btn-icon.btn-sm{padding:var(--space-xs);width:var(--icon-btn-size-sm);height:var(--icon-btn-size-sm)}.btn-icon.btn-lg{padding:var(--space-md);width:var(--icon-btn-size-lg);height:var(--icon-btn-size-lg)}.btn-loading{display:inline-flex;align-items:center;letter-spacing:2px;animation:btn-pulse 1s ease-in-out infinite}@keyframes btn-pulse{0%,to{opacity:.4}50%{opacity:1}}.btn-danger-text:hover{color:var(--color-danger);background-color:var(--color-danger-light)}.card{display:flex;flex-direction:column;background-color:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.card-body{padding:var(--space-md) var(--space-lg);flex:1}.card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light)}.card-footer-action{padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--color-border-light);border-radius:0;display:flex;align-items:center;gap:var(--space-xs)}.glass-card{background-color:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-xl)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-card),1fr));gap:var(--space-md)}.card-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.card-actions{display:flex;gap:var(--space-xs)}.card-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-lg);text-align:center}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:var(--empty-state-icon-size);height:var(--empty-state-icon-size);margin-bottom:var(--space-md);color:var(--color-text-muted)}.empty-state-message{font-size:var(--font-size-md);color:var(--color-text-secondary);max-width:var(--empty-state-max-width);line-height:var(--line-height-normal)}.empty-state-action{margin-top:var(--space-lg)}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg);padding:var(--space-xl)}.error-boundary-card{max-width:480px;width:100%;border-top:3px solid var(--color-primary)}.error-boundary-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.error-boundary-header-icon{color:var(--color-primary);flex-shrink:0}.error-boundary-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.error-boundary-message{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);margin-bottom:var(--space-lg)}.error-boundary-details{margin-bottom:var(--space-lg)}.error-boundary-details-toggle{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-xs) 0}.error-boundary-details-toggle:hover{color:var(--color-text-secondary)}.error-boundary-code{margin-top:var(--space-sm);padding:var(--space-md);background:var(--color-surface-hover);border-radius:var(--radius-md);font-family:monospace;font-size:var(--font-size-xs);color:var(--color-danger);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg);padding:var(--space-xl)}.not-found-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px}.not-found-code{font-size:8rem;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1;opacity:.15;margin-bottom:var(--space-sm)}.not-found-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-sm)}.not-found-message{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.not-found-actions,.error-boundary-actions{display:flex;gap:var(--space-sm)}.form-field{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-xs)}.form-input{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled{background-color:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.form-input-error{border-color:var(--color-danger)}.form-input-error:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.form-select{width:100%;padding:var(--space-sm) var(--space-md);padding-right:var(--space-2xl);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;background-size:var(--sidebar-icon-size);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:var(--textarea-min-height);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group{display:flex;flex-direction:row;gap:var(--space-md)}.form-row{display:flex;gap:var(--space-md)}.form-row>*{flex:1}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-md)}.form-warning{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.form-warning p{margin:0 0 var(--space-xs)}.form-warning p:last-child{margin-bottom:0}.missing-links-list{margin:var(--space-xs) 0;padding-left:var(--space-lg)}.missing-links-list li{margin-bottom:var(--space-2xs)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap .form-input{padding-right:var(--space-2xl);width:100%}.password-input-toggle{position:absolute;right:var(--space-sm);background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-xs);display:flex;align-items:center}.password-input-toggle:hover{color:var(--color-text)}.password-requirements{list-style:none;padding:0;margin:var(--space-xs) 0 0;display:flex;flex-direction:column;gap:2px}.password-req{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.password-req-pass{color:var(--color-success)}.password-req-fail{color:var(--color-danger)}.password-generate-row{display:flex;gap:var(--space-sm);align-items:center}.password-generate-row .password-input-wrap{flex:1}.file-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);background-color:var(--color-surface-solid);border:2px dashed var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.file-upload-zone:hover{border-color:var(--color-primary)}.file-upload-zone-active{background-color:var(--color-primary-light);border-color:var(--color-primary)}.file-upload-uploading{pointer-events:none;opacity:.7;border-style:solid;border-color:var(--color-primary)}.file-upload-progress{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-primary)}.file-upload-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.form-group,.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-bg);backdrop-filter:blur(var(--blur-modal-backdrop));-webkit-backdrop-filter:blur(var(--blur-modal-backdrop));z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center}.modal{position:relative;z-index:var(--z-modal);background-color:var(--glass-bg-strong);backdrop-filter:blur(var(--blur-modal));-webkit-backdrop-filter:blur(var(--blur-modal));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);width:100%;max-width:var(--modal-max-width);max-height:90vh;overflow-y:auto;margin:var(--space-md)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.modal-close{display:flex;align-items:center;justify-content:center;width:var(--icon-btn-size);height:var(--icon-btn-size);border:none;background:none;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.modal-body{padding:var(--space-lg)}.modal-body+.modal-footer{padding-top:var(--space-sm)}.modal-body .form-field:last-child{margin-bottom:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg)}.modal-actions{display:flex;align-items:center;gap:var(--space-md)}.modal-xl{max-width:var(--modal-xl-max-width)}.modal-actions{display:flex;gap:var(--space-sm)}.modal-enter{animation:modal-fade-in var(--transition-normal) forwards}.modal-enter .modal{animation:modal-scale-in var(--transition-normal) forwards}.modal-leave{animation:modal-fade-out var(--transition-fast) forwards}.modal-leave .modal{animation:modal-scale-out var(--transition-fast) forwards}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modal-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media(max-width:640px){.modal{max-width:calc(100% - var(--space-lg));margin:var(--space-md)}}@media(max-width:350px){.modal{max-width:100%;max-height:100vh;height:100vh;margin:0;border-radius:0}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.search-input{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background-color:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);transition:border-color var(--transition-fast)}.search-input:focus-within{border-color:var(--color-primary)}.search-input-icon{flex-shrink:0;color:var(--color-text-muted)}.search-input-field{flex:1;border:none;background:transparent;outline:none;color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.search-input-field::placeholder{color:var(--color-text-muted)}.app-layout{display:flex;min-height:100vh;background-color:var(--color-bg)}.app-content{flex:1;padding:var(--space-lg) var(--space-xl);max-width:var(--content-max-width);width:100%;margin:0 auto;min-width:0}@media(min-width:1920px){.app-content{max-width:1800px;padding:var(--space-xl) var(--space-2xl)}}.sidebar{width:var(--sidebar-width);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background-color:var(--color-surface-solid);box-shadow:var(--shadow-sm);z-index:var(--z-sidebar);transition:width var(--transition-normal);overflow:hidden;flex-shrink:0}.sidebar-collapsed{width:var(--sidebar-width-collapsed);overflow:visible}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border-light)}.sidebar-logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:.02em;color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:var(--sidebar-toggle-size);height:var(--sidebar-toggle-size);border:none;background:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;margin-left:auto;transition:color var(--transition-fast)}.sidebar-toggle:hover{color:var(--color-text)}.sidebar-collapsed .sidebar-header{justify-content:center;padding:var(--space-lg) var(--space-sm)}.sidebar-collapsed .sidebar-logo{display:none}.sidebar-collapsed .sidebar-nav,.sidebar-collapsed .sidebar-footer{padding:var(--space-sm);overflow:visible}.sidebar-collapsed .sidebar-item{justify-content:center;padding:var(--space-sm);position:relative;overflow:visible}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-tooltip{display:none}.sidebar-collapsed .sidebar-tooltip{display:block;position:absolute;left:calc(100% + var(--space-md));top:50%;background:linear-gradient(135deg,var(--color-surface-solid) 0%,var(--glass-bg-strong) 100%);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--color-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.01em;white-space:nowrap;box-shadow:var(--shadow-lg),0 0 0 1px var(--color-border);opacity:0;pointer-events:none;transition:opacity var(--transition-normal),transform var(--transition-normal);transform:translateY(-50%) scale(.9);transform-origin:left center;z-index:var(--z-modal)}.sidebar-collapsed .sidebar-item:hover .sidebar-tooltip{opacity:1;transform:translateY(-50%) scale(1)}.sidebar-nav{flex:1;padding:var(--space-sm) var(--space-md);overflow-y:auto}.sidebar-footer{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border-light)}.sidebar-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;overflow:hidden;border:none;background:none;width:100%;text-align:left}.sidebar-item:hover{color:var(--color-primary)}.sidebar-item-active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium)}.sidebar-item-active:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}.sidebar-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{color:var(--color-danger)}.sidebar-logout:hover{background-color:var(--color-danger-light);color:var(--color-danger)}.mobile-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:var(--color-surface-solid);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:var(--mobile-btn-size);height:var(--mobile-btn-size);border:none;background:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.mobile-menu-btn:hover{background-color:var(--color-surface-hover)}.mobile-header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-bg);z-index:calc(var(--z-sidebar) - 1)}.sidebar-mobile{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-mobile-width);transform:translate(-100%);transition:transform var(--transition-normal);box-shadow:none;z-index:var(--z-sidebar)}.sidebar-mobile-open{transform:translate(0);box-shadow:var(--shadow-xl)}@media(max-width:768px){.app-layout{flex-direction:column}.app-content{padding:var(--space-md)}}@media(max-width:640px){.app-content{padding:var(--space-md)}}.filter-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.filter-bar .search-input{flex:1;margin-bottom:0}.filter-bar-select{width:auto;min-width:160px;background-color:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-border);box-shadow:var(--glass-shadow)}@media(max-width:640px){.filter-bar{flex-direction:column;align-items:stretch}.filter-bar-select{width:100%;min-width:0}}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.table{width:100%;border-collapse:collapse}.table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:left;padding:var(--space-sm) var(--space-md) var(--space-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-primary-light);white-space:nowrap}.table td{padding:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text);transition:background-color var(--transition-fast)}.table tbody tr+tr td{border-top:1px solid var(--color-border-light)}.table tbody tr{transition:background-color var(--transition-fast),box-shadow var(--transition-fast);border-left:3px solid transparent}.table tbody tr:hover{background-color:var(--color-primary-light);border-left-color:var(--color-primary)}.table tbody tr:last-child td{border-bottom:none}.table-user-info{display:flex;flex-direction:column;gap:var(--space-2xs)}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.table-empty{text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.table-footer-count{display:flex;align-items:center;gap:var(--space-xs)}.table-footer-separator{color:var(--color-border)}.table-pagination{display:flex;align-items:center;gap:var(--space-xs)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 var(--space-xs);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-btn-active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.pagination-btn-active:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-text)}.pagination-ellipsis{min-width:2rem;text-align:center;color:var(--color-text-muted)}@media(max-width:640px){.table-wrapper{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;border-radius:0}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block}.table tr{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md)}.table td{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;border-bottom:none;font-size:var(--font-size-sm)}.table td:first-child{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text);padding-bottom:var(--space-sm);margin-bottom:var(--space-xs);border-bottom:1px solid var(--color-border-light)}.table td:first-child:before{display:none}.table td:before{content:attr(data-label);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-right:var(--space-md)}.table td:last-child:before{display:none}.table td:last-child{justify-content:flex-end;padding-top:var(--space-md);border-top:1px solid var(--color-border-light);margin-top:var(--space-sm);padding-bottom:var(--space-xs)}.table tbody tr:hover{background-color:var(--glass-bg)}.table tbody tr:last-child td{border-bottom:none}}.tabs{display:flex;border-bottom:1px solid var(--color-border-light)}.tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-medium)}.tab-content{padding-top:var(--space-lg)}.toggle-field{margin-bottom:var(--space-md)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-switch{position:relative;width:2.75rem;height:1.5rem;background-color:var(--color-border);border-radius:var(--radius-full);transition:background-color var(--transition-fast);flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:.1875rem;left:.1875rem;width:1.125rem;height:1.125rem;background-color:var(--color-surface-solid);border-radius:var(--radius-full);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-switch{background-color:var(--color-primary)}.toggle-input:checked+.toggle-switch:after{transform:translate(1.25rem)}.toggle-input:focus-visible+.toggle-switch{box-shadow:0 0 0 3px var(--color-primary-light)}.toggle-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border)}.toolbar-group{display:flex;align-items:center;gap:var(--space-sm)}.toolbar-divider{width:1px;height:var(--toolbar-divider-height);background-color:var(--color-border-light)}.toolbar-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toolbar-left{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));flex-shrink:0;min-height:var(--toolbar-left-min-height)}.toolbar-spacer{flex:1}.toolbar-page-name{font-weight:var(--font-weight-semibold);margin-right:var(--space-xs)}.toolbar-dirty{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.toolbar-right{display:flex;align-items:center;gap:var(--space-xs);margin-left:var(--space-sm)}.toolbar-zoom-display{font-size:var(--font-size-sm);min-width:var(--toolbar-zoom-width);text-align:center}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay-bg);cursor:pointer}.tour-tooltip{position:fixed;z-index:1002;background:var(--color-surface-solid);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xl);pointer-events:auto;animation:tour-fade-in .3s ease}@keyframes tour-fade-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.tour-tooltip:before{content:"";position:absolute;left:-6px;top:20px;width:12px;height:12px;background:var(--color-surface-solid);transform:rotate(45deg)}.tour-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.tour-tooltip-counter{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.tour-tooltip-skip{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.tour-tooltip-skip:hover{color:var(--color-text);background:var(--color-surface-hover)}.tour-tooltip-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-xs)}.tour-tooltip-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0 0 var(--space-md)}.tour-tooltip-next{display:inline-flex;align-items:center;gap:var(--space-xs)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg);padding:var(--space-md);position:relative;overflow:hidden}.login-card{width:100%;max-width:var(--login-card-width);background-color:var(--glass-bg-strong);backdrop-filter:blur(var(--blur-login));-webkit-backdrop-filter:blur(var(--blur-login));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-2xl);position:relative;z-index:1}.login-header{text-align:center;margin-bottom:var(--space-xl)}.login-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0 0 var(--space-sm) 0}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.login-form .form-input{padding:var(--space-md);font-size:var(--font-size-md)}.login-form .btn-primary{width:100%;padding:var(--space-md);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.login-remember{display:flex;align-items:center;margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-md)}.login-remember-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.login-remember-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;position:relative;flex-shrink:0}.login-remember-label input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.login-remember-label input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.login-error{background-color:var(--color-danger-light);color:var(--color-danger);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.login-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-sm)}.login-footer a{color:var(--color-text-muted);transition:color var(--transition-fast)}.login-footer a:hover{color:var(--color-primary);text-decoration:none}.login-success-message{margin-bottom:var(--space-md)}.mfa-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-md)}.mfa-code-input{text-align:center;letter-spacing:.5em;font-size:var(--font-size-xl)}.dashboard-header-info{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.dashboard-header-greeting{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.dashboard-header-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.card-stat-link{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);text-decoration:none;color:inherit;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.card-stat-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.stat-info{display:flex;flex-direction:column}.stat-icon{color:var(--color-primary);opacity:.5;display:flex}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-tight)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.status-list{display:flex;flex-direction:column}.status-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border-light)}.status-list-item:last-child{border-bottom:none}.status-list-info{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text)}.status-list-meta{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted)}.status-list-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.link-list{display:flex;flex-direction:column}.link-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border-light);text-decoration:none;color:inherit}.link-list-item:last-child{border-bottom:none}.link-list-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.link-list-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.link-list-separator{color:var(--color-text-muted)}.dashboard-footer{margin-top:var(--space-xl);text-align:center}@media(max-width:1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:350px){.dashboard-stats{grid-template-columns:1fr}.dashboard-header-info{text-align:center;align-items:center}}.screen-resolution{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-content),1fr));gap:var(--space-lg)}@media(max-width:640px){.content-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media(max-width:350px){.content-grid{grid-template-columns:1fr}}.media-item{cursor:default}.media-thumbnail{position:relative;aspect-ratio:4 / 3;width:100%;background-color:var(--color-surface-hover);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.media-thumbnail img,.media-thumbnail video{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fast)}.media-thumbnail:hover img,.media-thumbnail:hover video{transform:scale(1.03)}.media-placeholder{font-size:var(--font-size-sm);color:var(--color-text-muted)}.media-overlay{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.media-thumbnail:hover .media-overlay{opacity:1}.media-action{display:flex;align-items:center;justify-content:center;width:var(--action-btn-size);height:var(--action-btn-size);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-text-secondary);border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.media-action:hover{background:var(--color-primary);color:var(--color-primary-text)}.media-delete{display:flex;align-items:center;justify-content:center;width:var(--action-btn-size);height:var(--action-btn-size);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-danger);border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.media-delete:hover{background:var(--color-danger);color:var(--color-surface-solid)}.media-rename{padding:var(--space-2xs) 0}.media-rename .form-input{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}.media-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-top:var(--space-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay-bg-dark);display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;cursor:default}.lightbox-close{position:absolute;top:calc(-1 * var(--space-xl));right:0;background:none;border:none;color:var(--color-surface-solid);cursor:pointer;padding:var(--space-xs);opacity:.7;transition:opacity var(--transition-fast)}.lightbox-close:hover{opacity:1}.lightbox-media{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-info{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md);color:var(--color-surface-solid)}.lightbox-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.lightbox-meta{font-size:var(--font-size-xs);opacity:.7}.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-card),1fr));gap:var(--space-lg)}.page-card{position:relative;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.page-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.page-card-drag{position:absolute;top:var(--space-xs);left:var(--space-xs);z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--space-2xs);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:grab;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.page-card:hover .page-card-drag{opacity:1}.page-card-drag:hover{background:var(--color-surface-hover);color:var(--color-text)}.page-card-drag:active{cursor:grabbing}.page-card--dragging{visibility:hidden}.page-card--ghost{position:fixed;z-index:9999;pointer-events:none;background:var(--color-surface-solid);border:2px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.page-card-preview-area{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--color-surface-hover);height:var(--page-preview-height);overflow:hidden}.page-card-mini{position:relative;overflow:hidden;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.page-card-canvas{position:absolute;top:0;left:0;transform-origin:top left;pointer-events:none}.page-card-element{position:absolute;pointer-events:none;line-height:1.2}.page-card-delete-overlay{position:absolute;top:var(--space-sm);right:var(--space-sm);opacity:0;transition:opacity var(--transition-fast)}.page-card:hover .page-card-delete-overlay{opacity:1}.page-card-delete{display:flex;align-items:center;justify-content:center;width:var(--action-btn-size);height:var(--action-btn-size);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-danger);border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.page-card-delete:hover{background:var(--color-danger);color:var(--color-surface-solid)}.page-card-info{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.page-card-screen{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:calc(-1 * var(--space-xs))}.page-card-name-row{display:flex;align-items:center;gap:var(--space-xs)}.page-card-name-row .card-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.page-card-rename-btn{opacity:0;transition:opacity var(--transition-fast)}.page-card:hover .page-card-rename-btn{opacity:1}.page-card-rename-input{flex:1;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.page-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.page-card-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.page-card-status-btn{border:none;border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-sm);font-size:var(--designer-font-tiny);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.page-card-status-draft{background-color:var(--color-warning-light);color:var(--color-warning)}.page-card-status-draft:hover,.page-card-status-published{background-color:var(--color-success-light);color:var(--color-success)}.page-card-status-published:hover{background-color:var(--color-warning-light);color:var(--color-warning)}@media(max-width:640px){.page-card-rename-btn,.page-card-delete-overlay{opacity:1}}@media(max-width:480px){.pages-grid{grid-template-columns:1fr}}.shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.shortcuts-panel{background:var(--color-surface-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:380px;overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.shortcuts-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.shortcuts-close{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.shortcuts-close:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.shortcuts-list{padding:var(--space-sm) var(--space-lg)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.shortcut-keys{display:inline-flex;padding:var(--space-xs) var(--space-sm);background-color:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);font-family:monospace}.designer-layout{display:flex;height:100vh;overflow:hidden;background-color:var(--color-bg)}.designer-panel-left{width:var(--designer-panel-left);border-right:1px solid var(--designer-border);overflow-y:auto;background-color:var(--designer-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));flex-shrink:0;transition:var(--designer-panel-transition)}.designer-panel-left-collapsed{width:var(--designer-panel-left-collapsed);overflow:visible;overflow-y:visible}.designer-panel-left-collapsed .component-panel-list{padding:var(--space-xs)}.component-panel-collapsed-item{display:flex;align-items:center;justify-content:center;width:100%;height:var(--input-height);color:var(--color-text-secondary);cursor:grab;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast);position:relative}.component-panel-collapsed-item:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.designer-panel-left-collapsed{z-index:1}.designer-panel-right{width:var(--designer-panel-right);border-left:1px solid var(--designer-border);overflow-y:auto;background-color:var(--designer-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));flex-shrink:0;transition:var(--designer-panel-transition);position:relative}.designer-panel-right-hidden{width:0;overflow:hidden;border:none;padding:0}.designer-center{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.designer-integration-warning{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background-color:var(--color-warning-light);color:var(--color-warning);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-warning)}.designer-canvas-wrapper{flex:1;overflow:auto;background-color:var(--color-bg);background-image:radial-gradient(circle,var(--designer-dot-grid) 1px,transparent 1px);background-size:var(--designer-grid-size) var(--designer-grid-size);box-shadow:inset 0 1px 3px var(--designer-border);cursor:grab}.designer-canvas-wrapper:active{cursor:grabbing}.designer-canvas-viewport{display:inline-flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}.canvas{position:relative;box-shadow:0 2px 4px var(--designer-border),0 12px 32px var(--designer-shadow-strong);border:1px solid var(--designer-border);border-radius:var(--radius-md);background-color:var(--color-surface-solid)}.canvas-element{position:absolute;cursor:move;outline:1px solid transparent;transition:outline-color var(--transition-fast)}.canvas-element:hover:not(.canvas-element-selected){outline-color:var(--color-text-muted);outline-style:dashed}.canvas-element-selected{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 6px var(--designer-selection-glow)}.canvas-element-border-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-style:solid;pointer-events:none}.resize-handle{position:absolute;width:var(--designer-handle-size);height:var(--designer-handle-size);background-color:var(--color-surface-solid);border:2px solid var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 1px 3px var(--designer-shadow-strong),var(--shadow-md)}.snap-guide{position:absolute;border:1px dashed var(--color-primary);pointer-events:none;opacity:.6}.designer-bottombar{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 var(--space-md);background-color:var(--color-surface-solid);border-top:1px solid var(--designer-border);flex-shrink:0;position:relative}.designer-bottombar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2xs)}.designer-bottombar-group{display:flex;align-items:center;gap:var(--space-2xs)}.designer-toolbar-page-settings{display:flex;align-items:center;gap:var(--space-xs)}.toolbar-icon-btn-active{color:var(--color-primary);background-color:var(--color-primary-light)}.designer-toolbar-res-btn{display:flex;align-items:center;gap:var(--space-xs);border:none;background:none;font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.designer-toolbar-res-btn svg{opacity:.5}.designer-toolbar-res-btn:hover svg{opacity:1}.designer-toolbar-res-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.designer-toolbar-res-edit{display:flex;align-items:center;gap:var(--space-xs)}.designer-toolbar-res-input{width:52px;height:24px;padding:0 var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text);background:var(--color-surface-solid);text-align:center}.designer-toolbar-res-input:focus{outline:none;border-color:var(--color-primary)}.designer-toolbar-res-x{font-size:var(--font-size-xs);color:var(--color-text-muted)}.designer-screen-select{width:auto;height:28px;padding:var(--space-2xs) var(--space-2xl) var(--space-2xs) var(--space-sm);font-size:var(--font-size-xs)}.designer-bottombar-color{position:relative;width:20px;height:20px;flex-shrink:0}.designer-bottombar-color .color-picker-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.designer-bottombar-color .color-picker-preview{width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--color-border);pointer-events:none}.designer-toolbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--control-md);background-color:var(--designer-surface-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--designer-border);flex-shrink:0;position:relative;gap:var(--control-md)}.designer-toolbar-left{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex-shrink:1}.designer-toolbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-xs)}.designer-toolbar-right{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.designer-toolbar-back{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);background-color:var(--color-primary-light);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);flex-shrink:0}.designer-toolbar-back:hover{background-color:var(--color-primary);color:var(--color-primary-text)}.designer-toolbar-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--designer-toolbar-name-max)}.designer-toolbar-name-edit-btn{display:flex;align-items:center;justify-content:center;width:var(--icon-btn-size-sm);height:var(--icon-btn-size-sm);border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);flex-shrink:0}.designer-toolbar-name-edit-btn:hover{color:var(--color-primary);background-color:var(--color-primary-light)}.designer-toolbar-name-edit{display:flex;align-items:center;gap:var(--space-xs)}.designer-toolbar-name-action{display:flex;align-items:center;justify-content:center;width:var(--icon-btn-size-sm);height:var(--icon-btn-size-sm);border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.designer-toolbar-name-action:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.designer-toolbar-name-input{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-solid);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);outline:none;max-width:200px}.designer-toolbar-separator{width:1px;height:var(--toolbar-divider-height);background-color:var(--designer-border-subtle);flex-shrink:0}.toolbar-icon-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.toolbar-icon-btn:hover:not(:disabled){color:var(--color-text);background-color:var(--color-surface-hover)}.toolbar-icon-btn:disabled,.toolbar-icon-btn-disabled{opacity:.25;cursor:default;pointer-events:none}.designer-zoom-display{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:32px;text-align:center;font-variant-numeric:tabular-nums}.designer-panel-header{display:flex;align-items:center;justify-content:space-between;height:var(--designer-toolbar-height);padding:0 var(--space-md);border-bottom:1px solid var(--designer-border);flex-shrink:0}.designer-panel-left-collapsed .designer-panel-header{justify-content:center;padding:var(--space-sm)}.designer-panel-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.designer-panel-toggle{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.designer-panel-toggle:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.component-panel-group-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:var(--space-sm) 0 var(--space-2xs);margin-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.component-panel-group-label:first-child{margin-top:0;border-top:none}.component-panel-group-label-collapsed{text-align:center;padding:var(--space-sm) 0 var(--space-2xs);font-size:var(--designer-font-tiny)}.component-panel-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md)}.component-panel-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-lg);background:var(--color-surface-solid);cursor:grab;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.component-panel-item:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);box-shadow:0 2px 8px var(--designer-border);transform:translateY(-1px)}.component-panel-item:active{cursor:grabbing;transform:translateY(0)}.component-item-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.component-item-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.component-item-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.component-item-desc{font-size:var(--designer-font-tiny);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-item-drag{color:var(--color-text-muted);opacity:.3;transition:opacity var(--transition-fast);flex-shrink:0}.component-panel-item:hover .component-item-drag{opacity:.8}.component-panel-collapsed-item:active{cursor:grabbing}.designer-panel-toggle-right{position:absolute;left:-28px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:44px;border:1px solid var(--designer-border);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);background-color:var(--designer-surface-strong);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);z-index:1}.designer-panel-toggle-right:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.properties-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;padding:var(--space-xl) var(--space-md)}.properties-empty-icon{color:var(--color-text-muted);opacity:.3}.layers-empty{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;padding:var(--space-xl) 0}.layers-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-xs);transition:background-color var(--transition-fast);border-left:3px solid transparent;margin-bottom:var(--space-2xs)}.layers-item:hover{background-color:var(--color-surface-hover)}.layers-item-selected{background-color:var(--color-primary-light);border-left-color:var(--color-primary)}.layers-item-drag-over{border-top:2px solid var(--color-primary)}.layers-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}.layers-item-selected .layers-item-icon{background-color:var(--color-primary);color:var(--color-primary-text)}.layers-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.layers-item-name-input{flex:1;min-width:0;max-width:100px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface-solid);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);outline:none}.layers-item-actions{display:flex;align-items:center;gap:var(--space-2xs);margin-left:auto;opacity:0;transition:opacity var(--transition-fast)}.layers-item:hover .layers-item-actions{opacity:1}.layers-item-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.layers-item-btn:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.layers-item-btn-active{color:var(--color-primary)}.layers-item-btn-delete:hover{color:var(--color-danger);background-color:var(--color-danger-light)}.layers-item-grip{color:var(--color-text-muted);cursor:grab;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.layers-item:hover .layers-item-grip{opacity:.5}.screen-select-list{display:flex;flex-direction:column;gap:var(--space-sm)}.screen-select-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border:1px solid var(--designer-border);border-radius:var(--radius-lg);background:var(--color-surface-solid);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.screen-select-item:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 1px 3px var(--designer-border)}.screen-select-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.screen-select-resolution{font-size:var(--font-size-xs);color:var(--color-text-muted)}.screen-select-empty{color:var(--color-text-muted);text-align:center;padding:var(--control-md)}.designer-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-xs);font-size:var(--designer-font-tiny);font-weight:var(--font-weight-semibold);color:var(--color-primary);background-color:var(--color-primary-light);border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.designer-layers{padding:var(--space-sm);max-height:240px;overflow-y:auto;border-bottom:1px solid var(--color-border-light)}.designer-properties{border-top:1px solid var(--color-border-light)}.properties-media-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.properties-media-btn-has-src{border-style:solid;border-color:var(--color-border-light)}.properties-media-btn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.properties-media-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-light)}.designer-properties-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);position:sticky;top:0;background-color:var(--color-surface-solid);border-bottom:1px solid var(--color-border-light);z-index:10}.designer-properties-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.properties-group{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-border-light)}.properties-group:last-child{border-bottom:none}.properties-group-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.properties-color-label{display:block;font-size:var(--designer-font-tiny);color:var(--color-text-muted);margin-bottom:calc(-1 * var(--space-sm))}.properties-group-row{display:flex;align-items:center;justify-content:space-between;flex-direction:row}.properties-group-actions{display:flex;gap:var(--space-xs)}.properties-action-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);border:1px solid var(--designer-dot-grid);background:var(--color-surface-solid);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.properties-action-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.toggle-row-compact{margin:0;gap:var(--space-xs)}.opacity-slider-row{display:flex;align-items:center;gap:var(--space-sm)}.opacity-slider{flex:1;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--color-border-light);border-radius:var(--radius-full);outline:none;cursor:pointer}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:var(--radius-full);background:var(--color-text-secondary);border:2px solid var(--color-surface-solid);box-shadow:0 1px 3px var(--designer-shadow-strong);cursor:pointer;transition:transform var(--transition-fast)}.opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.opacity-slider::-moz-range-thumb{width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-primary);border:2px solid var(--color-surface-solid);box-shadow:0 1px 3px var(--designer-shadow-strong);cursor:pointer}.opacity-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.micro-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.micro-input{position:relative}.micro-input-label{position:absolute;left:var(--space-sm);top:3px;font-size:var(--designer-font-micro);font-weight:var(--font-weight-medium);color:var(--color-text-muted);pointer-events:none;z-index:1}.micro-input-field{width:100%;height:var(--input-height);padding:var(--space-md) var(--space-sm) var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-solid);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.micro-input-field:focus{outline:none;border-color:var(--color-primary)}.micro-input-field::-webkit-outer-spin-button,.micro-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.micro-input-field[type=number]{-moz-appearance:textfield}.numeric-input-wrap{display:flex;position:relative}.numeric-input-field{padding-right:var(--space-lg)}.numeric-input-arrows{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;width:20px;border-left:1px solid var(--color-border-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;overflow:hidden}.numeric-arrow{display:flex;align-items:center;justify-content:center;flex:1;border:none;background:none;color:var(--color-text-muted);cursor:pointer;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.numeric-arrow:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.numeric-arrow+.numeric-arrow{border-top:1px solid var(--color-border-light)}.micro-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:var(--space-xl);cursor:pointer}.micro-textarea{height:auto;min-height:60px;padding:var(--space-sm);resize:vertical}.color-picker-row{display:flex;align-items:stretch;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}.color-picker-row:hover,.color-picker-row:focus-within{border-color:var(--color-primary)}.color-picker-swatch-wrap{position:relative;width:44px;flex-shrink:0;border-right:1px solid var(--color-border-light)}.color-picker-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.color-picker-preview{width:100%;height:100%;min-height:var(--designer-micro-input-height);pointer-events:none}.color-picker-transparent{background:conic-gradient(var(--color-border-light) 25%,var(--color-surface-solid) 25%,var(--color-surface-solid) 50%,var(--color-border-light) 50%,var(--color-border-light) 75%,var(--color-surface-solid) 75%) 0 0 / 8px 8px}.color-picker-value{flex:1;display:flex;align-items:center;padding:0 var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text);font-family:monospace;letter-spacing:.02em;background:var(--color-surface-solid);min-height:var(--designer-micro-input-height)}.gradient-controls{display:flex;flex-direction:column;gap:var(--space-md)}.color-picker-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);margin-left:auto}.color-picker-clear:hover{background:var(--color-danger-light);color:var(--color-danger)}.color-picker-clear-hidden{opacity:0;pointer-events:none}.designer-canvas-wrapper::-webkit-scrollbar,.designer-panel-left::-webkit-scrollbar,.designer-panel-right::-webkit-scrollbar{width:var(--designer-scrollbar-size);height:var(--designer-scrollbar-size)}.designer-canvas-wrapper::-webkit-scrollbar-track,.designer-panel-left::-webkit-scrollbar-track,.designer-panel-right::-webkit-scrollbar-track{background:transparent}.designer-canvas-wrapper::-webkit-scrollbar-thumb,.designer-panel-left::-webkit-scrollbar-thumb,.designer-panel-right::-webkit-scrollbar-thumb{background-color:var(--designer-scrollbar-thumb);border-radius:var(--radius-full)}.designer-canvas-wrapper::-webkit-scrollbar-thumb:hover,.designer-panel-left::-webkit-scrollbar-thumb:hover,.designer-panel-right::-webkit-scrollbar-thumb:hover{background-color:var(--designer-scrollbar-thumb-hover)}.designer-canvas-wrapper::-webkit-scrollbar-corner{background:transparent}.picker-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--control-md);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);margin-bottom:var(--control-md)}.picker-dropzone:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.picker-dropzone-icon{color:var(--color-text-muted)}.picker-dropzone:hover .picker-dropzone-icon{color:var(--color-primary)}.picker-dropzone-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.picker-dropzone-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.picker-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.picker-library-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.picker-search{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);transition:border-color var(--transition-fast)}.picker-search:focus-within{border-color:var(--color-primary)}.picker-search-input{border:none;background:none;outline:none;font-size:var(--font-size-xs);color:var(--color-text);width:120px}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm);max-height:200px;overflow-y:auto}.picker-grid-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.picker-grid-item:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.picker-grid-item img,.picker-grid-item video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);background-color:var(--color-bg)}.picker-grid-item-name{font-size:var(--designer-font-tiny);color:var(--color-text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-empty{text-align:center;padding:var(--space-md) 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.content-picker-url{display:flex;gap:var(--space-sm);align-items:center}.content-picker-url-input{flex:1;height:var(--input-height-sm);padding:0 var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.content-picker-url-input:focus{outline:none;border-color:var(--color-primary)}.designer-toolbar-publish{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.designer-toolbar-publish:hover,.designer-toolbar-publish-active{background-color:var(--color-success-light);color:var(--color-success);border-color:var(--color-success)}.designer-toolbar-publish-active:hover{background-color:var(--color-warning-light);color:var(--color-warning);border-color:var(--color-warning)}.designer-toolbar-save{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.designer-toolbar-save:hover:not(:disabled){background-color:var(--color-surface-hover)}.designer-toolbar-save-dirty{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.designer-toolbar-save-dirty:hover:not(:disabled){background-color:var(--color-primary-hover)}.designer-toolbar-save-saving{opacity:.7;cursor:wait}.designer-toolbar-save-saved{color:var(--color-success);border-color:var(--color-success)}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:spin 1s linear infinite}.properties-delete{padding:var(--space-sm) var(--space-md)}.properties-delete-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger);color:var(--color-primary-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.properties-delete-btn:hover{background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.canvas-drag-over{outline:2px dashed var(--color-primary);outline-offset:-2px}.element-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:var(--space-xs);background-color:var(--color-bg)}.bg-mode-toggle{display:flex;gap:var(--space-2xs);background-color:var(--color-surface-hover);border-radius:var(--radius-md);padding:var(--space-2xs)}.bg-mode-btn{flex:1;padding:var(--space-xs) var(--space-sm);border:none;background:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.bg-mode-btn:hover{color:var(--color-text)}.bg-mode-btn-active{background-color:var(--color-surface-solid);color:var(--color-text);box-shadow:var(--shadow-sm)}.gradient-controls,.alignment-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.alignment-row-label{font-size:var(--designer-font-micro);color:var(--color-text-muted)}.alignment-row{display:flex;gap:var(--space-xs)}.alignment-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);flex:1;padding:var(--space-sm) var(--space-xs);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface-solid);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.alignment-btn:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.alignment-btn-label{font-size:var(--designer-font-micro)}.url-element-wrap{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--color-bg);position:relative}.url-element-iframe{flex:1;width:100%;border:none;pointer-events:none}.url-element-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-xs)}.url-element-error-icon{color:var(--color-warning)}.url-element-failed{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background-color:var(--color-bg);color:var(--color-text-muted)}.url-element-failed-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.url-element-failed-desc{font-size:var(--font-size-xs);text-align:center;max-width:80%}.rr-col-row{display:flex;align-items:center;gap:var(--space-sm)}.rr-col-row .micro-input-field{padding:var(--space-sm)}.rr-labeled-toggle{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.rr-toggle-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.3}.playlist-card{display:flex;flex-direction:column;gap:var(--space-sm);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-left:none;border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.playlist-card:hover{box-shadow:var(--shadow-lg)}.playlist-card-header{display:flex;align-items:center;justify-content:space-between}.playlist-card-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.playlist-card-actions{display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.playlist-card:hover .playlist-card-actions{opacity:1}.playlist-card-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.playlist-card-stats{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.playlist-card-stat{font-weight:var(--font-weight-medium)}.playlist-card-stat-dot{color:var(--color-text-muted)}.playlist-card-page-list{list-style:none;counter-reset:page-counter;display:flex;flex-direction:column;gap:var(--space-xs);padding:0;margin:0}.playlist-card-page-item{counter-increment:page-counter;font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);line-height:var(--line-height-tight);border-left:2px solid var(--color-border);padding-left:var(--space-md)}.playlist-card-page-name{flex:1;display:flex;align-items:center;gap:var(--space-xs)}.playlist-card-page-duration{color:var(--color-text-muted);flex-shrink:0}.playlist-card-page-item:before{display:none}.playlist-card-footer{display:flex;flex-direction:column;gap:var(--space-2xs);margin-top:auto;padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.playlist-card-footer-top{display:flex;align-items:center;justify-content:space-between}.playlist-card-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.playlist-card-status-public{color:var(--color-success)}.playlist-card-status-draft{color:var(--color-text-muted)}.playlist-card-footer-right{display:flex;align-items:center;gap:var(--space-sm)}.playlist-card-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.playlist-card-icon-btn{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.playlist-card-icon-btn:hover{color:var(--color-primary);background:var(--color-primary-light)}.playlist-pages-section{margin-top:0;margin-bottom:var(--space-lg)}.playlist-pages-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.playlist-pages-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.playlist-page-name{flex:1;margin:0 var(--space-md);font-size:var(--font-size-sm);color:var(--color-text);display:flex;align-items:center;gap:var(--space-xs)}.playlist-page-warning{color:var(--color-warning);cursor:help;display:inline-flex;align-items:center;position:relative;flex-shrink:0}.playlist-page-warning svg{display:block}.playlist-page-warning:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + var(--space-xs));left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-surface-solid);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;z-index:100;pointer-events:none;box-shadow:var(--shadow-lg)}.playlist-page-duration{display:flex;align-items:center;gap:var(--space-xs)}.playlist-page-duration .form-input{width:var(--duration-input-width);text-align:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.add-page-list{display:flex;flex-direction:column;gap:var(--space-xs)}.add-page-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast)}.add-page-item:hover{background:var(--color-primary-light)}.add-page-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.add-page-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.playlist-page-list{display:flex;flex-direction:column;gap:var(--space-xs)}.playlist-page-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.playlist-page-item:hover{background:var(--glass-bg-strong);box-shadow:var(--shadow-md)}.playlist-page-item--dragging{visibility:hidden}.playlist-page-item--ghost{position:fixed;z-index:9999;pointer-events:none;background:var(--color-surface-solid);border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}.playlist-page-drag{display:flex;align-items:center;cursor:grab;color:var(--color-text-muted);touch-action:none;-webkit-user-select:none;user-select:none}.playlist-page-drag:active{cursor:grabbing}.schedule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.public-link-row{display:flex;align-items:center;gap:var(--space-sm)}.public-link-url{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--public-link-max-width)}.public-link-copy{cursor:pointer;color:var(--color-primary)}.schedule-section{margin-top:0}.schedule-days{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-sm)}.schedule-day-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-surface-hover);border:1px solid var(--color-border-light);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.schedule-day-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.schedule-day-btn-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.schedule-day-btn-active:hover{background:var(--color-primary-hover);color:var(--color-primary-text);border-color:var(--color-primary-hover)}@media(max-width:768px){.schedule-grid{grid-template-columns:1fr}.playlist-page-item{flex-wrap:wrap;gap:var(--space-sm)}.public-link-url{max-width:calc(var(--public-link-max-width) * .6)}}@media(max-width:640px){.public-link-row{flex-direction:column;align-items:flex-start}.public-link-url{max-width:100%}}.playlist-view{width:100vw;height:100vh;overflow:hidden;position:fixed;top:0;left:0;background:var(--color-text)}.playlist-view-center{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-surface-solid);font-size:var(--font-size-lg)}.playlist-view-schedule-message{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-surface-solid);text-align:center;gap:var(--space-sm)}.playlist-view-schedule-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.playlist-view-schedule-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.playlist-view-offline{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:9999;background:var(--color-warning);color:var(--color-surface-solid);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.playlist-view-element-iframe{width:100%;height:100%;border:none}.playlist-view-back-btn{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);z-index:9999;background:var(--overlay-bg-dark);color:var(--color-surface-solid);border:none;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:opacity var(--transition-fast),background var(--transition-fast)}.playlist-view-back-btn:hover{background:var(--overlay-bg-dark)}.environments-grid .card{overflow:hidden}.environments-grid .card-header{padding:var(--space-sm) 0;margin:0 var(--space-md);border-bottom:none}.environments-grid .card-body{padding:var(--space-md)}.environments-grid .card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md)}@media(max-width:640px){.environments-grid{grid-template-columns:1fr}}.settings-layout{display:flex;flex-direction:column;gap:var(--space-lg);max-width:var(--settings-max-width)}.settings-section{display:flex;flex-direction:column;gap:var(--space-md)}.settings-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.settings-fields{display:flex;flex-direction:column;gap:var(--space-md)}.storage-info{display:flex;flex-direction:column;gap:var(--space-sm)}.storage-bar{width:100%;height:.5rem;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.storage-bar-fill{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.storage-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.role-badge-admin{background-color:var(--color-danger-light);color:var(--color-danger);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.role-badge-editor{background-color:var(--color-info-light);color:var(--color-info);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.role-badge-user{background-color:var(--color-success-light);color:var(--color-success);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.table-user-cell{display:flex;align-items:center;gap:var(--space-sm)}.table-user-info{display:flex;flex-direction:column}.table-user-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.table-user-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.users-current-label{font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.created-user-summary{display:flex;flex-direction:column;gap:var(--space-md)}.created-user-field{display:flex;flex-direction:column;gap:var(--space-xxs)}.created-user-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.created-user-password{display:flex;align-items:center;gap:var(--space-sm)}.created-user-password code{font-size:var(--font-size-md);background:var(--color-surface);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all}.btn-icon{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-xs);display:flex;align-items:center;border-radius:var(--radius-sm)}.btn-icon:hover{color:var(--color-primary);background-color:var(--color-surface)}.profile-layout{max-width:720px;display:flex;flex-direction:column;gap:var(--space-lg)}.profile-hero{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg)}.profile-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-primary-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-hero-info{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.profile-hero-name-row{display:flex;align-items:center;gap:var(--space-sm)}.profile-hero-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.profile-hero-email{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.profile-hero-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.profile-hero-org{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}@media(max-width:640px){.profile-grid{grid-template-columns:1fr}}.profile-section-card{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.profile-section-header{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text)}.profile-section-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.profile-section-header svg{color:var(--color-text-muted)}.profile-section-body{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;justify-content:space-between}.profile-section-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:var(--line-height-normal)}.profile-section-desc--active{color:var(--color-success)}.profile-edit-row{display:flex;align-items:center;gap:var(--space-sm)}.profile-edit-row .form-input{flex:1}.profile-edit-icon{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-2xs);display:flex;align-items:center;border-radius:var(--radius-sm);opacity:.4;transition:opacity var(--transition-fast),color var(--transition-fast)}.profile-edit-icon:hover{opacity:1;color:var(--color-primary)}.profile-password-form{display:flex;flex-direction:column;gap:var(--space-sm)}.mfa-enrollment{display:flex;flex-direction:column;gap:var(--space-md)}.mfa-qr{display:flex;justify-content:center;padding:var(--space-md);background:var(--color-surface-solid);border-radius:var(--radius-md);width:fit-content}.mfa-secret{font-size:var(--font-size-xs);background:var(--color-surface-hover);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all}.mfa-reveal-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);vertical-align:middle}.mfa-reveal-btn:hover{background:var(--color-primary-light)}.mfa-verify-row{display:flex;align-items:center;gap:var(--space-sm)}.mfa-verify-row .form-input{width:160px;font-family:var(--font-family);letter-spacing:.15em;text-align:center}.profile-footer{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);padding:0 var(--space-xs)}.audit-filters{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.audit-filters .search-input{margin-bottom:0}.audit-filter-select{width:auto;min-width:160px}.audit-feed{position:relative;padding-left:var(--space-2xl)}.audit-feed:before{content:"";position:absolute;left:calc(var(--sidebar-toggle-size) / 2);top:0;bottom:0;width:2px;background:var(--color-border-light);border-radius:var(--radius-full)}.audit-feed-item{position:relative;display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:var(--space-xs)}.audit-feed-icon{position:absolute;left:calc(-1 * var(--space-2xl));top:var(--space-sm);display:flex;align-items:center;justify-content:center;width:var(--sidebar-toggle-size);height:var(--sidebar-toggle-size);border-radius:var(--radius-full);background:var(--color-surface-solid);border:2px solid var(--color-border-light);color:var(--color-text-secondary);flex-shrink:0}.audit-feed-content{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.audit-feed-header{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.audit-feed-header .badge{min-width:6.5rem;justify-content:center;text-align:center}.audit-feed-entity{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.audit-feed-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-feed-meta{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.audit-feed-user{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-feed-unknown{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.audit-feed-time{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.audit-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.audit-footer-count{white-space:nowrap}@media(max-width:768px){.audit-filters{flex-direction:column;align-items:stretch}.audit-filter-select{width:100%;min-width:0}.audit-feed-content{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.audit-feed-header{flex-wrap:wrap}.audit-feed-meta{width:100%;justify-content:space-between}}@media(max-width:480px){.audit-feed{padding-left:0}.audit-feed:before{display:none}.audit-feed-icon{display:none}.audit-feed-item{padding:var(--space-xs) var(--space-sm)}.audit-feed-header{gap:var(--space-xs)}.audit-feed-detail{width:100%;font-size:var(--font-size-xs)}.audit-feed-meta{flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.audit-footer{flex-direction:column;gap:var(--space-sm);align-items:center}}
