@font-face{font-family:'Readex Pro';src:url('/static/fonts/ReadexPro.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#101013;--bg-2:#151418;--panel:#1a191e;--panel-2:#211e25;--elev:#2b252e;--line:#302b34;--line-2:#443946;--text:#f4eee7;--muted:#b0a7b2;--accent:#b72750;--accent-2:#ee9caf;--ok:#91c6ad;--warn:#e5bd86;--bad:#ed9b9e;--r:18px;--r-sm:10px;--shadow:0 24px 70px #0006}
*{box-sizing:border-box}html,body{margin:0;color:var(--text);background:var(--bg)}body{font:14px/1.65 'Readex Pro','Segoe UI',Tahoma,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:34px;line-height:1.4;letter-spacing:-.035em;margin-bottom:0;font-weight:600}h2{font-size:17px;font-weight:500;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.mono{font:12px/1.7 'JetBrains Mono',Consolas,monospace;direction:ltr;unicode-bidi:isolate}.rose{color:var(--accent-2)}.eyebrow{display:block;color:var(--accent-2);font-size:10px;letter-spacing:.15em;font-weight:600;margin-bottom:8px}.title-dot{color:var(--accent-2);margin-inline-start:4px}.wide{width:100%}.row{display:flex;gap:10px;flex-wrap:wrap}.warn{color:var(--warn)}.bad{color:var(--bad)}
body.app{display:flex;min-height:100vh}.side{width:236px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:32px 18px 20px;background:linear-gradient(185deg,#21181f,#141316 55%);border-inline-end:1px solid var(--line)}.side-head{display:flex;align-items:center;gap:12px;padding:0 8px 36px}.logo{width:44px;height:36px;object-fit:contain}.logo-text{font-size:16px;line-height:1.3;font-weight:600;letter-spacing:.01em;direction:ltr}.logo-text em,.auth-wordmark em{font-style:normal;font-weight:300}.logo-text span{font-size:11px;color:var(--muted);display:block;margin-top:5px;letter-spacing:0}.nav-label{font-size:10px;color:#8f8493;padding:0 14px;margin-bottom:12px;letter-spacing:.13em}.side-nav{display:flex;flex-direction:column;gap:7px}.side-nav a{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:12px;color:var(--muted);border:1px solid transparent}.side-nav a svg{width:21px;height:21px;flex:none}.side-nav a:hover{background:#ffffff05;color:var(--text)}.side-nav a.on{background:linear-gradient(110deg,#64203777,#47212f44);color:#f9dce4;border-color:#87354c66}.side-nav a.on svg{color:var(--accent-2)}.side-brandmark{margin-top:auto;display:grid;justify-items:center;gap:18px;padding:30px 0}.side-brandmark img{width:106px;opacity:.10;filter:grayscale(1)}.side-brandmark span{font-size:8px;color:#827780;letter-spacing:.18em}.side-foot{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:20px}.side-foot form{flex:1;margin:0}.chip-btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:9px;background:transparent;padding:8px 12px;color:var(--muted);font:inherit;font-size:12px}.chip-btn:hover{color:var(--text);border-color:var(--line-2)}main{flex:1;min-width:0;padding:0 38px 52px;max-width:1800px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px;font-size:10px;color:var(--muted);letter-spacing:.08em}.admin-chip{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0}.avatar{width:29px;height:29px;display:grid;place-items:center;background:#39212b;color:#e5afbd;border:1px solid #623043;border-radius:50%}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.head p{margin:7px 0 0;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:9px;background:#28232b;color:var(--text);padding:10px 16px;white-space:nowrap;font:inherit;font-size:12px;min-height:42px}.btn:hover{background:#332b35}.btn.primary{background:linear-gradient(105deg,#a62146,#be355a);border-color:#cc5774;color:#fff3f5}.btn.primary:hover{background:#be355a}.btn.ghost{background:transparent;border-color:var(--line)}.btn.sm{font-size:11px;padding:7px 11px;min-height:35px}.btn.danger{color:var(--bad)}.btn.wide{margin-top:10px;min-height:46px}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:30px}.metric{background:linear-gradient(135deg,#242027,#1a191d);border:1px solid var(--line);border-radius:15px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.metric div{display:flex;flex-direction:column;gap:8px}.metric div>span{color:var(--muted);font-size:11px}.metric strong{font-size:30px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}.metric-icon{display:grid;place-items:center;width:33px;height:33px;flex:none;border:1px solid #61435466;border-radius:10px;background:#512c3a33;color:#d9a8b7;font-size:18px}.metric.ok strong{color:var(--ok)}.metric.warn strong{color:var(--warn)}.metric.bad strong{color:var(--bad)}.roster{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.roster-head{padding:23px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-head h2{margin:0;font-size:18px}.toolbar{padding:0 24px 22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search{display:flex;gap:8px;flex:1;margin:0;min-width:250px}.search input{margin:0;min-width:0}.filter-form{display:flex;gap:7px}.filter-form select{margin:0;max-width:138px;min-height:42px;padding:8px 10px;font-size:11px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.roster .table-wrap{border:0;border-radius:0}table{border-collapse:collapse;width:100%}th,td{text-align:start;padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#201c23;color:#b4a8b5;font-size:10px;font-weight:400;letter-spacing:.04em;white-space:nowrap}td{font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff03}.devtable{min-width:920px}.devtable td:first-child{min-width:185px}.devtable th,.devtable td{padding:18px 16px}.devtable th:first-child,.devtable td:first-child{padding-inline-start:24px}.namecell{display:flex;align-items:center;gap:11px}.device-avatar{height:40px;width:40px;border:1px solid #49404b;border-radius:11px;background:#28212b;display:grid;place-items:center;color:#d6b6c2;flex:none}.device-avatar svg{width:22px;height:22px}.customer-link:hover{color:var(--accent-2)}.note-preview{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-line{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:26px}.tiny-label{font:8px/1.4 Consolas,monospace;width:28px;color:#8c818f;direction:ltr}.text-copy{font:inherit;background:none;border:0;color:inherit;padding:0;text-align:start}.text-copy.mono{font:11px/1.7 'JetBrains Mono',Consolas,monospace;direction:ltr}.text-copy.rose{color:var(--accent-2)}.text-copy:hover{color:#fff}.library-link{display:flex;align-items:center;gap:8px;margin-bottom:4px}.library-link svg{height:21px;width:21px;color:#d49cae}.location-name{font-size:11px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;border-radius:6px;border:1px solid transparent;padding:3px 9px;white-space:nowrap}.pill:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.pill.ok{background:#324c3c33;color:var(--ok);border-color:#62957933}.pill.warn{background:#69552a33;color:var(--warn);border-color:#a1814933}.pill.bad{background:#61303944;color:var(--bad);border-color:#a6535c44}.pill.off{background:#ffffff06;color:var(--muted);border-color:var(--line)}.online-label{color:var(--muted);margin-top:7px;display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#847a89;flex:none}.dot.on{background:var(--ok)}.actions{display:flex;gap:8px}.actions form{margin:0}.empty{padding:60px 20px;text-align:center}.empty img{display:block;margin:0 auto 20px;width:65px;opacity:.5}.empty h2{color:var(--muted);margin-bottom:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px;margin-bottom:20px}.card.form{max-width:960px}.form label{display:block;font-size:12px;color:var(--muted);margin-bottom:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form label.check{display:flex;align-items:center;gap:10px;color:var(--text);padding-top:24px}input,select,textarea{display:block;width:100%;min-width:0;background:#131216;color:var(--text);border:1px solid var(--line-2);border-radius:9px;padding:11px 13px;margin-top:8px;outline:0;font:inherit;font-size:13px}input:focus,textarea:focus,select:focus{border-color:#c97892;box-shadow:0 0 0 3px #b727501a}input::placeholder,textarea::placeholder{color:#827887;font-size:11px}input[readonly]{color:var(--muted);border-style:dashed}input[type=hidden]{display:none}input[type=checkbox]{width:17px;height:17px;padding:0;margin:0;accent-color:var(--accent)}textarea{resize:vertical}.section-title{display:flex;align-items:center;gap:12px;margin:26px 0 21px;padding-top:22px;border-top:1px solid var(--line)}.section-title:first-child{margin-top:0;border-top:0;padding-top:0}.section-title span{font:10px Consolas,monospace;color:var(--accent-2);border:1px solid #754254;border-radius:8px;padding:6px 8px}.section-title h2{margin:0;font-size:15px}.primary-library{border:1px solid #68344866;background:linear-gradient(120deg,#5024311c,#16141855);border-radius:14px;padding:20px}.library-badge{display:inline-block;margin-bottom:16px;background:#70314444;color:#efb9c8;border-radius:6px;padding:3px 9px;font-size:10px}.library-intro{margin:26px 0 16px}.library-intro h2{font-size:14px;margin-bottom:5px}.key-note{color:var(--muted);font-size:11px;border-inline-start:2px solid #a4516b;padding:8px 14px;background:#b7275009}.hostlist{display:grid;gap:8px}.hostrow{display:flex;gap:8px}.hostrow input{margin:0}.rm{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:19px;border-radius:8px;padding:5px 12px;min-width:34px}.rm:hover{color:var(--bad);border-color:var(--bad)}.add-host{padding:9px 14px;border:1px dashed #765064;border-radius:9px;color:var(--accent-2);background:transparent;font:inherit;font-size:12px;margin:10px 0 16px}.hostfield{margin-bottom:20px}.pllist{display:grid;gap:12px}.plrow{border:1px solid var(--line);border-radius:12px;background:#141216;padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px}.plrow input{margin:0}.plrow input[name=pl_name]{grid-column:1}.plrow input[name=pl_m3u]{grid-column:1 / -1;grid-row:2}.library-status{display:flex;align-items:center;gap:9px;grid-column:1}.playlist-order{display:flex;gap:6px;grid-column:2;grid-row:1}.playlist-order button{height:32px;width:32px;border:1px solid var(--line-2);border-radius:7px;background:#211c25;color:var(--text);font-size:15px}.playlist-order button:disabled{opacity:.25;cursor:default}.plrow>.rm{grid-column:2;grid-row:3;justify-self:end}.form-actions{padding-top:20px;margin-top:20px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--panel);padding-bottom:10px;z-index:2}.danger-zone{margin-top:20px}.tabs{display:inline-flex;gap:5px;border:1px solid var(--line);padding:4px;border-radius:10px}.tabs a{padding:6px 14px;font-size:12px;color:var(--muted);border-radius:7px}.tabs a.on{background:#492532;color:var(--text)}.add-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}.add-grid .card{min-width:0}.hint{font-size:12px}.flash{padding:14px 20px;border-radius:10px;border:1px solid #638b7555;color:var(--ok);background:#28403333;margin-bottom:24px}.flash.err{color:var(--bad);border-color:#af536966;background:#63263922}.fresh{background:#7f234333}details summary{cursor:pointer;color:var(--accent-2);padding:3px}details[open] summary{margin-bottom:20px}
body.auth{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 18% 45%,#54233244,transparent 55%),#101013}.auth-lang{position:absolute;top:24px;inset-inline-end:28px}.auth main{padding:35px;width:100%;max-width:1250px}.auth-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.auth-story{min-height:520px;display:flex;flex-direction:column;justify-content:space-between;padding:30px 0;position:relative}.auth-story:before{content:'';position:absolute;width:330px;height:250px;background:url('/static/mark.svg') center/contain no-repeat;opacity:.04;inset-inline-end:-10px;top:130px;pointer-events:none}.auth-wordmark{display:flex;align-items:center;gap:9px;direction:ltr;justify-content:flex-start;font-size:22px;font-weight:600;letter-spacing:.04em}.auth-wordmark img{width:57px;height:45px;margin-inline-end:12px}.auth-story h1{white-space:pre-line;font-size:52px;line-height:1.3;font-weight:500;letter-spacing:-.04em;margin:12px 0 20px}.auth-story p{color:var(--muted);max-width:330px;font-size:14px;line-height:1.9}.auth-edition{font-size:9px;letter-spacing:.15em;color:#948594;direction:ltr}.login{padding:38px;max-width:410px;width:100%;border-color:#543642;background:linear-gradient(145deg,#282026,#18161b);box-shadow:var(--shadow)}.login h2{font-size:29px;font-weight:500;margin:13px 0}.login p{font-size:12px;line-height:1.9;margin-bottom:30px}.login .btn{justify-content:space-between}.login label{font-size:12px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#39232d;color:#f9dfe7;border:1px solid #956076;border-radius:12px;padding:12px 22px;box-shadow:var(--shadow);z-index:100;display:none}.toast.visible{display:block}.confirm-modal{background:#211b23;border:1px solid #6d4357;color:var(--text);border-radius:20px;width:390px;max-width:calc(100vw - 32px);padding:30px;text-align:center;box-shadow:var(--shadow)}.confirm-modal::backdrop{background:#08060bba}.confirm-modal form{margin:0}.confirm-modal p{color:var(--muted);font-size:13px}.confirm-modal .row{justify-content:center;margin-top:24px}.confirm-icon{margin:0 auto 16px;width:42px;height:42px;border-radius:12px;background:#732b4244;color:#f1a7be;border:1px solid #925167;font-size:22px}.confirm-modal h2{font-size:21px}.iconbtn{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted)}.iconbtn svg{width:18px;height:18px}
@media(min-width:1600px){main{padding-inline:55px}.devtable td{padding-block:23px}}
@media(max-width:1200px){.side{width:208px}main{padding-inline:24px}.metric{padding:15px}.metric-icon{display:none}.toolbar{align-items:stretch}.filter-form{flex:1}.filter-form select{flex:1;max-width:none}}
@media(max-width:900px){.add-grid{grid-template-columns:1fr}.auth-layout{gap:35px}.auth-story h1{font-size:40px}.side{width:184px;padding-inline:12px}.logo-text{font-size:13px}.logo{width:33px}.side-nav a{padding:11px}.metrics{gap:9px}.metric div>span{font-size:10px}.metric strong{font-size:25px}}
@media(max-width:720px){body.app{display:block}.side{position:static;width:100%;height:auto;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:12px;background:#1b161c}.side-head{padding:0}.nav-label,.side-brandmark{display:none}.side-nav{grid-row:2;grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.side-nav a{padding:10px 5px;flex-direction:column;gap:5px;font-size:10px;text-align:center}.side-nav a svg{width:19px;height:19px}.side-foot{padding:0;margin:0;border:0;align-items:center}.side-foot form{display:none}main{padding:0 18px 40px}.topbar{height:60px;margin-bottom:24px}.topbar>span:first-child{font-size:8px}.head{gap:12px;align-items:flex-start}.head h1{font-size:29px}.head p{font-size:11px}.head .btn{padding:9px 12px;font-size:10px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.metric:first-child{grid-column:1 / -1}.metric-icon{display:grid}.metric{padding:15px}.metric div{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:10px}.metric strong{font-size:26px}.metric div>span{font-size:11px}.roster-head{padding:18px}.toolbar{padding:0 18px 18px;gap:10px}.search{min-width:0;flex-basis:100%}.filter-form{min-width:0}.filter-form select{width:90px;min-width:0;font-size:10px}.filter-form .btn{padding:8px}.card{padding:20px}.grid{grid-template-columns:1fr}.form label.check{padding-top:0}.form-actions{bottom:0}.auth main{padding:20px 0}.auth-layout{display:flex;flex-direction:column;gap:30px}.auth-story{min-height:0;width:100%;max-width:410px;padding:0}.auth-story>div:nth-child(2),.auth-edition{display:none}.auth-wordmark{font-size:20px}.login{padding:28px}.auth{padding:20px!important}.row .btn{flex:1}.roster .devtable{min-width:890px}.plrow{padding:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.primary-health{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;color:var(--muted)}.identity-line button{min-height:26px}.auth .flash{max-width:410px;margin-inline-start:auto}
.pagination{display:flex;gap:18px;align-items:center;justify-content:center;padding:18px;border-top:1px solid var(--line)}
.form-actions{position:static}.section-title:first-of-type{border-top:0;padding-top:0;margin-top:0}.device-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.device-tools form{margin:0}.device-tools .danger-zone{margin-inline-start:auto}.device-tools .danger-zone button{background:transparent}
/* v13 · Subscription studio. Larger, stronger typography and fully separated methods. */
body{font-size:15px;font-weight:450;color:#f7f0eb}input,select,textarea{font-weight:500}.muted{color:#bcb2bf}.form label{font-size:14px;font-weight:550;color:#e2d8e2}.form input,.form textarea{font-size:15px;min-height:48px}.form input.mono{font:500 14px/1.7 'JetBrains Mono',Consolas,monospace}.form input::placeholder{font-size:12px;color:#958899}.btn{font-weight:550}.head h1{font-weight:650}.subscription-editor{max-width:1080px}.subscription-topnote{max-width:1080px;display:flex;align-items:center;gap:14px;border:1px solid #593347;background:linear-gradient(110deg,#4b203522,#1c191e);padding:15px 20px;border-radius:12px;margin-bottom:26px;color:#cbbbc9;font-size:12px}.method-mini{color:#f8dce4;border:1px solid #794456;background:#6e2b4233;padding:5px 10px;border-radius:7px;font:500 12px/1.5 'Readex Pro',sans-serif;direction:ltr;white-space:nowrap}.identity-panel{border:1px solid #473746;border-radius:17px;padding:25px 26px;background:linear-gradient(135deg,#29212a,#1a181e);margin-bottom:32px}.form-section-caption{display:flex;gap:12px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.form-section-caption h2{margin:0;font-size:18px;font-weight:600}.form-section-caption>.small{margin-inline-start:auto;color:#b3a4b4;font-size:12px}.step-number{display:grid;place-items:center;height:30px;width:32px;flex:none;border:1px solid #895069;border-radius:8px;color:#efaac0;font:500 11px 'JetBrains Mono',Consolas,monospace;background:#66344722}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.identity-grid label{margin:0;letter-spacing:.025em;font-size:12px}.identity-grid input{min-height:50px;background:#151217;border-color:#5b4153}.identity-grid input:disabled{background:#211b24;color:#ad9bad;border-style:dashed;cursor:not-allowed;opacity:.8}.identity-grid input:disabled::placeholder{font-family:'Readex Pro',sans-serif;direction:rtl}.field-note{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#b9a8b8;margin-top:8px;line-height:1.8}.soon-tag,.field-tag{display:inline-block;font-size:9px;font-weight:450;letter-spacing:0;padding:2px 6px;border-radius:5px;margin-inline-start:6px;vertical-align:middle;color:#e4a4bb;background:#a2496922;border:1px solid #a2496933}.field-tag{background:#ffffff05;color:#ae9eaf;border-color:#59455766}.library-section-caption{margin-top:0}.playlist-card,.playlist-card.plrow{display:block;padding:0;border:1px solid #493442;border-radius:17px;background:linear-gradient(130deg,#251e26,#1b181f 70%);margin-bottom:20px;overflow:hidden}.playlist-card.primary-library{border-color:#754154;background:linear-gradient(130deg,#30202b,#1c181f 70%)}.playlist-card-head{display:flex;align-items:center;justify-content:space-between;padding:21px 26px;gap:16px;border-bottom:1px solid #43303e;background:#241a2366}.playlist-card-title{display:flex;align-items:center;gap:14px;min-width:0}.playlist-emblem{display:grid;place-items:center;border:1px solid #8d496555;background:#6e2f4644;border-radius:12px;width:44px;height:47px;color:#ecb2c5;flex:none}.playlist-emblem svg{width:27px;height:27px}.card-kicker{font:500 10px/1.6 'Readex Pro',sans-serif;letter-spacing:.15em;color:#c88ea6;display:block;direction:ltr;text-align:start}.playlist-card h3{font-size:17px;font-weight:600;margin:3px 0 0;overflow-wrap:anywhere}.playlist-card .library-badge{margin:0;white-space:nowrap}.playlist-card-body{padding:24px 26px 8px}.playlist-card-body label{margin-bottom:20px}.playlist-card .playlist-order{display:flex;align-items:center;gap:8px}.playlist-card .playlist-order button{width:34px;height:34px;min-width:34px;padding:0;font-size:17px;background:#241b26;border-color:#664052;color:#e1b0c6}.playlist-card .playlist-order .rm{color:#e8a2b6}.playlist-card .playlist-order button:disabled{opacity:.25}.playlist-card .plrow{grid-column:auto}.field-control{display:flex;align-items:center;position:relative;margin-top:8px}.field-control input{margin:0;padding-inline-end:48px;width:100%}.field-control input[dir=ltr]{padding-inline-end:13px;padding-right:48px}.field-eye{position:absolute;right:8px;top:7px;border:0;width:34px;height:34px;display:grid;place-items:center;background:#332631;color:#d6a4ba;border-radius:7px;z-index:1}.field-eye svg{width:19px;height:19px}.parse-hint{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:11px;font-weight:400;color:#bcaabb;line-height:1.8}.parse-hint.parsed{color:#a1cdb8}.parse-hint.parsed:before{content:'✓';display:inline-grid;place-items:center;width:16px;height:16px;font-size:10px;border:1px solid #76968266;border-radius:50%}.parse-hint.invalid{color:#f5a5b9}.playlist-card .host-label{margin-bottom:15px}.backup-field{margin-top:0;padding:14px 16px 16px;background:#14111699;border:1px dashed #594151;border-radius:11px;margin-bottom:23px}.backup-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.08em;font-weight:500;color:#c7afc2}.backup-heading .add-host{margin:0;border:0;background:#8f39542b;color:#ecabc0;padding:6px 10px;font-size:11px;letter-spacing:0}.backup-field .hostlist:not(:empty){margin-top:13px}.backup-field .hostrow input{min-height:42px;font-size:13px}.backup-field .hostrow .rm{min-width:36px;width:36px;height:42px;min-height:42px}.credentials{gap:0 20px}.credentials label{font-size:11px;letter-spacing:.07em}.library-state{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid #3d2e3b;padding:14px 0;color:#bcaabc;font-size:11px}.library-state b{color:#dfd2de}.subscription-editor .pllist{display:block;margin:0}.add-library-btn{display:flex;align-items:center;gap:16px;justify-content:flex-start;width:100%;padding:18px 23px;border:1px dashed #975370;border-radius:13px;background:linear-gradient(100deg,#55243a33,#271d2722);color:#f3b5cb;font:inherit;text-align:start;margin:5px 0 28px}.add-library-btn>span:last-child{margin-inline-start:auto;font-size:22px}.add-library-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;border:1px solid #8b4d66;background:#64304833;border-radius:10px;font-size:23px}.add-library-btn b{display:block;direction:ltr;font-size:13px;letter-spacing:.06em;font-weight:600}.add-library-btn small{display:block;font-size:11px;color:#b5a0b2;margin-top:4px}.add-library-btn:hover{border-color:#e4a4bf;background:#59243c44}.activation-panel{border:1px solid #453440;border-radius:15px;background:#211b2366;padding:22px 25px;margin-bottom:23px}.activation-switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.activation-switch-row h2{font-size:18px;direction:ltr;text-align:start;margin:4px 0 7px;font-weight:550}.activation-switch-row p{color:#c2b0bf;font-size:12px;font-weight:400;margin:0;max-width:650px;line-height:1.9}.toggle-switch{position:relative;display:block;flex:none;min-width:48px;width:48px;height:28px;margin:0!important;padding:0!important}.toggle-switch input{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;margin:0!important;z-index:2;cursor:pointer}.toggle-switch>span{position:absolute;inset:0;border-radius:20px;background:#3b303e;border:1px solid #6b5264;transition:background .12s}.toggle-switch>span:before{content:'';position:absolute;width:20px;height:20px;top:3px;left:4px;border-radius:50%;background:#b3a3b3;transition:transform .12s}.toggle-switch input:checked+span{background:#a63056;border-color:#dc8ca6}.toggle-switch input:checked+span:before{transform:translateX(19px);background:#fff0f3}.toggle-switch input:focus-visible+span{outline:2px solid #f2b4ca;outline-offset:4px}.activation-options{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;border-top:1px solid #493440;margin-top:20px;padding-top:20px}.activation-options[hidden]{display:none!important}.activation-options label{margin:0}.activation-options .field-note{margin:0}.customer-details{border:1px solid #40313f;background:#1b171d;border-radius:12px;padding:19px 24px;margin-bottom:24px}.customer-details summary{font-size:13px;font-weight:550;color:#d3b7c9}.customer-details[open] summary{margin-bottom:24px}.customer-details .check{font-size:13px}.customer-details input[type=checkbox]{min-height:0}.editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:23px 0 10px;border-top:1px solid #45313d}.editor-actions .btn{padding:12px 25px;min-height:47px;font-size:14px}.device-tools{max-width:1080px;margin-top:25px}.creation-choice{max-width:1080px;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.method-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:325px;padding:32px;border:1px solid #614052;border-radius:20px;background:radial-gradient(ellipse at top right,#78344925,transparent 75%),#1c181f}.method-card:hover{border-color:#d78da8;background-color:#281c27}.method-number{position:absolute;inset-inline-end:25px;top:23px;font:13px Consolas,monospace;color:#90647c}.method-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid #844462;border-radius:16px;color:#edb2c9;background:#75314b22;margin-bottom:24px}.method-icon svg{width:40px;height:40px}.method-card h2{font-size:25px;font-weight:600;direction:ltr;margin:0 0 10px}.method-card p{font-size:14px;font-weight:400;line-height:1.9;color:#c1adbe;max-width:355px;margin-bottom:25px}.method-open{margin-top:auto;width:100%;border-top:1px solid #503444;display:flex;align-items:center;justify-content:space-between;padding-top:18px;color:#efb3ca;font-size:13px;font-weight:550}.method-open b{font-size:23px;font-weight:400}.code-create-row{display:flex;align-items:center;gap:20px;margin-bottom:25px}.code-create-row p{margin:0;font-size:13px}
@media(max-width:1100px){.identity-grid{gap:13px}.identity-grid input.mono{font-size:12px}.identity-panel{padding:22px}.form-section-caption>.small{margin-inline-start:0;flex-basis:100%;padding-inline-start:44px}.method-card{padding:27px}}
@media(max-width:720px){.identity-grid{grid-template-columns:1fr}.identity-grid input.mono{font-size:15px}.identity-grid{gap:21px}.identity-panel{padding:20px}.subscription-topnote{padding:14px 16px;align-items:flex-start;flex-direction:column;gap:9px;font-size:12px}.playlist-card-head{padding:18px;gap:10px}.playlist-card-body{padding:20px 18px 6px}.playlist-card h3{font-size:16px}.playlist-card-title{gap:10px}.playlist-emblem{width:35px;height:40px;border-radius:9px}.playlist-emblem svg{width:22px}.playlist-card .library-badge{font-size:9px;padding:3px 6px}.playlist-card .playlist-order{gap:5px}.playlist-card .playlist-order button{width:29px;height:30px;min-width:29px;font-size:15px}.card-kicker{font-size:9px}.credentials{grid-template-columns:1fr}.playlist-card .mono{font-size:14px}.field-control input{min-height:49px}.activation-panel{padding:20px 18px}.activation-switch-row p{font-size:12px}.activation-switch-row{gap:14px;align-items:flex-start}.activation-options{grid-template-columns:1fr;gap:12px}.activation-options label{font-size:13px}.customer-details{padding:18px}.editor-actions{gap:9px}.editor-actions .btn{font-size:13px;padding:10px 18px}.editor-actions .btn.primary{flex:1}.add-library-btn{padding:16px;gap:11px}.add-library-btn small{font-size:11px}.creation-choice{grid-template-columns:1fr;gap:18px;margin-top:25px}.method-card{min-height:280px;padding:24px}.method-card h2{font-size:23px}.method-card p{font-size:13px}.code-create-row{align-items:flex-start;flex-direction:column;gap:13px}}
/* v14 · Readability, clear actions and live provider status. */
body{font-size:16px;font-weight:500}.small{font-size:13px}.mono{font-size:14px}.head p,.muted{color:#c0b7c3}.btn{font-size:14px}.side-nav a{font-size:16px}.topbar{font-size:12px}.eyebrow{font-size:12px}.roster-head h2{font-size:21px}.roster-head .small{font-size:13px}.metric div>span{font-size:13px}.metric strong{font-size:34px}.metric-icon{width:39px;height:39px}.metric-icon svg{width:23px;height:23px}.metric.ok .metric-icon{color:#9ed8b8;border-color:#48725e;background:#274b3633}.metric.warn .metric-icon{color:#eed099;border-color:#896a3c;background:#7d5e2322}.metric.bad .metric-icon{color:#f4a9b5;border-color:#894956;background:#78334b22}.devtable{min-width:1180px}.devtable th{font-size:13px;font-weight:550}.devtable td{font-size:15px;padding:20px 15px}.devtable .small{font-size:13px}.devtable .text-copy.mono{font-size:13px}.tiny-label{font-size:10px;width:32px}.namecell .strong{font-size:16px}.pill{font-size:12px;padding:4px 10px}.library-link{font-size:14px;font-weight:600;color:#debdce}.library-link svg{width:21px;height:21px;color:#c6b4eb}.library-dates{min-width:200px;display:grid;gap:8px;margin-top:10px}.library-date-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #49344455;padding-bottom:5px}.library-date-name{font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ded0dc}.library-date-row .mono{font-size:13px;font-weight:600;white-space:nowrap}.date-good{color:#a8d9c3}.date-bad{color:#f1acb6}.sync-health{font-size:11px;color:#a29aae;margin-top:10px;max-width:250px}.sync-warning{color:#efcc8b}.subscriber-location{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:135px;text-align:center}.subscriber-flag{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #8b6a8055;box-shadow:0 0 0 3px #3c2d3e55}.subscriber-ip{font-size:14px;color:#e5dce5;white-space:nowrap}.subscriber-location small{font-size:11px;color:#afa0b2}.device-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:nowrap}.device-row-actions form{margin:0}.row-action{display:inline-grid;place-items:center;width:36px;height:38px;padding:0;border-radius:10px;border:1px solid transparent;background:#2b222e;cursor:pointer}.row-action svg{width:19px;height:19px}.action-edit{color:#e7bdd5;border-color:#78556d55;background:#67334c22}.action-toggle{color:#e8c98f;border-color:#97753f55;background:#80622722}.action-toggle.is-disabled{color:#9ed9b8;border-color:#548b7155;background:#3f7e5e22}.action-refresh{color:#9bcde4;border-color:#50849b66;background:#30677e22}.action-delete{color:#eea8b6;border-color:#a25c6c66;background:#892d4822}.row-action:hover{filter:brightness(1.25);border-color:currentColor}.row-action:disabled{opacity:.45;cursor:wait}.refreshing svg{animation:refresh-spin 1s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.online-label{font-size:12px}.filter-form select{font-size:13px}.search input{font-size:14px}.tabs a{font-size:14px}.form label{font-size:15px}.field-note,.parse-hint{font-size:12px}.side-head .logo-text{font-size:15px;white-space:nowrap}
@media(max-width:720px){.side-nav a{font-size:11px}.head p{font-size:13px}.head .btn{font-size:12px}.metric div>span{font-size:12px}.metric strong{font-size:29px}.roster-head .small{font-size:12px}.filter-form select{font-size:12px}.devtable{min-width:1180px}.metric-icon{display:grid}.side-head .logo-text{font-size:14px}}
/* v15 · Presence belongs to the device, independently from subscription status. */
:root{--bg:#0d0c10;--bg-2:#111014;--panel:#17151a;--panel-2:#1c1820;--elev:#251e29;--accent:#a32349;--accent-2:#db88a2}.side{background:linear-gradient(185deg,#1c131b,#100e13 60%)}.roster{background:#17151a}.metric{background:linear-gradient(135deg,#211b24,#161419)}.metric-icon{background:#3b1d2c33}.side-nav a.on{background:linear-gradient(110deg,#54203277,#37172555)}th{background:#1b161f}.card{background:#18151c}.playlist-card,.playlist-card.plrow{background:linear-gradient(130deg,#211923,#17131b 70%)}.playlist-card.primary-library{background:linear-gradient(130deg,#291925,#17121a 70%)}.identity-panel{background:linear-gradient(135deg,#231a25,#16131b)}.row-action{filter:brightness(.93)}.action-edit{background:#4f233b22;color:#d5a5c2}.action-toggle{background:#60441622;color:#d5b77e}.action-refresh{background:#204d6522;color:#84b9d3}.action-delete{background:#68203822;color:#df8fa2}.device-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.device-avatar{position:relative;width:43px;height:43px;flex:none;isolation:isolate}.device-avatar svg{width:25px;height:25px}.device-avatar.presence-online{color:#58ba8c;border-color:#2f6b4e;background:linear-gradient(135deg,#173529,#12281f)}.device-avatar.presence-offline{color:#d66d7e;border-color:#733341;background:linear-gradient(135deg,#3e1e2a,#2c1420)}.presence-dot{position:absolute;bottom:-3px;inset-inline-end:-3px;width:10px;height:10px;border-radius:50%;border:2px solid #17151a}.presence-online .presence-dot{background:#3cab78}.presence-offline .presence-dot{background:#be4c62}.devtable [data-state-cell]{min-width:95px}.btn.primary{background:linear-gradient(105deg,#8d1b3b,#a62b50);border-color:#a44765}.btn.primary:hover{background:#ac2c52}

/* v16: readable identity labels and dedicated provider management. */
body{font-size:15px;color:#eee7ed}th{font-size:13px;font-weight:600;color:#cfbdcc}td{font-size:14px}.muted{color:#b4a7b5}.small{font-size:12px}.tiny-label{font:700 12px/1.5 'Readex Pro',sans-serif;width:38px;color:#ded0dc;letter-spacing:.035em}.text-copy.mono{font-size:14px;font-weight:600}.text-copy.rose{color:#e6a5c0}.identity-line{min-height:30px;gap:10px}.devtable{min-width:1120px}.form label{font-size:14px;font-weight:600;color:#d2c3d0}input,select,textarea{font-size:15px;font-weight:500}.card-kicker,.field-tag,.tiny-label{font-weight:700}.metric div>span{font-size:13px}.library-link{font-size:14px}.library-date-row{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:5px 12px;padding:7px 0;border-bottom:1px solid #ffffff09}.library-date-name{font-size:13px;font-weight:600}.library-date-row b{font-size:12px;color:#a7d2ca}.library-probe{grid-column:1/-1;display:block;font-size:11px;font-weight:400;color:#b9a8ba;line-height:1.7;white-space:normal}.library-state .library-probe{flex-basis:100%}.library-date-row .date-bad{color:#ef94a9}.scope-options{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.scope-options legend{padding:0 8px;font-weight:600}.scope-options label,.host-customer-list label{display:flex;align-items:center;gap:10px;margin:0}.scope-options input[type=radio]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;accent-color:#bb456c}.host-customer-list{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:12px;margin:12px 0}.host-customer-list label{padding:13px 16px;border-bottom:1px solid var(--line)}.host-customer-list label[hidden]{display:none}.host-customer-list small{display:block;font-size:11px;margin-top:6px;color:var(--muted)}.host-history-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.host-history-row b{display:block;font-size:14px;overflow-wrap:anywhere}.host-history-row small{display:block;color:var(--muted);margin-top:7px}.host-route{display:flex;align-items:center;gap:20px;flex-wrap:wrap;overflow-wrap:anywhere}.host-route b{color:#dfb3c9}.host-before-after del,.host-before-after strong{display:block;white-space:pre-line;font-size:12px;overflow-wrap:anywhere}.host-before-after del{color:#ad8593;margin-bottom:6px}.host-before-after strong{color:#9fceb8}.host-preview-table{margin:24px 0;max-width:100%}.host-preview-table table{min-width:850px}.host-editor section>h2{font-size:17px}.side-nav a{font-size:14px}@media(max-width:600px){.scope-options{flex-direction:column}.host-route{gap:10px;font-size:12px}.host-history-row{flex-direction:column}.library-date-row{grid-template-columns:1fr}}

.library-date-row b{font-family:'Readex Pro',sans-serif;font-weight:500;direction:inherit;unicode-bidi:plaintext}
.message-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.message-log{padding:20px 0;border-bottom:1px solid var(--line)}.message-log header{display:flex;justify-content:space-between;gap:15px}.message-log header small{display:block;margin-top:7px}.message-counts{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:12px;margin:15px 0}.message-counts b{color:#e6bdcf;margin-inline-start:6px}.message-preview-area{margin-top:25px}.message-preview-area>label{max-width:220px}.message-tv{aspect-ratio:16/9;background:radial-gradient(ellipse at 70% 30%,#4d263d55,transparent 60%),linear-gradient(135deg,#1f212b,#090b10);border-radius:14px;position:relative;overflow:hidden;border:1px solid var(--line)}.preview-watermark{position:absolute;top:8%;left:7%;font-size:16px;letter-spacing:.14em;opacity:.35}.message-sample{position:absolute;max-width:90%;padding:14px 20px;color:#f3eaf0;background:linear-gradient(90deg,#13101615,#22131ed9 20%,#22131ed9 80%,#13101615);font-size:13px;overflow:hidden}.message-sample p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.sample-ticker{left:0;right:0;max-width:100%;bottom:6%}.sample-ticker strong{display:none}.sample-ticker p{white-space:nowrap;animation:panel-news 30s linear infinite}.sample-top{top:7%;bottom:auto}.sample-card{width:45%;max-height:70%;border-radius:10px;background:#20141fd9;left:27.5%;bottom:7%}.sample-top-left{top:7%;left:4%;bottom:auto}.sample-top-right{top:7%;right:4%;left:auto;bottom:auto}.sample-bottom-left{left:4%}.sample-bottom-right{right:4%;left:auto}.sample-reminder{left:14%;right:14%;top:13%;bottom:13%;border-radius:15px;background:#20151ff0;text-align:center;font-size:12px;overflow:auto}.sample-reminder strong{color:#edb4ce;font-size:16px}.sample-reminder [data-preview-contacts]{margin-top:10px;color:#e4bfce;direction:ltr}.message-sample.sample-top{top:7%;bottom:auto}@keyframes panel-news{from{transform:translateX(100%)}to{transform:translateX(-100%)}}@media(max-width:600px){.message-log header{flex-direction:column}.message-sample{font-size:10px;padding:8px}.sample-reminder{inset:5%;font-size:9px}.sample-reminder strong{font-size:11px}.message-counts{gap:10px}}
[hidden]{display:none!important}
.sample-ticker p{animation-name:panel-news-readable}@keyframes panel-news-readable{0%,10%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.linked-account-badge{display:block;margin-top:8px;font-size:11px;color:#dcadc5}.account-device-list{margin:22px 0}.account-device{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:#231b2555}.account-device small{display:block;color:var(--muted);margin-top:7px}.account-device .pill{margin-inline-start:12px}.release-viewing{margin-top:20px}

.linked-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d86574;flex:none}.linked-dot.on{background:#38ba87}
/* RAHAL_LINK_DIALOG_V1 */
.action-link{color:#b4a1ed;background:#30243d!important;border-color:#675477!important}.action-link:hover{background:#44314f!important;color:#fff}.device-link-modal{width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:25px;border:1px solid #6d455a;border-radius:23px;background:linear-gradient(145deg,#251c29,#17141d);color:#f7edf3;box-shadow:0 35px 120px #0009}.device-link-modal::backdrop{background:#08060bc9;backdrop-filter:blur(5px)}.device-link-modal>header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}.device-link-modal h2{font-size:25px;margin:0 0 7px}.device-link-modal .card{border:0;background:transparent;padding:0;margin:0}.device-link-modal .account-device-list{margin:14px 0}.device-link-modal [data-primary="1"]{display:none}.device-link-modal .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.device-link-modal input,.device-link-modal select{font-size:17px;min-width:0}.device-link-modal .release-viewing{margin-top:14px}.device-link-modal [data-link-body]{min-height:90px}.device-link-modal form{margin-top:12px}@media(max-width:520px){.device-link-modal{padding:18px}.device-link-modal .grid{grid-template-columns:1fr}}

.device-link-modal #linked-devices{display:flex;flex-direction:column}.device-link-modal #linked-devices>.eyebrow,.device-link-modal #linked-devices>h2{display:none}.device-link-modal #linked-devices>.field-note{font-size:14px;line-height:1.7;margin:0 0 8px}.device-link-modal #linked-devices>form{order:1}.device-link-modal #linked-devices>.account-device-list{order:2}.device-link-modal #linked-devices>.release-viewing{order:3}

/* v20: compact roster, explicit dates and responsive subscriber cards. */
.roster .devtable{min-width:0;width:100%;table-layout:fixed}
.devtable th:nth-child(1){width:22%}.devtable th:nth-child(2){width:21%}.devtable th:nth-child(3){width:28%}.devtable th:nth-child(4){width:16%}.devtable th:nth-child(5){width:13%}
.roster .devtable th,.roster .devtable td{min-width:0;padding:20px 12px;overflow-wrap:anywhere}
.roster .devtable th:first-child,.roster .devtable td:first-child{padding-inline-start:22px}
.namecell{align-items:flex-start;gap:10px}.namecell>div{min-width:0}.namecell .strong{line-height:1.6;display:block;font-weight:650;font-size:15px}.namecell .small{margin-top:4px}.note-preview{max-width:100%}
.identity-line{gap:5px;min-height:27px}.tiny-label{width:34px;font-size:11px;flex:none}.devtable .text-copy.mono{font-size:12px;font-weight:600}
.subscription-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.subscription-head .library-link{font-size:12px;margin:0}.subscription-head .library-link svg{width:16px;height:16px}.subscription-head .pill{font-size:11px;padding:3px 7px}
.library-dates{min-width:0;gap:8px;margin-top:12px}.library-date-row{grid-template-columns:1fr auto;gap:3px 6px;padding:9px 0;border-bottom:1px solid #ffffff0a}.library-date-name{grid-column:1/-1;max-width:none;white-space:normal;font-size:13px;font-weight:650;color:#efe4ee;line-height:1.55}.expiry-caption{font-size:10px;color:#ac9ead;align-self:center}.library-date-row b{font-size:11px!important;line-height:1.65;text-align:end}.library-probe{font-size:10px;margin-top:2px;color:#a494a4;line-height:1.65}.last-seen-label{font-size:10px;color:#a494a4;margin-top:7px}.subscriber-location{gap:3px;min-width:0}.subscriber-location .subscriber-ip{font-size:12px;overflow-wrap:anywhere}.subscriber-location small{font-size:10px;line-height:1.6}
.device-row-actions{display:grid;grid-template-columns:repeat(2,32px);gap:7px;justify-content:center}.device-row-actions .row-action{width:32px;height:32px;border-radius:9px}.device-row-actions svg{width:16px;height:16px}.device-row-actions form{margin:0}
.backup-workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1100px;margin-bottom:24px}.backup-action{padding:25px}.backup-action h2{margin:13px 0;font-size:22px}.backup-action p{font-size:14px;line-height:1.9;color:#c0b3c2}.backup-action form,.backup-preview form{display:grid;gap:15px}.backup-action label,.backup-preview label{display:grid;gap:9px;font-weight:600;font-size:14px}.backup-action input{width:100%;min-width:0}.backup-action .btn{justify-self:start}.backup-progress,.backup-preview{grid-column:1/-1;padding:24px;line-height:1.9}.backup-progress .btn{display:inline-flex;margin-inline-start:16px}.backup-preview p{margin:10px 0}.restore-warning{border-inline-start:3px solid #cf9c61;padding:12px 16px;background:#75441d22;color:#ecd2b1}.backup-preview form{max-width:520px}.backup-workspace [hidden]{display:none}
@media (min-width:721px) and (max-width:1250px){.side{width:190px}body.app{grid-template-columns:190px minmax(0,1fr)}body.app main{margin-inline-start:0;padding-inline:22px}.side-nav a{font-size:13px}.roster .devtable th,.roster .devtable td{padding-inline:8px}.device-avatar{width:34px;height:34px}.device-avatar svg{width:21px;height:21px}.devtable .text-copy.mono{font-size:11px}.tiny-label{width:28px;font-size:10px}.namecell .strong{font-size:14px}.library-date-row{grid-template-columns:1fr}.library-date-row b{text-align:start}.expiry-caption{margin-top:2px}}
@media(max-width:960px){.roster .table-wrap{overflow:visible}.roster .devtable{display:block}.devtable thead{display:none}.devtable tbody{display:grid;grid-template-columns:1fr;gap:15px;padding:15px}.devtable tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #493243;border-radius:16px;padding:16px;background:#1d1720}.roster .devtable td{display:block;width:auto;min-width:0;padding:12px!important;border:0}.devtable td:first-child{grid-column:1/-1;border-bottom:1px solid #ffffff0b;margin-bottom:8px}.devtable td:nth-child(3){grid-column:1/-1}.devtable td:nth-child(4){grid-column:2;grid-row:2}.devtable td:last-child{grid-column:1/-1;border-top:1px solid #ffffff0b;margin-top:8px}.device-row-actions{display:flex;justify-content:flex-end;gap:12px}.device-row-actions .row-action{width:38px;height:38px}.devtable .text-copy.mono{font-size:13px}.library-date-row{grid-template-columns:1fr auto}.library-date-row b{text-align:end}.library-date-name{font-size:14px}.subscriber-location{align-items:center}.backup-workspace{grid-template-columns:1fr}.backup-progress,.backup-preview{grid-column:1}.expiry-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* RAHAL_HORIZONTAL_ROSTER_V20_1_START */
/* Compact horizontal subscriber rows; retain mobile card accessibility. */
@media(min-width:961px){
  .roster .devtable th:nth-child(1){width:17%}
  .roster .devtable th:nth-child(2){width:17%}
  .roster .devtable th:nth-child(3){width:34%}
  .roster .devtable th:nth-child(4){width:14%}
  .roster .devtable th:nth-child(5){width:18%}
  .roster .devtable th,.roster .devtable td{padding:14px 10px;vertical-align:middle}
  .roster .devtable th:first-child,.roster .devtable td:first-child{padding-inline-start:18px}
  .roster .namecell{align-items:center;gap:9px}
  .roster .namecell .strong{font-size:14px;line-height:1.55}
  .roster .namecell .small{font-size:11px;margin-top:3px}
  .roster .device-avatar{width:36px;height:36px;border-radius:10px}
  .roster .device-avatar svg{width:22px;height:22px}
  .roster .identity-line{min-height:25px;gap:5px}
  .roster .tiny-label{width:30px;font-size:10px}
  .roster .text-copy.mono{font-size:12px}
}
.roster .customer-link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.roster .subscription-head{gap:8px;margin:0 0 8px;min-height:21px}
.roster .subscription-head .pill{font-size:10px;padding:2px 7px}
.roster .subscription-head .library-link{font-size:11px}
.roster .library-dates{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:9px;margin:0;min-width:0}
.roster .library-date-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:4px;margin:0;padding:9px 10px;border:1px solid #4c354149;border-radius:10px;background:#21192077;min-width:0}
.roster .library-date-name{grid-column:auto;max-width:none;min-width:0;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.roster .expiry-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.roster .library-date-row b{grid-column:auto;font-size:10px!important;line-height:1.7;text-align:start;white-space:normal;overflow-wrap:normal;color:#a8d6cb;font-variant-numeric:tabular-nums}
.roster .library-date-row .date-bad{color:#ed9baf}
.roster .library-probe{grid-column:auto;font-size:9px;line-height:1.5;margin:0;white-space:normal;align-self:end;color:#b8a6b4}
.roster .device-row-actions{display:flex;flex-wrap:nowrap;gap:6px;justify-content:center;align-items:center}
.roster .device-row-actions .row-action{width:30px;height:32px;min-width:30px;border-radius:9px}
.roster .device-row-actions svg{width:16px;height:16px}
.roster .device-row-actions form{margin:0;flex:none}
.roster .subscriber-location{gap:2px;min-width:0}
.roster .subscriber-flag{width:24px;height:24px;margin-bottom:2px}
.roster .subscriber-location .subscriber-ip{font-size:11px}
.roster .last-seen-label{font-size:9px;margin-top:4px}
.roster .subscriber-location small{font-size:9px;line-height:1.5;white-space:nowrap}
.roster .linked-summary:empty{display:none}
@media(min-width:961px) and (max-width:1150px){
  .roster .devtable{min-width:950px}
  .roster .table-wrap{overflow-x:auto}
}
@media(max-width:960px){
  .roster .library-dates{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto}
  .roster .library-date-row:only-child{grid-column:1/-1}
  .roster .devtable tr{padding:10px}
  .roster .devtable td{padding:9px!important}
  .roster .device-row-actions{justify-content:flex-end;gap:10px}
  .roster .device-row-actions .row-action{width:36px;height:36px;min-width:36px}
  .roster .subscriber-location .subscriber-ip{font-size:11px}
}
/* RAHAL_HORIZONTAL_ROSTER_V20_1_END */
