.text-rotate{white-space:pre-wrap;flex-wrap:wrap;display:flex;position:relative}.text-rotate-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-rotate-word{display:inline-flex}.text-rotate-lines{flex-direction:column;width:100%;display:flex}.text-rotate-element{display:inline-block}.text-rotate-space{white-space:pre}.auth-page{min-height:100vh;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:radial-gradient(circle at 0 0,#1677ff1f,#0000 40%),#f5f7fb;place-items:center;display:grid}.auth-card{border-radius:20px;width:min(100%,440px);box-shadow:0 18px 48px #0f172a14}@media (height<=800px){.auth-page{align-content:start;padding-block:12px}.auth-card{border-radius:14px}}@media (width<=640px){.auth-card{border-radius:16px}}:root{--sc-bg:#eef1f5;--sc-surface:#fff;--sc-text:#111827;--sc-text-muted:#6b7280;--sc-accent:#2563eb;--sc-accent-soft:#e8f0fe;--sc-success:#16a34a;--sc-error:#dc2626;--sc-border:#e2e8f0;--sc-shadow:0 2px 10px #0000000a;--sc-radius:8px;--sc-radius-lg:12px;--sc-sidebar-width:220px;--sc-sidebar-collapsed-width:72px;--sc-content-max:100%;--sc-content-padding:16px;--sc-header-padding:16px;--sc-section-gap:16px;--sc-hero-title:22px;--sc-page-title:22px;--sc-header-height:52px;--sc-font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}#root{overflow:auto}body{background:var(--sc-bg);min-width:320px;color:var(--sc-text);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.app-shell{background:var(--sc-bg);height:100%;min-height:100%;overflow:hidden}.app-sidebar{z-index:10;box-shadow:none;inset:0 auto 0 0;border-right:1px solid var(--sc-border)!important;background:var(--sc-surface)!important;position:fixed!important}.app-sidebar .ant-layout-sider-children{height:100%}.sidebar-inner{flex-direction:column;height:100%;min-height:100vh;display:flex}.sidebar-footer{border-top:1px solid var(--sc-border);flex-shrink:0;margin-top:auto;padding:12px}.sidebar-collapse{border-radius:var(--sc-radius);width:100%;height:36px;color:var(--sc-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-collapse:hover{color:var(--sc-text);border-color:var(--sc-border);background:#f9fafb}.sidebar-collapse:focus-visible{outline-offset:1px;outline:2px solid #2563eb59}.sidebar-collapse .lucide{flex-shrink:0;display:block}.app-sidebar.ant-layout-sider-collapsed .sidebar-footer{padding:12px 8px}.app-sidebar.ant-layout-sider-collapsed .sidebar-collapse{width:40px;margin-inline:auto}.brand{border-bottom:1px solid var(--sc-border);align-items:center;gap:10px;height:auto;min-height:64px;padding:8px 14px;display:flex}.brand__text{min-width:0}.brand-logo{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-logo__image{object-fit:contain;width:100%;height:100%;display:block}.brand__logo{flex-shrink:0}.brand__mark{background:var(--sc-accent);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.brand__name,.brand__caption{display:block}.brand__title{align-items:center;line-height:1.2;display:flex}.brand__wordmark{letter-spacing:-.04em;align-items:baseline;font-size:16px;font-weight:800;line-height:1.15;display:inline-flex}.brand__store{color:#2f6fe0}.brand__cast{color:#d0121c}.brand__title--compact .brand__wordmark{font-size:22px}@media (prefers-reduced-motion:reduce){.brand__title .text-content,.brand__caption-rotate .text-rotate-element,.dashboard-hero__status-dot,.dashboard-hero__glow,.dashboard-hero__weather-icon,.presence-dot--online{transition:none!important;animation:none!important}}.brand__name{letter-spacing:-.2px;font-size:15px;font-weight:700;line-height:1.2;color:var(--sc-text)!important}.brand__caption{letter-spacing:.02em;margin-top:1px;font-size:11px;line-height:1.2;color:var(--sc-text-muted)!important}.brand__caption-rotate{white-space:nowrap;height:14px;overflow:hidden;display:block!important}.brand__caption-rotate .text-rotate{flex-wrap:nowrap}.brand__name--compact{font-size:20px;line-height:1.15}.app-sidebar.ant-layout-sider-collapsed .brand__text{display:none}.app-sidebar.ant-layout-sider-collapsed .brand{justify-content:center;padding-inline:0}.app-navigation{flex:1;min-height:0;margin-top:12px;padding:0 12px;overflow:hidden auto;background:0 0!important;border-inline-end:0!important}.app-navigation .ant-menu-item{font-weight:500;transition:background .15s,color .15s;position:relative;overflow:hidden;margin-block:2px!important;padding-inline:12px!important}.app-navigation .ant-menu-item .ant-menu-item-icon{color:#94a3b8;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.app-navigation .ant-menu-item:hover .ant-menu-item-icon,.app-navigation .ant-menu-item-active .ant-menu-item-icon{color:var(--sc-accent)}.app-navigation .ant-menu-item-selected{background:linear-gradient(90deg,#e8f0fe 0%,#f4f8ff 100%)!important}.app-navigation .ant-menu-item-selected:before{content:"";background:var(--sc-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.app-navigation .ant-menu-item-selected .ant-menu-item-icon{color:var(--sc-accent)}.app-sidebar.ant-layout-sider-collapsed .app-navigation .ant-menu-item-selected:before{top:10px;bottom:10px}.app-sidebar+.ant-layout,.app-main{margin-left:var(--sc-sidebar-width);height:100%;min-height:0;transition:margin-left .2s;overflow:hidden;background:var(--sc-bg)!important}.app-main--sidebar-collapsed,.app-sidebar.ant-layout-sider-collapsed+.app-main{margin-left:var(--sc-sidebar-collapsed-width)}.app-header{z-index:5;height:calc(var(--sc-header-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(var(--sc-header-padding), env(safe-area-inset-right,0px)) 0 max(var(--sc-header-padding), env(safe-area-inset-left,0px));border-bottom:1px solid var(--sc-border);line-height:normal;position:sticky;top:0;background:var(--sc-surface)!important}.app-header__menu{border-radius:var(--sc-radius);width:44px;height:44px;color:var(--sc-text);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-header__menu:hover{border-color:var(--sc-border);background:#f9fafb}.app-header__menu:focus-visible{outline-offset:1px;outline:2px solid #2563eb59}.app-sidebar-backdrop{z-index:25;cursor:pointer;background:#0f172a66;border:0;padding:0;position:fixed;inset:0}.app-header__bar{width:100%;min-width:0;height:100%}.app-header__trail{white-space:nowrap;flex:auto;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex;overflow:hidden}.app-header__crumb,.app-header__page{white-space:nowrap;flex-shrink:0}.app-header__page{text-overflow:ellipsis;overflow:hidden}.app-header__crumb{font-size:13px}.app-header__divider{color:#d1d5db;flex-shrink:0}.app-header__actions{flex:none;margin-left:auto}.app-header__logout{flex-shrink:0;width:36px}.user-meta{min-width:0;max-width:min(280px,36vw)}.user-meta .ant-typography{text-align:right;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;display:block;overflow:hidden}.user-meta__email{font-size:12px}.app-header__user{cursor:pointer;flex-shrink:0}.screen-detail__hash{font-size:12px}.user-avatar{background:var(--sc-accent)!important;color:#fff!important}.app-content{padding:var(--sc-content-padding);padding-bottom:max(var(--sc-content-padding), env(safe-area-inset-bottom,0px));padding-left:max(var(--sc-content-padding), env(safe-area-inset-left,0px));padding-right:max(var(--sc-content-padding), env(safe-area-inset-right,0px));flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.app-content__inner{width:100%;max-width:var(--sc-content-max);flex-direction:column;flex:1;min-height:0;margin-inline:0;display:flex}.app-page{flex:auto;width:100%;min-height:0;overflow:auto}.app-page[hidden]{display:none!important}.page-header{margin-bottom:16px}.page-header>.ant-flex{width:100%}.page-header>.ant-flex>:last-child{flex-shrink:0}.page-eyebrow{color:var(--sc-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.page-title{letter-spacing:-.02em;font-size:var(--sc-page-title)!important;margin:0 0 4px!important;font-weight:700!important;line-height:1.2!important}.page-subtitle{max-width:640px;font-size:14px;line-height:1.5;margin:0!important}.environment-tag{margin:0;font-weight:500}.dashboard{width:100%;min-width:0}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px;width:100%;display:grid}.dashboard.ant-space,.dashboard>.ant-space-item{width:100%;min-width:0}@media (width<=1200px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.dashboard-stats{grid-template-columns:1fr}}.dashboard-hero{--hero-aura-a:#6366f18c;--hero-aura-b:#a855f76b;background:radial-gradient(ellipse 58% 95% at 12% -10%, var(--hero-aura-a), transparent 58%), radial-gradient(ellipse 48% 85% at 42% 120%, var(--hero-aura-b), transparent 55%), linear-gradient(135deg, #0f172a 0%, #111827 58%, #1e1b4b 140%);color:#f8fafc;border:1px solid #1e293b;border-radius:16px;padding:12px 14px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a14}.dashboard-hero--sunny{--hero-aura-a:#f59e0b94;--hero-aura-b:#fbbf2466}.dashboard-hero--hot{--hero-aura-a:#f9731699;--hero-aura-b:#fbbf246b}.dashboard-hero--rainy{--hero-aura-a:#3b82f694;--hero-aura-b:#0ea5e96b}.dashboard-hero--snow{--hero-aura-a:#bae6fd85;--hero-aura-b:#7dd3fc66}.dashboard-hero--cloudy{--hero-aura-a:#94a3b873;--hero-aura-b:#64748b5c}.dashboard-hero--night{--hero-aura-a:#6366f19e;--hero-aura-b:#8b5cf680}.dashboard-hero__aura{z-index:0;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.dashboard-hero__glow{pointer-events:none;border-radius:999px;animation:5.5s ease-in-out infinite dashboard-hero-aura;position:absolute}.dashboard-hero__glow--primary{background:var(--hero-aura-a);width:340px;height:340px;top:-32%;left:-6%}.dashboard-hero__glow--secondary{background:var(--hero-aura-b);width:280px;height:280px;animation-delay:1.8s;bottom:-46%;left:30%;right:auto}.dashboard-hero__body{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex;position:relative}.dashboard-hero__copy{flex:280px;min-width:0}.dashboard-hero__title{color:#f8fafc;font-size:var(--sc-hero-title);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.2}.dashboard-hero__subtitle{color:#94a3b8;max-width:540px;margin:8px 0 0;font-size:13px;line-height:1.5}.dashboard-hero__widget{background:#1e293be0;border:1px solid #33415599;border-radius:12px;flex:0 auto;align-items:stretch;max-width:100%;margin-left:auto;padding:10px 12px;display:flex}.dashboard-hero__widget-clock{border-right:1px solid #334155cc;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding-right:20px;display:flex}.dashboard-hero__widget-weather{flex-direction:column;justify-content:center;gap:4px;min-width:88px;padding:2px 16px 2px 20px;display:flex;position:relative}.dashboard-hero__clock-label,.dashboard-hero__clock-meta{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.dashboard-hero__clock-meta{text-transform:none;letter-spacing:.02em;font-weight:600}.location-flip-clock{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.location-flip-clock [style*=perspective]{perspective:none!important}.location-flip-clock span{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500}.dashboard-hero__weather-row{align-items:center;gap:8px;display:flex}.dashboard-hero__weather-icon{flex-shrink:0;width:22px;height:22px}.dashboard-hero__weather-icon--sunny,.dashboard-hero__weather-icon--hot{color:#fbbf24;animation:12s linear infinite dashboard-hero-sun}.dashboard-hero__weather-icon--hot{color:#fb923c}.dashboard-hero__weather-icon--rainy{color:#60a5fa;animation:2.4s ease-in-out infinite dashboard-hero-rain}.dashboard-hero__weather-icon--snow{color:#e0f2fe;animation:8s linear infinite dashboard-hero-snow}.dashboard-hero__weather-icon--cloudy{color:#94a3b8;animation:3s ease-in-out infinite dashboard-hero-cloud}.dashboard-hero__weather-icon--night{color:#c4b5fd;animation:4s ease-in-out infinite dashboard-hero-moon}.dashboard-hero__weather-temp{color:#fbbf24;font-size:22px;font-weight:800;line-height:1;display:block}.dashboard-hero__weather-city{color:#94a3b8;font-size:12px;line-height:1.2;display:block}.dashboard-hero__weather-kind{color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.dashboard-hero__status-dot{background:#34d399;border-radius:999px;width:8px;height:8px;animation:1.8s ease-out infinite dashboard-status-pulse;position:absolute;top:6px;right:4px;box-shadow:0 0 #34d3998c}.dashboard-hero__status-dot--alert{background:#f87171;animation-name:dashboard-status-pulse-alert;box-shadow:0 0 #f871718c}@keyframes dashboard-status-pulse{0%{box-shadow:0 0 #34d3998c}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}@keyframes dashboard-status-pulse-alert{0%{box-shadow:0 0 #f871718c}70%{box-shadow:0 0 0 8px #f8717100}to{box-shadow:0 0 #f8717100}}@keyframes dashboard-hero-aura{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes dashboard-hero-sun{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dashboard-hero-rain{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes dashboard-hero-snow{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes dashboard-hero-cloud{0%,to{opacity:.85;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}@keyframes dashboard-hero-moon{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (width<=1100px){.dashboard-hero__widget{width:100%;margin-left:0}}@media (width<=640px){.dashboard-hero{padding:14px}.dashboard-hero__widget{flex-direction:column;padding:12px 16px}.dashboard-hero__widget-clock{border-bottom:1px solid #334155;border-right:0;padding:0 0 12px}.dashboard-hero__widget-weather{min-width:0;padding:12px 16px 0 0}}.dashboard,.files-page,.playlists-page,.screens-page{width:100%}.screens-page__actions{flex-wrap:wrap;gap:8px;display:flex}.screens-empty{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.screens-empty .ant-alert{width:100%}.dashboard.ant-space,.screens-page.ant-space,.playlists-page.ant-space{gap:var(--sc-section-gap)!important}.files-page{flex-direction:column;gap:12px;display:flex}.files-page .page-header{margin-bottom:0}.files-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.files-controls__tabs{flex:auto;min-width:220px;margin-bottom:0!important}.files-controls__tabs .ant-tabs-nav{margin-bottom:0}.files-controls__tabs--empty{min-width:0}.files-controls__actions{flex:320px;justify-content:flex-end}.files-controls__search{width:min(100%,280px)}.status-card{height:100%;background:var(--sc-surface)!important;border:1px solid #e2e8f0cc!important;border-radius:12px!important;box-shadow:0 1px 2px #0f172a0f!important}.ant-card{box-shadow:var(--sc-shadow);border:1px solid #e2e8f0e6}.status-card--clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.status-card--clickable:hover,.status-card--clickable:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 8px 24px #2563eb1f;border-color:#93c5fd!important}.status-card__eyebrow{color:var(--sc-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.status-card__value{margin:6px 0 8px!important;font-size:22px!important;font-weight:700!important}.status-card__value number-flow-react,.dashboard-hero__weather-temp number-flow-react,.status-card__progress-legend-item number-flow-react{font:inherit;letter-spacing:inherit}.status-card__badge .ant-badge-status-text{color:var(--sc-text-muted);font-size:13px}.status-card .ant-card-body{padding:12px 14px}.status-card__icon{color:#9ca3af;background:#f3f4f6;border-radius:10px;place-items:center;width:36px;height:36px;font-size:20px;display:grid}.status-card__icon--emerald{color:#059669;background:#ecfdf5}.status-card__icon--cyan{color:#0891b2;background:#ecfeff}.status-card__icon--indigo{color:#4f46e5;background:#eef2ff}.status-card__icon--purple{color:#a855f7;background:#faf5ff}.status-card__icon--danger{color:#dc2626;background:#fef2f2}.status-card__progress{flex-direction:column;gap:8px;display:flex}.status-card__progress-track{background:#eef2f7;border-radius:999px;width:100%;height:6px;display:flex;overflow:hidden}.status-card__progress-fill{min-width:0;height:100%;display:block}.status-card__progress-fill+.status-card__progress-fill{margin-left:1px}.status-card__progress-empty{background:#e2e8f0;width:100%;height:100%;display:block}.status-card__progress-legend{color:var(--sc-text-muted);flex-wrap:wrap;gap:10px 14px;margin-top:8px;font-size:11px;line-height:1.2;display:flex}.status-card__progress-legend-item{align-items:center;gap:6px;display:inline-flex}.status-card__progress-dot{border-radius:999px;width:7px;height:7px;display:inline-block}.environment-panel{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);box-shadow:var(--sc-shadow);padding:20px}.environment-panel .ant-typography{margin:0 0 4px}.dashboard-screens-modal__body{flex-direction:column;gap:20px;display:flex}.dashboard-screens-modal__section-header{margin-bottom:10px}.dashboard-screens-modal__list{flex-direction:column;gap:8px;display:flex}.dashboard-screens-modal__item{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.dashboard-screens-modal__item:hover,.dashboard-screens-modal__item:focus-visible{background:#f8fbff;border-color:#93c5fd;outline:none;box-shadow:0 4px 14px #2563eb14}.dashboard-screens-modal__icon{border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.dashboard-screens-modal__icon--online{color:var(--sc-success);background:#ecfdf5}.dashboard-screens-modal__icon--offline{color:#9ca3af;background:#f3f4f6}.dashboard-screens-modal__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dashboard-screens-modal__name{display:block}.dashboard-screens-modal__meta{font-size:12px;display:block}.dashboard-screens-modal__chevron{color:#9ca3af;flex-shrink:0;font-size:12px}.connection-error{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);text-align:center;max-width:480px;box-shadow:var(--sc-shadow);margin:64px auto;padding:32px}.connection-error__icon{width:56px;height:56px;color:var(--sc-error);background:#fef2f2;border-radius:12px;place-items:center;margin:0 auto 16px;font-size:24px;display:grid}.files-upload{border-radius:var(--sc-radius-lg)!important;background:#fafafa!important;border:1px dashed #cbd5e1!important}.files-upload:hover{background:#f8fafc!important;border-color:#93c5fd!important}.upload-queue--compact{padding:10px 12px}.upload-queue--compact .upload-queue__list{margin-top:0}.files-bulk-bar{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);align-items:center;gap:12px;padding:8px 12px;display:flex}.media-delete-modal__playlist-list{margin:8px 0 0;padding-left:18px}.media-preview-modal__sha{margin-bottom:12px}.upload-queue{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);padding:16px}.upload-queue__list{width:100%;margin-top:12px}.upload-queue__item{width:100%}.media-preview-button{cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.media-preview-thumb{object-fit:cover;border:1px solid var(--sc-border);border-radius:6px;width:64px;height:40px}.media-preview-video{color:#6b7280;background:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;width:64px;height:40px;font-size:18px;display:inline-flex}.media-preview-modal{object-fit:contain;border-radius:var(--sc-radius);width:100%;max-height:70vh;display:block}.media-preview-modal--video{background:#000}.playlist-form__empty-alert{margin-top:12px}.screen-table__alert-icon{color:var(--sc-error);font-size:16px}.screen-preview-button{cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.screen-preview-thumb{border:1px solid var(--sc-border);color:#6366f1;background:#eef2ff;border-radius:8px;justify-content:center;align-items:center;width:56px;height:36px;display:inline-flex;position:relative;overflow:hidden}.screen-preview-thumb--card{color:#a5b4fc;background:radial-gradient(circle at 30% 20%,#6366f12e,#0000 42%),#0f172a;border:0;border-radius:0;width:100%;height:100%}.screen-preview-thumb__fallback{flex-shrink:0}.screen-preview-thumb__photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.screen-status__lifecycle{font-weight:600}.screen-status__online-hint{font-size:12px}.screen-status__alert-icon{color:var(--sc-error)}.screen-status__more{cursor:pointer}.screen-status__ok{font-size:11px}.screen-status__diag-hint{margin-top:2px;font-size:12px;display:block}.screen-table__playing-tag{margin-inline-end:6px}.screens-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.screens-kpi__card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:12px;min-height:64px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0f172a0f}.screens-kpi__card:hover,.screens-kpi__card--active{border-color:#93c5fd;box-shadow:0 8px 24px #2563eb1a}.screens-kpi__card--warning{background:#fffbeb;border-color:#fde68a}.screens-kpi__card--warning.screens-kpi__card--active,.screens-kpi__card--warning:hover{border-color:#f59e0b}.screens-kpi__icon{color:#64748b;background:#f8fafc;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.screens-kpi__card--success .screens-kpi__icon{color:#059669;background:#ecfdf5}.screens-kpi__card--warning .screens-kpi__icon{color:#d97706;background:#fef3c7}.screens-kpi__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.screens-kpi__label{color:var(--sc-text-muted);font-size:12px;font-weight:600}.screens-kpi__value{font-size:20px;font-weight:700;line-height:1.1}.screens-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.screens-toolbar__search{flex:280px;min-width:220px;max-width:420px}.screens-toolbar__tags{flex:200px;min-width:180px;max-width:280px}.screens-view-toggle{border:1px solid var(--sc-border);background:#fff;border-radius:10px;margin-left:auto;display:inline-flex;overflow:hidden}.screens-view-toggle__btn{color:#64748b;cursor:pointer;background:0 0;border:0;place-items:center;width:36px;height:32px;display:grid}.screens-view-toggle__btn.is-active{color:var(--sc-accent);background:#e8f0fe}.screens-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.screens-region{flex-direction:column;gap:12px;display:flex}.screens-region+.screens-region{margin-top:20px}.screens-region__title{align-items:baseline;gap:8px;display:flex;margin:0!important;font-size:15px!important;line-height:1.3!important}.screens-region__count{font-size:13px;font-weight:500}.screen-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.screen-card--selected{border-color:#93c5fd;box-shadow:0 8px 24px #2563eb1a}.screen-card__preview{aspect-ratio:16/9;background:#0f172a;position:relative}.screen-card__preview .screen-preview-button,.screen-card__preview .screen-preview-thumb{width:100%;height:100%}.screen-card__check{z-index:1;background:#0f172a73;border-radius:6px;padding:2px 4px;position:absolute;top:10px;left:10px}.screen-card__preview .presence-dot{position:absolute;top:12px;right:12px}.screen-card__body{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.screen-card__heading{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.screen-card__title{min-width:0;color:var(--sc-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-weight:700}.screen-card__more{flex-shrink:0;margin-right:-6px}.screen-card__playlist{color:var(--sc-text);font-size:13px;font-weight:600}.screen-caption{color:#4b5563;letter-spacing:.01em;-webkit-font-smoothing:auto;margin-top:2px;font-size:13px;font-weight:500;line-height:1.4;display:block}.screen-caption--version{color:#374151;letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-top:1px;font-size:12px;font-weight:600}.screen-caption--meta{align-items:center;gap:4px;margin-top:0;display:inline-flex}.screen-card__actions{gap:8px;display:flex}.screen-presence{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.screen-presence__row{align-items:center;gap:8px;display:inline-flex}.screen-presence__label{font-size:13px;font-weight:600}.screen-presence__meta{color:var(--sc-text-muted);font-size:11px}.presence-dot{background:#94a3b8;border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.presence-dot--online{background:#22c55e;animation:1.8s ease-out infinite dashboard-status-pulse;box-shadow:0 0 #22c55e8c}.presence-dot--wait{background:#f59e0b;animation:none}.screen-issue-badge{color:#d97706;cursor:pointer;background:#fffbeb;border:0;border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:600;display:inline-flex}.screen-code-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:2px;padding:2px 4px 2px 8px;display:inline-flex}.screen-code-chip code{font-family:var(--sc-font-mono);letter-spacing:.04em;color:#334155;font-size:12px;font-weight:600}.screen-code-chip__copy{color:#64748b;width:26px;min-width:26px;height:26px;padding:0}.screens-bulk-bar{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.screen-table{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:var(--sc-surface);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;overflow:auto hidden}.screen-table::-webkit-scrollbar{width:0;height:6px}.screen-table .ant-table-content::-webkit-scrollbar{width:0;height:6px}.screen-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.screen-table .ant-table-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.screen-table::-webkit-scrollbar-track{background:0 0}.screen-table .ant-table-content::-webkit-scrollbar-track{background:0 0}.screen-table .ant-table-content{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;overflow-y:hidden!important}.screen-table .ant-table-wrapper{min-width:760px;overflow:visible}.screen-table .ant-table-body{overflow-y:hidden!important}.screen-table .ant-table{background:0 0}.screen-table .ant-table-cell{vertical-align:middle}.screen-table__screen-cell{align-items:center;gap:10px;min-width:0;display:flex}.screen-table__screen-copy{min-width:0}.screen-table__location,.screen-table__playlist,.screen-table__now-playing{min-width:0;color:var(--sc-text);align-items:center;gap:6px;display:inline-flex}.screen-table__now-playing .ant-typography{min-width:0}.screen-table__status-row{margin-top:8px}.screen-table__status-row .ant-tag{margin-inline-end:0;font-size:11px;line-height:18px}.screen-table__playlist-tag{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.screen-table__actions-cell{white-space:nowrap}.screen-table__meta{margin-top:2px;font-size:12px;display:block}.screen-table__code{font-family:var(--sc-font-mono);white-space:nowrap;letter-spacing:.04em;font-size:13px;display:inline-block}.screen-table__date-cell{padding-right:12px!important}.screen-table__date{white-space:nowrap;font-size:13px;line-height:1.4;display:block}.screen-table__actions{flex-wrap:nowrap;justify-content:flex-end}.screen-table__action-btn{width:32px;min-width:32px;padding-inline:0}.pair-form__hint{margin-bottom:16px!important}.pair-form__types{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.pair-form__type{border:1px solid var(--sc-border);min-height:72px;color:var(--sc-text);text-align:left;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.pair-form__type small{color:var(--sc-text-muted);margin-top:2px;font-size:12px;display:block}.pair-form__type.is-active{border-color:var(--sc-accent);box-shadow:0 0 0 1px var(--sc-accent);background:#e8f0fe}.pair-form .ant-otp{justify-content:space-between;gap:6px;width:100%}.pair-form .ant-otp input{font-family:var(--sc-font-mono);font-size:20px;font-weight:700}.pair-form__success{flex-direction:column;gap:8px;display:flex}.pair-form__actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.pair-form__actions--stack{flex-direction:column}.pair-form__code input{font-family:var(--sc-font-mono);letter-spacing:.12em;text-align:center;font-size:22px}.playlist-campaign-field{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:#fafafa;gap:12px;padding:12px 14px;display:grid}.playlist-campaign-field__mode{flex-wrap:wrap;gap:8px 16px;display:flex}.playlist-campaign-field__period,.playlist-campaign-field__bounds{width:100%}.playlist-campaign-field__bound{gap:6px;min-width:min(100%,280px);display:grid}.playlist-campaign-field__label{font-size:12px}.playlist-campaign-field__summary{font-size:13px;line-height:1.4;display:block}.playlist-editor-modal.ant-modal{max-width:calc(100vw - 32px);width:min(1360px,100vw - 32px)!important}.playlist-editor-modal .ant-modal-content{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.playlist-editor-modal .ant-modal-body,.playlist-create-modal .ant-modal-body{flex:1;min-height:0;max-height:calc(100vh - 12rem);padding-top:8px;overflow-y:auto}.playlist-editor-modal__footer,.playlist-create-modal__footer{width:100%}.playlist-editor-modal__loading{place-items:center;gap:12px;min-height:240px;display:grid}.playlist-delete-modal .ant-modal-content{border-radius:var(--sc-radius-lg)}.playlist-delete-modal__body{padding-top:4px}.playlist-delete-modal__icon{width:40px;height:40px;color:var(--sc-error);background:#fef2f2;border-radius:10px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.playlist-delete-modal__title{margin:0 0 8px!important}.playlist-delete-modal__meta{color:var(--sc-text-muted);margin-top:8px;font-size:12px;display:block}.playlist-form__top{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:16px 24px;display:grid}.playlist-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:360px;display:grid}.playlist-builder__panel{border:1px solid var(--sc-border);border-radius:var(--sc-radius-lg);background:#fafafa;flex-direction:column;min-height:320px;padding:14px;display:flex}.playlist-builder__panel-head{margin-bottom:10px}.playlist-builder__hint{margin-top:2px;font-size:12px;display:block}.playlist-builder__search,.playlist-builder__tabs{margin-bottom:8px}.playlist-builder__tabs .ant-tabs-nav{margin-bottom:0}.playlist-builder__media-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;min-height:0;display:grid;overflow:auto}.playlist-builder__empty{grid-column:1/-1;margin:auto}.playlist-media-card{border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-surface);text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:8px;display:flex}.playlist-media-card:hover{background:#f8fafc;border-color:#93c5fd}.playlist-media-card__thumb{aspect-ratio:16/10;background:#f3f4f6;border-radius:6px;position:relative;overflow:hidden}.playlist-media-card__thumb img,.playlist-media-card__poster{object-fit:cover;width:100%;height:100%}.playlist-media-card__video{color:#6b7280;place-items:center;width:100%;height:100%;font-size:24px;display:grid}.playlist-media-card__add{width:22px;height:22px;color:var(--sc-accent);box-shadow:var(--sc-shadow);background:#fff;border-radius:999px;place-items:center;font-size:11px;display:grid;position:absolute;top:6px;right:6px}.playlist-media-card__name{width:100%;font-size:12px}.playlist-media-card__tag{align-self:flex-start;margin:0}.playlist-builder__sequence{background:var(--sc-surface)}.playlist-builder__sequence-empty{flex:1;place-items:center;padding:20px;display:grid}.playlist-sequence{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.playlist-sequence__item{border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-surface);grid-template-columns:auto auto 64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.playlist-sequence__item--dragging{opacity:.5}.playlist-sequence__item--drop-target{background:#f8fafc;border-color:#93c5fd}.playlist-sequence__handle{color:#9ca3af;cursor:grab;background:0 0;border:none;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;display:grid}.playlist-sequence__handle:active{cursor:grabbing}.playlist-sequence__index{background:var(--sc-accent-soft);width:24px;height:24px;color:var(--sc-accent);border-radius:999px;place-items:center;font-size:12px;font-weight:600;display:grid}.playlist-sequence__preview{border:1px solid var(--sc-border);background:#f9fafb;border-radius:6px;width:64px;height:40px;overflow:hidden}.playlist-sequence__preview img,.playlist-sequence__poster{object-fit:cover;width:100%;height:100%}.playlist-sequence__video{color:#6b7280;place-items:center;width:100%;height:100%;font-size:18px;display:grid}.playlist-sequence__body{min-width:0}.playlist-sequence__title{max-width:100%}.playlist-sequence__meta,.playlist-sequence__duration{margin-top:4px;font-size:12px}.playlist-sequence__actions{align-self:flex-start}.screenshot-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.now-playing{flex-direction:column;gap:12px;display:flex}.now-playing__frame{background:#0f172a;border:1px solid #0f172a14;border-radius:12px;margin:0;overflow:hidden}.now-playing__image{aspect-ratio:16/9;object-fit:contain;background:#0f172a;width:100%;display:block}.now-playing__empty{aspect-ratio:16/9;color:#94a3b8;place-items:center;font-size:14px;display:grid}.now-playing__meta{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.now-playing__title{font-size:16px}.screenshot-gallery__item{flex-direction:column;gap:8px;margin:0;display:flex}.screenshot-gallery__item img{aspect-ratio:16/9;object-fit:cover;background:#0f172a;border:1px solid #0f172a14;border-radius:12px;width:100%}.screenshot-gallery__meta{font-size:12px}@media (width>=1600px) and (height>=1100px){:root{--sc-sidebar-width:240px;--sc-content-padding:24px;--sc-header-padding:24px;--sc-section-gap:20px;--sc-hero-title:24px;--sc-page-title:24px;--sc-header-height:56px}.app-sidebar:not(.ant-layout-sider-collapsed):not(.app-sidebar--overlay){flex:0 0 240px!important;width:240px!important;max-width:240px!important}.app-sidebar:not(.ant-layout-sider-collapsed):not(.app-sidebar--overlay)+.app-main{margin-left:240px}.dashboard-hero{padding:24px}.status-card .ant-card-body{padding:20px}.status-card__icon{width:44px;height:44px}.status-card__value{font-size:24px!important}}@media (width>=1920px) and (height>=1100px){:root{--sc-content-padding:28px;--sc-header-padding:28px;--sc-section-gap:24px;--sc-hero-title:26px;--sc-page-title:26px}.playlist-builder__media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (width>=2200px){:root{--sc-content-max:1760px}.app-content__inner{margin-inline:auto}}@media (width>=2560px) and (height>=1200px){:root{--sc-content-max:1840px;--sc-content-padding:32px;--sc-header-padding:32px}}@media (height<=900px){:root{--sc-content-padding:12px;--sc-header-padding:12px;--sc-section-gap:12px;--sc-hero-title:20px;--sc-page-title:20px;--sc-header-height:48px}.page-eyebrow{display:none}.page-header{margin-bottom:10px}.page-subtitle{font-size:13px}.dashboard-hero{padding:12px 14px}.dashboard-hero__widget{padding:10px 12px}.status-card .ant-card-body{padding:12px 14px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding-block:8px}.playlist-builder{min-height:300px}.playlist-builder__panel{min-height:260px}.playlist-editor-modal .ant-modal-content{max-height:calc(100vh - 24px)}.ant-modal{top:12px}}@media (width<=1280px){.page-header .ant-space{flex-wrap:wrap}.app-sidebar:not(.ant-layout-sider-collapsed):not(.app-sidebar--overlay){flex:0 0 220px!important;width:220px!important;max-width:220px!important}.app-sidebar:not(.ant-layout-sider-collapsed):not(.app-sidebar--overlay)+.app-main{margin-left:220px}.brand__caption{display:none}.files-controls__actions{flex-basis:100%;justify-content:flex-start}.playlist-form__top{grid-template-columns:1fr}.playlist-builder{grid-template-columns:1fr;min-height:320px}.playlist-builder__panel{min-height:280px}}@media (width<=1100px){.user-meta,.app-header__crumb,.app-header__divider{display:none}}@media (width<=959px){:root{--sc-sidebar-width:260px;--sc-content-padding:12px;--sc-header-padding:12px;--sc-section-gap:12px;--sc-hero-title:20px;--sc-page-title:20px}.app-sidebar.app-sidebar--overlay:not(.ant-layout-sider-collapsed){z-index:30;box-shadow:8px 0 32px #0f172a2e;flex:0 0 min(260px,86vw)!important;width:min(260px,86vw)!important;min-width:0!important;max-width:min(260px,86vw)!important}.app-sidebar.app-sidebar--overlay.ant-layout-sider-collapsed,.app-sidebar.app-sidebar--overlay.ant-layout-sider-zero-width{pointer-events:none}.app-sidebar--overlay .sidebar-footer{display:none}.app-sidebar,.app-sidebar.ant-layout-sider-collapsed,.app-sidebar:not(.ant-layout-sider-collapsed){flex:none!important}.app-main,.app-main--sidebar-collapsed,.app-sidebar+.ant-layout,.app-sidebar:not(.ant-layout-sider-collapsed)+.app-main,.app-sidebar.ant-layout-sider-collapsed+.app-main{margin-left:0!important}.page-header{margin-bottom:12px}.screens-page .page-subtitle{display:none}.screens-page__actions{width:100%}.screens-page__actions .ant-btn{min-height:44px}.screens-page--with-dock{padding-bottom:84px}.screens-page__dock{z-index:20;padding:10px 16px max(12px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--sc-border);background:#f8fafcfa;position:fixed;bottom:0;left:0;right:0}.screens-page__dock .ant-btn{min-height:48px;font-size:16px}.screens-empty .ant-btn{width:100%;min-height:48px}.pair-modal--compact .ant-modal{padding-bottom:0;max-width:100%!important;margin:0!important}.pair-modal--compact .ant-modal-content{padding-bottom:max(12px, env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0}.pair-form__type{min-height:80px}.pair-form .ant-otp input{height:52px;font-size:22px}.screen-card__actions .ant-btn{min-height:40px}.app-header__logout,.sidebar-collapse.app-header__logout{width:44px;height:44px}.screens-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.screens-kpi__card{min-height:64px;padding:10px 12px}.screens-toolbar__search,.screens-toolbar__tags{flex:100%;min-width:0;max-width:none}.screens-view-toggle{margin-left:0}.screens-view-toggle__btn{width:44px;height:44px}.screens-grid{flex-direction:column;gap:10px;display:flex}.screen-card--row{grid-template-columns:112px minmax(0,1fr);align-items:stretch;display:grid}.screen-card--row .screen-card__preview{aspect-ratio:auto;height:100%;min-height:112px}.screen-card--row .screen-card__body{gap:4px;min-width:0;padding:10px 10px 10px 4px}.screen-card--row .screen-card__actions{flex-wrap:wrap;margin-top:4px}.screen-detail-drawer .ant-drawer-content{border-radius:16px 16px 0 0}.screen-detail__edit .ant-btn,.screen-detail__commands .ant-btn{min-height:44px}.screenshot-gallery{grid-template-columns:1fr}.files-controls__search{width:100%}.playlist-sequence__item{grid-template-columns:auto auto 56px minmax(0,1fr)}.playlist-sequence__actions{grid-column:1/-1;justify-self:end}.ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto!important}}@media (width<=640px){.screens-kpi__value{font-size:18px}.status-card__value{font-size:22px!important}}
