html,body,#root{height:100vh}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;width:100%;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{width:100%;overflow:hidden}.dashboard-home{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2rem;background-color:#1a1a1a;color:#fff;font-family:Inter,system-ui,-apple-system,sans-serif}.dashboard-title{font-size:2.5rem;font-weight:700;margin-bottom:3rem;background:linear-gradient(135deg,#4fc3f7,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(79,195,247,.3)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:100%;max-width:900px}.menu-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;text-decoration:none;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.menu-card:hover{transform:translateY(-5px);background:#ffffff1a;border-color:#fff3;box-shadow:0 20px 40px #0006}.card-icon{font-size:4rem;margin-bottom:1.5rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.2))}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#e0e0e0}.card-description{font-size:.9rem;color:#a0a0a0;text-align:center;line-height:1.5}.menu-card.obs{border-bottom:4px solid #4fc3f7}.menu-card.board{border-bottom:4px solid #f7b731}.menu-card:hover.obs{box-shadow:0 20px 40px #4fc3f733}.menu-card:hover.board{box-shadow:0 20px 40px #f7b73133}@media(max-width:600px){.dashboard-title{font-size:2rem;margin-bottom:2rem}.menu-card{padding:2rem}}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border-radius:8px;font-size:14px}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-indicator .status-dot.status-connected{background:#22c55e;box-shadow:0 0 8px #22c55e99}.status-indicator .status-dot.status-connecting{background:#f59e0b;animation:pulse 1s infinite}.status-indicator .status-dot.status-error{background:#ef4444;box-shadow:0 0 8px #ef444499}.status-indicator .status-dot.status-disconnected{background:#6b7280}.status-label{font-weight:600;color:#ffffffe6}.status-text{color:#fff9;font-size:12px}.status-error{color:#ef4444;cursor:help}.obs-connection-form{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;max-width:400px}.obs-connection-form h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#ffffffe6}.form-row{display:flex;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;flex:1}.form-group-small{flex:0 0 100px}.form-group label{font-size:12px;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3b82f6}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-group input::placeholder{color:#ffffff4d}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:10px 12px;margin-bottom:16px;color:#ef4444;font-size:13px;display:flex;align-items:center;gap:8px}.submit-button{width:100%;padding:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.submit-button:disabled{opacity:.6;cursor:not-allowed}.submit-button.disconnect{background:linear-gradient(135deg,#ef4444,#dc2626)}.submit-button.disconnect:hover:not(:disabled){box-shadow:0 4px 12px #ef444466}.toggle-switch{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.toggle-label{font-size:14px;font-weight:500;color:#ffffffe6}.toggle-track{position:relative;display:flex;align-items:center;width:80px;height:32px;background:#ffffff1a;border-radius:16px;padding:0 8px;transition:background-color .3s}.toggle-track:has(input:checked){background:linear-gradient(135deg,#22c55e,#16a34a)}.toggle-track input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:absolute;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-track:has(input:checked) .toggle-slider{transform:translate(48px)}.toggle-status{margin-left:auto;font-size:11px;font-weight:700;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.toggle-track:has(input:checked) .toggle-status{margin-left:8px;margin-right:auto}.data-table-container{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;height:auto}.data-table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.data-table-header h3{margin:0;font-size:14px;font-weight:600;color:#ffffffe6}.send-all-button{padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.send-all-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.send-all-button:disabled{opacity:.5;cursor:not-allowed}.data-table-wrapper{overflow:auto;flex:1;min-height:0;max-height:100%}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{padding:12px 16px;text-align:left;background:#0003;color:#fff9;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1)}.data-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffe6}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr.row-disabled{opacity:.4}.cell-id{font-family:JetBrains Mono,monospace;color:#60a5fa}.cell-value{min-width:120px}.value-display{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:background-color .2s}.value-display:hover{background:#ffffff1a}.edit-icon{opacity:0;font-size:12px;transition:opacity .2s}.value-display:hover .edit-icon{opacity:1}.value-input{width:100%;padding:4px 8px;background:#0000004d;border:1px solid #3b82f6;border-radius:4px;color:#fff;font-size:13px;outline:none}.cell-obs-name{font-family:JetBrains Mono,monospace;font-size:12px}.no-value{color:#ffffff4d}.cell-type{text-align:center}.type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.type-badge.type-text{background:#3b82f633;color:#60a5fa}.type-badge.type-image{background:#22c55e33;color:#22c55e}.cell-action{text-align:center}.send-button{padding:6px 12px;background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:4px;color:#60a5fa;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.send-button:hover:not(:disabled){background:#3b82f64d;border-color:#3b82f6}.send-button:disabled{opacity:.4;cursor:not-allowed}.data-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#ffffff05;border:2px dashed rgba(255,255,255,.1);border-radius:12px;color:#fff6}.data-table-empty p{margin:0 0 8px;font-size:16px;font-weight:500}.data-table-empty span{font-size:13px}*{box-sizing:border-box;margin:0;padding:0}.app{height:100vh;min-height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-title{font-size:20px;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.status-bar{display:flex;gap:16px}.header-controls{display:flex;align-items:center;gap:24px}.app-main{display:flex;padding:24px;gap:24px;flex:1;overflow:hidden;min-height:0;height:auto}.sidebar{flex:0 0 420px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;min-height:0;padding-right:4px}.server-state-info{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px}.server-state-info h3{font-size:14px;font-weight:600;color:#ffffffb3;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.info-row:last-child{border-bottom:none}.info-label{color:#fff9;font-size:13px}.info-value{color:#fff;font-weight:500;font-size:13px}.mode-info{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px}.mode-info h3{font-size:14px;font-weight:600;color:#ffffffb3;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.mode-description{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;font-size:13px}.mode-description.auto{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.mode-description.manual{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa}.mode-icon{font-size:18px}.content-area{flex:1;min-width:0;overflow:hidden;min-height:0;display:flex;flex-direction:column;height:auto}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:#ffffff05;border:2px dashed rgba(255,255,255,.1);border-radius:16px;color:#fff6}.content-placeholder h2{font-size:18px;margin-bottom:8px}.content-placeholder p{font-size:14px}@media(max-width:768px){.app-main{flex-direction:column}.sidebar{flex:none;width:100%}.app-header{flex-direction:column;gap:12px}.header-controls{flex-direction:column;width:100%;gap:12px}.status-bar{width:100%;justify-content:center}}.pin-auth-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.pin-auth-container{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:48px;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .4s ease-out}.pin-auth-header{margin-bottom:36px}.pin-auth-icon{font-size:48px;margin-bottom:16px}.pin-auth-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:.05em}.pin-auth-subtitle{font-size:14px;color:#fff9;margin:0}.pin-auth-inputs{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.pin-input{width:60px;height:72px;font-size:32px;font-weight:700;text-align:center;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0d;color:#fff;outline:none;transition:all .2s ease;caret-color:#4fc3f7;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.pin-input:focus{border-color:#4fc3f7;background:#4fc3f71a;box-shadow:0 0 0 4px #4fc3f733}.pin-input.error{border-color:#f44336;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pin-input:disabled{opacity:.5;cursor:not-allowed}.pin-auth-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#f4433626;border:1px solid rgba(244,67,54,.3);border-radius:8px;color:#ff8a80;font-size:14px;animation:fadeIn .3s ease}.error-icon{font-size:16px}.pin-auth-loading{display:flex;align-items:center;justify-content:center;gap:12px;color:#ffffffb3;font-size:14px}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#4fc3f7;border-radius:50%;animation:spin .8s linear infinite}.role-selector-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.role-selector-container{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:48px;text-align:center;box-shadow:0 25px 50px -12px #00000080;max-width:600px;width:90%;animation:slideUp .4s ease-out}.role-selector-header{margin-bottom:36px}.role-selector-icon{font-size:48px;margin-bottom:16px}.role-selector-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:.05em}.role-selector-subtitle{font-size:14px;color:#fff9;margin:0}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.role-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:16px;cursor:pointer;transition:all .2s ease;position:relative;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.role-card:active{transform:scale(.95)}.role-card:hover{background:#4fc3f71a;border-color:#4fc3f766;transform:translateY(-4px);box-shadow:0 12px 24px -8px #4fc3f74d}.role-card.admin{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-color:#ffc1074d}.role-card.admin:hover{background:linear-gradient(135deg,#ffc10733,#ff980033);border-color:#ffc10780;box-shadow:0 12px 24px -8px #ffc1074d}.role-emoji{font-size:36px}.role-name{font-size:16px;font-weight:600;color:#fff;display:block;width:100%;word-break:break-word;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.5)}.admin-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;padding:4px 8px;background:linear-gradient(135deg,#ffc107,#ff9800);color:#1a1a2e;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.board-panel{padding:16px;height:100%;display:flex;flex-direction:column;gap:16px;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.board-layer{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;display:flex;flex-direction:column;flex:1;min-height:0}.layer-header{margin-bottom:16px}.layer-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.layer-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;flex:1;min-height:0}.board-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;height:100%;min-height:0;width:100%;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.board-button:active:not(.disabled){transform:scale(.95) translateZ(0)}.board-button:before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity .2s ease}.board-button:hover:not(.disabled){transform:translateY(-2px);border-color:var(--button-color)}.board-button:hover:not(.disabled):before{opacity:.1}.board-button.active{border-color:var(--button-color);box-shadow:0 0 20px rgba(var(--button-color),.3),inset 0 0 30px rgba(var(--button-color),.1)}.board-button.active:before{opacity:.2}.board-button.active:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shine 2s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.board-button.disabled{opacity:.4;cursor:not-allowed}.button-label{position:relative;z-index:1;font-size:16px;font-weight:600;color:#fff;text-align:center}.button-activated-by{position:relative;z-index:1;font-size:11px;color:#fff9}.button-exclusive-badge{position:absolute;top:8px;right:8px;font-size:12px}.connected-users{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px}.users-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.users-icon{font-size:18px}.users-label{font-size:14px;font-weight:600;color:#ffffffb3}.users-list{display:flex;flex-wrap:wrap;gap:8px}.user-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:13px;color:#fffc}.user-badge.current{background:#4fc3f726;border-color:#4fc3f74d;color:#4fc3f7}@media(max-width:768px){.board-panel{padding:8px;gap:8px}.board-layer{padding:8px;border-radius:12px}.layer-header{margin-bottom:8px;flex-shrink:0}.layer-buttons{gap:6px;grid-template-columns:repeat(2,1fr);align-content:stretch}.board-button{padding:4px;gap:4px;border-radius:8px}.button-label{font-size:13px;line-height:1.2}.button-activated-by{font-size:10px}.connected-users{padding:8px 12px;border-radius:12px;flex-shrink:0;max-height:60px;overflow-y:auto}.users-header{margin-bottom:4px}.users-list{flex-wrap:nowrap;overflow-x:auto;overflow:hidden}.user-badge{padding:2px 8px;font-size:11px}}@media(max-height:700px){.button-label{font-size:12px}.board-button{border-width:1px}}.board-preview{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-overflow-scrolling:touch}.board-preview{padding:1rem;height:100%;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e)}.preview-header{text-align:center;margin-bottom:1rem;padding:1rem;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.preview-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:#fff;text-shadow:0 2px 10px rgba(79,195,247,.5)}.preview-description{margin:0;color:#ffffffb3;font-size:.95rem}.preview-layers{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.preview-empty{text-align:center;padding:4rem 2rem;color:#ffffff80}.empty-icon{font-size:4rem;margin-bottom:1rem}.preview-empty p{margin:0;font-size:1.1rem}.preview-layer-card{background:#ffffff14;border-radius:16px;padding:1rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d;transition:transform .2s ease,box-shadow .2s ease;flex:1;min-height:0;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}.preview-layer-card:active{transform:scale(.98)}.preview-layer-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(255,255,255,.1)}.preview-layer-number{font-size:.9rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.preview-button-display{padding:2rem;background:linear-gradient(135deg,var(--button-color, #4fc3f7) 0%,color-mix(in srgb,var(--button-color, #4fc3f7) 70%,#000) 100%);border-radius:12px;box-shadow:0 8px 32px #0006,inset 0 1px #fff3;-webkit-tap-highlight-color:transparent;-webkit-transform:translateZ(0);transform:translateZ(0);flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.preview-button-label{font-size:2.5rem;font-weight:800;color:#fff;text-align:center;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.2);line-height:1.2;word-break:break-word}.preview-button-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);flex-wrap:wrap}.preview-activated-by,.preview-activated-time{font-size:.95rem;color:#ffffffe6;background:#0003;padding:.5rem 1rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;-webkit-tap-highlight-color:transparent}@media(max-width:768px){.preview-title{font-size:1.75rem}.preview-button-label{font-size:2rem}}@media(max-width:480px){.board-preview{padding:.75rem}.preview-header{padding:1rem;margin-bottom:1.5rem}.preview-title{font-size:1.5rem}.preview-description{font-size:.85rem}.preview-layers{gap:1rem}.preview-layer-card{padding:1rem}.preview-button-display{padding:1.5rem}.preview-button-label{font-size:1.75rem}.preview-button-meta{flex-direction:column;align-items:stretch}.preview-activated-by,.preview-activated-time{justify-content:center;font-size:.85rem}}@media(max-height:500px){.preview-header,.preview-layer-header,.preview-button-meta{display:none}.preview-button-label{font-size:2rem;margin-bottom:0}.board-preview{padding:.5rem}.preview-layers{gap:.5rem}}@media(max-height:700px){.preview-description{display:none}.preview-header{padding:.5rem;margin-bottom:.5rem}.preview-title{font-size:1.2rem}.preview-button-meta{margin-top:.5rem;padding-top:.5rem}}@supports (-webkit-touch-callout: none){.board-preview{-webkit-overflow-scrolling:touch}.preview-button-display{-webkit-touch-callout:none}button,.preview-layer-card,.preview-button-display{-webkit-appearance:none;appearance:none}}.admin-settings-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-settings-container{background:#1e1e2e;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:800px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-settings-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:20px;color:#fff9;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.close-btn:active{transform:scale(.9)}.close-btn:hover{background:#ffffff1a;color:#fff}.admin-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.tab{flex:1;padding:14px;background:none;border:none;font-size:14px;font-weight:500;color:#ffffff80;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.tab:hover{color:#fffc;background:#ffffff08}.tab.active{color:#4fc3f7;border-bottom:2px solid #4fc3f7}.admin-content{flex:1;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch}.add-form{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;margin-bottom:24px}.add-form h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#ffffffb3}.form-grid{display:grid;grid-template-columns:2fr 1fr 60px 1fr;gap:12px;align-items:end;margin-bottom:12px}.form-row{display:flex;gap:12px;align-items:center}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;color:#ffffff80}.form-group.checkbox{flex-direction:row;align-items:center}.form-group.checkbox label{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffb3}.form-group input[type=text],.form-group input[type=number]{padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:#4fc3f7}.form-group input[type=color]{width:100%;height:38px;padding:4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.roles-select{margin-bottom:16px}.role-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.role-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:13px;color:#ffffffb3;cursor:pointer}.role-checkbox:has(input:checked){background:#4fc3f726;border-color:#4fc3f74d;color:#4fc3f7}.add-btn{padding:10px 20px;background:linear-gradient(135deg,#4fc3f7,#29b6f6);border:none;border-radius:8px;font-size:14px;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.add-btn:active{transform:scale(.95)}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4fc3f74d}.items-list h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#ffffffb3}.item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;margin-bottom:8px}.item-info{display:flex;align-items:center;gap:12px}.color-dot{width:12px;height:12px;border-radius:50%}.item-name{font-size:14px;font-weight:500;color:#fff}.item-meta{font-size:12px;color:#fff6}.item-actions{display:flex;gap:8px}.item-actions button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.item-actions button:active:not(:disabled){transform:scale(.9)}.item-actions button:hover{background:#ffffff1a}.item-actions button:disabled{opacity:.3;cursor:not-allowed}.edit-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.edit-form input[type=text],.edit-form input[type=number]{padding:8px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:13px}.edit-form input[type=color]{width:40px;height:32px;padding:2px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:6px}.inline-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffb3;white-space:nowrap}.role-checkboxes-inline{display:flex;gap:8px;flex-wrap:wrap}.role-checkboxes-inline label{display:flex;align-items:center;gap:4px;font-size:12px;color:#fff9}.edit-actions{display:flex;gap:8px;margin-left:auto}.save-btn{padding:6px 16px;background:#4fc3f7;border:none;border-radius:6px;font-size:13px;font-weight:600;color:#1a1a2e;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.save-btn:active{transform:scale(.95)}.cancel-btn{padding:6px 16px;background:#ffffff1a;border:none;border-radius:6px;font-size:13px;color:#ffffffb3;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.cancel-btn:active{transform:scale(.95)}.board-page{height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.board-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.08)}.board-header-left{display:flex;align-items:center;gap:24px}.board-title{font-size:20px;font-weight:700;margin:0;letter-spacing:.05em}.role-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px}.role-indicator .role-emoji{font-size:18px}.role-name{font-size:14px;font-weight:500}@media(max-width:480px){.board-header{padding:8px 12px;flex-shrink:0}.board-header-left{gap:8px}.board-title{font-size:16px}.role-indicator{padding:4px 8px}.role-indicator .role-name{display:none}.board-header-right{gap:8px}.connection-status{padding:4px 8px}.status-text{display:none}.admin-settings-btn,.logout-btn{padding:4px 8px;font-size:12px}}.board-header-right{display:flex;align-items:center;gap:16px}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-radius:6px;font-size:13px}.board-page .status-dot{width:8px;height:8px;border-radius:50%;background:#888}.connection-status.connected .status-dot{background:#4caf50;box-shadow:0 0 8px #4caf50}.connection-status.connecting .status-dot{background:#ff9800;animation:pulse 1s infinite}.connection-status.disconnected .status-dot{background:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#ffffffb3}.admin-settings-btn,.logout-btn{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:13px;font-weight:500;color:#fffc;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}.admin-settings-btn:active,.logout-btn:active{transform:scale(.95)}.admin-settings-btn:hover,.logout-btn:hover{background:#ffffff1a;color:#fff}.admin-settings-btn{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-color:#ffc1074d}.admin-settings-btn:hover{background:linear-gradient(135deg,#ffc10733,#ff980033)}.board-main{padding:0;flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}.board-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#ffffffb3}.loading-spinner.large{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#4fc3f7;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.board-error-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:#f44336e6;border-radius:8px;font-size:14px;color:#fff;animation:slideInUp .3s ease}@keyframes slideInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
