:root{--navy:#131e37;--navy2:#243b5e;--blue:#5677e8;--blueDark:#4162cc;--ink:#273751;--muted:#8797ac;--line:#e3eaf3;--bg:#f5f7fb;--white:#fff;--mint:#18a67a;--rose:#d95471;--gold:#e3aa57;--shadow:0 10px 38px rgba(26,43,78,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.045em}h1{font-size:clamp(27px,3vw,38px)}h2{font-size:20px}h3{font-size:16px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #8caeff;outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:10px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}
.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;flex-shrink:0;background:var(--navy);color:#d0d9e7;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:29px 17px 18px;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 9px 28px;border-bottom:1px solid #32425d;color:#fff}.brand-icon,.mobile-logo{display:grid;place-items:center;width:43px;height:43px;background:#839cf7;color:var(--navy);font-weight:1000;font-size:24px;border-radius:13px}.brand strong{font-size:21px;font-weight:950;letter-spacing:-.07em;display:block;line-height:1.05}.brand-light{color:#a4b6fb;margin-left:3px}.brand small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.16em;color:#9aacc6;font-weight:900;margin-top:6px}.menu-label{font-size:10px;font-weight:900;color:#7186a8;letter-spacing:.17em;margin:25px 14px 9px}.desktop-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;color:#bac7d9;background:none;border:1px solid transparent;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:720;text-align:left}.nav-item.active,.nav-item:hover{background:#253a5b;color:#fff;border-color:#3a5175}.nav-icon{font-size:20px;width:20px;text-align:center;line-height:1}.sidebar-foot{margin-top:auto;border-top:1px solid #32425d;padding:18px 10px 0}.sidebar-status{display:flex;gap:8px;align-items:center;color:#c9d5e7;font-weight:800;font-size:11px}.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#3ac393;display:inline-block}.sidebar-foot p{font-size:11px;color:#91a5c2;line-height:1.65;margin-top:7px}.main-shell{min-width:0;flex:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:77px;border-bottom:1px solid var(--line);background:#fff;padding:0 clamp(18px,3.5vw,45px)}.breadcrumb{display:flex;gap:10px;align-items:center;min-width:0;font-size:12px;color:#8c9db3}.breadcrumb strong{color:#40536c;font-weight:850}.slash{color:#ccd4df}.topbar-actions{display:flex;align-items:center;gap:10px}.save-label{display:flex;align-items:center;gap:7px;background:#edf9f2;color:#158b66;border:1px solid #cfeee0;padding:7px 11px;border-radius:99px;font-size:11px;font-weight:840;white-space:nowrap}.topbar-config{border:1px solid #e1e8f1;border-radius:10px;padding:8px 11px;color:#627694;background:#f8fafd;font-size:11px;font-weight:800}.mobile-logo{display:none}.main-content{max-width:1430px;margin:auto;padding:32px clamp(18px,3.5vw,45px) 80px}footer{text-align:center;color:#a0aec2;font-size:11px;padding:13px 20px 40px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:17px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:940;text-transform:uppercase;color:#5476dc;letter-spacing:.17em;margin-bottom:9px}.page-head p{color:var(--muted);font-size:13px;max-width:670px;margin-top:9px}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:white;color:#50657f;padding:11px 16px;border-radius:11px;font-size:12px;font-weight:860;white-space:nowrap}.btn:hover{filter:brightness(.975)}.btn.primary{color:white;background:var(--blue)}.btn.primary:hover{background:var(--blueDark)}.btn.outline{border-color:#dce5f0}.btn.soft{background:#edf2ff;color:#4565ce}.btn.red{border-color:#f2d9e0;background:#fff7f9;color:#b74460}.btn.small{padding:8px 11px;font-size:11px}.btn.block{width:100%}.btn.link{padding:5px 0;background:transparent;color:#5677d7}.surface,.stat,.team-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.surface{padding:23px}.section{margin-top:24px}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:15px}.section-head h2{font-size:18px}.section-head p{font-size:12px;color:var(--muted);margin-top:4px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.wide{grid-template-columns:1.1fr .9fr}.welcome{background:linear-gradient(115deg,#1a2b50,#314b80);color:#fff;border-radius:21px;padding:28px 30px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;overflow:hidden}.welcome:after{content:"";width:300px;height:300px;border:35px solid #ffffff0b;position:absolute;right:-95px;top:-160px;border-radius:50%}.welcome>*{position:relative;z-index:1}.welcome small{font-size:10px;letter-spacing:.15em;color:#b3c6fd;font-weight:900}.welcome h2{font-size:25px;color:#fff;margin:8px 0}.welcome p{font-size:13px;color:#c1d2ec}.welcome .btn{color:#294d7c}.stat{padding:20px;display:grid;gap:5px}.stat-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:11px;background:#eef2ff;color:#6680e7;font-size:20px;margin-bottom:10px}.stat b{font-size:28px;letter-spacing:-.055em;line-height:1.15;font-variant-numeric:tabular-nums}.stat label{font-size:12px;color:#7d8eaa;font-weight:750}.stat small{font-size:10px;color:#a3b1c5}.rank-row{display:grid;grid-template-columns:31px 45px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eef2f7}.rank-row:last-child{border:0}.rank-pos{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f1f4f9;color:#6c809c;font-size:12px;font-weight:900}.rank-row:first-child .rank-pos{background:#fff3da;color:#ba862d}.team-avatar{width:45px;height:45px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:var(--team-color,#597bea);color:white;font-size:21px;font-weight:900}.team-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}.team-info{min-width:0}.team-info strong{font-size:13px;display:block;overflow-wrap:anywhere}.team-info small{color:#9babc0;font-size:11px;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-total{font-size:18px;font-weight:930;letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}.bar{background:#eff3f8;height:6px;border-radius:100px;overflow:hidden;margin-top:8px}.bar span{display:block;height:100%;background:var(--bar-color);border-radius:100px}.activity,.event-list-row{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid #eef2f7}.activity:last-child,.event-list-row:last-child{border:0}.item-icon{width:34px;height:34px;border-radius:10px;background:#eff3ff;color:#5675d5;display:grid;place-items:center;flex-shrink:0;font-size:16px}.item-desc{flex:1;min-width:0}.item-desc b{font-size:12px;display:block}.item-desc p{font-size:11px;color:#91a3b9;margin-top:3px;line-height:1.5}.delta{font-weight:900;font-size:13px;white-space:nowrap}.plus{color:#14a077}.minus{color:#cb4b69}.empty{display:grid;justify-items:center;gap:10px;padding:26px 12px;text-align:center}.empty .empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#708ae0;background:#eff2ff;font-size:24px}.empty b{font-size:13px}.empty p{font-size:12px;color:#90a0b7;max-width:280px}.notice{background:#f0f5ff;border:1px solid #d3e1fa;color:#4e6f9b;border-radius:13px;padding:15px;font-size:12px;line-height:1.6}.notice strong{color:#36577e}.notice.warn{background:#fff6e9;border-color:#f3dfb8;color:#8b652c}.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:100px;font-size:10px;font-weight:850;background:#f1f4f9;color:#7387a2;white-space:nowrap}.tag.blue{background:#edf2ff;color:#4f70c9}.tag.gold{background:#fff2dc;color:#af792b}.tag.green{background:#eaf8f0;color:#1c936b}.tag.pink{background:#fff0f4;color:#bc637b}.tag.navy{background:#eaf0f6;color:#536985}.team-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.team-card{overflow:hidden}.team-cover{height:122px;background:linear-gradient(115deg,var(--team),var(--accent));padding:17px;display:flex;justify-content:space-between;align-items:center;color:#fff;overflow:hidden}.team-cover .team-avatar{width:85px;height:85px;border-radius:20px;font-size:40px;background:#ffffff22;border:1px solid #ffffff44;z-index:1}.team-cover .team-avatar img{background:#fff}.team-card-body{padding:20px}.team-card h3{font-size:20px}.team-card p{color:#94a3b6;font-size:12px;min-height:37px;margin:6px 0 12px}.divider{height:1px;background:var(--line);margin:15px 0}.field label{display:block;color:#6c7f99;font-size:11px;font-weight:850;margin-bottom:6px}.input{width:100%;min-width:0;padding:11px 12px;border:1px solid #d7e1ec;border-radius:10px;color:#293d5b;background:#fff;font-size:13px}.input:focus{border-color:#6483e6;box-shadow:0 0 0 3px #6e8bf31c}.input::placeholder{color:#abb9ca}textarea.input{min-height:103px;line-height:1.55;resize:vertical}.field small{display:block;color:#a0afc0;font-size:11px;margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.form-stack{display:grid;gap:13px}.team-select{display:flex;gap:8px;flex-wrap:wrap}.team-option{display:flex;align-items:center;gap:7px;padding:9px 12px;background:#fff;border:1px solid #dbe3ee;border-radius:10px;color:#4d617d;font-size:12px;font-weight:820}.team-option.selected{border-color:#6987ef;background:#eef2ff;color:#445ec2}.team-dot{width:11px;height:11px;border-radius:50%}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.quick-button{padding:17px 5px;background:#f1f4ff;color:#395aca;border:1px solid #d4dfff;border-radius:10px;font-weight:950;font-size:19px}.quick-button:hover{background:#e7edff}.controls{display:flex;gap:9px;flex-wrap:wrap}.table-scroll{overflow:auto;border:1px solid #e3e9f2;border-radius:12px}.table{border-collapse:collapse;min-width:650px;width:100%}.table th{text-align:left;padding:13px 14px;background:#f9fafd;font-size:10px;letter-spacing:.08em;color:#96a7ba;text-transform:uppercase}.table td{border-top:1px solid #ecf0f6;padding:14px;font-size:12px;color:#6f8097}.table td b{color:#334965}.table .right{text-align:right;white-space:nowrap}.table .team-inline{display:flex;align-items:center;gap:8px}.table .small-photo{height:25px;width:25px;overflow:hidden;border-radius:7px;background:var(--team-color);display:grid;place-items:center;color:white}.table .small-photo img{width:100%;height:100%;object-fit:contain;background:white}.filter-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.filter-row .field{flex:1;min-width:175px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.board-col{min-height:230px;background:#eef2f7;border-radius:17px;border:1px solid #e3eaf3;padding:12px}.board-label{padding:4px 3px 12px;display:flex;justify-content:space-between;align-items:center;gap:6px;color:#50627c;font-weight:870;font-size:12px}.board-label span{background:#dde6f0;border-radius:100px;padding:2px 8px;font-size:10px}.idea-card{background:white;border:1px solid #e0e7f1;border-radius:13px;padding:14px;margin-bottom:9px;display:grid;gap:10px}.idea-card h3{font-size:13px}.idea-card p{font-size:11px;color:#8b9ab0;overflow-wrap:anywhere}.idea-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px}.idea-bottom select{max-width:125px;border:1px solid #e4eaf2;background:#f8fafd;color:#60748e;padding:5px;border-radius:7px;font-size:10px}.no-idea{font-size:11px;color:#9eafc1;border:1px dashed #cfd9e7;border-radius:10px;text-align:center;padding:20px 5px}.calendar-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:17px}.calendar-heading h3{font-size:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week-day{text-align:center;font-size:10px;font-weight:850;color:#a2b0c1;padding:7px 0}.calendar-day{min-height:73px;text-align:left;border:1px solid #e8edf5;border-radius:9px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:7px;color:#637791}.calendar-day.selected{border-color:#7f9bf1;background:#edf2ff}.calendar-day.today{box-shadow:inset 0 0 0 2px #5f7be0}.calendar-day.faded{opacity:.35}.calendar-day b{font-size:12px}.calendar-day span{display:flex;gap:4px;flex-wrap:wrap}.calendar-day i{height:6px;width:6px;background:#728eee;border-radius:50%}.day-event{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid #eef2f8}.day-event:last-child{border:0}.day-event time{color:#6280df;font-weight:900;font-size:11px;min-width:43px}.day-event b{display:block;font-size:12px}.day-event small{color:#96a6ba;font-size:11px}.date-block{width:46px;min-width:46px;min-height:45px;border-radius:10px;background:#f0f3ff;color:#5975c8;display:grid;place-items:center;align-content:center}.date-block strong{font-size:18px;line-height:1}.date-block small{font-size:10px;font-weight:800}.settings-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between}.settings-row:last-child{border:0}.settings-row b{font-size:12px;display:block}.settings-row p{font-size:11px;color:#8f9fb4;margin-top:4px}.color-palette{display:flex;gap:7px;flex-wrap:wrap}.swatch{border:2px solid #fff;box-shadow:0 0 0 1px #d5deea;width:28px;height:28px;border-radius:100%;display:grid;place-items:center;color:#fff}.swatch.active{box-shadow:0 0 0 2px #385ca6}.photo-upload{display:flex;gap:12px;align-items:center;border:1px dashed #c5d5ea;background:#f8faff;padding:12px;border-radius:13px}.photo-upload .team-avatar{width:76px;height:76px;flex-shrink:0}.photo-upload .photo-info{min-width:0}.photo-upload b{display:block;font-size:12px}.photo-upload p{font-size:11px;color:#8b9bb1;margin:4px 0}.photo-upload .upload-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-label{cursor:pointer}.file-label input{display:none}.modal{border:none;border-radius:20px;padding:0;width:min(520px,calc(100vw - 28px));max-height:min(87dvh,850px);overflow:auto;box-shadow:0 30px 120px #08162b55}.modal::backdrop{background:#0e1b30ad;backdrop-filter:blur(3px)}.modal-inner{padding:27px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:21px}.modal-header h2{font-size:23px}.modal-header p{font-size:12px;color:#8e9db3;margin-top:5px}.modal-close{width:30px;height:30px;border-radius:9px;border:0;background:#f0f3f9;color:#8596af;font-size:21px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:7px}.modal-form{display:grid;gap:15px}.modal-preview{width:76px;height:76px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e2eaf3;display:grid;place-items:center}.modal-preview img{max-width:100%;max-height:100%;object-fit:contain}#toast{position:fixed;right:20px;bottom:24px;padding:14px 16px;color:#fff;background:#1b2a43;border-radius:11px;z-index:100;display:flex;gap:12px;align-items:center;box-shadow:0 18px 55px #10203b5a;max-width:min(460px,calc(100vw - 30px));font-size:12px;font-weight:790}#toast.error{background:#a6405d}#toast button{border:0;background:#ffffff2b;color:#fff;padding:5px 8px;border-radius:7px;font-weight:900}#telon{position:fixed;inset:0;z-index:90;background:#101a30;color:#fff;padding:45px max(24px,7vw);overflow:auto}#telon h1{text-align:center;color:#fff;font-size:clamp(40px,6vw,72px);margin-bottom:30px}#telon .rank-row{border-color:#2c3c55;padding:25px 0;grid-template-columns:65px 75px 1fr auto}#telon .rank-pos{height:60px;width:60px;font-size:24px;background:#243955;color:#fff}#telon .team-avatar{width:70px;height:70px;font-size:35px}#telon .team-info strong{color:#fff;font-size:clamp(21px,3vw,45px)}#telon .rank-total{font-size:clamp(22px,3vw,45px);color:#fff}#telon .team-info small{color:#bacbe0}#telon .bar{background:#243451;height:10px}#telon .btn{position:fixed;right:22px;top:22px}.mobile-nav{display:none}
@media(max-width:1150px){.sidebar{width:215px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{display:none}.main-content{padding-bottom:114px}.mobile-logo{display:grid;width:36px;height:36px;font-size:21px}.topbar-config{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -10px 35px #1a2a4412}.mobile-nav button{display:grid;justify-items:center;gap:1px;border:0;background:none;border-radius:9px;padding:8px 0;color:#95a4b8;font-size:10px;font-weight:850}.mobile-nav button span{font-size:20px;line-height:1.1}.mobile-nav button.active{color:#5876e0;background:#edf2ff}footer{padding-bottom:105px}}
@media(max-width:720px){.topbar{min-height:66px;padding:0 15px}.main-content{padding:23px 15px 120px}.page-head{display:block}.page-head .actions{margin-top:17px}.grid.two,.grid.three,.grid.wide,.team-cards,.calendar-wrap{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px}.stat b{font-size:24px}.stat-icon{margin-bottom:6px}.welcome{display:block;padding:25px}.welcome .actions{margin-top:17px}.surface{padding:19px}.board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.board-col{padding:9px;min-height:180px}.idea-card{padding:11px}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-button{padding:14px 8px}.calendar-day{min-height:59px;padding:7px 5px}.calendar-grid{gap:4px}.modal-inner{padding:21px}#toast{bottom:calc(85px + env(safe-area-inset-bottom));right:10px}#telon{padding:55px 16px}#telon .rank-row{grid-template-columns:30px 42px 1fr auto;gap:8px;padding:16px 0}#telon .rank-pos{height:30px;width:30px;font-size:13px}#telon .team-avatar{height:42px;width:42px;font-size:20px}#telon .team-info strong,#telon .rank-total{font-size:clamp(15px,4vw,24px)}#telon .team-info small{font-size:10px}#telon h1{font-size:40px}}
@media(max-width:380px){.board{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.rank-row{grid-template-columns:27px 37px minmax(0,1fr) auto;gap:7px}.team-avatar{height:37px;width:37px}.rank-total{font-size:14px}.photo-upload{align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}}
@media print{.sidebar,.topbar,.mobile-nav,footer,.btn,.actions{display:none!important}.main-content{padding:0}body{background:white}.surface{box-shadow:none}}

/* Hostinger MySQL — autenticação e status */
[hidden]{display:none!important}
.auth-gate{position:fixed;inset:0;z-index:150;background:radial-gradient(circle at 20% 10%,#d8e4ff 0,transparent 30%),#f4f7fc;display:grid;place-items:center;padding:20px;overflow-y:auto}
.auth-card{width:min(450px,100%);border:1px solid #dae4f2;background:white;border-radius:24px;padding:34px;box-shadow:0 24px 85px #172e5424;color:#1d2f4d}
.auth-logo{display:grid;place-items:center;background:linear-gradient(135deg,#5276eb,#3044a1);color:white;font-size:27px;font-weight:950;height:54px;width:54px;border-radius:16px;margin-bottom:19px}
.auth-overline{font-size:10px;color:#5579db;font-weight:900;letter-spacing:.15em;margin-bottom:7px}
.auth-card h1{font-size:29px;margin:0 0 10px}
.auth-card p{font-size:13px;color:#788aa3;margin:0 0 20px}
.auth-form{display:grid;gap:9px}
.auth-form label{font-size:12px;color:#526b8c;font-weight:800;margin-top:9px}
.auth-form input{display:block;width:100%;padding:13px 14px;border-radius:10px;border:1px solid #cfdbeb;outline:none;color:#243c61;font:inherit}
.auth-form input:focus{border-color:#7394ef;box-shadow:0 0 0 3px #577dec20}
.auth-submit{border:0;border-radius:11px;background:#5574e8;color:white;padding:14px;margin-top:15px;font-size:13px;font-weight:880}
.auth-message{font-size:12px;margin-top:13px;color:#667f9e;min-height:20px}
.auth-message.error{color:#b34054}
.auth-install{display:block;margin-top:18px;color:#5775cb;font-weight:750;font-size:12px;text-decoration:none}
.save-label.error{color:#b04460}.save-label.saving{color:#7c67b5}
@media(max-width:600px){.auth-card{padding:25px}.auth-card h1{font-size:26px}}
