.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));padding:1.5rem}.login-card{background-color:hsl(var(--card));border-radius:var(--radius);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:3rem;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:3rem}.login-logo{height:64px;width:auto;margin-bottom:1.5rem;-o-object-fit:contain;object-fit:contain}.login-title{font-size:1.875rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 .5rem}.login-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.login-form{margin-bottom:1.5rem}.login-footer{text-align:center;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.login-link{color:hsl(var(--primary));font-size:.875rem;text-decoration:none;transition:color .15s ease-in-out}.login-link:hover{opacity:.8;text-decoration:underline}@media(max-width:480px){.login-card{padding:2rem}.login-title{font-size:1.5rem}}.dashboard{max-width:1400px}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:hsl(var(--muted-foreground))}.page-header{margin-bottom:var(--spacing-2xl)}.page-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background-color:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .15s ease-in-out;border-left:4px solid hsl(var(--primary))}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.stat-card-content{display:flex;align-items:flex-start;gap:1.5rem}.stat-card-icon{color:hsl(var(--primary));flex-shrink:0}.stat-card-info{flex:1}.stat-card-title{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500;margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.5px}.stat-card-value{font-size:2.25rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 .25rem;line-height:1}.stat-card-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.dashboard-section{margin-bottom:3rem}.section-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1.5rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.status-card{background-color:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .15s ease-in-out}.status-card:hover{box-shadow:0 4px 6px -1px #0000001a}.status-icon{flex-shrink:0}.status-info h3{font-size:1.875rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 .25rem;line-height:1}.status-info p{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.status-online{border-left:4px solid #10b981}.status-offline{border-left:4px solid #ef4444}.recent-screens{background-color:hsl(var(--card));border-radius:var(--radius);box-shadow:0 1px 3px #0000001a;overflow:hidden}.recent-screen-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border));transition:background-color .15s ease-in-out}.recent-screen-item:last-child{border-bottom:none}.recent-screen-item:hover{background-color:hsl(var(--muted) / .5)}.recent-screen-icon{flex-shrink:0}.recent-screen-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.recent-screen-info strong{font-weight:600;color:hsl(var(--foreground))}.recent-screen-code{font-size:.75rem;color:hsl(var(--muted-foreground));font-family:monospace}.recent-screen-time{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-card-value{font-size:var(--font-size-3xl)}.status-grid{grid-template-columns:1fr}}.actions-menu-wrapper{position:relative;display:inline-block}.actions-menu{position:absolute;right:0;top:100%;margin-top:.25rem;background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:150px;z-index:1000;padding:.25rem;display:flex;flex-direction:column}.actions-menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--popover-foreground));font-size:.875rem;text-align:left;width:100%;border-radius:calc(var(--radius) - 6px);transition:all .15s ease-in-out}.actions-menu-item.danger:hover{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.actions-menu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.page-header-table{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.refresh-btn{padding:.5rem;background:transparent;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;color:hsl(var(--foreground) / .7);display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out}.form-modal{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .15s ease-in-out}.form-modal-content{background:hsl(var(--card));border-radius:var(--radius);padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .2s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.form-modal-content h2{margin:0 0 1.5rem;color:hsl(var(--foreground));font-size:1.5rem;font-weight:600}.form-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;font-size:1.5rem;color:hsl(var(--muted-foreground));width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 4px);transition:all .15s ease-in-out}.table-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-container{position:relative;flex:1;min-width:200px;max-width:400px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.search-input{width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem}.search-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.table-info{display:flex;align-items:center;gap:.5rem;color:hsl(var(--foreground) / .8);font-size:.875rem}.pagination-control{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem}.pagination-select{padding:.25rem .5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.75rem;font-weight:600;color:hsl(var(--foreground) / .7);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:.75rem;border-bottom:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground))}.data-table tbody tr:hover{background-color:hsl(var(--muted) / .5)}.radio-input{width:1rem;height:1rem;cursor:pointer}.table-cell-name{font-weight:500;color:hsl(var(--foreground))}.media-type-indicators{display:flex;gap:.25rem}.media-type-square{width:1.25rem;height:1.25rem;background-color:hsl(var(--muted));border-radius:2px}.actions-btn{padding:.25rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 4px);transition:all .15s ease-in-out}.empty-table-cell{text-align:center;padding:3rem;color:hsl(var(--muted-foreground))}.table-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btn-primary-add{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 4px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}.btn-secondary-actions{padding:.625rem 1.25rem;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}.layout-editor{display:flex;flex-direction:column;height:100%;background:hsl(var(--background))}.layout-editor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));gap:1rem}.layout-editor-toolbar{display:flex;align-items:center;gap:.5rem;flex:1}.toolbar-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;color:hsl(var(--foreground));font-size:.875rem;transition:all .15s ease-in-out}.toolbar-divider{width:1px;height:24px;background:hsl(var(--border));margin:0 .25rem}.layout-editor-actions{display:flex;gap:.75rem}.layout-editor-main{flex:1;display:flex;gap:1rem;padding:1rem;overflow:hidden}.layout-layers-panel{width:280px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:1rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted))}.panel-header h3{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.layers-list{flex:1;overflow-y:auto;padding:.5rem}.layer-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:all .15s ease-in-out;margin-bottom:.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.layer-item.selected{background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}.layer-item-drag{cursor:grab;color:hsl(var(--muted-foreground));display:flex;align-items:center}.layer-item-icon{display:flex;align-items:center;color:hsl(var(--muted-foreground));flex-shrink:0}.layer-item-name{flex:1;font-size:.875rem;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease-in-out}.layer-action-btn{padding:.25rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 6px);display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out}.layer-action-btn.danger:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.layout-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:hsl(var(--background))}.layout-canvas{position:relative;transform-origin:top left;background:#fff}.layout-element{border:2px dashed transparent;transition:all .15s ease-in-out;outline:none}.layout-element.selected{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.element-resize-handles{position:absolute;inset:0;pointer-events:none}.resize-handle{position:absolute;width:8px;height:8px;background:hsl(var(--primary));border:2px solid white;border-radius:50%;pointer-events:all;cursor:nwse-resize}.resize-handle-nw{top:-4px;left:-4px;cursor:nwse-resize}.resize-handle-ne{top:-4px;right:-4px;cursor:nesw-resize}.resize-handle-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.resize-handle-se{bottom:-4px;right:-4px;cursor:nwse-resize}.layout-properties-panel{width:300px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.properties-content{flex:1;overflow-y:auto;padding:1rem}.property-group label{display:block;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.property-group input,.property-group textarea,.property-group select{width:100%;padding:.5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem}.property-group input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--muted));border-radius:3px;outline:none}.property-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:hsl(var(--primary));border-radius:50%;cursor:pointer}.property-group input[type=range]::-moz-range-thumb{width:16px;height:16px;background:hsl(var(--primary));border-radius:50%;cursor:pointer;border:none}.property-value{font-size:.875rem;color:hsl(var(--foreground));padding:.5rem;background:hsl(var(--muted));border-radius:calc(var(--radius) - 4px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-weight:500;border-radius:calc(var(--radius) - 4px);transition:all .15s ease-in-out;cursor:pointer;border:none;font-size:.875rem;gap:.5rem}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .8)}.btn-success{background-color:#16a249;color:#fff}.btn-outline{background-color:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-success{background-color:#10b9811a;color:var(--color-success-dark)}.badge-danger{background-color:#ef44441a;color:var(--color-error-dark)}.badge-warning{background-color:#f59e0b1a;color:var(--color-warning-dark)}.badge-info{background-color:#3b82f61a;color:var(--color-info-dark)}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.625rem .875rem;border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));transition:all .15s ease-in-out;font-family:inherit}.input-group input:hover,.input-group select:hover,.input-group textarea:hover{border-color:hsl(var(--input) / .8)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.input-group small{display:block;margin-top:.375rem;font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.input-group select{cursor:pointer;-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 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.input-group textarea{min-height:100px;resize:vertical;font-family:inherit}.table{width:100%;border-collapse:collapse;background-color:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.card{background-color:hsl(var(--card));border-radius:var(--radius);box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:box-shadow .15s ease-in-out}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.card-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.card-body{color:hsl(var(--card-foreground) / .8)}.grid{display:grid;gap:1.5rem}.alert{padding:1rem;border-radius:calc(var(--radius) - 4px);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.alert-error{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .2)}.alert-success{background-color:#16a2491a;color:#16a249;border:1px solid hsl(142 76% 36% / .2)}.alert-warning{background-color:#f59f0a1a;color:#f59f0a;border:1px solid hsl(38 92% 50% / .2)}.alert-info{background-color:#0da2e71a;color:#0da2e7;border:1px solid hsl(199 89% 48% / .2)}.media-preview-image,.media-preview-video,.media-preview-youtube{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:relative}.media-preview-image img,.media-preview-youtube img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--radius) - 4px)}.media-preview-video video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--radius) - 4px)}.media-preview-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);border-radius:calc(var(--radius) - 4px)}.media-preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;color:#fff;border-radius:calc(var(--radius) - 4px);transition:opacity .15s ease-in-out}.playlist-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--ring) / .15)}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.checkbox-group label{margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-layout{display:flex;min-height:100vh;background-color:hsl(var(--background))}.sidebar{width:var(--sidebar-width);background-color:hsl(var(--sidebar-background));color:hsl(var(--sidebar-foreground));display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;border-right:1px solid hsl(var(--sidebar-border))}.sidebar-header{height:var(--header-height);padding:0 1.5rem;border-bottom:1px solid hsl(var(--sidebar-border));display:flex;align-items:center;gap:.75rem}.sidebar-logo{font-size:1.5rem;font-weight:700;color:hsl(var(--sidebar-foreground));text-decoration:none;display:flex;align-items:center;gap:.75rem}.sidebar-logo-icon{width:2.5rem;height:2.5rem;background-color:hsl(var(--sidebar-primary));color:hsl(var(--sidebar-primary-foreground));border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}.sidebar-nav{flex:1;padding:.75rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-item{display:flex;align-items:center;padding:.75rem;margin-bottom:.25rem;border-radius:calc(var(--radius) - 4px);color:hsl(var(--sidebar-foreground) / .8);text-decoration:none;transition:all .15s ease-in-out;font-weight:500;gap:.75rem;font-size:.875rem}.sidebar-nav-item:hover{background-color:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-accent-foreground))}.sidebar-nav-item.active{background-color:hsl(var(--primary) / .15);color:hsl(var(--sidebar-primary))}.sidebar-nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:.75rem;border-top:1px solid hsl(var(--sidebar-border))}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.header{background-color:hsl(var(--sidebar-background));border-bottom:1px solid hsl(var(--sidebar-border));height:var(--header-height);position:sticky;top:0;z-index:50}.header-content{height:100%;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-left{display:flex;align-items:center;gap:.75rem}.header-actions{display:flex;align-items:center;gap:.5rem}.header-action-btn{padding:.5rem .75rem;background:transparent;border:none;color:hsl(var(--sidebar-foreground) / .8);border-radius:calc(var(--radius) - 4px);cursor:pointer;font-size:.875rem;transition:all .15s ease-in-out;display:flex;align-items:center;gap:.5rem}.header-action-btn:hover{background-color:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-accent-foreground))}.header-url-field{display:flex;align-items:center;gap:.5rem;background-color:hsl(var(--sidebar-accent));padding:.5rem 1rem;border-radius:calc(var(--radius) - 4px);color:hsl(var(--sidebar-foreground) / .7);font-size:.875rem;font-family:monospace;flex:1;max-width:300px}.header-right{display:flex;align-items:center;gap:.5rem}.header-btn{padding:.5rem 1rem;border-radius:calc(var(--radius) - 4px);border:none;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}.header-btn-primary{background-color:hsl(var(--sidebar-primary));color:hsl(var(--sidebar-primary-foreground))}.header-btn-primary:hover{opacity:.9}.header-btn-secondary{background-color:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-accent-foreground))}.header-btn-secondary:hover{background-color:hsl(var(--sidebar-accent) / .8)}.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:hsl(var(--sidebar-foreground) / .8);font-size:.875rem;font-weight:500}.page-content{flex:1;padding:2rem;overflow-y:auto;background-color:hsl(var(--background));scrollbar-width:none;-ms-overflow-style:none}.page-content::-webkit-scrollbar{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.875rem;font-weight:700;color:hsl(var(--foreground));margin:0}.page-actions{display:flex;gap:.75rem;align-items:center}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .2s ease-in-out}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@layer base{:root{--background:210 20% 98%;--foreground:222.2 47.4% 11.2%;--card:0 0% 100%;--card-foreground:222.2 47.4% 11.2%;--popover:0 0% 100%;--popover-foreground:222.2 47.4% 11.2%;--primary:24.6 95% 53.1%;--primary-foreground:0 0% 100%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:217.2 32.6% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:24.6 95% 53.1%;--accent-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:24.6 95% 53.1%;--radius:.75rem;--sidebar-background:222.2 47.4% 6%;--sidebar-foreground:210 40% 98%;--sidebar-primary:24.6 95% 53.1%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:217.2 32.6% 12%;--sidebar-accent-foreground:210 40% 98%;--sidebar-border:217.2 32.6% 15%;--sidebar-ring:24.6 95% 53.1%;--sidebar-width:260px;--header-height:64px}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:1.2}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)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{font-family:inherit;font-size:inherit;cursor:pointer;transition:all var(--transition-fast);border:none}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:all .15s ease-in-out}input:focus,select:focus,textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}input::-moz-placeholder,textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background-color:hsl(var(--muted))}label{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}input[type=checkbox],input[type=radio]{cursor:pointer;width:auto;height:auto;accent-color:hsl(var(--primary));margin:0;padding:0}input[type=checkbox]{width:18px;height:18px}input[type=radio]{width:16px;height:16px}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-fast)}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.btn{border-radius:calc(var(--radius) - 4px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary)/.8)}.btn-success{color:#fff;background-color:#16a249}.btn-success:hover:not(:disabled){opacity:.9}.btn-danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-danger:hover:not(:disabled){opacity:.9}.btn-outline{border:1px solid hsl(var(--border));color:hsl(var(--foreground));background-color:#0000}.btn-outline:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--ring));color:hsl(var(--foreground))}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.badge{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);align-items:center;display:inline-flex}.badge-success{color:var(--color-success-dark);background-color:#10b9811a}.badge-danger{color:var(--color-error-dark);background-color:#ef44441a}.badge-warning{color:var(--color-warning-dark);background-color:#f59e0b1a}.badge-info{color:var(--color-info-dark);background-color:#3b82f61a}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-700)}.input-group{margin-bottom:1.5rem}.input-group:last-child{margin-bottom:0}.input-group label{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input-group input,.input-group select,.input-group textarea{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);background-color:hsl(var(--background));width:100%;color:hsl(var(--foreground));padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:all .15s ease-in-out}.input-group input::-moz-placeholder,.input-group textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.input-group input::placeholder,.input-group textarea::placeholder{color:hsl(var(--muted-foreground))}.input-group input:hover,.input-group select:hover,.input-group textarea:hover{border-color:hsl(var(--input)/.8)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}.input-group input:disabled,.input-group select:disabled,.input-group textarea:disabled{opacity:.6;cursor:not-allowed;background-color:hsl(var(--muted))}.input-group small{color:hsl(var(--muted-foreground));margin-top:.375rem;font-size:.75rem;line-height:1.4;display:block}.input-group select{cursor:pointer;-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 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.input-group textarea{resize:vertical;min-height:100px;font-family:inherit}.table{border-collapse:collapse;background-color:var(--bg-primary);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.table thead{background-color:var(--bg-secondary)}.table th{padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:2px solid var(--border-color)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.table tbody tr:hover{background-color:var(--bg-secondary)}.table tbody tr:last-child td{border-bottom:none}.card{background-color:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;transition:box-shadow .15s ease-in-out;box-shadow:0 1px 3px #0000001a}.card:hover{box-shadow:0 4px 6px -1px #0000001a}.card-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.card-title{color:hsl(var(--foreground));margin:0;font-size:1.125rem;font-weight:600}.card-body{color:hsl(var(--card-foreground)/.8)}.grid{gap:1.5rem;display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-auto{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.alert{border-radius:calc(var(--radius) - 4px);align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.alert-error{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive)/.2)}.alert-success{color:#16a249;background-color:#16a2491a;border:1px solid #16a24933}.alert-warning{color:#f59f0a;background-color:#f59f0a1a;border:1px solid #f59f0a33}.alert-info{color:#0da2e7;background-color:#0da2e71a;border:1px solid #0da2e733}.media-preview-image,.media-preview-video,.media-preview-youtube{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:relative}.media-preview-image img,.media-preview-youtube img,.media-preview-video video{-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--radius) - 4px);width:100%;height:100%}.media-preview-icon{width:100%;height:100%;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted)/.5);border-radius:calc(var(--radius) - 4px);justify-content:center;align-items:center;display:flex}.media-preview-overlay{color:#fff;border-radius:calc(var(--radius) - 4px);background-color:#0000004d;justify-content:center;align-items:center;transition:opacity .15s ease-in-out;display:flex;position:absolute;inset:0}.media-preview-overlay:hover{opacity:.8}.playlist-item-card{transition:all .15s ease-in-out}.playlist-item-card:hover{box-shadow:0 4px 12px hsl(var(--ring)/.15);transform:translateY(-1px)}.checkbox-group{align-items:center;gap:.5rem;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto;margin:0}.checkbox-group label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0}.playlist-form-content{max-width:900px}@media(max-width:768px){.playlist-item-card{grid-template-columns:1fr!important}}.page-container{max-width:1400px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-title{color:hsl(var(--foreground));margin:0;font-size:1.875rem;font-weight:700}.page-actions{align-items:center;gap:.75rem;display:flex}.form-card{background-color:hsl(var(--card));border-radius:var(--radius);box-shadow:none;margin-bottom:0;padding:0}.form-actions{border-top:1px solid hsl(var(--border));justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.form-actions button{min-width:100px}.list-card{background-color:hsl(var(--card));border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem;transition:box-shadow .15s ease-in-out;box-shadow:0 1px 3px #0000001a}.list-card:hover{box-shadow:0 4px 6px -1px #0000001a}.list-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.list-card-title{color:hsl(var(--foreground));margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.list-card-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}.list-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.list-card-body{color:hsl(var(--card-foreground)/.8);font-size:.875rem}.empty-state{text-align:center;color:hsl(var(--muted-foreground));padding:3rem}.empty-state-icon{margin-bottom:1rem;font-size:2.25rem}.empty-state-title{color:hsl(var(--foreground));margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.empty-state-description{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}.loading-state{min-height:400px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;font-size:1rem;display:flex}.items-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.list-badge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;display:inline-flex}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.page-actions button{flex:1}.list-card-header{flex-direction:column;align-items:flex-start}.list-card-actions{width:100%}.list-card-actions button{flex:1}.items-grid{grid-template-columns:1fr}}.page-container{max-width:100%;padding:0}.page-header-table{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.refresh-btn{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;color:hsl(var(--foreground)/.7);background:0 0;justify-content:center;align-items:center;padding:.5rem;transition:all .15s ease-in-out;display:flex}.refresh-btn:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.form-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-in-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-modal-content{background:hsl(var(--card));border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;padding:2rem;animation:.2s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-modal-content h2{color:hsl(var(--foreground));margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.form-modal-close{cursor:pointer;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 4px);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .15s ease-in-out;display:flex;position:absolute;top:1rem;right:1rem}.form-modal-close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.table-container{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.table-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-container{flex:1;min-width:200px;max-width:400px;position:relative}.search-icon{color:hsl(var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));width:100%;color:hsl(var(--foreground));padding:.5rem .75rem .5rem 2.5rem;font-size:.875rem}.search-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring)/.2);outline:none}.table-info{color:hsl(var(--foreground)/.8);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.item-count{color:hsl(var(--muted-foreground))}.pagination-control{align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem;display:flex}.pagination-select{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));color:hsl(var(--foreground));padding:.25rem .5rem;font-size:.875rem}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table thead{border-bottom:1px solid hsl(var(--border))}.data-table th{text-align:left;color:hsl(var(--foreground)/.7);text-transform:uppercase;letter-spacing:.05em;padding:.75rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid hsl(var(--border)/.5);color:hsl(var(--foreground));padding:.75rem}.data-table tbody tr:hover{background-color:hsl(var(--muted)/.5)}.data-table tbody tr:last-child td{border-bottom:none}.radio-input{cursor:pointer;width:1rem;height:1rem}.table-cell-name{color:hsl(var(--foreground));font-weight:500}.table-cell-desc{color:hsl(var(--muted-foreground))}.table-cell-date{color:hsl(var(--muted-foreground));font-size:.8125rem}.media-type-indicators{gap:.25rem;display:flex}.media-type-square{background-color:hsl(var(--muted));border-radius:2px;width:1.25rem;height:1.25rem}.empty-table-cell{text-align:center;color:hsl(var(--muted-foreground));padding:3rem}.table-footer{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;display:flex}.btn-primary-add{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 4px);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out;display:flex}.btn-primary-add:hover{opacity:.9}.btn-secondary-actions{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}.btn-secondary-actions:hover{background-color:hsl(var(--muted))}@media(max-width:768px){.table-header{flex-direction:column;align-items:stretch}.search-container{max-width:100%}.data-table{font-size:.75rem}.data-table th,.data-table td{padding:.5rem}}.actions-menu-wrapper{display:inline-block;position:relative}.actions-btn{cursor:pointer;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 4px);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .15s ease-in-out;display:flex}.actions-btn:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.actions-menu{background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);z-index:1000;flex-direction:column;min-width:150px;margin-top:.25rem;padding:.25rem;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.actions-menu-item{cursor:pointer;color:hsl(var(--popover-foreground));text-align:left;border-radius:calc(var(--radius) - 6px);background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:all .15s ease-in-out;display:flex}.actions-menu-item:hover{background-color:hsl(var(--muted))}.actions-menu-item.danger{color:hsl(var(--destructive))}.actions-menu-item.danger:hover{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.actions-menu-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.form-section{border-bottom:1px solid hsl(var(--border));margin-bottom:2rem;padding-bottom:2rem}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{color:hsl(var(--foreground));margin-bottom:1rem;font-size:1rem;font-weight:600}.checkbox-group,.radio-group{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.checkbox-group label,.radio-group label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0;font-weight:400}.list-item{background-color:hsl(var(--muted));border-radius:calc(var(--radius) - 4px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.list-item-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.list-item-title{color:hsl(var(--foreground));margin:0;font-size:.875rem;font-weight:500}.list-item-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:.75rem}.list-item-actions{align-items:center;gap:.5rem;display:flex}.input-error input,.input-error select,.input-error textarea{border-color:hsl(var(--destructive))}.input-error-message{color:hsl(var(--destructive));margin-top:.375rem;font-size:.75rem;display:block}.input-loading{pointer-events:none;opacity:.6;position:relative}.input-loading:after{content:"";border:2px solid hsl(var(--muted-foreground));border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}input[type=file]{cursor:pointer;padding:.5rem}input[type=file]::file-selector-button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 4px);cursor:pointer;border:none;margin-right:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}input[type=file]::file-selector-button:hover{opacity:.9}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.help-text{color:hsl(var(--muted-foreground));margin-top:.375rem;font-size:.75rem;line-height:1.4;display:block}.layout-editor{background:hsl(var(--background));flex-direction:column;height:100%;display:flex}.layout-editor-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.layout-editor-toolbar{flex:1;align-items:center;gap:.5rem;display:flex}.toolbar-btn{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);cursor:pointer;color:hsl(var(--foreground));background:0 0;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .15s ease-in-out;display:flex}.toolbar-btn:hover{background:hsl(var(--muted));border-color:hsl(var(--ring))}.toolbar-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.toolbar-divider{background:hsl(var(--border));width:1px;height:24px;margin:0 .25rem}.layout-editor-actions{gap:.75rem;display:flex}.layout-editor-content{flex:1;display:flex;overflow:hidden}.layout-editor-main{flex:1;gap:1rem;padding:1rem;display:flex;overflow:hidden}.layout-layers-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);flex-direction:column;width:280px;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted));padding:1rem}.panel-header h3{color:hsl(var(--foreground));margin:0;font-size:.875rem;font-weight:600}.layers-list{flex:1;padding:.5rem;overflow-y:auto}.layer-item{border-radius:calc(var(--radius) - 4px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.5rem;transition:all .15s ease-in-out;display:flex}.layer-item:hover{background:hsl(var(--muted))}.layer-item.selected{background:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.3)}.layer-item.locked{opacity:.6}.layer-item.hidden{opacity:.4}.layer-item-drag{cursor:grab;color:hsl(var(--muted-foreground));align-items:center;display:flex}.layer-item-drag:active{cursor:grabbing}.layer-item-icon{color:hsl(var(--muted-foreground));flex-shrink:0;align-items:center;display:flex}.layer-item-name{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.layer-item-actions{opacity:0;gap:.25rem;transition:opacity .15s ease-in-out;display:flex}.layer-item:hover .layer-item-actions{opacity:1}.layer-action-btn{cursor:pointer;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 6px);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .15s ease-in-out;display:flex}.layer-action-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.layer-action-btn.danger:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.layout-canvas-container{background:hsl(var(--background));flex:1;justify-content:center;align-items:center;display:flex;overflow:auto}.layout-canvas{transform-origin:0 0;background:#fff;position:relative}.layout-element{border:2px dashed #0000;outline:none;transition:all .15s ease-in-out}.layout-element.selected{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2)}.layout-element.locked{cursor:not-allowed;opacity:.7}.layout-element.dragging{opacity:.5;transform:rotate(2deg)}.element-resize-handles{pointer-events:none;position:absolute;inset:0}.resize-handle{background:hsl(var(--primary));pointer-events:all;cursor:nwse-resize;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute}.resize-handle-nw{cursor:nwse-resize;top:-4px;left:-4px}.resize-handle-ne{cursor:nesw-resize;top:-4px;right:-4px}.resize-handle-sw{cursor:nesw-resize;bottom:-4px;left:-4px}.resize-handle-se{cursor:nwse-resize;bottom:-4px;right:-4px}.layout-properties-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);flex-direction:column;width:300px;display:flex;overflow:hidden}.properties-content{flex:1;padding:1rem;overflow-y:auto}.property-group{margin-bottom:1rem}.property-group label{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:block}.property-group input,.property-group textarea,.property-group select{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));width:100%;color:hsl(var(--foreground));padding:.5rem;font-size:.875rem}.property-group input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--muted));border-radius:3px;outline:none;width:100%;height:6px}.property-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:hsl(var(--primary));cursor:pointer;border-radius:50%;width:16px;height:16px}.property-group input[type=range]::-moz-range-thumb{background:hsl(var(--primary));cursor:pointer;border:none;border-radius:50%;width:16px;height:16px}.property-value{color:hsl(var(--foreground));background:hsl(var(--muted));border-radius:calc(var(--radius) - 4px);padding:.5rem;font-size:.875rem}@media(max-width:1200px){.layout-editor-main{flex-direction:column}.layout-layers-panel,.layout-properties-panel{width:100%;max-height:200px}}.layout-editor-wrapper{z-index:2000;background:hsl(var(--background));flex-direction:column;display:flex;position:fixed;inset:0}.layout-editor-wrapper .layout-editor{height:100vh}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
