:root{--blue:#05275f;--cyan:#17c9d3;--red:#b70619;--line:#e7eaf0;--text:#111827;--muted:#6b7280;--bg:#f6f8fb;--card:#fff;--orange:#f06423;--dark:#101820}*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans KR',sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.wrap{max-width:1120px;margin:auto}.topbar{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.navwrap{height:62px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:900;color:var(--blue)}.brand img{width:46px;height:46px;object-fit:contain}.nav{display:flex;align-items:center;gap:28px;font-weight:800;margin-left:auto}.nav a,.nav button{border:0;background:transparent;font-weight:900;cursor:pointer;padding:22px 0}.nav a:hover,.nav button:hover,.nav .active{color:var(--cyan)}.red{color:var(--red)!important}.has-menu{position:relative}.dropdown{display:none;position:absolute;top:62px;left:-10px;width:165px;background:#fff;box-shadow:0 18px 50px #0002;padding:12px 0}.dropdown a{display:block;padding:9px 16px;font-size:14px}.has-menu:hover .dropdown{display:block}.hamb{display:none;margin-left:auto;border:0;background:white;font-size:24px}.page{display:none;padding:40px 0 70px}.page.active{display:block}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.hero-card,.side-card,.panel,.login-card,.admin-panel,.product{background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px #00163a0c}.hero-image{height:414px;background:linear-gradient(135deg,#24354a,#111 45%,#f06423);position:relative;overflow:hidden}.hero-image:before{content:'JBO';position:absolute;font-size:170px;font-weight:1000;color:#ffffff16;left:40px;top:80px}.hero-image:after{content:'2026 SEASON';position:absolute;right:22px;bottom:20px;color:white;font-weight:900;letter-spacing:3px}.hero-text{padding:18px 20px}.badge{display:inline-block;background:#0a2a63;color:white;padding:5px 10px;border-radius:999px;font-weight:900;font-size:13px}.hero-text h1{margin:12px 0 6px;font-size:30px}.hero-text p{margin:0;color:var(--muted)}.side-card{padding:22px}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line);margin-bottom:14px}.section-head h2{margin:0 0 10px;font-size:20px}.plus{width:25px;height:25px;border:1px solid #ccc;background:white;font-size:22px;line-height:18px}.news-item{display:grid;grid-template-columns:46px 1fr;gap:9px;padding:7px 0;align-items:center}.tag{background:#b7d000;color:white;font-size:12px;font-weight:900;text-align:center;padding:4px}.news-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mt{margin-top:34px}.highlight-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;overflow:hidden}.highlight-card{background:#fff;border:1px solid var(--line);min-height:120px}.thumb{height:74px;background:linear-gradient(135deg,#0b2a62,#e5e7eb);position:relative}.thumb:after{content:'HIGHLIGHT';position:absolute;right:8px;bottom:8px;color:#fff;font-weight:900}.highlight-card b{display:block;padding:10px 12px 2px}.highlight-card span{display:block;padding:0 12px 10px;color:var(--muted);font-size:13px}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.panel{padding:18px}.table{width:100%;border-collapse:collapse;background:#fff}.table th{background:#f1f3f6;font-size:14px}.table th,.table td{border-bottom:1px solid var(--line);padding:9px;text-align:center}.table td:nth-child(2),.table th:nth-child(2){text-align:left}.rank1{font-weight:1000;color:#e60020}.page-title{margin-bottom:20px}.page-title h1{margin:0;font-size:32px}.page-title p{color:var(--muted);margin:6px 0}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input,.toolbar select,.login-card input,.admin-panel input,.admin-panel select{border:1px solid #d6dbe4;background:white;padding:11px 13px;border-radius:8px}.game-list{display:grid;gap:12px}.game-card{background:white;border:1px solid var(--line);padding:17px;display:grid;grid-template-columns:120px 1fr 120px;align-items:center;gap:14px}.status{font-weight:900;border-radius:999px;padding:6px 10px;text-align:center;background:#eef2ff;color:var(--blue)}.status.finished{background:#111827;color:white}.status.live{background:#fee2e2;color:#b91c1c}.scorebox{display:flex;align-items:center;justify-content:center;gap:18px;font-size:22px;font-weight:1000}.team-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:white;font-weight:1000}.tabs,.admin-tabs{display:flex;border-bottom:3px solid var(--blue);margin-bottom:20px}.tab,.admin-tab{border:0;background:#fff;padding:14px 42px;font-weight:900;cursor:pointer}.tab.active,.admin-tab.active{background:var(--blue);color:white}.tab-content,.admin-content{display:none}.tab-content.active,.admin-content.active{display:block}.rank-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.rank-card{background:white;border:1px solid var(--line);padding:20px;text-align:center}.rank-card h3{margin:0 0 12px}.player-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-weight:800}.rank-details{margin-top:24px;display:grid;gap:18px}.rank-details h2{margin:0;font-size:22px}.rank-table-wrap{background:#fff;border:1px solid var(--line);padding:18px;border-radius:14px}.player-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.player-card{background:#fff;border:1px solid var(--line);padding:18px;border-radius:14px}.player-top{display:flex;gap:12px;align-items:center}.avatar{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#e5e7eb,#fff);display:grid;place-items:center;font-weight:1000;color:var(--blue);border:1px solid var(--line)}.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.stat{background:#f5f7fb;border-radius:10px;padding:8px;text-align:center}.stat b{display:block;font-size:18px}.team-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff;margin-bottom:22px}.team-cell{padding:16px;text-align:center;border-right:1px solid var(--line);font-weight:900;cursor:pointer}.team-cell:last-child{border-right:0}.team-cell.active{border-top:4px solid var(--blue);background:#f8fbff}.roster-section{background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:18px}.roster-section h2{margin-top:0;color:#334155}.login-card{max-width:420px;padding:24px}.login-card input{display:block;width:100%;margin:10px 0}.primary{border:0;background:var(--blue);color:#fff;font-weight:900;border-radius:8px;padding:12px 18px;cursor:pointer}.hint{font-size:13px;color:var(--muted);line-height:1.6}.hidden{display:none!important}.admin-panel{padding:22px}.admin-head{display:flex;justify-content:space-between;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.form-grid button{min-height:42px}.small-btn{border:1px solid #ccd3df;background:white;border-radius:8px;padding:8px 10px;cursor:pointer}.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.media-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.highlight-col{display:grid;gap:12px}.market{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product{padding:24px}.product b{display:block;font-size:20px}.product span{color:var(--muted)}.footer{text-align:center;color:#6b7280;border-top:1px solid var(--line);padding:24px}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:white;border-radius:10px;padding:12px 16px;opacity:0;transform:translateY(10px);transition:.25s;z-index:99}.toast.show{opacity:1;transform:translateY(0)}#gameCenter .scoreboard{background:linear-gradient(135deg,#071a3c,#111827);color:white;border-radius:18px;padding:28px;box-shadow:0 20px 60px #00163a33}.scoreboard h2{margin-top:0}.big-score{display:flex;justify-content:space-around;align-items:center;font-size:48px;font-weight:1000}.big-score span{font-size:18px;display:block;color:#cbd5e1}.admin-list{display:grid;gap:10px}.admin-item{background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:10px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.social-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);padding:20px;text-align:center;border-radius:14px}.stat-card h3{margin:0 0 8px;font-size:16px}.stat-card b{font-size:32px;color:var(--blue)}.user-list{display:grid;gap:12px}.user-item{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px;display:flex;justify-content:space-between;align-items:center}.dm-conversation{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:8px;cursor:pointer}.dm-conversation b{font-weight:900}.dm-conversation span{color:var(--muted);font-size:14px}.dm-conversation small{color:var(--muted);font-size:12px;text-align:right}.chat-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;z-index:1000}.chat-modal > div{background:#fff;border-radius:14px;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.chat-messages{flex:1;padding:16px;overflow-y:auto;display:grid;gap:8px}.message{background:#f1f3f6;padding:8px 12px;border-radius:18px;max-width:70%}.message.sent{background:var(--blue);color:white;margin-left:auto;text-align:right}.message.received{background:#fff;margin-right:auto}.chat-input{display:flex;gap:8px;padding:16px;border-top:1px solid var(--line)}.chat-input input{flex:1;border:1px solid #d6dbe4;padding:8px;border-radius:8px}.chat-input button{background:var(--blue);color:white;border:0;padding:8px 16px;border-radius:8px;cursor:pointer}@media(max-width:850px){.wrap{padding:0 14px}.nav{display:none;position:absolute;top:62px;left:0;right:0;background:white;flex-direction:column;align-items:flex-start;padding:14px 24px;border-bottom:1px solid var(--line);gap:0}.nav.open{display:flex}.nav a,.nav button{padding:12px 0}.dropdown{position:static;box-shadow:none}.hamb{display:block}.hero-grid,.home-bottom,.rank-panels,.player-grid,.media-layout,.market,.social-stats{grid-template-columns:1fr}.hero-image{height:280px}.highlight-row{grid-template-columns:repeat(2,1fr)}.game-card{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.tabs,.admin-tabs{overflow:auto}.tab,.admin-tab{white-space:nowrap;padding:12px 24px}.big-score{font-size:34px}.team-strip{grid-template-columns:1fr}.user-item{flex-direction:column;gap:8px;text-align:center}.dm-conversation{grid-template-columns:1fr}.chat-modal > div{width:95%;max-height:90vh}}

.admin-nav-link{background:#0a2a63;color:#fff!important;border-radius:999px;padding:8px 14px!important}.login-card .small-btn{margin-top:10px}.admin-panel input[type=number]{max-width:76px}.nav a.active,.nav button.active{color:#0a2a63;font-weight:1000}
.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:999}.modal.hidden{display:none}.modal-content{background:#fff;border-radius:14px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;padding:24px;position:relative}.seat-modal{max-width:700px}.modal-close{position:absolute;top:12px;right:12px;border:0;background:transparent;font-size:24px;cursor:pointer;color:#6b7280}.stadium-list{display:grid;gap:12px;margin-top:16px}.stadium-item{background:#f8fafc;border:2px solid #e7eaf0;padding:16px;border-radius:10px;cursor:pointer;transition:.2s}.stadium-item:hover{border-color:#17c9d3;background:#f0fffe}.stadium-item b{display:block;font-size:16px;margin-bottom:4px}.stadium-item span{color:#6b7280;font-size:14px}.stadium-item.selected{border-color:#05275f;background:#e8f0f8}.seat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.seat{width:100%;aspect-ratio:1;border:2px solid #d6dbe4;border-radius:8px;background:#fff;cursor:pointer;font-weight:900;transition:.2s;display:flex;align-items:center;justify-content:center}.seat:hover{border-color:#17c9d3}.seat.selected{background:#05275f;color:white;border-color:#05275f}.seat.occupied{background:#ccc;cursor:not-allowed;color:#666;border-color:#ccc}.payment-form{display:grid;gap:10px;margin:20px 0}.payment-form input{border:1px solid #d6dbe4;padding:11px 13px;border-radius:8px;font-size:14px}#seatInfo{padding:12px;background:#f8fafc;border-radius:10px;margin-bottom:16px;font-size:14px}.ticket-card{background:#fff;border:1px solid #e7eaf0;border-radius:14px;overflow:hidden;margin-bottom:20px;display:grid;grid-template-columns:200px 1fr;gap:0}.ticket-image{height:280px;background:linear-gradient(135deg,#0b3a75,#ff6b00);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:white;font-weight:1000}.ticket-image img{width:100%;height:100%;object-fit:cover}.ticket-info{padding:20px}.ticket-info h3{margin-top:0}.ticket-details{display:grid;gap:8px;margin:12px 0;padding:12px;background:#f8fafc;border-radius:8px;font-size:13px}.ticket-detail-row{display:flex;justify-content:space-between}.ticket-detail-row b{color:#05275f;font-weight:900}.ticket-code{margin-top:12px;padding:8px;background:#f1f3f6;border-radius:6px;font-family:monospace;font-size:12px;text-align:center;color:#6b7280}.no-tickets{text-align:center;padding:40px 20px;color:#6b7280}.game-tickets{display:grid;gap:16px;margin-top:16px}.game-ticket-header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px;background:#f8fafc;border-radius:10px;font-weight:900}.game-ticket-list{display:grid;gap:8px}.news-modal-content h2{margin-top:0;font-size:24px;color:#05275f}.news-modal-content p{line-height:1.8;color:#334155;margin:12px 0}.news-modal-content .news-meta{display:flex;gap:12px;margin:16px 0;padding:12px 0;border-bottom:1px solid #e7eaf0;font-size:13px;color:#6b7280}
@media(max-width:850px){.admin-nav-link{border-radius:0;background:transparent;color:#0a2a63!important;padding:12px 0!important}.login-card{max-width:100%;box-sizing:border-box}.admin-panel{padding:14px}.admin-item input,.admin-item select{max-width:100%;box-sizing:border-box}.admin-panel input[type=number]{max-width:95px}.modal-content{width:95%}.seat-grid{grid-template-columns:repeat(4,1fr)}.ticket-card{grid-template-columns:1fr}.ticket-image{height:200px}}


/* JBO 문자중계 화면 */
.no-live{padding:70px 20px;text-align:center;color:#8b95a6;background:#111;border-radius:18px;border:1px solid #222}.broadcast-stage{background:#050505;color:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.35);max-width:980px;margin:0 auto 28px}.score-bug{display:flex;align-items:stretch;background:#111827;border-bottom:1px solid #222;min-height:76px}.score-team{width:92px;display:grid;grid-template-columns:1fr 36px;align-items:center;background:linear-gradient(90deg,var(--team),#0d1420);font-weight:1000}.score-team span{padding-left:16px}.score-team b{height:38px;display:grid;place-items:center;background:#fff;color:#111;font-size:22px}.score-team.home{border-top:1px solid rgba(255,255,255,.08)}.mini-field-status{flex:1;display:grid;grid-template-columns:110px 110px 1fr;align-items:center;padding:0 18px;gap:16px}.mini-inning{font-weight:1000;font-size:18px}.diamond-mini{position:relative;width:58px;height:48px}.diamond-mini i{position:absolute;width:18px;height:18px;background:#434343;transform:rotate(45deg);border-radius:2px}.diamond-mini i.on{background:#ffd943;box-shadow:0 0 18px rgba(255,217,67,.45)}.diamond-mini i:nth-child(1){left:34px;top:18px}.diamond-mini i:nth-child(2){left:20px;top:4px}.diamond-mini i:nth-child(3){left:6px;top:18px}.bso-mini{display:flex;gap:10px;flex-wrap:wrap;font-weight:900}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#444;margin-left:4px;vertical-align:-1px}.dot.green.on{background:#27e179}.dot.yellow.on{background:#ffd43b}.dot.red.on{background:#ff2b4f}.field-board{background:#080808}.field-grass{height:430px;position:relative;background:radial-gradient(circle at 50% 43%,rgba(72,121,50,.95) 0 24%,transparent 24.5%),radial-gradient(circle at 50% 74%,#4a2b1e 0 26%,transparent 26.4%),linear-gradient(145deg,#173d19,#255c24 50%,#173d19);overflow:hidden}.field-grass:before{content:"";position:absolute;left:50%;top:122px;width:380px;height:380px;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,#5b3625,#422417);border:2px solid rgba(255,255,255,.22)}.diamond-lines{position:absolute;left:50%;top:142px;width:330px;height:330px;transform:translateX(-50%) rotate(45deg);border-left:3px solid rgba(255,255,255,.4);border-top:3px solid rgba(255,255,255,.4);z-index:2}.home-plate{position:absolute;left:50%;bottom:72px;width:22px;height:22px;background:#fff;clip-path:polygon(50% 100%,0 42%,0 0,100% 0,100% 42%);transform:translateX(-50%);z-index:4}.base{position:absolute;width:16px;height:16px;background:#fff;transform:rotate(45deg);z-index:4}.base.occupied{background:#ffd943;box-shadow:0 0 20px rgba(255,217,67,.65)}.base-1{left:61%;top:55%}.base-2{left:50%;top:37%}.base-3{left:37%;top:55%}.field-name{position:absolute;background:#050505d8;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 20px rgba(0,0,0,.25);font-weight:900;font-size:13px;border-radius:4px;padding:6px 10px;z-index:5;white-space:nowrap}.field-name.p{left:50%;top:48%;transform:translate(-50%,-50%)}.field-name.c{left:50%;bottom:42px;transform:translateX(-50%);background:#fff;color:#111;border-radius:999px;padding:8px 18px}.field-name.b1{left:65%;top:48%}.field-name.b2{left:50%;top:28%;transform:translateX(-50%)}.field-name.b3{left:27%;top:48%}.inning-strip{display:flex;background:#070707;border-top:1px solid #181818;overflow:auto}.inning-strip span{min-width:76px;text-align:center;padding:16px 0;color:#747b85;font-size:20px;font-weight:900;border-right:1px solid #171717}.inning-strip span.active{color:#08d5ff;text-shadow:0 0 14px rgba(8,213,255,.4)}.live-card-panel{background:#171717;border-top:1px solid #242424;padding:18px 20px 20px}.live-headline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2b2b2b;padding-bottom:12px}.live-headline h2{margin:0;font-size:22px}.out-bubbles{display:flex;align-items:center;gap:8px;font-weight:1000}.out-bubbles b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2b2b2b;color:#fff;font-size:12px}.out-bubbles b.on{background:#ff2b4f}.out-bubbles span{font-size:13px}.matchup-card{margin-top:16px;background:linear-gradient(180deg,#262626,#1b1b1b);border:1px solid #333;border-radius:12px;padding:16px;display:flex;gap:16px;align-items:center}.player-photo{width:72px;height:86px;background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#111;display:grid;place-items:end center;padding-bottom:8px;font-weight:1000;border-radius:6px}.matchup-info h3{margin:0 0 8px;font-size:22px}.matchup-info h3 span{font-size:16px;color:#d1d5db;margin-left:8px}.matchup-info p{margin:6px 0;color:#b9c0ca}.matchup-info b{color:#fff}.play-log{margin-top:14px;display:grid;gap:8px}.play-log div{display:flex;gap:10px;background:#101010;border:1px solid #292929;border-radius:8px;padding:10px 12px}.play-log b{color:#0bcdfb}.play-log span{color:#e5e7eb}.lineup-board{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;color:#111}.lineup-col{padding:18px 20px;border-right:1px solid #e5e7eb}.lineup-col:last-child{border-right:0}.lineup-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.team-mark{width:42px;height:42px;border-radius:50%;background:var(--team);color:#fff;display:grid;place-items:center;font-weight:1000}.lineup-row{display:grid;grid-template-columns:24px 36px 1fr;gap:8px;align-items:center;padding:7px;border-radius:8px}.lineup-row.active{background:#eff6ff;outline:2px solid #38bdf8}.lineup-row b{font-size:16px}.mini-avatar{width:30px;height:30px;border-radius:4px;background:#dbeafe;color:#0b3a75;font-size:10px;display:grid;place-items:center;font-weight:1000}.lineup-row strong{display:block}.lineup-row small{display:block;color:#6b7280}.live-admin-shortcut{border:2px solid #ef4444;background:#fff7f7}.live-admin-top{border-left:5px solid #0ea5e9}.live-empty{padding:28px;text-align:center;color:#6b7280;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px}.live-admin-controller{background:#0f172a;color:#fff;border-radius:18px;padding:18px;box-shadow:0 18px 45px rgba(15,23,42,.24)}.live-control-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#111827;border:1px solid #263044;border-radius:14px;padding:14px;margin-bottom:14px}.live-control-score div{display:flex;justify-content:center;gap:14px;align-items:center}.live-control-score span{color:#cbd5e1;font-weight:900}.live-control-score b{font-size:34px}.live-control-score strong{color:#38bdf8}.live-control-current{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.live-control-current>div{background:#172033;border:1px solid #2c3850;border-radius:12px;padding:12px}.live-control-current small{display:block;color:#94a3b8}.live-control-current b{display:block;font-size:18px;margin:4px 0}.live-control-current span{color:#cbd5e1;font-size:13px}.control-row,.play-button-grid,.manual-grid{display:grid;gap:8px;margin-top:10px}.control-row{grid-template-columns:repeat(5,1fr)}.play-button-grid{grid-template-columns:repeat(6,1fr)}.manual-grid{grid-template-columns:repeat(4,1fr)}.control-row button,.play-button-grid button,.manual-grid button{border:0;border-radius:10px;padding:12px 8px;font-weight:1000;cursor:pointer}.control-row button{background:#334155;color:#fff}.play-button-grid button{background:#0ea5e9;color:#fff}.play-button-grid button:nth-child(4){background:#f97316}.manual-grid button{background:#e2e8f0;color:#0f172a}.manual-grid button.danger{background:#ef4444;color:#fff}.live-admin-log{margin-top:14px;background:#111827;border:1px solid #263044;border-radius:12px;max-height:210px;overflow:auto;padding:10px}.live-admin-log p{margin:0;padding:8px;border-bottom:1px solid #263044;color:#dbeafe}.live-admin-log p:last-child{border-bottom:0}.live-admin-log b{color:#38bdf8;margin-right:8px}@media(max-width:850px){.score-bug{display:grid;grid-template-columns:1fr 1fr}.mini-field-status{grid-column:1/3;grid-template-columns:1fr auto;min-height:68px}.bso-mini{grid-column:1/3}.field-grass{height:330px}.lineup-board,.live-control-current{grid-template-columns:1fr}.control-row,.play-button-grid,.manual-grid{grid-template-columns:repeat(2,1fr)}.live-headline,.matchup-card{align-items:flex-start;flex-direction:column}}

/* Cleaner 문자중계 + 라인업 편집 개선 */
.broadcast-stage{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
  background:#0b0f16;
  border:1px solid #1f2937;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(2,8,23,.28);
  max-width:1080px;
}
.score-bug{
  grid-column:1/-1;
  min-height:64px;
  background:linear-gradient(90deg,#0f172a,#111827);
  border-bottom:1px solid #243044;
}
.score-team{width:104px;grid-template-columns:1fr 42px;background:linear-gradient(90deg,var(--team),#111827)}
.score-team b{height:44px;border-radius:8px;margin-right:8px;background:#f8fafc;color:#0f172a;font-size:24px}
.score-team span{font-size:15px;letter-spacing:.02em}
.mini-field-status{grid-template-columns:110px 86px 1fr;padding:0 20px;gap:14px}
.mini-inning{color:#e2e8f0}.bso-mini{justify-content:flex-end;color:#e2e8f0}.dot{width:10px;height:10px;background:#334155}
.field-board{background:#09111c;border-right:1px solid #243044;min-width:0}.field-grass{height:356px;background:radial-gradient(circle at 50% 43%,rgba(68,124,63,.9) 0 23%,transparent 23.6%),radial-gradient(circle at 50% 78%,#5a3727 0 25%,transparent 25.5%),linear-gradient(135deg,#12351b,#286334 52%,#12351b)}
.field-grass:before{top:96px;width:330px;height:330px;background:linear-gradient(135deg,#6b402b,#3a2118);border-color:rgba(255,255,255,.18)}
.diamond-lines{top:118px;width:284px;height:284px;border-width:2px}.home-plate{bottom:56px}.base{width:15px;height:15px;border-radius:2px}.base-1{left:62%;top:55%}.base-2{top:35%}.base-3{left:36%;top:55%}
.field-name{background:rgba(15,23,42,.88);border-color:rgba(148,163,184,.28);border-radius:999px;padding:6px 11px;font-size:12px;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.field-name.c{bottom:28px;background:#f8fafc;color:#0f172a}.field-name.b2{top:24%}.field-name.p{top:47%}
.inning-strip{grid-column:1/-1;background:#070b12;border-top:1px solid #1f2937}.inning-strip span{min-width:68px;padding:12px 0;font-size:15px;color:#64748b}.inning-strip span.active{color:#22d3ee;text-shadow:none;background:#0f172a}
.live-card-panel{background:#0f172a;border-top:0;border-left:0;padding:18px;min-width:0}.live-headline{border-bottom:1px solid #263044;gap:12px}.live-headline h2{font-size:19px;line-height:1.35}.out-bubbles b{background:#263044}.out-bubbles b.on{background:#f43f5e}
.matchup-card{background:#111827;border:1px solid #263044;border-radius:16px;padding:14px}.player-photo{width:62px;height:70px;border-radius:14px;background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#0f172a}.matchup-info h3{font-size:20px}.matchup-info p{font-size:13px;color:#cbd5e1}

/* 올스타 투표 */
.allstar-voting{padding:20px;background:#fff;border-radius:12px}
.allstar-team-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e7eaf0}
.allstar-team-section:last-child{border-bottom:none}
.allstar-team-section h3{margin:0 0 16px;font-size:18px;color:#05275f}
.allstar-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.allstar-player-btn{background:#f8fafc;border:2px solid #d6dbe4;border-radius:10px;padding:12px;cursor:pointer;transition:.2s;text-align:center;position:relative}
.allstar-player-btn:hover{border-color:#17c9d3;background:#f0fffe}
.allstar-player-btn.voted{background:#05275f;color:#fff;border-color:#05275f}
.allstar-player-btn .player-info{font-size:14px}
.allstar-player-btn b{display:block;font-weight:900;margin-bottom:4px;font-size:15px}
.allstar-player-btn span{font-size:12px;color:#6b7280}
.allstar-player-btn.voted span{color:#e7eaf0}
.vote-badge{position:absolute;top:-8px;right:-8px;background:#22c55e;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px}
.allstar-vote-status{padding:10px;background:#f1f3f6;border-radius:6px;font-size:14px;color:#6b7280}
.allstar-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e7eaf0}
.allstar-actions button{flex:1;padding:12px 16px;border:none;border-radius:8px;font-weight:900;cursor:pointer;transition:.2s}
.allstar-actions .primary{background:#05275f;color:#fff}
.allstar-actions .primary:disabled{background:#ccc;cursor:not-allowed}
.allstar-actions .secondary{background:#e7eaf0;color:#05275f}
.allstar-actions .secondary:hover{background:#d6dbe4}
.play-log{max-height:154px;overflow:auto}.play-log div{background:#0b1220;border-color:#1f2a3d;border-radius:12px;padding:9px 11px}.play-log b{color:#22d3ee;min-width:50px}.play-log span{line-height:1.35}
.lineup-board{grid-column:1/-1;background:#f8fafc;border-top:1px solid #e2e8f0}.lineup-col{padding:16px;border-right:1px solid #e2e8f0}.lineup-title{margin-bottom:10px}.team-mark{box-shadow:inset 0 -10px 18px rgba(0,0,0,.18)}.lineup-row{grid-template-columns:24px 34px 1fr;padding:7px 8px;border-radius:12px}.lineup-row.active{background:#e0f2fe;outline:1px solid #38bdf8}.lineup-row strong{font-size:14px}.lineup-row small{font-size:12px}
.live-start-grid{grid-template-columns:1.4fr repeat(3,auto);align-items:center}.live-admin-controller{background:#0f172a;border:1px solid #243044}.manual-grid{grid-template-columns:repeat(5,1fr)}.success-fill{background:#10b981!important}.lineup-editor-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:22px;box-shadow:0 18px 42px rgba(15,23,42,.08)}.lineup-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #e5e7eb;padding-bottom:14px;margin-bottom:16px}.lineup-editor-head h2{margin:0 0 4px;color:#0f172a}.lineup-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lineup-editor-team{border-radius:16px;margin:0;border-top:5px solid var(--team);padding:16px}.lineup-team-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.lineup-team-head>div{display:flex;align-items:center;gap:10px;font-weight:1000}.lineup-count-select{min-width:130px}.lineup-help{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;margin-bottom:10px}.lineup-edit-list{display:grid;gap:8px}.lineup-edit-row{display:grid;grid-template-columns:54px 1fr 95px 74px 84px;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px}.lineup-order-badge{font-weight:1000;color:#0f172a;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 0}.pitcher-check{font-size:13px;color:#334155;font-weight:800;white-space:nowrap}.lineup-move-buttons{display:flex;gap:4px}.lineup-move-buttons .small-btn{padding:7px 8px}.lineup-move-buttons .small-btn:disabled{opacity:.35;cursor:not-allowed}.lineup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:850px){.broadcast-stage{display:block;border-radius:16px}.score-bug{display:grid;grid-template-columns:1fr 1fr}.score-team{width:auto}.mini-field-status{grid-column:1/3;grid-template-columns:1fr auto;min-height:64px}.bso-mini{justify-content:flex-start}.field-board{border-right:0}.field-grass{height:310px}.lineup-board,.lineup-editor-grid,.live-control-current{grid-template-columns:1fr}.live-start-grid{grid-template-columns:1fr}.manual-grid,.play-button-grid,.control-row{grid-template-columns:repeat(2,1fr)}.lineup-editor-head{flex-direction:column}.lineup-edit-row{grid-template-columns:50px 1fr;align-items:stretch}.lineup-edit-row select,.pitcher-check,.lineup-move-buttons{grid-column:2}.lineup-actions{flex-direction:column}.lineup-actions button{width:100%}}

/* 올스타 투표 v2 - JBO 전용 */
.allstar-page .page-title{display:flex;align-items:end;justify-content:space-between;gap:14px}
.allstar-tabs{border-bottom:3px solid #061a49;background:#fff;border-radius:14px 14px 0 0;overflow:hidden}
.allstar-tabs .tab{flex:1;border:1px solid #071b49;border-bottom:0;background:#fff;color:#071b49;font-size:16px}
.allstar-tabs .tab.active{background:#071b49;color:#fff}
.allstar-hero-v2{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#ffffff,#eef7ff);border:1px solid #dce8f8;border-radius:24px;padding:18px;box-shadow:0 18px 50px rgba(8,27,73,.10);margin-bottom:14px;position:relative;overflow:hidden}
.allstar-hero-v2:before{content:'';position:absolute;inset:auto -20% -55% -20%;height:70%;background:radial-gradient(circle at 50% 50%,rgba(23,201,211,.14),transparent 60%)}
.allstar-main-logo,.allstar-side-logo{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.allstar-main-logo img{width:min(360px,100%);max-height:230px;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(0,20,60,.18))}
.allstar-side-logo{min-height:170px;background:rgba(255,255,255,.72);border:1px solid rgba(8,27,73,.08);border-radius:20px;padding:12px}
.allstar-side-logo img{width:min(170px,82%);height:140px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,20,60,.12))}
.allstar-side-logo span{font-weight:1000;color:#071b49;letter-spacing:.04em}
.allstar-status-bar{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;border-radius:16px;padding:14px 16px;margin-bottom:18px;border:1px solid #dbe5f2;background:#fff;color:#334155;font-weight:900}
.allstar-status-bar b{border-radius:999px;padding:7px 12px;color:#fff}.allstar-status-bar.open b{background:#16a34a}.allstar-status-bar.closed b{background:#dc2626}.allstar-status-bar span{background:#f1f5f9;border-radius:999px;padding:7px 12px}
.allstar-closed-card{background:#fff;border:1px dashed #9fb3d1;border-radius:18px;padding:26px;text-align:center;display:grid;gap:6px}.allstar-closed-card b{font-size:20px;color:#071b49}.allstar-closed-card span{color:#64748b}
.allstar-pick-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#071b49;color:#fff;border-radius:18px;padding:16px 20px;margin-bottom:18px;box-shadow:0 14px 34px rgba(7,27,73,.18)}
.allstar-pick-panel div{display:flex;align-items:baseline;gap:5px}.allstar-pick-panel b{font-size:36px}.allstar-pick-panel span{font-weight:1000}.allstar-pick-panel p{margin:0;color:#dbeafe;font-size:14px}
.allstar-team-list{display:grid;gap:18px}.allstar-team-card{background:#fff;border:1px solid #dfe7f2;border-top:7px solid var(--team);border-radius:20px;padding:18px;box-shadow:0 12px 35px rgba(15,23,42,.07)}
.allstar-team-card.nanum{background:linear-gradient(180deg,#fff7fb,#fff)}.allstar-team-card.dream{background:linear-gradient(180deg,#f7fbff,#fff)}
.allstar-team-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.allstar-team-head small{font-weight:1000;color:#64748b}.allstar-team-head h3{margin:2px 0 0;font-size:24px;color:#071b49}.allstar-team-head>b{background:var(--team);color:#fff;border-radius:999px;padding:7px 11px}
.allstar-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.allstar-candidate{position:relative;border:2px solid #d7e0ee;background:#fff;border-radius:16px;padding:14px 12px;min-height:126px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:.18s;overflow:hidden}.allstar-candidate:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:var(--team);opacity:.9}.allstar-candidate:hover{transform:translateY(-2px);border-color:#17c9d3;box-shadow:0 14px 26px rgba(15,23,42,.10)}.allstar-candidate.selected{background:#071b49;color:#fff;border-color:#071b49;box-shadow:0 18px 34px rgba(7,27,73,.24)}
.allstar-candidate .candidate-rank{align-self:flex-start;background:#eff6ff;color:#071b49;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000}.allstar-candidate.selected .candidate-rank{background:#fff;color:#071b49}.allstar-candidate strong{font-size:20px;line-height:1.15}.allstar-candidate small{color:#64748b;font-weight:800}.allstar-candidate.selected small{color:#dbeafe}.allstar-candidate em{font-style:normal;font-weight:1000;color:var(--team);margin-top:auto}.allstar-candidate.selected em{color:#fff}.allstar-candidate i{position:absolute;right:10px;top:10px;font-style:normal;background:#22c55e;color:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000}
.sticky-actions{position:sticky;bottom:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid #dce5f2;border-radius:18px;padding:12px;box-shadow:0 18px 40px rgba(15,23,42,.15)}
.allstar-results-wrap{display:grid;gap:18px}.allstar-results-summary{display:grid;grid-template-columns:130px repeat(3,1fr);gap:12px;align-items:center;background:#fff;border:1px solid #dce5f2;border-radius:22px;padding:16px;box-shadow:0 14px 35px rgba(15,23,42,.08)}.allstar-results-summary img{width:120px;height:92px;object-fit:contain}.allstar-results-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;text-align:center}.allstar-results-summary b{display:block;font-size:26px;color:#071b49}.allstar-results-summary span{color:#64748b;font-weight:900;font-size:13px}
.allstar-vs-results{display:grid;grid-template-columns:1fr 70px 1fr;gap:16px;align-items:start}.vs-chip{margin-top:95px;width:58px;height:58px;border-radius:50%;background:#071b49;color:#fff;display:grid;place-items:center;font-weight:1000;box-shadow:0 16px 28px rgba(7,27,73,.18)}.allstar-result-side{background:#fff;border:1px solid #dce5f2;border-radius:22px;padding:18px;box-shadow:0 14px 35px rgba(15,23,42,.08)}.allstar-result-side.nanum{background:linear-gradient(180deg,#fff7fb,#fff)}.allstar-result-side.dream{background:linear-gradient(180deg,#f7fbff,#fff)}.result-side-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5edf6;padding-bottom:12px;margin-bottom:14px}.result-side-head img{width:94px;height:72px;object-fit:contain}.result-side-head small{font-weight:1000;color:#64748b}.result-side-head h3{margin:2px 0 0;color:#071b49;font-size:24px}.result-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.podium-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px;text-align:center;box-shadow:0 10px 20px rgba(15,23,42,.06)}.podium-card.rank-1{transform:translateY(-6px);border-color:#f59e0b}.podium-card span{font-weight:1000;color:#071b49}.podium-card b{display:block;font-size:18px;margin:6px 0 2px}.podium-card small{display:block;color:#64748b}.podium-card strong{display:block;font-size:24px;color:#0ea5e9;margin-top:8px}.result-list{display:grid;gap:7px;max-height:360px;overflow:auto}.result-row{display:grid;grid-template-columns:34px 1fr 58px 80px;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px}.result-row span{font-weight:1000;color:#071b49}.result-row small{color:#64748b;font-weight:900}.result-row em{text-align:right;font-style:normal;font-weight:1000;color:#0f172a}
.allstar-admin-box{border-top:6px solid #071b49}.allstar-admin-controls{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.allstar-admin-controls .primary{min-width:210px}.allstar-admin-state{border-radius:14px;padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0}.allstar-admin-state.open b{color:#16a34a}.allstar-admin-state.closed b{color:#dc2626}.allstar-admin-state span{color:#64748b;font-size:13px}.admin-allstar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.admin-allstar-team{background:#fff;border:1px solid #e2e8f0;border-top:5px solid var(--team);border-radius:16px;padding:12px}.admin-allstar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-allstar-head b{color:#071b49}.admin-allstar-head span{background:#eef2ff;color:#071b49;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000}.admin-allstar-row{display:grid;grid-template-columns:26px 1fr 80px 62px;gap:6px;align-items:center;padding:7px 0;border-top:1px solid #eef2f7}.admin-allstar-row span{font-weight:1000;color:#071b49}.admin-allstar-row small{color:#64748b}.admin-allstar-row em{text-align:right;font-style:normal;font-weight:1000;color:#0ea5e9}
@media(max-width:850px){.allstar-hero-v2{grid-template-columns:1fr}.allstar-side-logo{min-height:auto}.allstar-main-logo img{max-height:190px}.allstar-pick-panel{flex-direction:column;align-items:flex-start}.allstar-results-summary{grid-template-columns:1fr}.allstar-results-summary img{margin:auto}.allstar-vs-results{grid-template-columns:1fr}.vs-chip{margin:0 auto}.result-podium{grid-template-columns:1fr}.admin-allstar-row{grid-template-columns:26px 1fr}.admin-allstar-row small,.admin-allstar-row em{grid-column:2;text-align:left}}

/* Added: news views/comments + team logo admin */
.news-title-wrap{min-width:0}.news-submeta{margin-top:3px;color:#6b7280;font-size:12px;font-weight:700}.news-item:hover .news-title{color:var(--blue)}.team-badge-logo{padding:4px;overflow:hidden;border:1px solid #ffffff55;box-shadow:0 4px 12px rgba(15,23,42,.12)}.team-badge-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#fff}.team-logo-mark{width:62px;height:62px;border-radius:50%;background:var(--team,#05275f);display:grid;place-items:center;font-weight:1000;color:white;border:1px solid var(--line);overflow:hidden;flex:0 0 auto;box-shadow:0 8px 18px rgba(15,23,42,.10)}.team-logo-mark img{width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}.team-logo-mark.avatar{width:62px;height:62px}.news-form-grid{grid-template-columns:130px 1fr 140px}.admin-textarea,.comment-form textarea{width:100%;min-height:96px;border:1px solid #d6dbe4;background:#fff;border-radius:10px;padding:11px 13px;resize:vertical;font:inherit}.news-admin-item>div{display:grid;gap:4px;min-width:220px;flex:1}.news-admin-item small{color:#6b7280;font-size:12px}.team-admin-item{display:grid;grid-template-columns:130px 1fr 110px 132px 170px 1fr auto auto;align-items:center}.team-admin-preview{display:flex;align-items:center;gap:10px;font-weight:1000}.team-admin-preview .team-logo-mark{width:46px;height:46px}.color-label,.file-label{font-size:12px;color:#64748b;font-weight:900;display:grid;gap:4px}.color-label input{width:100%;height:42px;padding:3px}.file-label input{font-size:12px;max-width:160px}.news-detail-head h2{margin:12px 0 8px!important}.news-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:14px 0}.comment-box{margin-top:18px}.comment-box h3{margin:0 0 12px;color:#05275f}.comment-list{display:grid;gap:10px;margin-bottom:14px}.comment-item{background:#f8fafc;border:1px solid #e7eaf0;border-radius:12px;padding:12px;position:relative}.comment-item>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.comment-item small{color:#6b7280;font-size:12px}.comment-item p{margin:8px 0 0!important;line-height:1.55!important}.comment-item button{margin-top:8px}.comment-form{display:grid;gap:8px;background:#f8fafc;border:1px solid #e7eaf0;border-radius:12px;padding:12px}.comment-form input{border:1px solid #d6dbe4;background:#fff;border-radius:8px;padding:10px 12px}.comment-form button{justify-self:end}.news-modal-content .tag{display:inline-block;border-radius:999px;padding:5px 10px}.modal-content{max-width:720px}
@media(max-width:850px){.news-form-grid,.team-admin-item{grid-template-columns:1fr}.team-admin-preview{justify-content:flex-start}.comment-form button{width:100%}}
.allstar-team-title{display:flex;align-items:center;gap:10px}.allstar-mini-logo{width:46px;height:46px}.allstar-mini-logo img{padding:4px}


/* Added: JBO customer center / staff call system */
.support-page .page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.support-hero-card{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:24px;align-items:stretch}.support-logo-stage{position:relative;min-height:430px;background:radial-gradient(circle at 50% 35%,#123c90 0,#071b49 45%,#020817 100%);border:1px solid #0b2a62;border-radius:28px;display:grid;place-items:center;overflow:hidden;box-shadow:0 28px 80px rgba(7,27,73,.26)}.support-logo-stage img{position:relative;z-index:2;width:min(82%,360px);filter:drop-shadow(0 18px 30px rgba(0,0,0,.3));animation:supportFloat 2.6s ease-in-out infinite}.support-glow{position:absolute;width:310px;height:310px;border-radius:50%;background:rgba(23,201,211,.24);filter:blur(24px);animation:supportPulse 1.7s ease-in-out infinite}.support-logo-stage:before,.support-logo-stage:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;inset:38px;animation:supportSpin 9s linear infinite}.support-logo-stage:after{inset:82px;border-color:rgba(23,201,211,.28);animation-duration:6s;animation-direction:reverse}.support-start-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.09);display:flex;flex-direction:column;justify-content:center}.support-start-card h2{font-size:34px;margin:14px 0 8px;color:#071b49}.support-start-card p{color:#64748b;line-height:1.65}.support-start-card input{border:1px solid #d6dbe4;background:#fff;border-radius:12px;padding:13px 14px;margin:6px 0}.support-call-btn{margin-top:8px;font-size:18px}.support-done-mini{display:flex;justify-content:space-between;gap:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:14px;padding:10px 12px;margin:12px 0}.support-waiting-card{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr);gap:24px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 22px 65px rgba(15,23,42,.10)}.support-logo-stage.waiting{min-height:360px}.support-waiting-card h2{font-size:32px;color:#071b49;margin:14px 0 8px}.support-ticket-info{display:grid;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:16px 0}.support-ticket-info b{font-size:20px;color:#071b49}.support-ticket-info span{font-weight:900}.support-ticket-info small{color:#64748b}.support-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:1000;letter-spacing:.02em}.support-pill.waiting{background:#fff7ed;color:#c2410c}.support-pill.active{background:#ecfeff;color:#0e7490}.support-pill.done{background:#f0fdf4;color:#166534}.support-pill.cancelled{background:#f1f5f9;color:#64748b}.support-room-grid{display:grid;grid-template-columns:310px 1fr;gap:20px}.support-room-side{background:linear-gradient(180deg,#071b49,#020817);color:#fff;border-radius:24px;padding:22px;box-shadow:0 22px 60px rgba(7,27,73,.22)}.support-room-side>img{width:100%;height:190px;object-fit:contain;background:#fff;border-radius:20px;padding:12px;margin-bottom:16px}.support-room-side h2{margin:12px 0 6px}.support-room-side p{color:#dbeafe;line-height:1.55}.support-call-panel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px;margin:16px 0;display:grid;gap:8px}.support-call-panel b{font-size:18px}.support-call-panel span{color:#bfdbfe;font-size:13px;line-height:1.5}.support-call-panel.ringing{animation:supportPanelPulse 1s ease-in-out infinite}.support-call-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.support-chatbox{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.08);overflow:hidden}.support-chat-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.support-chat-head b{color:#071b49}.support-chat-head span{font-size:12px;color:#64748b;font-weight:900}.support-messages{height:430px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f8fafc,#fff)}.support-message{max-width:76%;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px;background:#fff}.support-message small{display:block;color:#64748b;font-size:11px;margin-bottom:4px}.support-message p{margin:0;line-height:1.5;white-space:pre-wrap}.support-message.sent{align-self:flex-end;background:#071b49;color:#fff;border-color:#071b49}.support-message.sent small{color:#bfdbfe}.support-message.received{align-self:flex-start}.support-message.system{align-self:center;background:#eef2ff;color:#334155;border-color:#dbeafe;max-width:92%;text-align:center}.support-chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);padding:12px;background:#fff}.support-chat-input input{border:1px solid #d6dbe4;border-radius:10px;padding:11px 12px}.support-admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}.support-admin-top h2{margin:0 0 6px;color:#071b49}.support-admin-stats{display:flex;gap:10px;flex-wrap:wrap}.support-admin-stats span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;font-weight:900}.support-admin-stats b{font-size:22px;color:#071b49}.support-admin-list{display:grid;gap:14px}.support-admin-ticket{background:#fff;border:1px solid var(--line);border-left:7px solid #94a3b8;border-radius:18px;padding:16px;box-shadow:0 14px 35px rgba(15,23,42,.06)}.support-admin-ticket.waiting{border-left-color:#f97316}.support-admin-ticket.active{border-left-color:#06b6d4}.support-admin-ticket.done{border-left-color:#22c55e;opacity:.78}.support-admin-ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.support-admin-ticket h3{margin:10px 0 6px;color:#071b49}.support-admin-ticket p{margin:0 0 6px;color:#475569}.support-admin-ticket small{color:#64748b}.support-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.support-staff-call-state{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;margin:12px 0}.support-staff-call-state b{color:#071b49}.support-staff-call-state span{font-size:12px;color:#64748b;font-weight:900}.support-remote-audio{position:fixed;left:-9999px;width:1px;height:1px;opacity:0}
@keyframes supportFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}@keyframes supportPulse{0%,100%{transform:scale(.8);opacity:.65}50%{transform:scale(1.15);opacity:1}}@keyframes supportSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes supportPanelPulse{0%,100%{box-shadow:0 0 0 rgba(23,201,211,0)}50%{box-shadow:0 0 0 5px rgba(23,201,211,.16)}}@media(max-width:850px){.support-hero-card,.support-waiting-card,.support-room-grid{grid-template-columns:1fr}.support-logo-stage{min-height:300px}.support-room-side>img{height:150px}.support-admin-ticket-head,.support-admin-top{flex-direction:column}.support-admin-actions{justify-content:flex-start}.support-chat-input{grid-template-columns:1fr}.support-chat-input button{width:100%}.support-messages{height:360px}}
