:root{color:#252525;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}.app-shell{color:#1d1b16;background:#f5f2e8;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.login-page{background:linear-gradient(135deg,#f5c40029,#0000 42%),#14120d;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #f5c400;border-radius:8px;gap:20px;width:min(440px,100%);padding:28px;display:grid;box-shadow:0 24px 80px #0000003d}.login-panel img{justify-self:center;width:min(300px,100%);height:auto;display:block}.login-panel h1{margin-bottom:6px;font-size:30px}.login-panel span{color:#655f58}.login-field{color:#1d1b16;gap:8px;font-weight:800;display:grid}.login-field select{color:#1d1b16;height:44px;font:inherit;background:#fbfaf7;border:1px solid #d7c46b;border-radius:8px;padding:0 12px}.login-button,.logout-button{font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:900}.login-button{color:#14120d;background:#f5c400;height:46px}.sidebar{background:#12110f;border-right:1px solid #2a261c;flex-direction:column;gap:28px;padding:24px 18px;display:flex}.brand{border-bottom:1px solid #2a261c;justify-content:center;align-items:center;min-height:88px;padding-bottom:18px;display:flex}.brand img{background:#fff;border-radius:8px;width:min(190px,100%);height:auto;padding:8px;display:block}.nav-list{gap:6px;display:grid}.nav-label{color:#f5c400;letter-spacing:0;text-transform:uppercase;margin:12px 10px 2px;font-size:11px;font-weight:900}.nav-item{color:#e8e1ce;height:42px;font-weight:650;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:0 12px;text-decoration:none;display:flex}.nav-item.active,.nav-item:hover{color:#14120d;background:#f5c400}.main-content{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:#8b6f00;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2{letter-spacing:0;color:#1f1e1c;margin:0}h1{font-size:34px;line-height:1.12}h2{font-size:20px}.topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.profile-pill{color:#f5c400;background:#14120d;border-radius:8px;align-items:center;min-height:30px;margin-top:10px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.logout-button{color:#f5c400;background:#14120d;height:42px;padding:0 14px}.search-box{color:#746d66;background:#fff;border:1px solid #d7c46b;border-radius:8px;align-items:center;gap:8px;width:min(360px,42vw);min-width:220px;height:42px;padding:0 12px;display:flex}.search-box input{width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.status{white-space:nowrap;border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 12px;font-weight:750;display:inline-flex}.status.connected{color:#14120d;background:#f5c400}.status.checking{color:#715114;background:#f6e8c6}.status.offline{color:#8b3f47;background:#f5d9dc}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card{background:#fff;border:1px solid #e0d8cf;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:112px;padding:16px;display:flex}.personal-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:14px;margin-bottom:18px;display:grid}.personal-panel{color:#fff;background:#14120d;border:1px solid #2a261c;border-radius:8px;min-height:120px;padding:18px}.brand-panel{align-items:center;gap:18px;display:flex}.brand-panel img{background:#fff;border-radius:8px;flex:none;width:min(210px,34%);height:auto;padding:8px}.personal-panel .eyebrow{color:#f5c400}.personal-panel h2{color:#fff;margin-bottom:8px;font-size:24px}.personal-panel span{color:#e8e1ce}.metric-card span{color:#6a625b;font-weight:700}.metric-card strong{color:#1f1e1c;font-size:32px;line-height:1}.metric-card.yellow{border-top:4px solid #f5c400}.metric-card.black{border-top:4px solid #14120d}.content-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;display:grid}.panel{background:#fff;border:1px solid #e0d8cf;border-radius:8px;min-width:0;padding:18px}.panel.wide,.admin-actions{grid-column:1/-1}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-form{border-top:1px solid #e0d8cf;gap:12px;margin-top:16px;padding-top:16px;display:grid}.admin-form h3{margin:0;font-size:17px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{color:#4f4a45;gap:6px;font-size:13px;font-weight:800;display:grid}.form-grid input,.form-grid select,.form-grid textarea{color:#1d1b16;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d8d0c7;border-radius:8px;padding:0 10px}.form-grid input,.form-grid select{min-height:40px}.form-grid textarea{resize:vertical;min-height:96px;padding:10px}.span-2{grid-column:1/-1}.form-button{color:#14120d;cursor:pointer;min-height:40px;font:inherit;background:#f5c400;border:0;border-radius:8px;justify-self:start;padding:0 14px;font-weight:900}.form-button.secondary{color:#f5c400;background:#14120d}.form-button.danger{color:#fff;background:#7f1d1d}.form-button:disabled{cursor:not-allowed;opacity:.48}.course-action-row{flex-wrap:wrap;gap:10px;display:flex}.course-action-row .form-button{flex:0 auto}.form-message{color:#5c4900;background:#fff6cc;border-radius:8px;padding:10px 12px;font-weight:800}.children-editor{border-top:1px solid #e0d8cf;gap:12px;margin-top:4px;padding-top:16px;display:grid}.panel-header.compact{margin-bottom:0}.children-list{gap:8px;display:grid}.child-row{background:#fbfaf7;border:1px solid #e0d8cf;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 10px;display:flex}.child-row button{color:#f5c400;cursor:pointer;font:inherit;background:#14120d;border:0;border-radius:8px;min-height:32px;padding:0 10px;font-weight:800}.table-preview{background:#e8dfd5;border-radius:8px;gap:1px;display:grid;overflow:hidden}.table-row{background:#fff;grid-template-columns:1.4fr 1fr .8fr;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:grid}.table-head{color:#746d66;background:#fbfaf7;min-height:38px;font-weight:800}.timeline{gap:12px;display:grid}.timeline div{border-left:4px solid #f5c400;padding-left:12px}.timeline strong,.timeline span{display:block}.timeline span{color:#655f58;margin-top:4px}.course-list{gap:10px;display:grid}.course-item{background:#fbfaf7;border:1px solid #e0d8cf;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:74px;padding:12px;display:flex}.course-item strong,.course-item span{display:block}.course-item span{color:#655f58;margin-top:3px}.course-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.course-meta span{white-space:nowrap;margin:0}.status-badge{border-radius:8px;align-items:center;min-height:28px;padding:0 9px;font-size:13px;font-weight:800;display:inline-flex}.status-badge.PRELUDIO{color:#14120d;background:#f5c400}.status-badge.EM_ANDAMENTO{color:#f5c400;background:#14120d}.status-badge.ENCERRADO{color:#56514c;background:#e6e2dc}.group-board{flex-wrap:wrap;gap:10px;display:flex}.group-chip{color:#292724;height:38px;font:inherit;background:#fbfaf7;border:1px solid #d8d0c7;border-radius:8px;padding:0 14px;font-weight:750}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:2;border-bottom:1px solid #2a261c;border-right:0;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 12px;display:grid;position:sticky;top:0}.brand{border-bottom:0;min-height:0;padding:0}.brand img{width:104px;padding:5px}.nav-list{overscroll-behavior-x:contain;scrollbar-width:thin;align-items:center;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.nav-label{display:none}.nav-item{white-space:nowrap;flex:none;width:auto;min-width:max-content;height:38px;padding:0 10px}.main-content{padding:18px}.topbar{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}.topbar-actions{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.search-box{width:100%;min-width:0}.metric-grid,.content-grid,.personal-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media (width<=620px){.login-page{padding:14px}.login-panel{padding:20px}.login-panel img{width:min(240px,100%)}.app-shell{min-height:100svh}.sidebar{grid-template-columns:1fr;gap:8px;padding:10px;position:static}.brand{justify-content:flex-start}.brand img{width:86px}.nav-list{margin:0 -2px;padding-bottom:4px}.nav-item{gap:7px;height:36px;padding:0 9px;font-size:13px}.main-content{padding:14px}h1{font-size:25px}h2{font-size:18px}.topbar-actions{grid-template-columns:1fr 1fr}.search-box{grid-column:1/-1}.status,.logout-button{justify-content:center;width:100%}.profile-pill{max-width:100%}.panel,.personal-panel,.metric-card{padding:14px}.metric-card{min-height:92px}.metric-card strong{font-size:28px}.panel-header{align-items:flex-start}.panel-header svg{flex:none}.table-row{grid-template-columns:1fr;gap:4px;padding:12px}.table-head{display:none}.course-item{flex-direction:column;align-items:flex-start}.course-meta{justify-content:flex-start}.brand-panel{flex-direction:column;align-items:flex-start;gap:12px}.brand-panel img{width:min(180px,100%)}.form-grid{gap:10px}.form-grid label{font-size:12px}.form-button{justify-content:center;width:100%}.course-action-row{grid-template-columns:1fr;display:grid}.child-row{flex-direction:column;align-items:stretch}.child-row button{width:100%}.group-chip{flex:140px}}.couple-detail-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:20px;display:grid}.couple-detail-section h3{color:#1f1e1c;margin:0 0 10px;font-size:15px}.detail-list{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}.detail-list dt{color:#746d66;white-space:nowrap;font-weight:800}.detail-list dd{color:#1d1b16;word-break:break-word;margin:0}.table-head-4{color:#746d66;background:#fbfaf7;grid-template-columns:.5fr 1.2fr 1fr 1fr;min-height:38px;font-weight:800}.table-row-4{grid-template-columns:.5fr 1.2fr 1fr 1fr}.table-row-btn{cursor:pointer;text-align:left;width:100%;font:inherit;background:#fff;border:0}.table-row-btn:hover{background:#fbfaf7}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:8px;display:grid}.group-card{background:#fbfaf7;border:1px solid #e0d8cf;border-radius:8px;padding:12px}.group-card strong{margin-bottom:4px;display:block}.search-input{color:#1d1b16;min-width:200px;height:40px;font:inherit;background:#fff;border:1px solid #d8d0c7;border-radius:8px;flex:200px;padding:0 12px}.filter-select{color:#1d1b16;height:40px;font:inherit;background:#fff;border:1px solid #d8d0c7;border-radius:8px;padding:0 10px}.pagination{color:#655f58;justify-content:center;align-items:center;gap:14px;margin-top:16px;font-size:14px;display:flex}.sponsor-options{background:#fff;border:1px solid #e0d8cf;border-radius:8px;gap:4px;max-height:220px;padding:4px;display:grid;overflow-y:auto}.sponsor-option{text-align:left;font:inherit;cursor:pointer;color:#1d1b16;background:0 0;border:0;border-radius:6px;padding:8px 10px}.sponsor-option:hover{background:#f5f2e8}.selected-sponsor{color:#5c4900;background:#fff6cc;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.selected-sponsor button{color:#f5c400;font:inherit;cursor:pointer;background:#14120d;border:0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:800}.birthday-sections{gap:28px;display:grid}.birthday-section h3{margin:0 0 10px;font-size:17px}.course-item-clickable{cursor:pointer}.course-item-clickable:hover{background:#fffae8;border-color:#f5c400}.child-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=380px){.main-content{padding:10px}.topbar-actions{grid-template-columns:1fr}.nav-item{font-size:12px}}
