:root{--glass:hsla(0,0%,100%,.55);--glass-strong:hsla(0,0%,100%,.78);--edge:hsla(0,0%,100%,.65);--line:rgba(20,40,70,.1);--ink:#14202e;--muted:#5b6878;--accent:#1f5fbf;--accent-2:#3a86ff;--shadow:0 8px 30px rgba(20,40,80,.12),0 1px 2px rgba(20,40,80,.06);--r:18px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:var(--ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 700px at 8% -10%,#cfe2ff 0,transparent 60%),radial-gradient(900px 600px at 100% 0,#e6dcff 0,transparent 55%),radial-gradient(900px 700px at 50% 110%,#d4f3ea 0,transparent 60%),#eef2f8;background-attachment:fixed}.alert,.card,.day,.legend,.painel,.tabs select,header,table{background:var(--glass-strong)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.card,.day,.legend,.painel,header,table{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%)}.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}header{position:-webkit-sticky;position:sticky;top:10px;z-index:5;margin:10px 14px 0;padding:10px 18px;border-radius:999px;display:flex;align-items:center;gap:12px;border:1px solid var(--edge);box-shadow:var(--shadow)}header h1{font-size:17px;font-weight:650;letter-spacing:-.01em;margin:0;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header .muted{color:var(--muted)!important}button,input,select,textarea{font:inherit;color:var(--ink);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.7);outline:none;transition:background .2s,box-shadow .2s,transform .15s}textarea{border-radius:14px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(58,134,255,.22);border-color:var(--accent-2)}button{cursor:pointer;font-weight:550;box-shadow:0 1px 2px rgba(20,40,80,.06)}button:hover{background:hsla(0,0%,100%,.95)}button:active{transform:scale(.97)}button.on{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(31,95,191,.35)}button:disabled{opacity:.45;cursor:default}.wrap{padding:16px 14px 40px;max-width:1280px;margin:0 auto}.tabs{gap:8px;margin-bottom:14px;align-items:center}.legend,.tabs{display:flex;flex-wrap:wrap}.legend{gap:14px;font-size:12.5px;margin:6px 0 14px;padding:10px 14px;border-radius:var(--r);border:1px solid var(--edge)}.legend span i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px;box-shadow:0 0 0 2px hsla(0,0%,100%,.8)}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.dow{font-size:11.5px;font-weight:650;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.06em}.day{border-radius:16px;min-height:112px;padding:8px;font-size:12px;border:1px solid var(--edge);box-shadow:0 2px 10px rgba(20,40,80,.05);transition:transform .2s,box-shadow .2s}.day:hover{box-shadow:0 8px 22px rgba(20,40,80,.1)}.day.out{opacity:.45}.day b{display:block;margin-bottom:6px;font-weight:650}.day.fds{background:rgba(228,233,240,.82)}.day.feriado{background:rgba(206,211,219,.82);border-color:hsla(0,0%,100%,.45)}.day.feriado b{color:var(--muted)}.day.passado{background:rgba(196,203,213,.72);border-color:hsla(0,0%,100%,.4)}.day.passado b{color:var(--muted)}.day.hoje{border-color:#0a6ed1;box-shadow:0 0 0 2px #0a6ed1,0 8px 22px rgba(10,110,209,.25)}.day.hoje b{background:#0a6ed1;color:#fff;margin:-8px -8px 6px;padding:4px 8px;border-radius:15px 15px 0 0}.ev{color:#fff;border-radius:10px;padding:3px 8px;margin-bottom:4px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;word-break:normal;font-weight:550;text-shadow:0 1px 1px rgba(0,0,0,.25);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .15s,filter .15s;animation:pop .25s ease-out}.ev:hover{transform:translateY(-1px);filter:brightness(1.06)}.ev.cancelado{text-decoration:line-through}.week .day{min-height:340px}table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--edge);box-shadow:var(--shadow)}td,th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}th{font-weight:650;color:var(--muted);background:hsla(0,0%,100%,.35)}tbody tr{transition:background .15s}tbody tr:hover{background:hsla(0,0%,100%,.6)}.pill{color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.2)}.late{color:#c0392b;font-weight:650}.modal{position:fixed;inset:0;z-index:20;background:rgba(15,25,45,.28);display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .2s ease-out}.card{border-radius:26px;padding:24px;width:560px;max-width:100%;max-height:90vh;overflow:auto;border:1px solid var(--edge);box-shadow:0 24px 60px rgba(20,40,80,.22);animation:rise .28s cubic-bezier(.2,.8,.2,1)}.card h2{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.015em}.kv{font-size:13.5px;margin:8px 0}.kv label{font-weight:550;color:var(--muted)}.kv input,.kv select,.kv textarea{margin-top:4px;color:var(--ink)}.hist{font-size:12px;border-left:3px solid rgba(58,134,255,.35);padding:4px 0 4px 10px;margin:6px 0;border-radius:2px}.alert{border:1px solid rgba(192,57,43,.2);background:hsla(6,83%,95%,.75);border-radius:var(--r);padding:12px 16px;margin-bottom:14px}.muted{color:var(--muted);font-size:12px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:640px){header{margin:8px 8px 0;padding:8px 14px;gap:8px}header h1{font-size:15px}.wrap{padding:12px 8px 32px}.grid{gap:4px}.day{min-height:78px;padding:5px;border-radius:12px;font-size:10.5px}.day.hoje b{margin:-5px -5px 4px;padding:3px 5px;border-radius:11px 11px 0 0}.dow{letter-spacing:0}.dow,.ev{font-size:10px}.ev{padding:2px 5px;border-radius:7px}.tabs{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tabs>*{flex:0 0 auto}button,input,select{padding:7px 12px}.card{padding:18px;border-radius:22px}td,th{padding:8px;font-size:12px}}.modal.login{background:radial-gradient(800px 500px at 20% 10%,#9cc3ff 0,transparent 60%),radial-gradient(700px 500px at 90% 20%,#c9b6ff 0,transparent 60%),radial-gradient(800px 600px at 50% 100%,#9fe3cf 0,transparent 60%),#dfe8f5}.card a{color:var(--accent);text-decoration:none;font-weight:550}.logo{width:26px;height:26px;vertical-align:-6px;margin-right:8px;border-radius:7px;box-shadow:0 2px 6px rgba(80,90,180,.2)}.logo.lg{width:40px;height:40px;vertical-align:-11px;border-radius:10px;margin-right:10px}.card.config{width:100%;max-width:none;max-height:none;overflow:visible;animation:none}.card.config table{width:100%}.card.config .tabs{flex-wrap:wrap}.card.config .tabs input:not([type=number]):not([type=date]){flex:1 1 220px}.wrap.com-painel{max-width:1720px}.split{display:flex;gap:14px;align-items:flex-start}.split>.principal{flex:1 1 auto;min-width:0}.painel{position:-webkit-sticky;position:sticky;top:78px;flex:0 0 400px;max-height:calc(100vh - 92px);overflow:auto;overscroll-behavior:contain;border-radius:22px;padding:20px 20px 16px;border:1px solid var(--edge);box-shadow:var(--shadow);animation:entra .22s ease-out}.painel h2{margin:6px 30px 10px 0;font-size:18px;font-weight:700;letter-spacing:-.015em;overflow-wrap:anywhere}.painel a{color:var(--accent);text-decoration:none;font-weight:550}.painel .fechar{position:-webkit-sticky;position:sticky;top:0;float:right;margin:-6px -6px 0 0;width:34px;height:34px;padding:0;border-radius:50%;z-index:1}.ev.sel{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent-2)}@keyframes entra{0%{opacity:0;transform:translateX(12px)}}@keyframes sobe{0%{transform:translateY(100%)}}@media (max-width:767.98px){.split{display:block}.painel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:15;max-height:62vh;border-radius:22px 22px 0 0;padding:18px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(20,40,80,.22);animation:sobe .25s cubic-bezier(.2,.8,.2,1)}.painel:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:rgba(20,40,70,.22);margin:-8px auto 10px}.wrap.com-painel{padding-bottom:64vh}}.badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#c0392b;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.card.pendencias{position:relative;width:100%;max-width:none;max-height:none;overflow:visible;animation:none;box-sizing:border-box;padding:14px 18px;margin-bottom:14px;border-radius:var(--r)}.card.pendencias ul{margin:4px 0 10px;padding-left:18px}.card.pendencias li{margin:2px 0}.card.pendencias .fechar,.chat .fechar{position:absolute;top:8px;right:8px;width:30px;height:30px;padding:0;border-radius:50%}.chat{position:fixed;top:78px;right:14px;bottom:14px;z-index:16;width:360px;max-width:calc(100vw - 28px);display:flex;flex-direction:column;gap:8px;overflow:auto;padding:16px;border-radius:22px;border:1px solid var(--edge);box-shadow:var(--shadow);background:var(--glass-strong)}.chat ul{margin:4px 0 12px;padding-left:0;list-style:none}.chat li{margin:4px 0;display:flex;align-items:center;gap:4px}.chat a{color:var(--accent);text-decoration:none;font-weight:550}.chat .msgs{flex:1 1;overflow:auto;display:flex;flex-direction:column;gap:6px;min-height:120px}.chat .msg{align-self:flex-start;max-width:85%;padding:6px 10px;border-radius:14px;background:rgba(0,0,0,.06);overflow-wrap:anywhere}.chat .msg.minha{align-self:flex-end;background:rgba(41,128,185,.16)}@media (max-width:640px){.chat{top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:75vh;border-radius:22px 22px 0 0}}.titulo-periodo{font-size:16px;font-weight:650;min-width:220px}.rolagem{position:relative;height:max(440px,calc(100vh - 250px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 4px 8px;border-radius:var(--r);-webkit-overflow-scrolling:touch;scroll-snap-type:none}.rolagem .dow-fixo{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;padding:8px 0 6px;margin-bottom:6px;background:rgba(238,242,248,.94);border-bottom:1px solid var(--line)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.rolagem .dow-fixo{background:rgba(238,242,248,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.rolagem .semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:8px}.day b.mes1{color:var(--accent);text-transform:none}.day.hoje b.mes1{color:#fff}.day.selecionado{outline:3px solid rgba(58,134,255,.6);outline-offset:1px}.day{cursor:default}.alert.aviso-antecipa{border-color:rgba(31,95,191,.25);background:rgba(225,236,255,.85);display:flex;align-items:center;gap:10px}.alert.aviso-antecipa .fechar-aviso{margin-left:auto;width:30px;height:30px;padding:0;border-radius:50%}.aviso-campo{margin:2px 0 8px;font-size:12.5px;color:#8a5a00;font-weight:600}@media (max-width:640px){.rolagem{height:max(380px,calc(100vh - 210px));padding:0 0 8px}.rolagem .dow-fixo,.rolagem .semana{gap:4px}.rolagem .semana{margin-bottom:4px}.titulo-periodo{min-width:0;font-size:14px}}.selo-mk{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:0 4px;margin-right:4px;border-radius:4px;background:#111;color:#fff;border:1px solid hsla(0,0%,100%,.6);vertical-align:1px}.ev.periodo{border-left:4px solid hsla(0,0%,100%,.75)}.ev.presencial{border:2.5px solid #e00000;box-shadow:0 0 0 1px #fff,inset 0 1px 0 hsla(0,0%,100%,.35),0 2px 6px rgba(0,0,0,.12)}.leg-presencial{display:inline-block;border:2.5px solid #e00000;border-radius:6px;padding:0 5px;font-weight:600}.hist.destaque{border-left-color:#c0392b;background:#fff6e0;padding-left:8px}.hist ul.mudancas{margin:2px 0 0;padding-left:18px}.hist ul.mudancas li{margin:1px 0}.hist ul.mudancas li.destaque{color:#8a2a1f}.combo{position:relative}.combo input{margin-top:4px}.combo-lista{position:absolute;left:0;right:0;z-index:40;margin:4px 0 0;padding:4px;list-style:none;max-height:min(260px,45vh);overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(20,40,80,.18)}.combo-lista li{padding:9px 12px;border-radius:10px;cursor:pointer;color:var(--ink);font-weight:500}.combo-lista li[aria-selected=true]{background:rgba(58,134,255,.16)}.combo-lista li.escolhido{font-weight:650}.combo-lista li.vazio{cursor:default;color:var(--muted)}.nova-versao{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:flex;gap:12px;align-items:center;padding:10px 12px 10px 18px;border-radius:999px;background:#14202e;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:calc(100vw - 24px)}.nova-versao button{padding:6px 14px}