*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070707;color:#fff;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.topbar{height:80px;background:#0d0d0d;border-bottom:1px solid #252525;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center}.logo{width:46px;height:46px;object-fit:cover;border-radius:8px;display:block}.title{font-weight:900;letter-spacing:1.5px}.subtitle{font-size:10px;color:#777;letter-spacing:2px;margin-top:4px}.header-right{display:flex;align-items:center;gap:18px}.header-right button,.foot button{background:#151515;color:#fff;border:1px solid #333;padding:10px 14px;font-size:9px;font-weight:900;letter-spacing:1px;cursor:pointer}.live{font-size:10px;font-weight:900;letter-spacing:1px}.live i{display:inline-block;width:8px;height:8px;background:#ff3030;border-radius:50%;box-shadow:0 0 12px #ff3030;margin-right:7px}#app{height:calc(100vh - 80px)}.grid{height:100%;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:10px}.card{position:relative;overflow:hidden;background:#101010;border:1px solid #292929;cursor:pointer}.card.selected{border:2px solid #ff3030;box-shadow:0 0 24px #ff303026}.head{position:absolute;z-index:3;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.name{background:#000b;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:1px}.badges{display:flex;gap:6px}.status{background:#000b;padding:4px 8px;font-size:8px;font-weight:900;letter-spacing:1px;color:#ff3030}.status.none{color:#777}.air{background:#ff3030;color:#fff;padding:4px 8px;font-size:8px;font-weight:900;letter-spacing:1px}.frame-wrap{position:absolute;inset:0;overflow:hidden;background:#0b0b0b}.frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0}.placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#444;font-weight:900;letter-spacing:3px;text-align:center}.placeholder small{display:block;color:#666;font-size:8px;letter-spacing:1px;margin-top:7px}.program{border-color:#414141}.program .name{font-size:9px}.program-view{position:relative;width:100%;height:100%;padding:12px}.program-full{position:absolute;inset:12px;background:#090909;border:1px solid #333;overflow:hidden}.program-tag{position:absolute;z-index:5;top:14px;left:14px;background:#ff3030;padding:6px 9px;font-size:8px;font-weight:900;letter-spacing:1px}.back{position:absolute;z-index:5;top:14px;right:14px;background:#111;color:#fff;border:1px solid #444;padding:8px 12px;font-size:8px;font-weight:900;cursor:pointer}.program-name{position:absolute;z-index:5;bottom:14px;left:14px;background:#000d;padding:8px 11px;font-size:10px;font-weight:900}.modal{display:none;position:fixed;inset:0;z-index:50;background:#000c;backdrop-filter:blur(7px);align-items:center;justify-content:center}.modal.show{display:flex}.panel{width:min(900px,92vw);max-height:90vh;background:#101010;border:1px solid #333;display:flex;flex-direction:column}.modal-head{padding:22px 25px;border-bottom:1px solid #292929;display:flex;justify-content:space-between}.modal-head b{font-size:14px;letter-spacing:1.5px}.modal-head small{display:block;color:#666;margin-top:5px;font-size:10px}.modal-head button{background:#151515;color:#fff;border:1px solid #333;width:35px;height:35px;font-size:20px}.form{overflow:auto;padding:20px 25px}.form section{background:#0c0c0c;border:1px solid #252525;padding:16px;margin-bottom:12px}.form h3{font-size:10px;letter-spacing:1px;margin:0 0 13px}.row{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}label{color:#777;font-size:8px;font-weight:900;letter-spacing:1px}input{display:block;margin-top:5px;width:100%;height:38px;background:#111;border:1px solid #333;color:#fff;padding:0 10px;outline:none}.player{background:#151515;border:1px solid #282828;padding:13px;margin-bottom:8px}.ph{display:flex;justify-content:space-between;margin-bottom:10px}.ph b{font-size:9px;letter-spacing:1px}.del{background:transparent;color:#777;border:1px solid #333;padding:5px 8px;font-size:8px;cursor:pointer}.add{width:100%;height:42px;background:#151515;color:#fff;border:1px dashed #444;font-size:9px;font-weight:900;letter-spacing:1px}.foot{padding:18px 25px;border-top:1px solid #292929;display:flex;justify-content:space-between}.save{background:#fff!important;color:#000!important;border-color:#fff!important}.foot span{display:flex;gap:9px}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;overflow:auto}.row{grid-template-columns:1fr}}