*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,Segoe UI,Arial;background:#f4f7fb;color:#17233d}a{color:inherit}aside{position:fixed;left:0;top:0;bottom:0;width:245px;background:linear-gradient(180deg,#07152f,#0b2552);color:white;padding:20px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;margin-bottom:24px}.brand img{width:42px;height:42px;object-fit:contain}.brandmark{width:42px;height:42px;border-radius:12px;background:#fff;color:#0b2552;display:grid;place-items:center;font-weight:800}nav a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;margin:4px 0}nav a:hover{background:rgba(255,255,255,.1)}main{margin-left:245px;min-height:100vh;padding:26px}header{display:flex;justify-content:space-between;margin-bottom:20px}h1,h2,h3{margin-top:0}header h1{margin-bottom:2px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.card,.panel{background:white;border:1px solid #e5ebf4;border-radius:16px;box-shadow:0 6px 20px rgba(19,41,78,.05)}.card{padding:18px}.card span{display:block;color:#66748c}.card b{font-size:30px}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid button,.form-grid .check,.form-grid>div{grid-column:1/-1}label{display:block;font-weight:600}input,select,button{width:100%;padding:10px 11px;border:1px solid #d5ddeb;border-radius:10px;background:#fff;font:inherit}button,.btn{background:#0c3775;color:#fff;border:0;text-decoration:none;display:inline-block;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:700;width:auto}.btn.small{padding:6px 9px}.danger{background:#b4232f!important;color:white}.success{background:#e7f8ef!important;color:#17663b}.warning{background:#fff3d6!important;color:#875b00}.badge{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.success{background:#dff7e9!important}.badge.danger{background:#ffe5e8!important;color:#a51624}.badge.warning{background:#fff1c8!important}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.danger{background:#ffe7e9!important;color:#8b1320}.alert-line{display:block;padding:10px;border-bottom:1px solid #edf1f6;text-decoration:none}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf1f6;white-space:nowrap}.inline{display:inline}.check{display:flex;align-items:center;gap:8px;font-weight:500}.check input{width:auto}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.video-card{border:1px solid #e5ebf4;padding:12px;border-radius:14px}.video-card video{width:100%;aspect-ratio:16/9;background:#111;border-radius:10px}.editline{display:flex;margin:10px 0}.player-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.progress{height:10px;background:#e9eef5;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:#d29a08}.actions{display:flex;gap:8px;margin-top:10px}.actions form{flex:1}.actions button{width:100%}.pick-list label{display:flex;justify-content:space-between;align-items:center;padding:9px;border:1px solid #e4eaf2;border-radius:8px;margin:6px 0;background:#fafcff;cursor:move}.pick-list input{width:auto}.search{max-width:250px}.narrow{max-width:720px}.install,.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#07152f,#0c3775)}.install-card,.login-card{width:min(560px,92vw);background:#fff;padding:28px;border-radius:18px}.install-card form,.login-card form{display:grid;gap:10px}.reqs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.dot.ok{background:#25a765}.dot.bad{background:#c72b3b}.hint{color:#68758b}.report-form{display:grid;gap:14px;max-width:720px}.period-buttons{display:flex;gap:12px}.period-buttons label{border:1px solid #dce4ef;padding:12px;border-radius:10px}.period-buttons input{width:auto}.dates{display:flex;gap:12px}.dates label{flex:1}footer{text-align:center;color:#7b879b;padding:30px}code{background:#eef3f9;padding:2px 5px;border-radius:5px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{position:static;width:auto}main{margin-left:0;padding:14px}.grid2,.player-grid,.form-grid,.gallery{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.reqs{grid-template-columns:1fr}nav{display:flex;overflow:auto;gap:4px}nav a{white-space:nowrap}.panel-head{align-items:flex-start;flex-direction:column}.search{max-width:none}.dates{flex-direction:column}}/* Atualização visual Colônia Play */
aside{background:linear-gradient(180deg,#eef7ff,#f8fbff);color:#102342;border-right:1px solid #dceafa;padding:18px;width:265px}.brand{display:flex;flex-direction:column;text-align:center;gap:7px;margin-bottom:16px}.brand img{width:112px;height:82px}.brandmark{width:82px;height:70px;font-size:25px;background:linear-gradient(135deg,#5ab7ff,#1476ee);color:white}.brand b{font-size:18px;color:#1575e6}nav a{padding:11px 14px;color:#183354}nav a:hover{background:#dceeff;color:#0969d7}main{margin-left:265px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}header h1{font-size:28px;color:#102342}.card,.panel{border-color:#e0eaf5;box-shadow:0 8px 28px rgba(35,100,170,.07)}.modern-cards .card{text-decoration:none;display:flex;gap:14px;align-items:flex-start;min-height:145px}.metric-icon{display:grid;place-items:center;min-width:50px;height:50px;border-radius:13px;color:#fff;font-size:22px}.metric.blue .metric-icon{background:#2685f6}.metric.green .metric-icon{background:#20bf70}.metric.amber .metric-icon{background:#ffb62e}.metric.red .metric-icon{background:#ff4d55}.metric.violet .metric-icon{background:#7d4cf4}.metric small{display:block;margin-top:8px;color:#2583f7}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:16px}.chart-panel{grid-column:span 2}.alerts-panel{grid-column:3}.players-status{grid-column:span 2}.soft-pill{background:#f2f7fd;border:1px solid #dfeaf6;padding:8px 12px;border-radius:10px}.alert-item{position:relative;display:block;text-decoration:none;border:1px solid #e6edf6;border-radius:11px;padding:12px 34px 12px 14px;margin:9px 0}.alert-item small,.player-row small{display:block;color:#75849a}.alert-item i{position:absolute;right:14px;top:18px;font-size:22px}.alert-item.amber{border-left:4px solid #ffb62e}.alert-item.red{border-left:4px solid #ff4d55}.alert-item.blue{border-left:4px solid #2685f6}.donut-wrap{display:flex;align-items:center;gap:22px}.donut{width:115px;height:115px;border-radius:50%;background:conic-gradient(#25bd6e 0 calc(var(--on)*1%),#ffb62e calc(var(--on)*1%) calc((var(--on) + var(--upd))*1%),#ff5159 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:72px;height:72px;background:white;border-radius:50%}.donut b{z-index:1;font-size:22px}.legend{display:grid;gap:8px}.rank{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;margin:11px 0}.rank div{display:grid}.rank i{height:6px;background:#2583f7;border-radius:10px;margin-top:5px}.player-row{display:grid;grid-template-columns:42px 1fr auto 45px;align-items:center;gap:10px;text-decoration:none;padding:10px 0;border-bottom:1px solid #edf2f8}.device{width:36px;height:36px;border-radius:9px;display:grid;place-items:center}.device.success{background:#dff8eb;color:#16a95d!important}.device.warning{background:#fff0cc;color:#e89a00!important}.device.danger{background:#ffe1e4;color:#e4313d!important}.gallery-layout{display:grid;grid-template-columns:310px 1fr;gap:18px;align-items:start}.upload-box{position:sticky;top:20px}.drop-upload{min-height:180px;border:2px dashed #b8d8f8;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:30px;color:#2685f6;margin-bottom:12px;cursor:pointer}.drop-upload b{font-size:16px}.drop-upload small{font-size:12px;color:#75849a}.drop-upload input{position:absolute;opacity:0;pointer-events:none}.gallery-filters{display:flex;gap:8px;align-items:center}.gallery-filters input{width:auto}.gallery-mini{grid-template-columns:repeat(3,minmax(180px,1fr))}.video-actions{margin-top:10px}.ghost{background:#edf5fd;color:#1e6fbf}.playlist-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;max-height:560px;overflow:auto;padding:4px}.thumb-card{border:1px solid #dfe9f4;border-radius:13px;padding:9px;background:#fbfdff}.thumb-card video{width:100%;aspect-ratio:16/9;background:#10151d;border-radius:9px}.thumb-card b{display:block;margin:6px 0}.playlist-thumbs .thumb-card{cursor:move}.inline-create{display:flex;gap:8px}.inline-create input{max-width:420px}.report-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-select-grid select{min-height:160px}.select-all{display:flex;gap:8px;align-items:center;margin-bottom:7px}.select-all input{width:auto}.muted{color:#75849a}@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.chart-panel,.alerts-panel,.players-status{grid-column:auto}.gallery-layout,.playlist-editor{grid-template-columns:1fr}.upload-box{position:static}.gallery-mini{grid-template-columns:repeat(2,1fr)}}
/* v1.2 - padronização visual */
:root{--primary:#2685f6;--primary-hover:#1476e8;--primary-soft:#eaf4ff}
button,.btn{background:var(--primary)}button:hover,.btn:hover{background:var(--primary-hover)}
aside nav a{display:flex;align-items:center;gap:11px}.ui-icon{flex:0 0 auto;color:#315477}aside nav a:hover .ui-icon{color:var(--primary)}
.brand img{width:132px;height:100px}.brand b{display:none!important}
.player-activate-form{display:grid;grid-template-columns:minmax(300px,1fr) 230px auto;gap:12px;align-items:end}.player-activate-form .activation-code-field{max-width:230px}.player-activate-form button{height:42px;padding:9px 20px;white-space:nowrap}
.modern-report .report-form{max-width:none}.modern-report hr{border:0;border-top:1px solid #e6eef7;margin:6px 0}.report-step{display:flex;align-items:flex-start;gap:12px}.report-step>span{width:27px;height:27px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.report-step h2{margin:0 0 2px}.report-step small,.modern-options small,.modern-select-box small{display:block;color:#718097;font-weight:400}.modern-options label{min-width:270px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:14px 18px;background:#fff;cursor:pointer}.modern-options label:has(input:checked){border-color:#77b7ff;background:#f7fbff;box-shadow:0 0 0 2px #e6f2ff}.modern-options input{accent-color:var(--primary)}.modern-options small{grid-column:2}.report-select-grid h3{display:flex;align-items:center;gap:8px}.report-select-grid h3 .ui-icon{color:var(--primary)}.select-all input{accent-color:var(--primary)}
.modern-select-box{position:relative;display:grid;grid-template-columns:48px 1fr 25px;align-items:center;gap:10px;min-height:92px;border:1px solid #dce7f3;border-radius:14px;padding:14px;background:#fff;cursor:pointer}.modern-select-box>b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:22px}.select-arrow{font-size:22px;color:#315477}.modern-select-box select{display:none;grid-column:1/-1;min-height:150px;margin-top:8px}.modern-select-box select.open{display:block}.report-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f3f8fe;border-radius:12px;padding:12px 14px}.report-bottom .hint{margin:0}.report-generate{padding:12px 22px;white-space:nowrap}
@media(max-width:900px){.player-activate-form{grid-template-columns:1fr}.player-activate-form .activation-code-field{max-width:none}.report-bottom{align-items:stretch;flex-direction:column}.modern-options label{min-width:0}}

/* v1.5 - SOMENTE cards do Dashboard: padrão aprovado, vivo e moderno */
.modern-cards{gap:16px}
.modern-cards .metric{
 position:relative;overflow:hidden;min-height:158px;padding:18px;
 display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:auto 1fr auto;
 column-gap:16px;align-items:start;text-decoration:none;color:#fff!important;
 border:0!important;border-radius:18px!important;
 box-shadow:0 12px 28px rgba(25,76,140,.16)!important;
 transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
 isolation:isolate;
}
.modern-cards .metric:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(25,76,140,.23)!important;filter:saturate(1.08)}
.modern-cards .metric.blue{background:linear-gradient(135deg,#22c7f4 0%,#2388f5 48%,#146feb 100%)!important}
.modern-cards .metric.green{background:linear-gradient(135deg,#c9f600 0%,#9be500 48%,#76ce00 100%)!important}
.modern-cards .metric.amber{background:linear-gradient(135deg,#ffd236 0%,#ffb20b 52%,#ff9700 100%)!important}
.modern-cards .metric.red{background:linear-gradient(135deg,#ff6871 0%,#f43c4b 52%,#df2638 100%)!important}
.modern-cards .metric.violet{background:linear-gradient(135deg,#ad68ff 0%,#8446f1 50%,#6430d9 100%)!important}
.modern-cards .metric::before{content:"";position:absolute;z-index:-1;width:190px;height:190px;border-radius:50%;right:-38px;top:-85px;background:radial-gradient(circle,rgba(255,255,255,.27) 0,rgba(255,255,255,0) 68%)}
.modern-cards .metric::after{content:"";position:absolute;z-index:-1;width:145px;height:145px;border-radius:50%;right:-48px;bottom:-62px;background:rgba(255,255,255,.10)}
.modern-cards .metric-icon{
 grid-row:1/4;align-self:start;display:grid!important;place-items:center;
 min-width:72px!important;width:72px!important;height:72px!important;border-radius:20px!important;
 background:#fff!important;box-shadow:0 7px 18px rgba(17,55,100,.16)!important;font-size:0!important
}
.modern-cards .metric-icon .ui-icon{width:38px!important;height:38px!important;stroke-width:2.15!important}
.modern-cards .metric.blue .metric-icon,.modern-cards .metric.blue .metric-icon .ui-icon{color:#197cef!important}
.modern-cards .metric.green .metric-icon,.modern-cards .metric.green .metric-icon .ui-icon{color:#76c900!important}
.modern-cards .metric.amber .metric-icon,.modern-cards .metric.amber .metric-icon .ui-icon{color:#f2a000!important}
.modern-cards .metric.red .metric-icon,.modern-cards .metric.red .metric-icon .ui-icon{color:#eb3342!important}
.modern-cards .metric.violet .metric-icon,.modern-cards .metric.violet .metric-icon .ui-icon{color:#7337df!important}
.modern-cards .metric>div{min-width:0;height:100%;display:flex!important;flex-direction:column}
.modern-cards .metric span,.modern-cards .metric b,.modern-cards .metric small{color:#fff!important}
.modern-cards .metric>div>span{font-size:14px!important;font-weight:800!important;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.08)}
.modern-cards .metric b{display:block;font-size:40px!important;line-height:1!important;margin:8px 0 12px!important;font-weight:850!important;letter-spacing:-.8px}
.modern-cards .metric small{display:block;margin-top:auto!important;font-size:13px!important;font-weight:800!important;opacity:1!important}

/* Relatórios: datas só em Data personalizada; Individual começa sem seleção total */
.modern-report .dates{display:none}
.modern-report .dates.is-visible{display:flex}
.modern-report .modern-select-box.is-empty>b{background:#f1f5fa;color:#8795a8}
.modern-report .modern-select-box.is-empty{border-style:dashed}
@media(max-width:1000px){.modern-cards .metric{min-height:150px}.modern-cards .metric-icon{width:64px!important;height:64px!important;min-width:64px!important}}
@media(max-width:760px){.modern-report .dates.is-visible{display:flex;flex-direction:column}}


/* v1.6 - ajustes solicitados sem alterar o padrão visual da v1.5 */
/* Dashboard: mesmos cards/cores/degradês, apenas um pouco menores */
.modern-cards{gap:13px!important}
.modern-cards .metric{
 min-height:136px!important;
 padding:15px!important;
 grid-template-columns:60px minmax(0,1fr)!important;
 column-gap:13px!important;
 border-radius:17px!important;
}
.modern-cards .metric-icon{
 min-width:60px!important;width:60px!important;height:60px!important;border-radius:17px!important;
}
.modern-cards .metric-icon .ui-icon{width:32px!important;height:32px!important}
.modern-cards .metric>div>span{font-size:13px!important}
.modern-cards .metric b{font-size:34px!important;margin:6px 0 9px!important}
.modern-cards .metric small{font-size:12px!important}

/* Relatórios: campos de datas personalizados mais compactos */
.modern-report .dates.is-visible{gap:12px;align-items:flex-end;flex-wrap:wrap}
.modern-report .dates label{width:210px;max-width:100%}
.modern-report .dates input[type="date"]{width:210px;max-width:100%}

@media(max-width:1000px){
 .modern-cards .metric{min-height:132px!important}
 .modern-cards .metric-icon{min-width:56px!important;width:56px!important;height:56px!important}
}
@media(max-width:760px){
 .modern-report .dates label,.modern-report .dates input[type="date"]{width:100%}
}

/* v1.7 - somente os ajustes aprovados */
/* Ações das playlists: identificação visual por função */
.action-edit,.action-duplicate,.action-delete{border-radius:9px!important;box-shadow:0 3px 8px rgba(31,50,81,.12);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.action-edit{background:#287fe4!important}
.action-edit:hover{background:#176dcc!important}
.action-duplicate{background:#7657d9!important}
.action-duplicate:hover{background:#6243c5!important}
.action-delete{background:#d33c4c!important}
.action-delete:hover{background:#b92839!important}
.action-edit:hover,.action-duplicate:hover,.action-delete:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(31,50,81,.18)}

/* Relatórios: períodos com cores próprias para facilitar a identificação */
.modern-report .period-default{border-color:#b9d9ff;background:#f4f9ff}
.modern-report .period-default:has(input:checked){border-color:#2685f6;background:#eaf4ff;box-shadow:0 0 0 2px #d8ebff}
.modern-report .period-custom{border-color:#d8cdfc;background:#faf8ff}
.modern-report .period-custom:has(input:checked){border-color:#8062dc;background:#f0ebff;box-shadow:0 0 0 2px #e4dcff}
.modern-report .period-custom input{accent-color:#7657d9}

/* Dashboard: preserva formato e cores, reduz volume e peso visual */
.modern-cards{gap:12px!important}
.modern-cards .metric{min-height:118px!important;padding:13px!important;grid-template-columns:52px minmax(0,1fr)!important;column-gap:11px!important;border-radius:16px!important}
.modern-cards .metric-icon{min-width:52px!important;width:52px!important;height:52px!important;border-radius:15px!important}
.modern-cards .metric-icon .ui-icon{width:27px!important;height:27px!important;stroke-width:1.9!important}
.modern-cards .metric>div>span{font-size:12px!important;font-weight:650!important;line-height:1.2}
.modern-cards .metric b{font-size:29px!important;font-weight:650!important;letter-spacing:-.35px!important;margin:5px 0 7px!important}
.modern-cards .metric small{font-size:11px!important;font-weight:650!important}
@media(max-width:1000px){.modern-cards .metric{min-height:116px!important}.modern-cards .metric-icon{min-width:50px!important;width:50px!important;height:50px!important}}
