.source-summary[data-v-1360c35d],.source-search[data-v-1360c35d]{padding:26px;margin-bottom:24px}.quota-grid[data-v-1360c35d]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0}.quota-grid small[data-v-1360c35d],.source-result small[data-v-1360c35d]{display:block;color:#8a8399}.quota-grid strong[data-v-1360c35d]{display:block;font-size:32px;margin-top:8px}.quota-grid em[data-v-1360c35d]{font-size:15px;font-weight:400;font-style:normal;color:#8a8399}.source-search-form[data-v-1360c35d]{display:grid;grid-template-columns:150px 1fr auto;gap:12px;margin:20px 0}.source-search-form input[data-v-1360c35d],.source-search-form select[data-v-1360c35d]{width:100%}.source-results[data-v-1360c35d]{display:grid;gap:8px}.source-result[data-v-1360c35d]{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #ebe8ef}.source-result .artwork[data-v-1360c35d]{width:48px;height:48px;flex:none;border-radius:10px}.source-result>div[data-v-1360c35d]{flex:1;min-width:0}.source-result small[data-v-1360c35d]{margin-top:5px}.source-result>span[data-v-1360c35d]{color:#8a8399}@media(max-width:800px){.source-search-form[data-v-1360c35d],.quota-grid[data-v-1360c35d]{grid-template-columns:1fr}}.source-controls[data-v-1360c35d],.source-failures[data-v-1360c35d]{padding:26px;margin-bottom:24px}.platform-options[data-v-1360c35d]{display:flex;flex-wrap:wrap;gap:18px}.platform-options label[data-v-1360c35d]{padding:14px 18px;background:#f5f1f9;border-radius:9px}.source-controls input[type=number][data-v-1360c35d]{max-width:180px}.source-controls .notice[data-v-1360c35d]{margin-top:15px}.quota-grid small[data-v-1360c35d],.source-result small[data-v-1360c35d],.quota-grid em[data-v-1360c35d]{color:#746a82}.platform-enabled-summary[data-v-1360c35d]{margin:0 0 18px;color:#62516f}.pagination[data-v-13933df9]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.pagination-controls[data-v-13933df9],.pagination-pages[data-v-13933df9],.pagination-jump[data-v-13933df9]{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pagination-controls[data-v-13933df9]{gap:14px}.pagination-summary[data-v-13933df9]{white-space:nowrap}.pagination select[data-v-13933df9]{font-size:12px;padding:8px 10px;min-height:34px}.page-number[data-v-13933df9]{min-width:32px;height:32px;border:1px solid transparent;border-radius:7px;background:transparent;color:#70637c;font:inherit;cursor:pointer}.page-number.selected[data-v-13933df9]{background:#eee7f6;border-color:#ded1ec;color:#6d488a;font-weight:600;opacity:1}.page-number[data-v-13933df9]:hover:not(:disabled){background:#f5f0f9}.pagination-gap[data-v-13933df9]{padding:0 2px}.pagination-jump input[data-v-13933df9]{width:60px;min-width:0;padding:7px 6px;font-size:12px}.pagination-position[data-v-13933df9]{white-space:nowrap}@media(max-width:1100px){.pagination-controls[data-v-13933df9]{gap:10px}.pagination[data-v-13933df9]{padding:15px}.pagination-jump[data-v-13933df9]{margin-left:auto}}@media(max-width:600px){.pagination-controls[data-v-13933df9]{width:100%}.pagination-jump[data-v-13933df9]{margin-left:0}.pagination-position[data-v-13933df9]{margin-left:auto}}.list-state[data-v-552eb966]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;min-height:160px;padding:24px;color:var(--muted);font-size:13px}.list-state[role=alert][data-v-552eb966]{color:#a65353}.release-upload[data-v-a21235c2],.release-history[data-v-a21235c2]{padding:26px;margin-bottom:24px}.release-item[data-v-a21235c2]{border-top:1px solid #ebe8ef;padding:24px 0}.release-item[data-v-a21235c2]:last-child{padding-bottom:0}.release-item h3 small[data-v-a21235c2]{font-size:12px;font-weight:400;color:#8a8399;margin-left:10px}.release-notes[data-v-a21235c2]{white-space:pre-wrap;line-height:1.8}.release-sha[data-v-a21235c2]{display:block;overflow-wrap:anywhere;color:#8a8399}.release-upload input[type=file][data-v-a21235c2]{padding:12px}.release-upload>p[data-v-a21235c2]{margin-top:16px}.release-filters[data-v-a21235c2]{padding:15px 0}.release-history[data-v-a21235c2] .pagination{padding-left:0;padding-right:0}.release-filters .search-field[data-v-a21235c2]{flex:1}.release-filters input[data-v-a21235c2]{width:100%}.branding-panel[data-v-d1bc2780]{padding:26px;margin-top:24px}.icon-current[data-v-d1bc2780]{display:flex;gap:20px;align-items:center;margin:20px 0}.icon-current img[data-v-d1bc2780],.icon-current>span[data-v-d1bc2780]{width:88px;height:88px;border-radius:22px;object-fit:contain;background:#211c30;flex:none}.icon-current>span[data-v-d1bc2780]{display:grid;place-items:center;color:#c9b6ff}.branding-panel>p[data-v-d1bc2780]{margin-top:16px}.branding-panel input[type=file][data-v-d1bc2780]{padding:12px}.picker-search[data-v-12415d30]{border:1px solid var(--line);border-radius:8px;padding:0 12px;margin-bottom:12px;min-width:0}.picker-search input[data-v-12415d30]{min-width:0;width:100%}.picker-empty[data-v-12415d30]{padding:30px 12px;text-align:center;color:var(--muted);font-size:13px}.playlist-song-selector[data-v-12415d30] .pagination{padding:13px 0}:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#282b31;background:#f6f5f3;font-synthesis:none;--primary:#6a55a3;--muted:#909299;--line:#eeedf0;--green:#648267}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #b9a3e9;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;font-weight:650;letter-spacing:-.8px}h3{font-size:16px;font-weight:650}small{font-size:11px;color:var(--muted)}input,textarea,select{color:#38353e;background:#fff;border:1px solid #e4e2e8;border-radius:8px;padding:11px 13px;outline:none;min-width:0}input:focus,textarea:focus,select:focus{border-color:#9c82cd;box-shadow:0 0 0 3px #eee8f7}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;box-shadow:none}input::placeholder,textarea::placeholder{color:#b2afb9}button{transition:background .16s,transform .16s,box-shadow .16s}button:active:not(:disabled){transform:translateY(1px)}.muted{color:var(--muted);font-size:12px;line-height:1.8}.eyebrow{color:#96939f;font-size:10px;letter-spacing:1.8px;font-weight:600;margin-bottom:11px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.8px}.brand small{display:block;margin-top:3px;font-size:9px;letter-spacing:1.9px;font-weight:400}.brand-symbol{width:39px;height:39px;display:grid;place-items:center;background:#6e59a2;color:#fff;border-radius:12px;box-shadow:0 4px 10px #745fa526}.brand-light{color:#fff}.brand-light small{color:#d4c6e6}.brand-light .brand-symbol{background:#ffffff18;box-shadow:none}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#86a688;flex-shrink:0}.button{border:1px solid #e7e4eb;background:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;color:#686373;font-size:12px;font-weight:550;white-space:nowrap}.button:hover{background:#f7f4fa}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 7px #6a55a31a}.button.primary:hover{background:#5c478f}.button.subtle{background:transparent}.button.full{width:100%}.button.small-button{font-size:11px;padding:6px 10px}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#9893a2;flex-shrink:0}.icon-button:hover{background:#f1edf6;color:var(--primary)}.icon-button.tiny{width:25px;height:25px}.text-link{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--primary);border:0;padding:0;background:transparent}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:4px 8px;background:#f1edf7;color:#85709d;font-size:10px;line-height:1.5;white-space:nowrap}.pill.success{background:#eef4ed;color:#6a866d}.pill.warning{background:#fbf5e9;color:#ad915e}.pill.danger{background:#faeeee;color:#b87777}.pill.neutral{background:#f0f0f1;color:#969399}.pill.light{background:#ffffff16;border:1px solid #ffffff14;color:#ded4ed;font-size:10px}.green{color:#7c997d!important}.align-right{text-align:right!important}.mono{font-family:Cascadia Code,Consolas,monospace;letter-spacing:.5px}.danger-text{color:#ae7a7a}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:flex;min-height:100vh}.sidebar{width:219px;background:#fff;border-right:1px solid #efedf0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 20px 0}.sidebar .brand{padding:0 8px;margin-bottom:47px}.nav-caption{font-size:9px;letter-spacing:1.5px;color:#b9b5c1;padding-left:15px;margin-bottom:14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;font-size:12px;color:#8a8693;border-radius:8px;margin-bottom:6px;position:relative}.nav-item:hover{background:#f8f6fb}.nav-item.router-link-active{background:#efebf7;color:#6b54a2;font-weight:650}.nav-item.router-link-active:before{content:"";position:absolute;width:3px;height:16px;background:#8f74be;left:-20px;border-radius:0 3px 3px 0}.nav-dot{width:5px;height:5px;border-radius:50%;background:#baa57a;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:50px}.source-badge{display:flex;align-items:center;gap:9px;background:#f8f9f6;border:1px solid #eef1e9;border-radius:8px;padding:13px 11px;font-size:10px;color:#84907d}.source-badge small{display:block;font-size:9px;margin-top:5px;color:#aaaeb1}.admin-profile{display:flex;align-items:center;gap:9px;margin-top:20px;padding:21px 0;border-top:1px solid var(--line);font-size:11px;font-weight:550}.admin-profile small{display:block;font-weight:400;margin-top:4px;font-size:9px}.avatar{height:31px;width:31px;display:grid;place-items:center;border-radius:50%;background:#eae4da;color:#9a876c;font-family:Georgia,serif;font-size:14px;font-weight:600}.avatar.small{width:28px;height:28px;font-size:12px}.admin-profile .icon-button{margin-left:auto}.main-area{margin-left:219px;flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid #eceaee;display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:#faf9f8}.breadcrumb{font-size:10px;color:#aaa5b0;display:flex;gap:13px}.breadcrumb b{font-weight:500;color:#6f687b}.topbar-right{display:flex;align-items:center;gap:22px}.environment{font-size:9px;color:#8e80a3;border:1px solid #e5ddec;padding:4px 8px;border-radius:4px}.topbar-date{font-size:10px;color:#a6a1aa}.page-content{padding:29px 37px 0;max-width:1550px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.page-heading .muted{margin-top:8px;font-size:11px}.heading-actions{display:flex;gap:9px}.page-footer{display:flex;justify-content:space-between;font-size:9px;color:#b3aebb;border-top:1px solid #e9e6ed;padding:20px 0;margin-top:29px;letter-spacing:.5px}.overview-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(210px,1fr);gap:21px}.welcome-card{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(112deg,#393141,#514267 66%,#796482);min-height:265px;padding:27px 30px;color:#fff}.welcome-text{position:relative;z-index:2}.welcome-text h2{font-weight:500;font-size:28px;line-height:1.55;margin:17px 0 10px;letter-spacing:1px}.welcome-text p{font-size:10px;color:#c2b6cf;margin-bottom:19px}.light-button{color:#ddd2e9!important;background:#ffffff14!important;border-color:#ffffff25!important;font-size:10px;padding:8px 12px}.hero-disc{position:absolute;width:254px;height:254px;border-radius:50%;right:-9px;top:23px;background:repeating-radial-gradient(circle at center,#2c2336 0,#2c2336 2px,#44324f,#33283e 4px);box-shadow:0 20px 45px #150c2250,0 0 0 1px #ffffff16;transform:rotate(-20deg)}.hero-disc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 45deg,transparent 0deg,#c39bc529 25deg,transparent 65deg,transparent 170deg,#d0acdb22 205deg,transparent 255deg);border-radius:50%}.disc-inner{position:absolute;top:30%;right:30%;bottom:30%;left:30%;border-radius:50%;background:linear-gradient(135deg,#bca1ac,#80748e);display:grid;place-items:center;color:#eadce1}.hero-disc i{position:absolute;left:49%;top:49%;height:5px;width:5px;border-radius:50%;background:#3e3447;z-index:3}.hero-coordinate{position:absolute;right:17px;bottom:18px;font-size:8px;color:#c4adc9;letter-spacing:1.3px}.status-card{border:1px solid #eae7ed;border-radius:12px;background:#fff;padding:20px 21px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-title .muted{font-size:10px;margin-top:5px}.status-card h3{font-size:12px}.status-check{text-align:center;margin:19px 0}.status-icon{height:51px;width:51px;display:inline-grid;place-items:center;border-radius:50%;background:#f1f5ee;color:#8aa27d}.status-check h2{font-size:18px;margin:10px 0 3px;font-weight:550}.status-check .muted{font-size:10px}.status-row{display:flex;justify-content:space-between;font-size:10px;padding:10px 0;border-top:1px solid #f3f1f5;color:#a29baa}.status-row b{color:#878090;font-weight:500}.status-card .text-link{margin-top:12px;font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:21px}.stat-card{background:#fff;border:1px solid #eae7ed;border-radius:10px;text-align:left;padding:20px 19px 14px;color:inherit}.stat-card:hover{box-shadow:0 4px 15px #44344e06;border-color:#d6ccdf}.stat-card>span{display:flex;justify-content:space-between;align-items:center;color:#96909e;font-size:11px}.stat-card>span svg{color:#b9b0c8}.stat-card strong{display:block;font-size:31px;font-weight:550;letter-spacing:-1px;margin:14px 0 12px}.stat-card strong small{font-family:Microsoft YaHei,sans-serif;font-weight:400;font-size:10px;margin-left:8px;letter-spacing:0}.stat-card p{font-size:9px;color:#b1aab8;display:flex;justify-content:space-between}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:21px;margin-top:24px}.panel{background:#fff;border:1px solid #eae7ed;border-radius:11px;padding:23px}.playlist-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.playlist-mini{border:0;background:transparent;text-align:left;padding:0;color:inherit;min-width:0}.playlist-mini .artwork{aspect-ratio:1.22}.playlist-mini h4{font-size:12px;margin-top:13px;font-weight:550;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.playlist-mini p{font-size:9px;color:#aaa3b2;margin-top:7px}.artwork{position:relative;background:var(--art-color);overflow:hidden;border-radius:8px;aspect-ratio:1}.artwork svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.artwork-grain{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#ffffff0a,#00000010);pointer-events:none}.artwork-title{position:absolute;bottom:11px;left:13px;right:10px;font-size:13px;color:#ffffffed;letter-spacing:1px;text-shadow:0 1px 12px #0006;font-weight:550}.activity-panel{position:relative;padding-bottom:48px}.empty-compact{text-align:center;color:#b4a8c5;padding:17px 8px}.empty-compact p{font-size:12px;color:#8e829c;margin:11px 0 8px}.empty-compact small{display:block;font-size:10px;line-height:1.8}.activity-note{position:absolute;bottom:20px;left:23px;right:23px;display:flex;align-items:center;gap:10px;font-size:9px;color:#b1a9bd;border-top:1px solid var(--line);padding-top:14px}.event-row{display:flex;align-items:center;gap:11px;padding:10px 0}.event-dot{background:#f4f0f8;color:#ab98c1;border-radius:8px;height:31px;width:31px;display:grid;place-items:center;flex-shrink:0}.event-row p{font-size:10px;line-height:1.6}.event-row small{display:block;margin-top:4px;font-size:9px}.notice{display:flex;align-items:center;gap:11px;border:1px solid #e8e2ef;background:#f0ecf5;color:#9081a3;border-radius:9px;padding:13px 17px;font-size:11px;line-height:1.8;margin-bottom:20px}.notice svg{flex-shrink:0}.notice .pill{margin-left:auto;background:#e6dfef}.table-panel{padding:0;overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 23px;border-bottom:1px solid var(--line)}.search-field{display:flex;align-items:center;gap:9px;color:#ada6b9;min-width:240px}.search-field input{font-size:11px;min-width:240px;border:0;padding:8px 0;box-shadow:none;background:transparent}.toolbar-controls{display:flex;gap:10px}.toolbar-controls select{font-size:11px;padding:8px 13px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{background:#fcfbfd;padding:14px 23px;color:#a29aa9;font-weight:400;font-size:10px}td{padding:16px 23px;border-top:1px solid #f2f0f4;color:#82798d}td b{color:#524959;font-weight:550}td small{display:block;margin-top:5px;font-size:9px}.row-number{width:40px;padding-right:0}.song-cell{display:flex;align-items:center;gap:12px}.song-cell .artwork{width:43px;height:43px;border-radius:6px;flex-shrink:0}.song-cell b{font-size:12px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.code-cell{display:flex;align-items:center;gap:8px}.code-cell b{font-size:13px;color:#686074}.batch-text{max-width:180px;overflow:hidden;text-overflow:ellipsis}.device-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;font-size:10px}.device-name{display:flex;align-items:center;gap:12px}.device-name small{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-icon{width:36px;height:36px;background:#f3eff8;border-radius:9px;display:grid;place-items:center;color:#a391ba}.table-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 23px;color:#b0a7ba;font-size:10px}.table-footer>div{display:flex;align-items:center;gap:8px}.table-footer>div>span{margin-right:12px}.empty-state{display:flex;flex-direction:column;align-items:center;padding:70px 20px;color:#bcafcf;gap:14px}.empty-state h3{color:#8b7e9b;font-weight:500}.empty-state p{font-size:12px;color:#a99fb5}.empty-state .button{margin-top:6px}.playlists-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.playlist-card{overflow:hidden;border-radius:11px;border:1px solid #e6e0eb;background:#fff}.playlist-card>.artwork{border-radius:0;aspect-ratio:1.65}.playlist-card>.artwork .artwork-title{font-size:24px;left:23px;bottom:23px;letter-spacing:3px}.playlist-card-body{padding:21px}.playlist-card-body .section-title{margin-bottom:10px}.playlist-card-body h3{font-size:14px}.playlist-card-body>.muted{font-size:10px;min-height:37px}.playlist-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:21px}.playlist-bottom>span{display:flex;align-items:center;gap:7px;color:#a595b5;font-size:10px}.new-playlist{border:1px dashed #d4c8df;background:#f5f1f8;border-radius:11px;min-height:240px;color:#9b86b1;display:flex;align-items:center;justify-content:center;flex-direction:column}.new-playlist>span{height:50px;width:50px;border-radius:50%;background:#eee7f4;display:grid;place-items:center}.new-playlist h3{font-size:14px;margin:19px 0 11px}.new-playlist p{font-size:11px;color:#b09fbf}.source-intro{display:flex;align-items:center;gap:23px;background:#eeebf2;border-radius:11px;padding:28px;margin-bottom:25px}.source-intro-icon{width:64px;height:64px;background:#e2daec;border-radius:18px;color:#9c83b5;display:grid;place-items:center}.source-intro h2{font-size:21px;font-weight:500;color:#766383}.source-intro p{font-size:11px;color:#a69aaf;margin-top:10px}.sources-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.source-logo{background:#f3eff7;border:1px solid #ece6f2;border-radius:12px;height:52px;width:52px;display:grid;place-items:center;color:#9f88b7}.source-card h3{margin-bottom:11px}.source-card .muted{font-size:11px}.source-features{display:flex;flex-direction:column;gap:13px;margin:24px 0;color:#9f95ac;font-size:11px}.source-features span{display:flex;align-items:center;gap:9px}.source-card-foot{border-top:1px solid var(--line);padding-top:18px;font-size:10px;color:#b4acbd}.settings-grid{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(250px,1fr);gap:28px}.settings-preview{border:1px solid #54415f;background:linear-gradient(145deg,#41364e,#715272);border-radius:12px;color:#e4d6e9;min-height:360px;padding:33px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.settings-preview .eyebrow{color:#ac95bc;margin-bottom:33px}.settings-preview h2{font-size:27px;font-weight:500;margin:22px 0 12px}.settings-preview p{font-size:14px;color:#cdb5d3}.settings-preview small{font-size:11px;color:#ae95b7;line-height:1.9;margin-top:35px}.settings-grid .section-title{margin-bottom:30px}.form-stack{display:flex;flex-direction:column;gap:20px}.form-stack label,.form-row label{font-size:11px;color:#82738e;display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}.form-stack input,.form-stack select,.form-stack textarea{width:100%;font-size:12px}.form-stack label>small{text-align:right;font-size:9px}.form-row{display:flex;align-items:center;gap:18px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:9px;padding-top:17px;border-top:1px solid var(--line)}.form-stack .checkbox-label,.form-row .checkbox-label{flex-direction:row;align-items:center;gap:9px}.checkbox-label input{width:16px;height:16px}.form-error{display:flex;align-items:center;gap:8px;background:#faf0f0;color:#b57a7a;border-radius:8px;font-size:11px;padding:11px}dialog{width:470px;max-width:calc(100vw - 40px);max-height:90vh;border:1px solid #ebe3f2;border-radius:15px;padding:25px;box-shadow:0 30px 100px #21162d35;color:#524459;background:#fff}dialog.wide{width:720px}dialog::backdrop{background:#29213566;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-heading h2{font-size:18px;font-weight:550}.dialog-copy{font-size:14px;line-height:1.8;margin-bottom:15px}.generated-heading{display:flex;align-items:center;gap:16px;margin:3px 0 22px}.generated-heading h3{font-size:15px;margin-bottom:6px}.generated-codes{width:100%;font-family:Consolas,monospace;line-height:2.1;letter-spacing:3px;background:#faf8fc;color:#786189;border-color:#e8e0f0}.playlist-editor{display:grid;grid-template-columns:170px 1fr;gap:24px}.playlist-editor>.artwork{height:170px}.palette-row{display:flex;gap:10px}.palette-row button{height:27px;width:27px;display:grid;place-items:center;color:#fff;border:2px solid transparent;border-radius:50%}.palette-row button.selected{outline:2px solid #b9a0d0;outline-offset:2px}.song-picker{max-height:235px;overflow:auto;border:1px solid var(--line);border-radius:8px}.song-picker-row{display:flex!important;flex-direction:row!important;align-items:center;padding:10px 13px;gap:13px!important;border-bottom:1px solid #f4f0f8}.song-picker-row input{width:16px}.song-picker-row span{flex:1;font-size:11px}.song-picker-row span small{display:block;margin-top:3px;font-size:9px}.song-picker-row>small{font-size:10px}.error-panel,.loading-panel{display:flex;align-items:center;justify-content:center;gap:17px;border-radius:10px;border:1px solid #e9e0ef;background:#fff;min-height:210px;color:#ac97bc}.error-panel h3{font-size:16px;margin-bottom:9px}.error-panel p{font-size:12px}.loading-panel{flex-direction:column;font-size:12px}.toast-message{position:fixed;left:50%;transform:translate(-50%);bottom:30px;z-index:10000;display:flex;align-items:center;gap:11px;background:#39313f;color:#ede6f2;padding:14px 21px;border-radius:11px;font-size:12px;box-shadow:0 8px 30px #0002;max-width:90vw}.toast-message svg{color:#a5c49a;flex-shrink:0}.toast-message.error svg{color:#e9b4ac}.toast-enter-active,.toast-leave-active{transition:opacity .18s,translate .18s}.toast-enter-from,.toast-leave-to{opacity:0;translate:0 10px}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:#faf9f7}.login-art{min-height:100vh;background:linear-gradient(145deg,#403346,#6e547a);position:relative;overflow:hidden;padding:44px 50px}.login-copy{position:relative;z-index:2;margin-top:150px}.login-copy .eyebrow{color:#c8b1d7;font-size:9px}.login-copy h1{font-size:53px;line-height:1.55;color:#f4edf7;font-weight:450;letter-spacing:3px;margin-top:24px}.login-copy p{font-size:12px;letter-spacing:.6px;color:#bba2c9;margin-top:25px}.login-record{position:absolute;width:490px;height:490px;border-radius:50%;right:-220px;bottom:65px;background:repeating-radial-gradient(circle,#2e2136 0,#2e2136 2px,#423047,#3a2c42 4px);box-shadow:-25px 25px 80px #20162850;transform:rotate(20deg)}.login-record:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 45deg,transparent,#e8cfe826 30deg,transparent 80deg,transparent 180deg,#e8cfe826 200deg,transparent 240deg)}.login-record span{position:absolute;top:33%;right:33%;bottom:33%;left:33%;background:#b496b2;border-radius:50%}.login-record i{position:absolute;left:49%;top:49%;width:8px;height:8px;background:#32223d;border-radius:50%;z-index:1}.login-foot{position:absolute;bottom:29px;left:50px;right:35px;display:flex;justify-content:space-between;font-size:8px;color:#bea6ca;letter-spacing:1px}.login-form-area{position:relative;display:flex;align-items:center;justify-content:center;padding:50px}.login-form-wrap{width:335px}.tiny-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#a491b0;margin-bottom:28px}.login-form-wrap h2{font-size:30px;font-weight:550;letter-spacing:1px;margin-bottom:12px}.login-form-wrap>.muted{font-size:12px;margin-bottom:35px}.login-form-wrap .form-stack{gap:22px}.login-form-wrap .button.primary{padding:13px;margin-top:8px;justify-content:space-between}.login-note{display:flex;gap:9px;align-items:center;border-top:1px solid #e9e2ec;padding-top:24px;margin-top:27px;color:#b0a3bc;font-size:10px}.login-version{position:absolute;bottom:29px;font-size:8px;letter-spacing:1.5px;color:#bcafc5}@media(min-width:1450px){.welcome-card{min-height:289px}.hero-disc{width:285px;height:285px;right:25px;top:18px}.welcome-text h2{font-size:31px;margin:20px 0 12px}.status-check{margin:27px 0}.page-content{padding-top:33px}}@media(max-width:1100px){.sidebar{width:190px;padding-left:16px;padding-right:16px}.main-area{margin-left:190px}.page-content{padding:25px 25px 0}.topbar{padding:0 25px}.hero-disc{right:-80px;opacity:.7}.welcome-card{padding:25px}.welcome-text p{max-width:220px;line-height:1.8}.stats-grid{gap:12px}.stat-card{padding:17px 14px}.content-grid{grid-template-columns:1.4fr 1fr}.panel{padding:20px}.playlist-mini-grid{gap:10px}.playlist-mini .artwork-title{font-size:11px;left:9px}.table-panel{padding:0}td,th{padding-left:16px;padding-right:16px}.playlists-grid{grid-template-columns:repeat(2,1fr)}.login-copy h1{font-size:43px}.login-art{padding:40px}}@media(max-width:800px){.sidebar{width:72px;padding:25px 10px}.sidebar .brand{padding:0;justify-content:center}.sidebar .brand>span:last-child,.nav-caption,.nav-item>span,.source-badge,.admin-profile>span:not(.avatar){display:none}.nav-item{padding:14px;justify-content:center}.nav-item.router-link-active:before{left:-10px}.admin-profile{flex-direction:column}.admin-profile .icon-button{margin:0}.main-area{margin-left:72px}.topbar-right .topbar-date{display:none}.page-content{padding:22px 20px 0}.page-heading h1{font-size:24px}.overview-grid{grid-template-columns:1fr}.status-card{display:none}.hero-disc{right:0;opacity:1}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.sources-grid,.settings-grid{grid-template-columns:1fr}.activity-panel{min-height:250px}.playlist-mini .artwork-title{font-size:14px}.heading-actions .subtle{display:none}.page-heading{gap:15px}.page-heading .eyebrow{font-size:8px}.table-toolbar{padding:15px;flex-wrap:wrap}.toolbar-controls{margin-left:auto}.search-field input{min-width:180px}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-form-area{min-height:100vh}.playlists-grid{grid-template-columns:1fr}.playlist-editor{grid-template-columns:110px 1fr;gap:16px}.playlist-editor>.artwork{height:110px}.form-row{gap:12px}.topbar{height:61px;padding:0 20px}.page-footer{font-size:8px}.source-intro{padding:20px}.source-intro h2{font-size:18px}.page-content .notice{font-size:10px}}:root{--muted:#696675;--line:#e4e1e9}body{font-size:14px}.muted,table small,.form-stack small{color:#706a7b}.nav-item{font-size:14px;min-height:47px}.page-heading .muted,.section-title .muted{font-size:13px;line-height:1.7}.page-heading h1{font-size:30px}.section-title h3{font-size:17px}.button{font-size:13px;min-height:38px}.small-button{font-size:12px;min-height:32px}input,select,textarea,.form-stack input,.form-stack textarea,.form-stack select,.table-toolbar input,.table-toolbar select,.form-stack label{font-size:14px}.form-stack small,.form-stack .muted{font-size:12px;line-height:1.7}td,th{font-size:13px;line-height:1.6}td small{font-size:12px;line-height:1.65}th{color:#655e72;background:#f8f6fa;font-weight:600}.pill{font-size:12px;padding:5px 9px;line-height:1.4}.notice{font-size:13px;line-height:1.8}.stat-card>span{font-size:13px;color:#625b70}.stat-card p{font-size:12px;color:#71697e}.stat-card strong{font-size:34px}.ops-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-warning{border-color:#e8ceaa;background:#fffdf9}.stat-warning strong{color:#98622c}.ops-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}.ops-columns .panel{padding:25px;min-width:0}.ops-quota .section-title,.ops-inventory .section-title{margin-bottom:18px}.quota-number{display:flex;align-items:baseline;gap:10px;margin:23px 0 17px}.quota-number>strong{font-size:44px;font-weight:650;letter-spacing:-1px}.quota-number>span{color:#6a6277;font-size:14px}.quota-number .pill{margin-left:auto}.ops-quota progress{width:100%;height:9px;accent-color:#8065b0;border:0;border-radius:10px;overflow:hidden}.ops-quota progress::-webkit-progress-bar{background:#eee9f4;border-radius:10px}.ops-quota progress::-webkit-progress-value{background:#8065b0;border-radius:10px}.quota-description{display:flex;justify-content:space-between;gap:12px;margin:11px 0 20px;font-size:12px;color:#746c81}.quota-warning{font-size:13px;color:#946029;background:#fff5e5;border-radius:8px;padding:11px 13px;margin:10px 0}.ops-inventory>button{width:100%;display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid #eeebf2;background:transparent;text-align:left;padding:15px 0;color:#5f566d}.ops-inventory>button>span{flex:1}.ops-inventory>button>b{color:#39313f;font-weight:600}.ops-issue{display:block;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #ebe7f0;padding:16px 0}.ops-issue>div{display:flex;justify-content:space-between;gap:15px}.ops-issue small{font-size:12px;color:#797183}.ops-issue p{font-size:13px;color:#876136;margin:8px 0 0;line-height:1.7}.event-row p{font-size:13px;line-height:1.6}.event-row small{font-size:12px;color:#7a7186}.empty-compact{font-size:14px;color:#756d80;line-height:1.8}.empty-compact small{font-size:12px}.device-count{padding:0 24px 16px;font-size:12px;color:#7b7287}.device-manager .device-count{padding-top:16px}.playlist-list>.playlists-grid{padding:24px}.table-toolbar{flex-wrap:wrap}.toolbar-controls{align-items:center;flex-wrap:wrap}.search-field{flex:1;min-width:180px}.search-field input{width:100%;min-width:0}.playlist-card-body h3{overflow-wrap:anywhere}.device-manager table{min-width:1020px}.device-manager td{vertical-align:top}.device-manager td:first-child{min-width:220px;max-width:290px}.device-manager .customer-note{white-space:normal;word-break:break-word;max-width:240px;color:#665978}.device-manager .device-identifier{font-family:Consolas,monospace;overflow-wrap:anywhere}.device-manager .device-error{white-space:normal;max-width:240px;color:#9a6b36}.device-manager .row-actions{flex-wrap:wrap;min-width:145px;max-width:210px;gap:7px}.device-details{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;margin:5px 0;padding:18px;background:#f8f6fa;border-radius:10px;font-size:13px;line-height:1.7}.device-details dt{color:#7b7286}.device-details dd{margin:0;overflow-wrap:anywhere}.device-details small{display:block;margin-top:4px}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.version-coverage{padding:24px;margin-bottom:24px}.version-summary{display:flex;gap:12px;align-items:baseline;margin:15px 0}.version-summary strong{font-size:32px}.version-summary span{font-size:13px;color:#746b81}.version-list{display:flex;gap:12px;flex-wrap:wrap}.version-chip{border:1px solid #e6dfef;background:#faf8fc;padding:12px 15px;border-radius:9px}.version-chip b{font-size:14px}.version-chip small{display:block;margin-top:6px;color:#776b84}.phone-input-page{min-height:100dvh;background:radial-gradient(ellipse at top,#363048,#161320 70%);color:#f8f3ff;padding:45px 22px;display:flex;flex-direction:column;align-items:center}.phone-brand{display:flex;align-items:center;gap:10px;color:#d4bfff;font-size:20px;letter-spacing:1px;margin:10px 0 42px}.phone-input-card{width:100%;max-width:440px;background:#252030;border:1px solid #40354e;border-radius:24px;padding:36px 28px;box-shadow:0 20px 80px #0003}.phone-kicker{font-size:12px;color:#bba6d1;letter-spacing:2px}.phone-input-card h1{font-size:27px;color:#fbf4ff;letter-spacing:.3px;margin:16px 0 13px}.phone-input-card p{font-size:15px;color:#bfb2cd;line-height:1.9;margin:0 0 22px}.phone-input-card form{display:flex;flex-direction:column;gap:12px;margin-top:30px}.phone-input-card label{font-size:13px;color:#cec0de}.phone-input-card input{background:#18151f;color:#fff;border:1px solid #51435e;border-radius:12px;padding:16px;font-size:17px;min-width:0;width:100%}.phone-input-card .button.primary{background:#cbb0ff;color:#271b39;justify-content:center;min-height:54px;font-size:16px;margin-top:8px;border:0;border-radius:12px}.phone-input-card small{display:block;font-size:12px;color:#a494b5;line-height:1.8;margin-top:24px}.phone-input-card .form-error{color:#f7bca6;margin:0;font-size:14px}.phone-success{color:#cdb1ff}.phone-input-card .phone-query{font-size:22px;color:#ebdcff;overflow-wrap:anywhere}@media(max-width:1200px){.ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-columns{grid-template-columns:1fr 1fr}.quota-description{flex-wrap:wrap}}@media(max-width:800px){.ops-columns{grid-template-columns:1fr}.ops-stats{gap:12px}.ops-columns .panel{padding:20px}.schedule-fields{grid-template-columns:1fr}.device-manager .table-toolbar{align-items:stretch;gap:12px}.device-manager .toolbar-controls{margin:0;flex-wrap:wrap}.page-content .notice{font-size:12px}.phone-input-page{padding:28px 18px}.phone-input-card{padding:30px 23px}.phone-brand{margin-bottom:30px}}.app-shell,.login-shell,dialog{color-scheme:dark;--primary: #bca5ff;--muted: #9a9bae;--line: #2b2c3b;--canvas: #101117;--surface: #191a24;--surface-raised: #20212e;--surface-soft: #15161f;--text: #ececf4;--text-secondary: #b3b3c5;--success: #86d9b8;--warning: #e9bf7b;--danger: #f199a5;--radius: 14px;color:var(--text);font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}:is(.app-shell,.login-shell,dialog) ::selection{background:#665195;color:#fff}:is(.app-shell,.login-shell,dialog) .muted{color:var(--muted);font-size:13px;line-height:1.75}:is(.app-shell,.login-shell,dialog) small{color:var(--muted)}:is(.app-shell,.login-shell,dialog) h1{color:#f5f4fb;font-weight:650;letter-spacing:-.5px}:is(.app-shell,.login-shell,dialog) h2,:is(.app-shell,.login-shell,dialog) h3{color:var(--text);font-weight:600}:is(.app-shell,.login-shell,dialog) button,:is(.app-shell,.login-shell,dialog) a{touch-action:manipulation}:is(.app-shell,.login-shell,dialog) :is(button,a):focus-visible{outline:2px solid #cbb8ff;outline-offset:4px}:is(.app-shell,.login-shell,dialog) :is(button,input,select,textarea):disabled{opacity:.42}:is(.app-shell,.login-shell,dialog) svg{flex-shrink:0}:is(.app-shell,.login-shell,dialog) .button{min-height:40px;padding:9px 15px;border:1px solid #363746;border-radius:9px;background:#222330;color:#d0cfdf;font-size:13px;font-weight:550;line-height:1.5;box-shadow:0 2px 3px #0000000d;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}:is(.app-shell,.login-shell,dialog) .button:hover:not(:disabled){background:#2c2b3e;border-color:#59506d;color:#fff}:is(.app-shell,.login-shell,dialog) .button.primary{background:#bca5ff;border-color:#bca5ff;color:#281b45;font-weight:650;box-shadow:0 4px 16px #8c61e51a}:is(.app-shell,.login-shell,dialog) .button.primary:hover:not(:disabled){background:#cbf;border-color:#cbf;color:#201536;box-shadow:0 4px 20px #8c61e52b}:is(.app-shell,.login-shell,dialog) .button.subtle{background:transparent;border-color:#30313f;color:#b3b0c6;box-shadow:none}:is(.app-shell,.login-shell,dialog) .button.small-button{min-height:32px;padding:5px 10px;border-radius:7px;font-size:12px}:is(.app-shell,.login-shell,dialog) .button.danger-text{color:var(--danger);border-color:#513440;background:#30232d}:is(.app-shell,.login-shell,dialog) .icon-button{width:34px;height:34px;border-radius:8px;color:#a5a1ba;background:transparent}:is(.app-shell,.login-shell,dialog) .icon-button:hover:not(:disabled){color:#dacbff;background:#30283f}:is(.app-shell,.login-shell,dialog) .icon-button.tiny{width:28px;height:28px}:is(.app-shell,.login-shell,dialog) .text-link{color:#c4adff;font-size:13px;font-weight:500;line-height:1.6}:is(.app-shell,.login-shell,dialog) .text-link:hover{color:#e0d2ff}:is(.app-shell,.login-shell,dialog) :is(input,textarea,select){min-height:42px;padding:10px 12px;border:1px solid #363646;border-radius:9px;background:#12131c;color:#e0deec;font-size:13px;line-height:1.6;transition:border-color .16s,box-shadow .16s}:is(.app-shell,.login-shell,dialog) :is(input,textarea)::placeholder{color:#7d7a90}:is(.app-shell,.login-shell,dialog) :is(input,textarea,select):focus{border-color:#a187dd;box-shadow:0 0 0 3px #a186db1f}:is(.app-shell,.login-shell,dialog) input[type=checkbox]{min-height:0;width:17px;height:17px;padding:0;accent-color:#bca5ff;box-shadow:none;flex:0 0 17px}:is(.app-shell,.login-shell,dialog) input[type=file]{padding:12px;background:#15151f;border-style:dashed}:is(.app-shell,.login-shell,dialog) input[type=file]::file-selector-button{margin-right:14px;border:1px solid #51415f;border-radius:7px;padding:8px 12px;background:#34283f;color:#d8c9f2;font:inherit;cursor:pointer}.app-shell .pill{min-height:25px;padding:4px 9px;border:1px solid transparent;border-radius:6px;background:#332842;color:#c4abea;font-size:11px;font-weight:500}.app-shell .pill.success{color:#8cdbbc;background:#1b332e;border-color:#26423a}.app-shell .pill.warning{color:#e9c58b;background:#392f22;border-color:#493b27}.app-shell .pill.danger{color:#eda0aa;background:#3d2630;border-color:#50313d}.app-shell .pill.neutral{color:#afb0c4;background:#282936;border-color:#343544}.app-shell .green{color:var(--success)!important}:is(.app-shell,dialog) .notice{margin-bottom:20px;padding:13px 16px;gap:11px;border:1px solid #393045;border-radius:10px;background:#221d2d;color:#bbb0d0;font-size:13px;line-height:1.75}:is(.app-shell,dialog) .notice>svg{color:#aa8ce5}:is(.app-shell,.login-shell,dialog) .form-error{color:#f0a8ae;background:#3b222d;border:1px solid #56303d;border-radius:9px;font-size:13px;line-height:1.7}.app-shell{min-height:100dvh;background:var(--canvas)}.app-shell .sidebar{width:238px;z-index:20;padding:32px 20px 0;background:#14151e;border-right:1px solid #262633;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#393345 transparent}.app-shell .sidebar .brand{margin:0 0 38px;padding:0 9px;gap:11px;font-size:20px;color:#f1ebff;letter-spacing:-.5px}.app-shell .brand-symbol{width:40px;height:40px;border:1px solid #b4a2df45;border-radius:12px;background:linear-gradient(145deg,#8b6cb3,#594277);color:#f1e9ff;box-shadow:0 5px 18px #8965bf17}.app-shell .brand small{margin-top:4px;color:#8f879f;font-size:10px;font-weight:400;letter-spacing:2px}.app-shell .nav-caption{margin-bottom:13px;padding-left:14px;color:#8b859b;font-size:10px;letter-spacing:2px}.app-shell .nav-item{min-height:46px;padding:12px 14px;margin-bottom:6px;gap:13px;border:1px solid transparent;border-radius:9px;font-size:13px;color:#a29eb3;transition:color .16s,background .16s,border-color .16s}.app-shell .nav-item svg{stroke-width:1.65}.app-shell .nav-item:hover{color:#e3d9f8;background:#211e2c}.app-shell .nav-item.router-link-active{color:#d3befa;border-color:#443353;background:linear-gradient(100deg,#362a49,#292332);font-weight:600}.app-shell .nav-item.router-link-active:before{left:-1px;top:13px;width:3px;height:18px;border-radius:0 3px 3px 0;background:#ba9aee}.app-shell .nav-dot{background:#d2b47d;width:5px;height:5px}.app-shell .sidebar-bottom{margin-top:auto;padding-top:30px}.app-shell .source-badge{padding:13px 12px;gap:10px;border:1px solid #29332f;border-radius:10px;background:#1a211f;color:#bfd2c8;font-size:11px}.app-shell .source-badge .status-dot{background:#7abe9e;box-shadow:0 0 0 4px #7abe9e0e}.app-shell .source-badge small{margin-top:4px;color:#919f97;font-size:10px}.app-shell .admin-profile{margin-top:19px;padding:20px 0;gap:10px;color:#cdc6d9;font-size:12px;border-color:#2a2733}.app-shell .admin-profile small{color:#8d859a;font-size:10px}.app-shell .avatar{width:34px;height:34px;background:#3c3049;color:#d3c2e7;font-size:14px;font-family:inherit}.app-shell .avatar.small{width:30px;height:30px;font-size:12px}.app-shell .main-area{margin-left:238px;min-width:0;background:radial-gradient(ellipse at 85% 0,#37264714,transparent 45%),var(--canvas)}.app-shell .topbar{position:sticky;top:0;z-index:10;height:70px;padding:0 34px;border-bottom:1px solid #252532;background:#14151deb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell .breadcrumb{gap:11px;color:#9691a6;font-size:12px}.app-shell .breadcrumb>span{color:#575364}.app-shell .breadcrumb b{color:#d9d2e7;font-weight:500}.app-shell .topbar-right{gap:20px}.app-shell .environment{padding:4px 9px;border:1px solid #3c344a;border-radius:5px;color:#b9aaca;background:#261f32;font-size:10px}.app-shell .topbar-date{color:#9c93aa;font-size:11px}.app-shell .page-content{max-width:1540px;margin:0 auto;padding:30px 34px 20px}.app-shell .page-heading{align-items:center;gap:20px;margin-bottom:27px}.app-shell .page-heading h1{font-size:28px;line-height:1.4}.app-shell .page-heading .eyebrow{margin-bottom:9px;color:#a18bbd;font-size:9px;letter-spacing:2px;font-weight:550}.app-shell .page-heading .muted{margin-top:7px;color:#9b94aa;font-size:13px}.app-shell .heading-actions{align-items:center;gap:10px;flex-shrink:0}.app-shell .page-footer{margin-top:30px;padding:20px 0 4px;gap:14px;flex-wrap:wrap;border-color:#282432;color:#92889e;font-size:10px;letter-spacing:.3px}.app-shell .panel{min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 5px 20px #00000012}.app-shell .section-title{gap:12px;margin-bottom:20px}.app-shell .section-title h3{font-size:16px;letter-spacing:.1px}.app-shell .section-title .muted{margin-top:6px;font-size:12px}.app-shell .section-title>svg{width:36px;height:36px;padding:8px;border:1px solid #423349;border-radius:10px;color:#bca3d5;background:#302536;stroke-width:1.6}.app-shell .ops-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.app-shell .stat-card{min-width:0;padding:20px;border:1px solid #302a3a;border-radius:12px;background:#1c1823;color:var(--text);text-align:left}.app-shell .stat-card:hover{border-color:#6e547f;background:#231c2c;box-shadow:0 6px 20px #0000001c;transform:translateY(-2px)}.app-shell .stat-card>span{gap:8px;color:#c1b6cd;font-size:12px}.app-shell .stat-card>span svg{width:32px;height:32px;padding:7px;border-radius:9px;background:#33253e;color:#c3a4e5;stroke-width:1.7}.app-shell .stat-card:nth-child(2)>span svg{background:#20332f;color:#83c9b4}.app-shell .stat-card:nth-child(3)>span svg{background:#393021;color:#dbb67a}.app-shell .stat-card:nth-child(4)>span svg{background:#3b2732;color:#d995b0}.app-shell .stat-card strong{margin:8px 0 14px;color:#f2edf8;font-size:36px;line-height:1.35;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.app-shell .stat-card strong small{margin-left:9px;color:#a197ad;font-size:11px}.app-shell .stat-card p{gap:8px;padding-top:12px;border-top:1px solid #352c3e;color:#a195ad;font-size:11px;line-height:1.6}.app-shell .stat-card p svg{margin-top:1px;color:#9887ad}.app-shell .stat-warning{border-color:#4a382c;background:#231d1d}.app-shell .stat-warning strong{color:#e8bf8c}.app-shell .ops-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;margin-bottom:22px}.app-shell .ops-columns .panel{padding:24px}.app-shell .ops-quota{position:relative;isolation:isolate;overflow:hidden;border-color:#5d4373;background:radial-gradient(ellipse at top right,#9862be30,transparent 65%),linear-gradient(120deg,#372544,#2b2037)}.app-shell .ops-quota:before{content:"";position:absolute;z-index:-1;width:250px;height:250px;top:-44px;right:-62px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 7px,#b58ac410 8px 9px);pointer-events:none}.app-shell .ops-quota .section-title>svg{color:#d7b3ea;background:#62437555;border-color:#79558c66}.app-shell .ops-quota .muted{color:#b8a5c7}.app-shell .quota-number{margin:18px 0 17px;gap:10px}.app-shell .quota-number>strong{color:#f1e4ff;font-size:48px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}.app-shell .quota-number>span{color:#c7afda;font-size:12px}.app-shell .quota-number .pill{margin-left:auto;color:#a8ddc7;border-color:#839b8a33;background:#a4c4b518;font-size:11px}.app-shell .quota-number .pill.warning{background:#51372b;color:#f2c58f;border-color:#83603d}.app-shell .ops-quota progress{height:7px;accent-color:#bf99e8}.app-shell .ops-quota progress::-webkit-progress-bar{background:#ffffff12}.app-shell .ops-quota progress::-webkit-progress-value{background:linear-gradient(90deg,#a27ccb,#d1b0f1)}.app-shell .ops-quota progress::-moz-progress-bar{background:#bc95e5}.app-shell .quota-description{margin:12px 0 22px;gap:12px;color:#bda8cf;font-size:11px}.app-shell .ops-quota .text-link{color:#dbc1f7;font-size:12px}.app-shell .quota-warning{border:1px solid #624d2e;background:#3d3022;color:#e8c994;font-size:12px;line-height:1.75}.app-shell .ops-inventory>button{padding:13px 0;gap:12px;border-color:#2d2c39;color:#aaa5ba;font-size:13px}.app-shell .ops-inventory>button:last-child{border-bottom:0;padding-bottom:0}.app-shell .ops-inventory>button:hover{color:#e0c7fa}.app-shell .ops-inventory>button>b{color:#d7d0e5;font-size:14px;font-weight:550;font-variant-numeric:tabular-nums}.app-shell .ops-inventory>button>svg{color:#8a799e;width:15px}.app-shell .ops-issue{padding:16px 0;border-color:var(--line);color:#dfd5e9}.app-shell .ops-issue:hover{color:#e4caff}.app-shell .ops-issue small{color:#9d90ab;font-size:11px}.app-shell .ops-issue p{color:#cfab83;font-size:12px}.app-shell .event-row{gap:13px;padding:12px 0}.app-shell .event-row+.event-row{border-top:1px solid #2b2633}.app-shell .event-dot{width:33px;height:33px;border-radius:9px;background:#302539;color:#ae8fc6}.app-shell .event-row p{color:#c4b6d1;font-size:12px;line-height:1.7}.app-shell .event-row small{margin-top:4px;color:#9b8ca9;font-size:11px}.app-shell .empty-compact{padding:33px 14px;color:#a297b2;font-size:13px}.app-shell .empty-compact>svg{color:#a086b3}.app-shell .empty-compact p{margin-top:13px;color:#c4b7d2;font-size:13px}.app-shell .empty-compact small{color:#9d90ac;font-size:11px}.app-shell .table-panel{padding:0;overflow:hidden}.app-shell .table-toolbar{padding:18px 22px;gap:14px;border-color:var(--line);background:#1a1a25}:is(.app-shell,dialog) .search-field{min-width:200px;max-width:390px;min-height:40px;padding:0 12px;gap:9px;border:1px solid #353141;border-radius:8px;background:#12111b;color:#9c8cad}:is(.app-shell,dialog) .search-field:focus-within{border-color:#8e72b8;box-shadow:0 0 0 3px #9f7dcc17}:is(.app-shell,dialog) .search-field input{width:100%;min-width:0;min-height:40px;padding:9px 0;border:0;background:transparent;box-shadow:none;color:#ded3e9;font-size:13px}.app-shell .toolbar-controls{gap:9px;margin-left:auto}.app-shell .toolbar-controls select{min-height:40px;padding:8px 12px;background:#22202d;font-size:12px}.app-shell .table-scroll{scrollbar-width:thin;scrollbar-color:#514258 #1b1722}.app-shell table{color:#d1c7dc;font-size:13px}.app-shell th{padding:13px 20px;background:#201b28;color:#a99ab9;font-size:11px;font-weight:500;line-height:1.6;border-bottom:1px solid #342b3d}.app-shell td{padding:15px 20px;border-color:#2d2635;color:#b6a9c6;font-size:12px;line-height:1.7;vertical-align:middle}.app-shell tbody tr{transition:background .12s}.app-shell tbody tr:hover{background:#282031}.app-shell td b{color:#e3d7ed;font-weight:550}.app-shell td small{margin-top:4px;color:#a090b0;font-size:11px;line-height:1.65}.app-shell .row-number{color:#8f7f9f;font-size:11px}.app-shell .song-cell{gap:12px}.app-shell .song-cell .artwork{width:43px;height:43px;border-radius:8px;box-shadow:0 3px 10px #0002}.app-shell .song-cell b{font-size:13px}.app-shell .row-actions{gap:8px}.app-shell .code-cell{gap:7px}.app-shell .code-cell b{color:#d6b7ef;font-size:15px;font-weight:550;letter-spacing:1px}.app-shell .batch-text{max-width:190px}.app-shell .device-cell{color:#ab9ab8;font-size:11px}.app-shell .device-count{padding:13px 22px;color:#a491b6;background:#201927;font-size:11px;border-bottom:1px solid #302638}.app-shell .device-manager td{vertical-align:top}.app-shell .device-manager .customer-note{color:#bca7c9}.app-shell .device-manager .device-identifier{color:#9985aa}.app-shell .device-manager .device-error{color:#dbb284}.app-shell .device-manager .row-actions{max-width:220px;min-width:170px}.app-shell .empty-state{min-height:250px;padding:60px 24px;gap:15px;color:#9f7fbd;text-align:center}.app-shell .empty-state h3{color:#cebddc;font-size:16px}.app-shell .empty-state p{color:#a793b6;font-size:13px}:is(.app-shell,dialog) .pagination{padding:17px 22px;gap:14px;background:#1b1722;color:#a897ba;font-size:11px;border-color:#34283f}:is(.app-shell,dialog) .pagination-controls{gap:12px}:is(.app-shell,dialog) .pagination-summary{white-space:normal;line-height:1.8}:is(.app-shell,dialog) .pagination select{min-height:34px;padding:6px 9px;background:#241c2d;border-color:#3d2e48;color:#c7b3d8;font-size:11px}:is(.app-shell,dialog) .pagination .icon-button{width:30px;height:32px;color:#b394c9}:is(.app-shell,dialog) .page-number{min-width:30px;height:32px;border:1px solid transparent;border-radius:7px;background:transparent;color:#bea5ce;font-size:12px}:is(.app-shell,dialog) .page-number:hover:not(:disabled){background:#392844}:is(.app-shell,dialog) .page-number.selected{opacity:1;color:#efdbff;border-color:#68497b;background:#493056;font-weight:600}:is(.app-shell,dialog) .pagination-jump{gap:7px}:is(.app-shell,dialog) .pagination-jump input{width:53px;min-height:32px;padding:5px 7px;background:#18121f;border-color:#3e2e49;font-size:12px}:is(.app-shell,dialog) .pagination-jump .button{min-height:32px;padding:5px 9px;font-size:11px}.app-shell .playlist-list>.playlists-grid{padding:22px;gap:21px}.app-shell .playlist-card{border-color:#3c2c47;border-radius:12px;background:#221929;transition:border-color .2s,box-shadow .2s}.app-shell .playlist-card:hover{border-color:#745183;box-shadow:0 6px 24px #0002}.app-shell .playlist-card>.artwork{aspect-ratio:1.9}.app-shell .playlist-card>.artwork .artwork-title{font-size:21px;left:21px;bottom:21px;letter-spacing:2px}.app-shell .playlist-card-body{padding:20px}.app-shell .playlist-card-body .section-title{margin-bottom:10px}.app-shell .playlist-card-body h3{color:#e5d6ee;font-size:15px}.app-shell .playlist-card-body>.muted{min-height:42px;color:#b4a0c0;font-size:12px;line-height:1.8}.app-shell .playlist-bottom{gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #3a2945}.app-shell .playlist-bottom>span{color:#c0a3d0;font-size:11px}.app-shell .page-sources{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.app-shell .page-sources>.page-heading,.app-shell .page-sources>.source-intro,.app-shell .page-sources>.source-search,.app-shell .page-sources>.source-failures,.app-shell .page-sources>.error-panel,.app-shell .page-sources>.loading-panel,.app-shell .page-sources>.page-footer{grid-column:1 / -1}.app-shell .page-sources>.page-heading{margin-bottom:5px}.app-shell .source-intro{margin:0;padding:24px;gap:18px;border:1px solid #4a3258;border-radius:14px;background:radial-gradient(ellipse at 85% 10%,#81408e20,transparent 70%),#2a1c33}.app-shell .source-intro-icon{width:55px;height:55px;border:1px solid #6c427c;border-radius:15px;background:#45284e;color:#d4ade2}.app-shell .source-intro h2{color:#e9d0f1;font-size:21px}.app-shell .source-intro p{margin-top:6px;color:#ba97c8;font-size:12px}.app-shell .source-summary,.app-shell .source-controls,.app-shell .source-failures,.app-shell .source-search{padding:24px;margin-bottom:0}.app-shell .source-summary .quota-grid{gap:16px;margin:23px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.app-shell .quota-grid small{color:#b6a1c6;font-size:11px}.app-shell .quota-grid strong{margin-top:10px;color:#e5d0f5;font-size:30px;line-height:1.4;font-weight:550;font-variant-numeric:tabular-nums}.app-shell .quota-grid em{color:#aa90bc;font-size:12px}.app-shell .source-summary>.muted{margin-top:10px;font-size:12px}.app-shell .platform-enabled-summary{margin-bottom:16px;padding:10px 12px;border:1px solid #44314f;border-radius:8px;background:#2b1e33;color:#cdb0df;font-size:12px;line-height:1.8}.app-shell .platform-options{gap:9px}.app-shell .platform-options label{padding:11px 12px;gap:8px;border:1px solid #4b3357;border-radius:8px;background:#2b1d34;color:#d3b7e1;font-size:12px}.app-shell .source-controls .form-stack{gap:18px}.app-shell .source-controls .form-actions{margin-top:0;padding-top:15px}.app-shell .source-search-form{grid-template-columns:160px minmax(0,1fr) auto;gap:12px;margin:20px 0}.app-shell .source-result{padding:15px 0;border-color:#37273f}.app-shell .source-result b{color:#e7ceed;font-weight:550;font-size:14px}.app-shell .source-result small,.app-shell .source-result>span{color:#ad8fc0;font-size:12px}.app-shell .page-sources>.page-footer{margin-top:8px}.app-shell .page-releases{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:22px;align-items:start}.app-shell .page-releases>.page-heading,.app-shell .page-releases>.release-history,.app-shell .page-releases>.form-error,.app-shell .page-releases>.notice,.app-shell .page-releases>.page-footer{grid-column:1 / -1}.app-shell .page-releases>.page-heading{margin-bottom:5px}.app-shell .version-coverage,.app-shell .release-upload,.app-shell .release-history{margin:0;padding:24px}.app-shell .version-summary{flex-wrap:wrap;gap:5px 12px;margin:22px 0}.app-shell .version-summary strong{color:#ddc0f3;font-size:44px;font-weight:550;letter-spacing:-1px}.app-shell .version-summary span{color:#b59ac7;font-size:12px}.app-shell .version-list{gap:10px}.app-shell .version-chip{flex:1 1 120px;padding:13px 15px;border-color:#463050;border-radius:9px;background:#281a30}.app-shell .version-chip b{color:#dfbfed;font-size:13px;font-weight:550}.app-shell .version-chip small{margin-top:5px;color:#ac88be;font-size:11px}.app-shell .release-upload>p{margin-top:17px;font-size:11px}.app-shell .release-history .release-filters{padding:0 0 19px;background:transparent}.app-shell .release-history .release-item{margin:17px 0;padding:20px;border:1px solid #402a4b;border-radius:11px;background:#211627}.app-shell .release-item .section-title{margin-bottom:13px}.app-shell .release-item h3{font-size:15px;color:#e7c5f0}.app-shell .release-item h3 small{color:#ae89be;font-size:11px}.app-shell .release-notes{margin-bottom:10px;color:#c5a5d3;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.app-shell .release-sha{color:#ac85ba;font-family:Consolas,monospace;font-size:10px;line-height:1.8}.app-shell .release-item .form-actions{margin-top:16px;padding-top:14px;border-color:#3b2545}.app-shell .release-history .pagination{margin:0 -24px -24px;padding:18px 24px;border-radius:0 0 14px 14px}.app-shell .page-releases>.page-footer{margin-top:8px}:is(.app-shell,.login-shell,dialog) .form-stack{gap:20px}:is(.app-shell,.login-shell,dialog) .form-stack label,:is(.app-shell,.login-shell,dialog) .form-row label{gap:9px;color:#c6b6d4;font-size:13px;font-weight:450;line-height:1.6}:is(.app-shell,.login-shell,dialog) .form-stack :is(input,textarea,select){font-size:13px}:is(.app-shell,.login-shell,dialog) .form-stack label>small{color:#a58db7;font-size:11px;font-weight:400;line-height:1.75;text-align:left}:is(.app-shell,.login-shell,dialog) .form-row{gap:16px}:is(.app-shell,.login-shell,dialog) .form-actions{gap:10px;padding-top:19px;margin-top:6px;border-color:#3a2946}.app-shell .settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.app-shell .settings-grid .section-title{margin-bottom:25px}.app-shell .settings-grid .checkbox-label{padding:12px 14px;border:1px solid #3a2a45;border-radius:9px;background:#201827}.app-shell .settings-grid .notice{margin:0;font-size:12px}.app-shell .schedule-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.app-shell .schedule-fields input{width:100%;padding:9px;font-size:12px}.app-shell .page-settings>form>.form-actions{margin:18px 0 0;padding:17px 20px;border:1px solid #432d50;border-radius:12px;background:#23192b}.app-shell .branding-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px;margin-top:22px;padding:24px}.app-shell .branding-panel>.section-title,.app-shell .branding-panel>p{grid-column:1 / -1}.app-shell .icon-current{gap:19px;align-self:start;margin:0 0 20px}.app-shell .icon-current img,.app-shell .icon-current>span{width:84px;height:84px;border:1px solid #564063;border-radius:19px;background:#30203b;color:#d0aceb}.app-shell .icon-current b{color:#d9bee9;font-size:13px;font-weight:500}.app-shell .icon-current .muted{margin-top:8px;font-size:11px}.app-shell .branding-panel>.muted{font-size:11px}dialog{width:492px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 44px);padding:27px;border:1px solid #614576;border-radius:17px;background:#211728;box-shadow:0 28px 100px #0009;scrollbar-width:thin;scrollbar-color:#71517b #211728}dialog.wide{width:760px}dialog::backdrop{background:#09070fc9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog .modal-heading{padding-bottom:20px;margin-bottom:23px;border-bottom:1px solid #432d51}dialog .modal-heading h2{font-size:19px;color:#efdaff;font-weight:550}dialog .modal-heading .icon-button{color:#c6a6d6;background:#35223f}dialog .dialog-copy{color:#e6ccec;font-size:15px;line-height:1.85;overflow-wrap:anywhere}dialog .generated-heading h3{color:#e5c9ec}dialog .status-icon{background:#233b33;color:#a2d3b7}dialog .generated-codes{background:#160e1e;border-color:#51335f;color:#d9b8f1;font-size:15px}dialog .playlist-editor{gap:24px}dialog .palette-row button{min-width:27px;min-height:27px}dialog .playlist-song-selector .section-title{margin:0 0 14px;gap:10px}dialog .playlist-song-selector .section-title h3{font-size:15px}dialog .playlist-song-selector .section-title .muted{font-size:12px}dialog .picker-search{max-width:none;margin-bottom:12px}dialog .song-picker{border:1px solid #473052;border-radius:9px;background:#1b1122}dialog .song-picker-row{padding:11px 13px;border-color:#3e2749}dialog .song-picker-row:hover{background:#32213c}dialog .song-picker-row span{color:#dec0e9;font-size:12px}dialog .song-picker-row span small{color:#b391c1;font-size:11px}dialog .song-picker-row>small{color:#b18abb;font-size:11px}dialog .playlist-song-selector .pagination{margin-top:10px;padding:13px 0 0;background:transparent}dialog .device-details{padding:18px;border:1px solid #442c50;border-radius:10px;background:#190f21;color:#d5b5e2}dialog .device-details dt{color:#af8ebf}dialog .device-details dd{color:#dec0e9}.app-shell .list-state{color:#b499c5;min-height:180px;font-size:13px}.app-shell .list-state[role=alert]{color:#e5a1b4}.app-shell .error-panel,.app-shell .loading-panel{min-height:240px;border:1px solid #483252;border-radius:14px;background:#201627;color:#c6a5d9}.toast-message{padding:14px 20px;border:1px solid #68507b;border-radius:11px;background:#3b2848;color:#f2e0ff;box-shadow:0 12px 40px #0005;font-size:13px;line-height:1.6}.toast-message svg{color:#9bd8b6}.toast-message.error{border-color:#7a465d;background:#482534}.toast-message.error svg{color:#f2b1b8}.login-shell{min-height:100dvh;grid-template-columns:1.05fr 1fr;background:#131018}.login-shell .login-art{min-height:100dvh;padding:48px 52px;border-right:1px solid #4c315a;background:radial-gradient(ellipse at 0 0,#76517f38,transparent 65%),linear-gradient(145deg,#39233f,#271a34 80%)}.login-shell .brand{gap:12px;font-size:22px;color:#f5e6ff}.login-shell .brand-symbol{width:44px;height:44px;border:1px solid #a481b759;border-radius:13px;background:#916ba640;color:#ebd9f3}.login-shell .brand small{margin-top:5px;color:#b39ac5;font-size:9px;letter-spacing:2px}.login-shell .login-copy{max-width:440px;margin-top:clamp(85px,16vh,160px)}.login-shell .login-copy .eyebrow{color:#baa2ce;font-size:9px;letter-spacing:2.5px}.login-shell .login-copy h1{margin-top:24px;color:#f3e7ff;font-size:clamp(39px,4vw,59px);font-weight:500;letter-spacing:2px;line-height:1.4}.login-shell .login-copy p{max-width:290px;margin-top:24px;color:#b89aca;font-size:13px;line-height:1.9}.login-shell .login-record{right:-115px;bottom:-175px;width:535px;height:535px;border:1px solid #b790c622;background:repeating-radial-gradient(circle,#19101f 0,#19101f 3px,#382340,#382340 5px);box-shadow:-25px 15px 70px #13091655}.login-shell .login-record span{top:34%;right:34%;bottom:34%;left:34%;background:linear-gradient(135deg,#a876ab,#5d3674);box-shadow:0 0 0 8px #24142e}.login-shell .login-record i{background:#23112d}.login-shell .login-foot{left:52px;right:40px;bottom:29px;gap:15px;color:#ae8ebe;font-size:9px}.login-shell .login-form-area{min-width:0;padding:50px;background:radial-gradient(ellipse at 50% 45%,#4c29581a,transparent 70%),#131018}.login-shell .login-form-wrap{width:390px;max-width:100%;padding:34px 32px;border:1px solid #3f2d49;border-radius:18px;background:#1d1424;box-shadow:0 20px 65px #0003}.login-shell .tiny-label{width:fit-content;padding:5px 9px;margin-bottom:23px;border:1px solid #4a3457;border-radius:5px;background:#2b1e34;color:#c5a6d8;font-size:10px;letter-spacing:1px}.login-shell .tiny-label .status-dot{width:5px;height:5px;background:#bba4d5}.login-shell .login-form-wrap h2{margin-bottom:10px;font-size:29px;font-weight:550;color:#f0dffa;letter-spacing:.6px}.login-shell .login-form-wrap>.muted{margin-bottom:29px;color:#af92bf;font-size:12px}.login-shell .login-form-wrap .form-stack{gap:19px}.login-shell .login-form-wrap input{min-height:45px;padding:11px 12px}.login-shell .login-form-wrap .button.primary{min-height:45px;padding:11px 14px;margin-top:7px;justify-content:space-between}.login-shell .login-note{padding-top:22px;margin-top:25px;gap:9px;border-color:#412b4d;color:#af8cc0;font-size:11px;line-height:1.7}.login-shell .login-note svg{color:#ac85bf}.login-shell .login-version{left:24px;right:24px;bottom:25px;text-align:center;color:#a181b1;font-size:9px;letter-spacing:1.3px}@media(min-width:1101px){.app-shell .table-panel th:last-child,.app-shell .table-panel td:last-child{position:sticky;right:0;border-left:1px solid #38283f;background:#1e1725;box-shadow:-9px 0 15px -10px #0009}.app-shell .table-panel th:last-child{background:#241b2c}.app-shell .table-panel tbody tr:hover td:last-child{background:#2b2035}}@media(max-width:1250px){.app-shell .sidebar{width:212px;padding-left:15px;padding-right:15px}.app-shell .main-area{margin-left:212px}.app-shell .sidebar .brand{padding:0 6px;font-size:19px}.app-shell .page-content{padding:27px 25px 20px}.app-shell .topbar{padding:0 25px}.app-shell .ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .schedule-fields,.app-shell .page-sources{grid-template-columns:1fr}.app-shell .source-summary .quota-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .page-releases{grid-template-columns:minmax(230px,.8fr) minmax(0,1.3fr)}.login-shell .login-art{padding:40px}.login-shell .login-form-area{padding:36px}.login-shell .login-form-wrap{padding:30px 27px}}@media(max-width:1000px){.app-shell .settings-grid{grid-template-columns:1fr}.app-shell .schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .page-releases{grid-template-columns:1fr}.app-shell .version-list{display:flex}.app-shell .version-chip{flex:0 1 170px;min-width:125px}.app-shell .branding-panel{grid-template-columns:1fr}.app-shell .ops-columns{gap:18px}.app-shell .ops-columns .panel{padding:21px}.app-shell .quota-description{flex-wrap:wrap;gap:5px 12px}.app-shell .table-toolbar>.search-field{flex-basis:100%;max-width:none}.app-shell .toolbar-controls{margin-left:0;width:100%}}@media(max-width:850px){.app-shell .sidebar{width:86px;padding:23px 10px 0}.app-shell .sidebar .brand{justify-content:center;padding:0;margin-bottom:26px}.app-shell .sidebar .brand>span:last-child,.app-shell .nav-caption,.app-shell .source-badge,.app-shell .admin-profile>span:not(.avatar){display:none}.app-shell .nav-item{flex-direction:column;justify-content:center;gap:6px;min-height:63px;padding:10px 3px;margin-bottom:5px;border-radius:9px;font-size:10px}.app-shell .nav-item>span:first-of-type{display:block}.app-shell .nav-item>.nav-dot{display:none}.app-shell .nav-item.router-link-active:before{top:21px;left:-1px}.app-shell .sidebar-bottom{padding-top:16px}.app-shell .admin-profile{flex-direction:column;margin-top:0;gap:12px}.app-shell .admin-profile .icon-button{margin:0}.app-shell .main-area{margin-left:86px}.app-shell .topbar{height:62px;padding:0 22px}.app-shell .topbar-date{display:none}.app-shell .page-content{padding:25px 22px 20px}.app-shell .page-heading h1{font-size:26px}.app-shell .page-heading .eyebrow{font-size:9px}.app-shell .heading-actions .subtle{display:inline-flex}.app-shell .ops-columns{grid-template-columns:1fr}.app-shell .ops-stats{gap:14px}.app-shell .playlists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .playlist-card-body{padding:16px}.app-shell .playlist-bottom{flex-wrap:wrap;gap:12px}.app-shell .source-search-form{grid-template-columns:135px minmax(0,1fr)}.app-shell .source-search-form>button{grid-column:1 / -1;justify-self:end}}@media(max-width:800px){.login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-shell .login-art{display:block;min-height:0;padding:30px 24px 0;border:0;background:transparent}.login-shell .login-art .brand{justify-content:center;font-size:21px}.login-shell .login-copy,.login-shell .login-record,.login-shell .login-foot{display:none}.login-shell .login-form-area{min-height:0;padding:32px 22px 80px;align-items:center;background:transparent}.login-shell .login-form-wrap{width:390px;padding:30px}.login-shell .login-version{bottom:25px;font-size:8px}}@media(max-width:600px){.app-shell{display:block}.app-shell .sidebar{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;width:100%;padding:16px 17px 0;overflow:visible;border-right:0;border-bottom:1px solid #37283e}.app-shell .sidebar .brand{grid-column:1;grid-row:1;justify-content:flex-start;margin:0;padding:0;gap:9px;font-size:17px}.app-shell .sidebar .brand>span:last-child{display:block}.app-shell .sidebar .brand small{font-size:8px;margin-top:2px;letter-spacing:1.5px}.app-shell .brand-symbol{width:35px;height:35px;border-radius:10px}.app-shell .sidebar>nav{grid-column:1 / -1;grid-row:2;display:flex;min-width:0;gap:5px;overflow-x:auto;padding-bottom:11px;scrollbar-width:thin;scrollbar-color:#544061 transparent}.app-shell .nav-item{flex:0 0 auto;flex-direction:row;gap:7px;min-height:39px;padding:9px 12px;margin:0;font-size:12px}.app-shell .nav-item svg{width:16px;height:16px}.app-shell .nav-item.router-link-active:before{display:none}.app-shell .sidebar-bottom{grid-column:2;grid-row:1;margin:0;padding:0}.app-shell .admin-profile{flex-direction:row;gap:8px;padding:0;margin:0;border:0}.app-shell .admin-profile .avatar{width:28px;height:28px;font-size:11px}.app-shell .main-area{margin-left:0}.app-shell .topbar{position:static;height:49px;padding:0 18px}.app-shell .topbar .avatar,.app-shell .topbar .environment{display:none}.app-shell .breadcrumb{font-size:11px}.app-shell .page-content{padding:22px 16px 16px}.app-shell .page-heading{gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:23px}.app-shell .page-heading h1{font-size:24px}.app-shell .page-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.app-shell .page-heading .muted{font-size:12px}.app-shell .heading-actions{gap:7px;flex-wrap:wrap;margin-left:auto}.app-shell .heading-actions .button{min-height:36px;padding:7px 10px;font-size:12px}.app-shell .panel{padding:20px;border-radius:12px}.app-shell .table-panel{padding:0}.app-shell .section-title h3{font-size:15px}.app-shell .section-title .muted{font-size:11px}.app-shell .ops-stats{gap:12px;margin-bottom:16px}.app-shell .stat-card{padding:16px;border-radius:11px}.app-shell .stat-card>span{font-size:11px;gap:5px}.app-shell .stat-card>span svg{width:28px;height:28px;padding:6px}.app-shell .stat-card strong{font-size:31px;margin:7px 0 12px}.app-shell .stat-card p{min-height:42px;font-size:10px;line-height:1.65;gap:5px}.app-shell .ops-columns{gap:16px;margin-bottom:16px}.app-shell .ops-columns .panel{padding:20px}.app-shell .quota-number>strong{font-size:42px}.app-shell .quota-number{gap:8px}.app-shell .quota-description{font-size:10px}.app-shell .table-toolbar{padding:16px;gap:11px}.app-shell .table-toolbar>.search-field{min-width:0;flex-basis:100%}.app-shell .toolbar-controls{gap:8px;flex-wrap:wrap}.app-shell .toolbar-controls select{flex:1;min-width:120px}.app-shell .table-toolbar .button{padding-left:11px;padding-right:11px}.app-shell .table-panel table{min-width:740px}.app-shell .device-manager table{min-width:1000px}.app-shell td,.app-shell th{padding-left:16px;padding-right:16px}.app-shell .device-count{padding:12px 16px}:is(.app-shell,dialog) .pagination{padding:16px;gap:12px}:is(.app-shell,dialog) .pagination-controls{width:100%;gap:11px 9px}:is(.app-shell,dialog) .pagination-summary{width:100%}:is(.app-shell,dialog) .pagination-position{margin-left:0;font-size:10px}:is(.app-shell,dialog) .pagination-jump{margin-left:auto}:is(.app-shell,dialog) .pagination-pages{gap:4px}:is(.app-shell,dialog) .page-number{min-width:28px}.app-shell .playlist-list>.playlists-grid{grid-template-columns:1fr;gap:18px;padding:16px}.app-shell .playlist-card-body{padding:19px}.app-shell .playlist-bottom{flex-wrap:nowrap}.app-shell .notice{padding:12px 14px;font-size:12px}.app-shell .page-sources,.app-shell .page-releases{gap:17px}.app-shell .page-sources>.page-heading,.app-shell .page-releases>.page-heading{margin-bottom:6px}.app-shell .source-intro{padding:20px;gap:14px}.app-shell .source-intro-icon{width:45px;height:45px;border-radius:12px}.app-shell .source-intro h2{font-size:18px}.app-shell .source-intro p{font-size:11px}.app-shell .source-summary .quota-grid{gap:10px}.app-shell .quota-grid strong{font-size:26px}.app-shell .quota-grid small{font-size:10px}.app-shell .quota-grid em{display:block;font-size:11px}.app-shell .platform-options{gap:8px}.app-shell .platform-options label{padding:10px;font-size:11px}.app-shell .source-search-form{grid-template-columns:1fr;gap:11px}.app-shell .source-search-form>button{width:100%}.app-shell .source-failures{overflow-x:auto}.app-shell .source-failures th,.app-shell .source-failures td{padding:12px}.app-shell .release-history .release-filters{padding:0 0 17px}.app-shell .release-history .release-item{padding:16px}.app-shell .release-item .section-title{align-items:flex-start;flex-wrap:wrap}.app-shell .release-item h3 small{margin-left:6px}.app-shell .release-history .pagination{margin:0 -20px -20px;padding:16px 20px}.app-shell .release-item .form-actions{flex-wrap:wrap}.app-shell .settings-grid{gap:17px}.app-shell .schedule-fields{grid-template-columns:1fr}.app-shell .branding-panel{gap:0;padding:20px}.app-shell .icon-current{gap:16px}.app-shell .icon-current img,.app-shell .icon-current>span{width:70px;height:70px;border-radius:16px}.app-shell .page-footer{margin-top:24px;font-size:9px}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px);padding:22px;border-radius:14px}dialog .modal-heading{padding-bottom:17px;margin-bottom:20px}dialog .modal-heading h2{font-size:18px}dialog .form-row{align-items:stretch;flex-wrap:wrap;gap:16px}dialog .form-row>label{flex-basis:100%}dialog .playlist-editor{grid-template-columns:1fr;gap:20px}dialog .playlist-editor>.artwork{width:105px;height:105px}dialog .form-actions{flex-wrap:wrap}dialog .device-details{grid-template-columns:85px minmax(0,1fr);padding:14px;gap:12px 10px;font-size:12px}.toast-message{bottom:18px;width:max-content;max-width:calc(100vw - 28px);padding:12px 16px;font-size:12px}}@media(prefers-reduced-motion:reduce){:is(.app-shell,.login-shell,dialog) *,:is(.app-shell,.login-shell,dialog) *:before,:is(.app-shell,.login-shell,dialog) *:after{scroll-behavior:auto;transition:none}.app-shell .stat-card:hover{transform:none}:is(.app-shell,.login-shell,dialog) .spin{animation-duration:2s}}
