:root{--bg:#f5f7fb;--surface:#fff;--surface2:#f8fafc;--text:#132036;--muted:#7b8798;--line:#e6ebf2;--primary:#0f766e;--primary2:#0b5d57;--primary-soft:#e8f5f3;--danger:#dc2626;--warn:#d97706;--success:#15803d;--shadow:0 12px 38px rgba(15,23,42,.06);--radius:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--text)}body{font-size:14px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:258px;background:#0d1d2c;color:#c8d2dc;position:fixed;right:0;top:0;bottom:0;z-index:40;display:flex;flex-direction:column;padding:20px 14px;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:15px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#27b6a8,#0f766e);display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 7px 22px rgba(15,118,110,.35)}.brand strong{display:block;color:#fff;font-size:14px}.brand span{display:block;color:#76889a;font-size:11px;margin-top:2px}.nav{display:flex;flex-direction:column;gap:4px}.nav-caption{font-size:10px;color:#607286;padding:15px 11px 5px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#aebbc9;transition:.2s}.nav-item span{width:20px;text-align:center;color:#6f8598}.nav-item:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{background:#153246;color:#fff}.nav-item.active span{color:#36c2b4}.sidebar-foot{margin-top:auto;padding:14px 8px 2px}.sidebar-foot a{display:block;text-align:center;border:1px solid rgba(255,255,255,.1);padding:9px;border-radius:10px;color:#9fb0c0}.app-main{margin-right:258px;min-width:0;width:calc(100% - 258px)}.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.top-title h1{font-size:18px;margin:0 0 2px}.top-title span{font-size:11px;color:var(--muted);direction:ltr;display:inline-block}.top-actions{display:flex;align-items:center;gap:17px}.status-pill{display:flex;align-items:center;gap:7px;background:#effaf3;color:#247243;border:1px solid #d7f0df;padding:6px 9px;border-radius:99px;font-size:11px}.status-pill i{width:7px;height:7px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px rgba(34,197,94,.11)}.user-menu{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:800}.user-meta strong{display:block;font-size:12px}.user-meta span{display:block;font-size:10px;color:var(--muted)}.logout{font-size:11px;color:#9b4650;padding:5px 7px}.content{padding:26px;max-width:1600px;margin:auto}.alert{padding:12px 14px;border-radius:11px;margin-bottom:16px;border:1px solid}.alert-success{background:#effaf3;border-color:#d6f0df;color:#23683e}.alert-error{background:#fff2f2;border-color:#fedada;color:#9d2d35}.alert-warning{background:#fff9ed;border-color:#fde9bb;color:#8b5c0c}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.stat-card{padding:18px;display:flex;align-items:flex-start;justify-content:space-between}.stat-card .num{font-size:25px;font-weight:800;line-height:1;margin-top:10px}.stat-card .label{font-size:12px;color:var(--muted)}.stat-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 12px}.section-head h2{font-size:15px;margin:0}.section-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.btn{border:0;background:var(--primary);color:#fff;padding:9px 13px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.2s;font-weight:600}.btn:hover{background:var(--primary2)}.btn-secondary{background:#edf2f7;color:#46566a}.btn-secondary:hover{background:#e5ebf2}.btn-danger{background:#fff0f0;color:#b4232c;border:1px solid #ffd7d7}.btn-ghost{background:transparent;color:#5d6b7c;border:1px solid var(--line)}.btn-sm{padding:6px 9px;border-radius:8px;font-size:11px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#586779;font-weight:600}.input,.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #dfe6ee;border-radius:10px;padding:9px 11px;outline:0;color:var(--text);transition:.2s}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:#78b8b1;box-shadow:0 0 0 3px rgba(15,118,110,.08)}.field textarea{min-height:90px;resize:vertical}.help{font-size:10px;color:var(--muted);line-height:1.7}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line);background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;text-align:right;border-bottom:1px solid #edf1f5;vertical-align:middle}.table th{background:#f8fafc;color:#6c7888;font-size:10px;font-weight:700}.table td{font-size:12px}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:10px;background:#edf2f7;color:#526173}.badge.active,.badge.ready,.badge.online{background:#e8f7ed;color:#257141}.badge.paused,.badge.processing{background:#fff4dc;color:#8d6110}.badge.error,.badge.offline,.badge.disabled{background:#fff0f0;color:#a7333b}.actions{display:flex;gap:6px;flex-wrap:wrap}.media-thumb{width:62px;height:38px;border-radius:7px;object-fit:cover;background:#0f172a}.media-title{display:flex;align-items:center;gap:10px}.onair{background:linear-gradient(135deg,#102b3b,#0f172a);color:#fff;border-radius:18px;padding:22px;min-height:230px;position:relative;overflow:hidden}.onair:after{content:'';position:absolute;width:240px;height:240px;border:45px solid rgba(52,211,153,.07);border-radius:50%;left:-70px;top:-110px}.onair-label{display:inline-flex;align-items:center;gap:7px;background:#ef4444;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:700}.onair-label i{width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse 1.2s infinite}.onair h3{font-size:24px;margin:34px 0 6px}.onair p{color:#9db0c1;margin:0;font-size:12px}.onair-meta{display:flex;gap:22px;margin-top:30px;color:#9db0c1;font-size:11px}.onair-meta strong{display:block;color:#fff;font-size:13px;margin-top:3px}.empty{padding:34px;text-align:center;color:var(--muted)}.schedule-row{display:grid;grid-template-columns:75px 24px 1fr auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf1f5;background:#fff}.schedule-row:last-child{border-bottom:0}.schedule-row .time{direction:ltr;font-weight:700}.schedule-dot{width:10px;height:10px;background:#cbd5e1;border-radius:50%;justify-self:center}.schedule-row.playing .schedule-dot{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.schedule-title strong{display:block;font-size:12px}.schedule-title span{font-size:10px;color:var(--muted)}.drag{cursor:grab;color:#a1acb9}.channel-card{padding:16px}.channel-top{display:flex;align-items:center;gap:12px}.channel-logo{width:48px;height:48px;border-radius:12px;background:#edf2f7;object-fit:cover;display:grid;place-items:center;font-weight:800;color:#557}.channel-card h3{font-size:13px;margin:0}.channel-card p{margin:4px 0;color:var(--muted);font-size:10px}.channel-actions{display:flex;gap:7px;margin-top:14px}.modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;place-items:center;z-index:80;padding:18px}.modal.open{display:grid}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0;font-size:15px}.modal-close{border:0;background:#f1f5f9;width:32px;height:32px;border-radius:9px;cursor:pointer}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:15px}.tab{padding:9px 11px;border-bottom:2px solid transparent;color:#657386;cursor:pointer}.tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.mini-chart{height:130px;display:flex;align-items:flex-end;gap:6px;padding-top:15px}.mini-chart i{flex:1;background:linear-gradient(180deg,#55c6bc,#cdeeea);border-radius:4px 4px 0 0;min-height:6px}.kpi-list{display:grid;gap:10px}.kpi-line{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px dashed #e8edf3}.kpi-line:last-child{border-bottom:0}.kpi-line span{color:var(--muted);font-size:11px}.codebox{background:#0f172a;color:#cbd5e1;border-radius:10px;padding:12px;direction:ltr;text-align:left;font-family:monospace;font-size:11px;overflow:auto}.toggle{display:inline-flex;align-items:center;gap:8px}.toggle input{appearance:none;width:38px;height:22px;background:#cbd5e1;border-radius:99px;position:relative;cursor:pointer;transition:.2s}.toggle input:before{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;right:3px;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.toggle input:checked{background:var(--primary)}.toggle input:checked:before{right:19px}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 10%,#dff7f2 0,transparent 35%),#f5f7fb;padding:18px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 25px 70px rgba(15,23,42,.08)}.login-logo{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#25b7a7,#0f766e);color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:20px}.login-card h1{font-size:20px;margin:0 0 6px}.login-card>p{font-size:11px;color:var(--muted);margin:0 0 22px}.login-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;padding:4px;border-radius:10px;margin-bottom:15px}.login-tabs button{border:0;background:transparent;padding:8px;border-radius:8px;cursor:pointer;color:#667384}.login-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 2px 9px rgba(15,23,42,.05);font-weight:700}.login-pane{display:none}.login-pane.active{display:block}.mobile-only{display:none}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;width:36px;height:36px;cursor:pointer}@keyframes pulse{50%{opacity:.35}}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{transform:translateX(110%);transition:.25s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:35;display:none}.sidebar-backdrop.open{display:block}.app-main{margin-right:0;width:100%}.mobile-only{display:inline-grid;place-items:center}.topbar{padding:0 16px}.top-actions .status-pill,.user-meta{display:none}.content{padding:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:620px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.topbar{height:68px}.top-title h1{font-size:15px}.content{padding:14px}.card-pad{padding:14px}.user-menu{gap:5px}.logout{display:none}.schedule-row{grid-template-columns:62px 18px 1fr}.schedule-row .actions{grid-column:1/-1}.section-head{align-items:flex-start}.section-head .btn{white-space:nowrap}.modal{padding:8px}.modal-card{padding:15px;border-radius:15px}.onair{min-height:205px;padding:18px}.onair h3{font-size:20px}}jdp-container{font-family:'Vazirmatn',sans-serif!important;--jdp-primary:#0f766e!important;border-radius:12px!important}jdp-container *{font-family:'Vazirmatn',sans-serif!important}

/* v1.0.7 usability upgrades */
.nav-more{margin-top:8px}.nav-more summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#8190a2;cursor:pointer;font-size:11px}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:hover{background:#f4f7fa;color:#425166}.nav-more[open] summary{color:var(--primary);background:var(--primary-soft)}.nav-more-body{display:grid;gap:3px;padding:5px 0 0 8px}.nav-more-body .nav-item{font-size:11px;padding:9px 10px}.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1}.inline-field .btn{white-space:nowrap}.media-probe{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed #d9e2ea;border-radius:10px;background:#f8fafc;color:#718094;font-size:10px}.media-probe .probe-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.1)}.media-probe.ok{background:#f0faf5;color:#287047;border-color:#cfeada}.media-probe.ok .probe-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}.media-placeholder{display:grid;place-items:center;color:#8ca0b4;font-size:12px}.channel-grid .channel-card{display:flex;flex-direction:column;justify-content:space-between;min-height:168px}.channel-main{min-width:0;flex:1}.channel-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.channel-name-line h3{margin:0}.live-badge{background:#fff0f0!important;color:#b4232c!important}.channel-actions{flex-wrap:wrap}.channel-actions form{display:inline-flex}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.schedule-toolbar .toolbar{flex:1}.schedule-clock{display:flex;align-items:center;gap:7px;padding-right:14px;border-right:1px solid var(--line);white-space:nowrap}.schedule-clock span,.schedule-clock small{font-size:9px;color:var(--muted)}.schedule-clock strong{font-size:13px}.air-strip{display:flex;align-items:center;gap:10px;background:#0f172a;color:#fff;border-radius:12px;padding:10px 13px;margin-bottom:12px}.air-strip .air-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12);animation:pulse 1.1s infinite}.air-strip div{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.air-strip small{color:#94a3b8}.air-strip strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.air-strip a{color:#7dd3fc;text-decoration:none;font-size:10px}.schedule-timeline{overflow:hidden}.schedule-timeline .empty{display:grid;gap:6px}.schedule-timeline .empty strong{color:var(--text)}.schedule-row{grid-template-columns:90px 24px 1fr auto}.schedule-row .time{display:grid;gap:2px;direction:ltr}.schedule-row .time strong{font-size:12px}.schedule-row .time span{font-size:9px;color:var(--muted)}.schedule-row.dragging{opacity:.45;background:#eef8f6}.schedule-auto{margin-bottom:2px}.quick-play-btn{box-shadow:0 5px 16px rgba(15,118,110,.15)}
@media(max-width:900px){.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-clock{border-right:0;border-top:1px solid var(--line);padding:10px 0 0;justify-content:flex-start}.inline-field{align-items:stretch;flex-direction:column}.inline-field .btn{width:100%}}
@media(max-width:620px){.schedule-row{grid-template-columns:70px 18px 1fr}.schedule-row .actions{grid-column:1/-1;justify-content:flex-end}.channel-grid .channel-card{min-height:auto}.nav-more-body{padding-left:0}}

/* v1.0.7 dashboard simplification */
.quick-start{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.quick-start a{display:flex;align-items:center;gap:10px;padding:14px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--text);transition:.18s;min-height:68px}.quick-start a:hover{transform:translateY(-1px);border-color:#c9ded9;box-shadow:0 8px 24px rgba(15,23,42,.06)}.quick-start .qicon{width:38px;height:38px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:18px;flex:none}.quick-start strong{display:block;font-size:12px}.quick-start small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.dashboard-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-channel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:11px}.dashboard-channel-head{display:flex;align-items:center;gap:9px}.dashboard-channel-logo{width:38px;height:38px;border-radius:10px;background:#edf2f7;object-fit:cover;display:grid;place-items:center;font-weight:800;color:#64748b}.dashboard-channel-head>div{min-width:0;flex:1}.dashboard-channel-head strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-channel-head span{font-size:9px;color:var(--muted)}.dashboard-air{background:#f7fafc;border-radius:10px;padding:10px 11px;display:grid;gap:3px}.dashboard-air small{color:var(--muted);font-size:9px}.dashboard-air strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-channel .actions{margin-top:auto}.simple-hint{display:flex;gap:8px;align-items:flex-start;background:#f8fafc;border:1px dashed #dce5ec;border-radius:11px;padding:10px 12px;color:#66768a;font-size:10px}.simple-hint strong{color:var(--text)}
@media(max-width:1100px){.dashboard-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-start{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-channels,.quick-start{grid-template-columns:1fr}.quick-start a{min-height:60px}}

.quick-start>a>span{width:38px;height:38px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:16px;flex:none}.dashboard-channel-head img{width:38px;height:38px;border-radius:10px;background:#edf2f7;object-fit:contain;padding:3px}.dashboard-air span{font-size:9px;color:var(--muted)}
/* v1.0.7 scheduler/player workflow refinements */
.schedule-health{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 13px;border:1px solid #cfe8dd;background:#f5fbf8;border-radius:12px}.schedule-health .health-dot{width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.10);flex:none}.schedule-health strong{display:block;font-size:12px}.schedule-health small{display:block;color:#667085;font-size:10px;margin-top:2px}.soft-disabled{background:#f8fafc!important;color:#64748b!important}.media-probe.ok{border-color:#b7e4ce;background:#f4fbf7}.channel-actions form{margin:0}@media(max-width:700px){.schedule-health{align-items:flex-start}.channel-actions{gap:6px}.channel-actions .btn{flex:1 1 auto}}
