:root{--bg: #f2f4f8;--bg-grad: linear-gradient(180deg, #eef2ff 0%, #f8fafc 100%);--surface: #ffffff;--surface2: #f8fafc;--surface3: #f1f5f9;--border: #e2e8f0;--border2: #cbd5e1;--text: #111827;--text2: #334155;--text3: #475569;--text4: #64748b;--accent: #4338ca;--accent-hover: #3730a3;--accent-bg: #eef2ff;--accent-text: #3730a3;--ok: #166534;--ok-bg: #dcfce7;--warn-bg: #fef3c7;--warn-text: #92400e;--neg: #b91c1c;--neg-bg: #fee2e2;--premio: #0e7490;--premio-bg: #e0f2fe;--th-bg: #f1f5f9;--shadow: 0 12px 30px rgba(15,23,42,.06);--shadow-hero: 0 14px 40px rgba(15,23,42,.08)}.dark{--bg: #0f172a;--bg-grad: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);--surface: #1e293b;--surface2: #0f172a;--surface3: #273449;--border: #334155;--border2: #475569;--text: #f1f5f9;--text2: #cbd5e1;--text3: #94a3b8;--text4: #64748b;--accent: #818cf8;--accent-hover: #6366f1;--accent-bg: #1e1b4b;--accent-text: #a5b4fc;--ok: #4ade80;--ok-bg: #052e16;--warn-bg: #451a03;--warn-text: #fcd34d;--neg: #f87171;--neg-bg: #450a0a;--premio: #38bdf8;--premio-bg: #0c2a44;--th-bg: #162032;--shadow: 0 12px 30px rgba(0,0,0,.3);--shadow-hero: 0 14px 40px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-grad);color:var(--text);transition:background .2s,color .2s}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading{padding:40px;text-align:center;color:var(--text4)}.app-shell{max-width:1480px;margin:0 auto;padding:16px 12px 60px}.hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;padding:20px 22px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow-hero)}.hero .eyebrow{margin:0 0 4px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.hero h1{margin:0;font-size:clamp(1.3rem,2.2vw,2rem);color:var(--text)}.subtitle{margin:8px 0 0;color:var(--text3);font-size:.93rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-right{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.hero-top-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.reset-btn{color:var(--neg)!important;border-color:var(--neg-bg)!important}.export-btn{color:var(--ok)!important;border-color:var(--ok-bg)!important}.dark-toggle{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface3);color:var(--text2);font-size:.82rem;font-weight:600;white-space:nowrap}.dark-toggle:hover{background:var(--accent-bg)}.hero-month{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.hero-month label{display:grid;gap:4px;font-size:.85rem;color:var(--text3)}.hero-month input,.hero-month select{min-height:40px;padding:6px 10px;border:1px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text)}.hero-month input{width:90px}.month-tag{padding:8px 14px;border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-weight:700}.badge{padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}.tabs{display:flex;gap:6px;margin:16px 0 12px;flex-wrap:wrap}.tabs button{padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text2);font-weight:600;font-size:.9rem}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs button:hover:not(.active){background:var(--accent-bg)}main{display:grid;gap:14px}.panel{background:var(--surface);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.panel h2{margin:0 0 12px;font-size:1.05rem;color:var(--text)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.head-stats{display:flex;gap:8px;flex-wrap:wrap}.head-stats>div{background:var(--surface3);padding:7px 12px;border-radius:10px;display:grid;gap:1px}.head-stats span{font-size:.72rem;color:var(--text4)}.head-stats strong{font-size:.95rem;color:var(--text)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;border:1px solid var(--border)}.cc-table{width:100%;border-collapse:collapse;font-size:.87rem;min-width:1080px;background:var(--surface)}.cc-table.compact{font-size:.82rem;min-width:640px}.cc-table th,.cc-table td{padding:8px 9px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.cc-table th{background:var(--th-bg);color:var(--text2);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;position:sticky;top:0}.cc-table .left{text-align:left}.cc-table tbody tr:nth-child(2n){background:var(--surface2)}.cc-table tbody tr:hover{background:var(--accent-bg)}.cc-table input,.cc-table select{padding:5px 7px;border:1px solid var(--border2);border-radius:7px;background:var(--surface);color:var(--text);min-height:32px;max-width:95px}.cc-table select{max-width:68px}.cc-table tfoot td{background:var(--surface3);border-top:2px solid var(--border2);font-size:.9rem}.cc-table .empty{padding:20px;color:var(--text4);font-style:italic}.cc-table .editing-row td{background:var(--warn-bg)}.neg{color:var(--neg)!important}.falta{background:var(--neg-bg)!important;color:var(--neg);font-weight:700}.ok-cell{color:var(--ok);font-weight:700}.premio-cell{color:var(--premio);font-weight:600;background:var(--premio-bg)}.dep-cell{display:flex;gap:5px;align-items:center}.dep-cell input{flex:1;min-width:0}.dep-locked{flex:1;color:var(--ok);font-weight:700;cursor:pointer;padding:5px 7px;border-radius:7px;background:var(--ok-bg);font-size:.85rem;text-align:right;white-space:nowrap}.ok-btn{padding:4px 9px;border-radius:7px;border:none;background:var(--ok-bg);color:var(--ok);font-weight:700;font-size:.8rem;flex-shrink:0}.ok-btn:hover{filter:brightness(.9)}.row-actions{display:flex;gap:6px;justify-content:center}.row-actions button{padding:3px 8px;border-radius:7px;border:1px solid var(--border);background:var(--surface3);font-size:.82rem}.danger-sm{background:var(--neg-bg)!important;border-color:var(--neg)!important;color:var(--neg)!important}.sorteio-form{display:grid;gap:10px;grid-template-columns:160px 1fr 1fr 2fr auto;align-items:end;padding:14px;background:var(--surface3);border-radius:12px}.sorteio-form label{display:grid;gap:5px;color:var(--text3);font-size:.87rem}.sorteio-form input{padding:9px 10px;border:1px solid var(--border2);border-radius:9px;background:var(--surface);color:var(--text);min-height:38px}.sorteio-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.info-text{color:var(--text3);font-size:.9rem;margin:0 0 12px;line-height:1.5}.full-label{display:grid;gap:6px;color:var(--text3);font-size:.9rem;margin-bottom:12px}.full-label textarea{padding:10px 12px;border:1px solid var(--border2);border-radius:10px;background:var(--surface);color:var(--text);min-height:70px;resize:vertical}.close-actions{display:flex;gap:10px;flex-wrap:wrap}.danger-primary{background:#b91c1c!important;border-color:#b91c1c!important}.danger-primary:hover{background:#991b1b!important}.primary,.ghost{padding:9px 16px;border-radius:10px;font-weight:700;border:1px solid transparent;font-size:.9rem}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover)}.primary:disabled{opacity:.45;cursor:not-allowed}.ghost{background:var(--surface);color:var(--accent);border-color:var(--border)}.ghost:hover{background:var(--accent-bg)}.add-form{display:grid;gap:8px;margin-bottom:16px;grid-template-columns:70px 1.5fr 1fr 1fr 1.2fr 1.5fr auto}.add-form input{padding:9px 10px;border:1px solid var(--border2);border-radius:9px;background:var(--surface);color:var(--text)}.participants-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.participant{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface);display:grid;gap:10px}.participant.inactive{opacity:.6;background:var(--surface2)}.participant-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.participant-head strong{display:block;font-size:.93rem;color:var(--text)}.participant-head span{font-size:.76rem;color:var(--text4)}.participant-balance{font-weight:700;color:var(--accent);white-space:nowrap}.kv{display:grid;gap:6px;grid-template-columns:1fr 1fr;font-size:.84rem}.kv>div{display:grid;gap:2px}.kv span{color:var(--text4);font-size:.73rem}.kv strong{color:var(--text)}.edit-row{display:flex;gap:8px;flex-wrap:wrap}.edit-row.two>*{flex:1;min-width:0}.edit-row input,.edit-row select{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border2);border-radius:8px;background:var(--surface);color:var(--text)}.edit-row label{display:flex;gap:6px;align-items:center;flex:1;font-size:.85rem;color:var(--text3)}.edit-row label input{flex:1}.actions-row{justify-content:flex-end;gap:8px}.actions-row button{padding:8px 13px;border-radius:9px;font-weight:600;font-size:.87rem;border:1px solid var(--border);background:var(--surface3);color:var(--text2)}.actions-row button:hover{background:var(--accent-bg)}.actions-row .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.actions-row .primary:hover{background:var(--accent-hover)}.actions-row .danger-btn{background:var(--neg-bg);color:var(--neg);border-color:var(--neg)}.record{border:1px solid var(--border);border-radius:13px;padding:13px 15px;margin-bottom:10px;background:var(--surface)}.record summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.record summary strong{color:var(--text)}.record summary span{color:var(--text4);font-size:.87rem}.record-totals{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:12px 0}.record-totals>div{background:var(--surface3);padding:7px 10px;border-radius:9px}.record-totals span{color:var(--text4);font-size:.73rem;display:block}.record-totals strong{color:var(--text)}.record-note{background:var(--warn-bg);color:var(--warn-text);padding:8px 10px;border-radius:8px;margin:10px 0;font-size:.9rem}.empty-text{color:var(--text4);font-style:italic}.foot{text-align:center;color:var(--text4);font-size:.82rem;margin-top:28px;display:grid;gap:2px}.foot>div{text-align:center}.hero-subtitle{margin:0 0 6px;font-size:clamp(.95rem,1.8vw,1.2rem);color:var(--text2);font-weight:600}.auth-form label input{padding:11px 13px;border:1px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text);font-size:1rem}.btn-wa{display:block;padding:12px 16px;border-radius:12px;background:#25d366;color:#fff!important;text-decoration:none;font-weight:700;text-align:center;font-size:.95rem}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{background:var(--accent-bg)!important}.sort-icon{font-size:.75rem;color:var(--text4);margin-left:3px}.sort-icon.active{color:var(--accent)}.panel-alert{border:2px solid var(--warn-text)!important}.devedores-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:12px}.devedor-card{background:var(--warn-bg);border:1px solid var(--warn-text);border-radius:10px;padding:11px 13px;display:grid;gap:3px}.devedor-card strong{font-size:.9rem;color:var(--text)}.devedor-card span{font-size:.8rem;color:var(--text3)}.devedor-falta{color:var(--neg)!important;font-weight:700!important;font-size:.88rem!important}.btn-whatsapp{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;background:#25d366;color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;white-space:nowrap}.btn-whatsapp:hover{background:#128c7e}.btn-wa-sm{color:#128c7e!important;border-color:#25d36655!important;font-size:.82rem!important;padding:6px 11px!important;text-decoration:none;white-space:nowrap}.chaves-cell{font-size:.8rem;color:var(--text2);font-family:monospace;max-width:160px;overflow:hidden;text-overflow:ellipsis}.search-input{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text);font-size:.95rem;margin-bottom:12px}.search-input:focus{outline:none;border-color:var(--accent)}.search-count{font-size:.83rem;color:var(--text4);margin:-6px 0 10px}.user-card-head strong{display:block;font-size:.92rem}.import-area{display:flex;flex-direction:column;gap:10px}.import-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;width:fit-content}.import-preview{margin-top:16px;display:grid;gap:12px}.import-info{margin:0;font-size:.9rem;color:var(--text2)}.import-warnings{background:var(--warn-bg);border-radius:8px;padding:10px 12px;display:grid;gap:4px}.import-warnings p{margin:0;font-size:.83rem;color:var(--warn-text)}.import-confirm-row{display:flex;gap:10px;flex-wrap:wrap}.chart-wrap{display:flex;gap:10px;align-items:flex-end;min-height:120px;margin:16px 0 8px;overflow-x:auto;padding-bottom:4px}.chart-col{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:50px;flex:1}.chart-bars-pair{display:flex;gap:3px;align-items:flex-end;height:100px}.chart-bar{width:18px;border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.bar-apostado{background:var(--accent);opacity:.75}.bar-premio{background:var(--premio)}.bar-saldo-pos{background:var(--ok)}.bar-saldo-neg{background:var(--neg)}.chart-label{font-size:.75rem;color:var(--text4);font-weight:600}.chart-val{font-size:.72rem;color:var(--text3)}.chart-legend{display:flex;gap:16px;font-size:.82rem;color:var(--text3)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.apostado-dot{background:var(--accent);opacity:.75}.premio-dot{background:var(--premio)}.fin-table{min-width:1200px}.fin-target-th{font-weight:700!important;color:var(--accent)!important}.fin-cell{cursor:default;transition:background .15s;font-size:.85rem}.fin-clickable{cursor:pointer}.fin-clickable:hover{background:var(--accent-bg)!important}.fin-chosen{background:var(--accent)!important;color:#fff!important;font-weight:700;box-shadow:inset 0 0 0 2px var(--accent-hover)}.fin-chosen:hover{filter:brightness(1.05)}.fin-trans-input{padding:5px 7px;border:1px solid var(--border2);border-radius:7px;background:var(--surface);color:var(--text);min-height:32px;width:90px}.print-admin-line{display:none}.resultado-block{background:var(--surface2)}.resultado-chave{font-size:1.1rem;padding:12px 16px;background:var(--accent-bg);color:var(--accent-text);border-radius:8px;margin:10px 0}.resultado-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.resultado-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.resultado-stats span{font-size:.75rem;color:var(--text3);text-transform:uppercase;letter-spacing:.03em}.resultado-stats strong{font-size:1rem;color:var(--text)}.resultado-manual{margin-top:14px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.resultado-manual summary{cursor:pointer;font-weight:600;color:var(--text2);padding:4px 0}.resultado-manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.resultado-manual-grid label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text3)}.resultado-manual-grid input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--surface);color:var(--text)}@page{size:A4 landscape;margin:15mm}@media print{.print-hide,.tabs,.hero-top-btns,.hero-month,.hero-right,nav,.sorteio-form,.sorteio-actions,.row-actions,.close-actions,.panel-alert,button,footer{display:none!important}body{background:#fff!important;color:#000!important}.app-shell{max-width:100%;padding:0}.hero{display:block;box-shadow:none;border-bottom:2px solid #000;border-radius:0;padding:12px;text-align:center}.hero-title{-webkit-text-fill-color:#000;background:none;color:#000;font-size:1.6rem}.hero-subtitle{color:#333}.print-admin-line{display:block!important;text-align:center;font-size:.9rem;color:#333;margin:4px 0 0}.print-hide-col{display:none!important}.panel{box-shadow:none;border:1px solid #ccc;border-radius:0;margin-bottom:12px}.cc-table{font-size:.75rem;min-width:unset}.cc-table th{background:#f0f0f0!important;color:#000!important}.table-wrap{overflow:visible;border:none}.falta{background:#fcc!important;color:#900!important}.ok-cell{color:#060!important}.premio-cell{color:#06c!important;background:#e6f4ff!important}.my-row{background:#fffbcc!important}}.hero-title{margin:0 0 4px;font-size:clamp(2rem,4vw,3rem);font-weight:900;background:linear-gradient(135deg,var(--accent),#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;line-height:1.1}.dark .hero-title{background:linear-gradient(135deg,#818cf8,#a78bfa);-webkit-background-clip:text;background-clip:text}.hero-subtitle{margin:0 0 8px;font-size:clamp(1rem,2vw,1.25rem);color:var(--text2);font-weight:600}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-grad)}.auth-card{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-hero);padding:36px;width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo .hero-title{justify-content:center}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form h2{margin:0;font-size:1.15rem;color:var(--text);text-align:center}.auth-form label{display:grid;gap:6px;font-size:.87rem;color:var(--text3)}.auth-form label input{padding:11px 13px;border:1px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text);font-size:1rem;transition:border-color .15s}.auth-form label input:focus{outline:none;border-color:var(--accent)}.auth-form .primary{width:100%;padding:12px;font-size:1rem;border-radius:12px}.auth-error{background:var(--neg-bg);color:var(--neg);padding:9px 12px;border-radius:9px;font-size:.87rem;margin:0;font-weight:600}.auth-info{color:var(--text3);font-size:.88rem;line-height:1.5;margin:0}.auth-link{background:none;border:none;color:var(--accent);font-size:.88rem;text-align:center;padding:4px;text-decoration:underline;cursor:pointer}.auth-link:hover{color:var(--accent-hover)}.reset-actions{display:flex;flex-direction:column;gap:10px}.btn-wa{display:block;padding:12px 16px;border-radius:12px;background:#25d366;color:#fff;text-decoration:none;font-weight:700;text-align:center;font-size:.95rem}.btn-wa:hover{background:#128c7e}.btn-mail{display:block;text-align:center;text-decoration:none}.my-row{background:var(--accent-bg)!important}.my-row:hover{filter:brightness(.97)}.my-tag{color:var(--accent);font-size:.75rem;font-weight:700}.badge.info{background:var(--accent-bg);color:var(--accent-text)}.logout-btn{color:var(--text3)!important}.logout-btn:hover{color:var(--neg)!important;background:var(--neg-bg)!important}.dep-locked-ro{color:var(--ok);font-weight:600;font-size:.88rem}.users-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));margin-top:14px}.user-card{border:1px solid var(--border);border-radius:13px;padding:13px 15px;background:var(--surface);display:grid;gap:8px}.user-card.user-default{border-color:var(--warn-text);background:var(--warn-bg)}.user-card.user-ok{border-color:var(--border)}.user-card-head{display:flex;justify-content:space-between;align-items:start;gap:8px;flex-wrap:wrap}.user-card-head strong{display:block;font-size:.92rem;color:var(--text)}.user-name{font-size:.78rem;color:var(--text4)}.pw-status{display:block;font-size:.75rem;margin-top:2px;color:var(--text3)}.user-email{margin:0;font-size:.84rem;color:var(--text2);font-family:monospace}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.user-actions button{padding:5px 12px;border-radius:8px;font-size:.82rem;font-weight:600;border:1px solid var(--border);background:var(--surface3);color:var(--text2)}.user-actions button:hover{background:var(--accent-bg)}.user-edit-form{display:grid;gap:9px}.user-edit-form label{display:grid;gap:4px;font-size:.83rem;color:var(--text3)}.user-edit-form label small{font-size:.74rem;color:var(--text4)}.user-edit-form input{padding:8px 10px;border:1px solid var(--border2);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem}@media (max-width: 960px){.hero{grid-template-columns:1fr}.sorteio-form{grid-template-columns:1fr 1fr}.sorteio-actions{grid-column:1 / -1}.add-form{grid-template-columns:1fr 1fr}.add-form button{grid-column:1 / -1}}@media (max-width: 600px){.app-shell{padding:10px 8px 40px}.panel{padding:13px;border-radius:14px}.tabs button{flex:1;padding:9px 10px;font-size:.84rem}.head-stats{gap:6px}.sorteio-form,.add-form,.kv{grid-template-columns:1fr}.hero-right{align-items:stretch}}
