:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1e293b;background:#f5f7fb;font-size:16px;font-synthesis:none;--primary:#4f46e5;--line:#e5e9f1}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #818cf8;outline-offset:3px}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:#111b31;color:#fff;padding:31px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:30px;font-weight:700;letter-spacing:-1px;flex-wrap:wrap}.brand span{font-size:10px;letter-spacing:2px;color:#a8b6d1;width:100%;padding-left:44px;margin-top:-9px}.nav-label{font-size:11px;letter-spacing:1.7px;color:#8494b2;margin:54px 10px 16px}.nav-current{display:flex;gap:11px;align-items:center;font-size:14px;padding:14px 10px;background:#293456;border:1px solid #3b466b;border-radius:9px;color:#eeeefe}.nav-current span{font-size:23px}.sidebar-note{margin-top:auto;border-top:1px solid #2c374d;padding:25px 9px;color:#b0bdd4;font-size:14px;line-height:1.6}.sidebar-note strong{display:block;color:#eef1f7;font-weight:500}.note-icon{color:#9eabff;font-size:29px;margin-bottom:13px}.sidebar-foot{font-size:12px;color:#91a1bc;display:flex;justify-content:space-between;border-top:1px solid #2c374d;padding-top:22px}.shell{margin-left:226px}.topbar{height:76px;padding:0 36px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#64748b}.topbar strong{font-weight:500;color:#334155}.crumb{margin:0 14px;color:#c5cbd5}.topbar a{display:flex;gap:16px;align-items:center}.topbar a:hover{color:var(--primary)}main{padding:35px 36px;max-width:2000px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#687897}h1{font-size:30px;line-height:1.25;letter-spacing:-.8px;margin:10px 0}p{color:#64748b;line-height:1.5}.page-title p{font-size:14px;margin:0}.refresh{display:flex;align-items:center;gap:10px;background:white;border:1px solid #dce1eb;border-radius:8px;padding:10px 16px;font-size:14px;color:#334155}.refresh span{font-size:23px;line-height:1}.refresh:hover{background:#eef2ff}.refresh:disabled{opacity:.6;cursor:wait}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:27px 0 23px}.metric{border:1px solid var(--line);border-radius:10px;padding:17px 20px;background:#fff;display:flex;justify-content:space-between;align-items:center}.metric-label{color:#64748b;font-size:14px}.metric strong{display:block;font-size:29px;font-weight:650;letter-spacing:-.8px;margin:5px 0 0}.metric-icon{height:42px;width:42px;background:#f1f2ff;color:#6762df;border-radius:10px;display:grid;place-items:center;font-size:23px}.filters{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 21px;margin-bottom:27px}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:14px}.text-button{border:0;background:none;color:#6366d5;font-size:14px;padding:0}.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.filter-grid label{font-size:14px;color:#64748b;display:flex;flex-direction:column;gap:8px}select{min-width:0;width:100%;border:1px solid #dce2ec;border-radius:7px;padding:10px 30px 10px 10px;font-size:14px;color:#334155;background:white}.schedule-toolbar{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:19px}h2{font-size:19px;letter-spacing:-.3px;margin:0}.schedule-toolbar p{margin:5px 0 0;font-size:13px}.tools{display:flex;gap:12px;align-items:center}.search{display:flex;align-items:center;background:white;border:1px solid #dce2ec;border-radius:8px;padding:0 10px;gap:9px}.search span{font-size:25px;color:#94a3b8}.search input{width:210px;min-width:0;padding:10px 0;border:0;background:transparent;font-size:14px;color:#334155}.view-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#e9edf5}.view-switch button{border:0;border-radius:5px;font-size:14px;color:#64748b;background:none;padding:7px 13px}.view-switch button[aria-pressed=true]{background:#fff;color:#4338ca;box-shadow:0 1px 4px #182c4810}.board{display:grid;grid-template-columns:repeat(var(--days,5),minmax(0,1fr));gap:12px;align-items:start}.day{background:#edf0f6;border:1px solid #e5e9f2;border-radius:10px;overflow:hidden;min-width:0}.day-heading{padding:16px 12px;border-bottom:1px solid #dfe5ef;display:flex;justify-content:space-between;align-items:center;gap:5px;background:#f9faff}.day-heading h3{font-size:14px;font-weight:600;margin:0}.day-count{border-radius:5px;background:#e8eaf4;color:#667085;min-width:23px;text-align:center;padding:3px;font-size:12px}.day-cards{padding:10px;display:flex;flex-direction:column;gap:9px}.event{width:100%;text-align:left;border:1px solid #e2e6ef;border-left:3px solid var(--accent);border-radius:7px;background:white;padding:12px 11px;box-shadow:0 2px 3px #22334b03;transition:box-shadow .15s,transform .15s;color:#334155;overflow-wrap:anywhere}.event:hover{box-shadow:0 5px 15px #26365e15;transform:translateY(-1px)}.event-time{font-size:13px;font-weight:650;color:#536078;margin-bottom:9px;display:block}.activity-name{font-size:14px;line-height:1.4;font-weight:650;color:#202b40;display:block}.audience{display:block;font-size:13px;line-height:1.5;margin:5px 0 11px;color:#718096}.event-tag{display:inline-block;background:var(--tint);color:var(--accent);border-radius:4px;padding:4px 6px;font-size:12px;line-height:1.35}.location{display:block;font-size:12px;color:#718096;line-height:1.4;margin-top:8px}.empty-day{font-size:13px;text-align:center;color:#8792a6;padding:25px 10px;line-height:1.5}.empty{background:white;border:1px dashed #cbd5e1;border-radius:10px;padding:50px 20px;text-align:center;color:#64748b}.empty strong{color:#334155;display:block;margin-bottom:10px}.statusbar{font-size:12px;color:#7a879c;display:flex;justify-content:space-between;gap:20px;padding-top:22px;line-height:1.6}.error-status{color:#a34816!important}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:12px;letter-spacing:.3px;color:#64748b;background:#f9faff;padding:14px 16px;white-space:nowrap}td{padding:14px 16px;border-top:1px solid var(--line);line-height:1.5;vertical-align:top}td small{display:block;color:#64748b;font-size:12px}.table-link{border:0;background:none;color:#4338ca;text-align:left;padding:0;font-size:14px;font-weight:600}dialog{border:1px solid var(--line);border-radius:16px;width:540px;max-width:calc(100vw - 32px);padding:25px;color:#1e293b;box-shadow:0 25px 100px #14223833}dialog::backdrop{background:#101c3890;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{border:0;background:#f1f5f9;border-radius:7px;font-size:26px;width:34px;color:#475569}dialog h2{font-size:26px;margin:23px 0 6px}dialog .detail-time{font-size:17px;color:#4f46e5;margin:20px 0}dl{display:grid;grid-template-columns:130px 1fr;gap:12px 18px;font-size:14px;line-height:1.5;border-top:1px solid var(--line);padding-top:22px}dt{color:#64748b}dd{margin:0}details{margin-top:18px;background:#fffbeb;border:1px solid #fde68a;padding:15px;border-radius:8px;font-size:14px}details li{padding:5px 0}.origin{font-size:12px;color:#94a3b8;margin:20px 0 0}
@media(min-width:1600px){main{padding:40px 50px}.event{padding:15px}.day-heading{padding:18px}.day-cards{padding:12px}}
@media(max-width:1250px){.sidebar{width:190px;padding:30px 16px}.shell{margin-left:190px}main{padding:28px 22px}.topbar{padding:0 22px}.tools{gap:8px}.search input{width:170px}.board{gap:8px}.day-cards{padding:7px}.event{padding:10px 8px}.day-heading{padding:14px 9px}.metric{padding:15px}.metric-icon{display:none}}
@media(max-width:1000px){.sidebar{display:none}.shell{margin:0}.schedule-toolbar{align-items:flex-start;flex-wrap:wrap}.tools{margin-left:auto}.filter-grid{gap:10px}.board{grid-template-columns:repeat(5,minmax(170px,1fr))}#results{overflow-x:auto;padding-bottom:4px}.metrics{gap:10px}}
@media(max-width:600px){main{padding:25px 16px}.topbar{height:61px;padding:0 16px;font-size:12px}.topbar strong{display:none}.crumb{display:none}.page-title{align-items:flex-start}.page-title h1{font-size:25px}.eyebrow{font-size:10px}.page-title p{font-size:13px}.refresh{padding:9px;font-size:12px;gap:5px;flex-shrink:0}.metrics{grid-template-columns:repeat(2,1fr);margin:23px 0 18px}.metric{padding:13px 16px}.metric-label{font-size:13px}.metric strong{font-size:25px}.filters{padding:16px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}.filter-grid label,select{font-size:13px}.tools{width:100%;margin:6px 0 0;justify-content:space-between}.search{flex:1;min-width:0}.search input{width:100%}.board{grid-template-columns:1fr;gap:16px}.day-cards{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.event{padding:12px}.day-heading{padding:15px}.day-heading h3{font-size:16px}.empty-day{grid-column:1/-1;padding:10px}.statusbar{flex-direction:column;gap:8px}dl{grid-template-columns:100px 1fr;gap:10px}.metric-icon{display:grid}.schedule-toolbar{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Grade semanal com escala real de tempo */
.timeline-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:#64748b;margin-bottom:12px;line-height:1.5}.timeline-caption strong{color:#334155;font-size:14px}.timeline-scroll{max-height:690px;overflow:auto;border:1px solid #dce2ed;border-radius:10px;background:#fff;overscroll-behavior:contain;scrollbar-gutter:stable}.timeline-canvas{display:grid;width:max-content;min-width:100%;align-items:start}.time-corner,.time-day-heading{position:sticky;top:0;background:#f7f9fd;border-bottom:1px solid #dce2ed;z-index:4;height:62px;display:flex;justify-content:center;flex-direction:column;padding:10px 12px}.time-day-heading{border-left:1px solid #e5e9f1}.time-day-heading strong{font-size:14px}.time-day-heading span{font-size:12px;color:#8491a7;margin-top:5px}.time-corner{left:0;z-index:6;font-size:12px;color:#64748b}.time-axis{position:sticky;left:0;background:#f7f9fd;z-index:3;border-right:1px solid #e5e9f1}.time-label{position:absolute;right:10px;font-size:12px;color:#718096;line-height:16px;transform:translateY(-50%);font-variant-numeric:tabular-nums}.time-label:first-child{transform:none}.time-day{min-width:0;border-right:1px solid #e5e9f1;background:#fff}.time-day-body{position:relative;margin-top:8px}.time-axis{padding-top:8px}.time-label{margin-top:8px}.time-line{position:absolute;left:0;right:0;border-top:1px solid #f0f2f7;pointer-events:none}.time-line.full-hour{border-color:#dfe5ee}.time-event{position:absolute;z-index:1;background:var(--tint);border:1px solid color-mix(in srgb,var(--accent) 26%,white);border-left:3px solid var(--accent);border-radius:5px;color:#334155;overflow:hidden;text-align:left;padding:5px;display:flex;flex-direction:column;gap:3px;min-height:0;box-shadow:none}.time-event:hover{z-index:2;filter:brightness(.97);box-shadow:0 2px 8px #26365e25}.time-event strong{font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0;max-height:2.4em}.time-event-clock{font-size:12px;line-height:1.25;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;color:var(--accent);flex-shrink:0}.time-event-audience,.time-event-location{font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;flex-shrink:0}.time-event-location{opacity:.8}.time-empty{position:absolute;top:25px;left:10px;font-size:13px;color:#94a3b8}.bounds-note{font-size:13px;background:#fff7df;border:1px solid #f3df9e;border-radius:7px;padding:10px}.outside-hours{margin-top:18px;border:1px solid #dce2ed;border-radius:10px;padding:16px;background:white}.outside-hours h3{font-size:15px;margin:0}.outside-hours p{font-size:13px;margin:6px 0 13px}.outside-hours>div{display:flex;flex-wrap:wrap;gap:10px}.outside-hours button{display:flex;flex-direction:column;gap:6px;text-align:left;background:#f3f5fa;border:1px solid #e2e7f0;border-radius:7px;padding:12px;color:#475569}.outside-hours button strong{font-size:14px}.outside-hours button span{font-size:13px}#results{overflow:visible;min-width:0}.schedule{min-width:0}@media(max-width:600px){.timeline-scroll{max-height:560px}.timeline-caption{font-size:12px}.time-corner,.time-day-heading{height:58px}.outside-hours button{width:100%}}
.timeline-canvas{width:100%}.time-event strong{max-width:100%;overflow-wrap:anywhere}.time-event:hover,.time-event:focus-visible{min-width:170px;z-index:5}.time-event:hover strong,.time-event:focus-visible strong{-webkit-line-clamp:3;max-height:3.6em}
.time-event strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;overflow-wrap:normal}.time-event:hover strong,.time-event:focus-visible strong{white-space:normal;overflow-wrap:normal}
.online-tag{display:inline-block;align-self:flex-start;flex-shrink:0;max-width:100%;padding:2px 5px;border-radius:4px;background:#4338ca;color:#fff;font-size:12px;font-weight:650;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Identidade Raiz Educação: logo original e cores institucionais. */
:root{--primary:#b95105;--line:#e2e9e7;background:#f5f8f7;color:#253e39}.sidebar{background:#fff;color:#244a41;border-right:1px solid #dfe9e5;padding-top:22px}.brand{display:block;text-align:center;letter-spacing:normal}.brand img{display:block;width:180px;max-width:100%;height:auto;margin:0 auto}.nav-label{color:#68867d;margin-top:35px}.nav-current{background:#fff0e2;border-color:#f7d2ac;color:#a64b08;font-weight:600}.sidebar-note{border-color:#e3ebe7;color:#627c73}.sidebar-note strong{color:#31564a}.note-icon{color:#21816b}.sidebar-foot{border-color:#e3ebe7;color:#648075}.sidebar-foot span{color:#b45309}.eyebrow{color:#397864}.metric-icon{background:#e4f5ef;color:#277963}.metric strong{color:#244a41}.text-button,.table-link{color:#ab4b06}.refresh:hover{background:#fff0e2}.view-switch{background:#e8efeb}.view-switch button[aria-pressed=true]{color:#a64b08}.online-tag{background:#1f705c;color:#fff}.time-corner,.time-day-heading,.time-axis{background:#f0f7f3}.time-day-heading strong{color:#31564a}.timeline-caption strong{color:#31564a}.time-line.full-hour{border-color:#dce8e1}.topbar a:hover{color:#ab4b06}.page-title h1{color:#244a41}dialog .detail-time{color:#ac4f09}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#e8974b}.breadcrumb{display:flex;align-items:center}.mobile-logo{display:none}.outside-hours button{background:#eff6f2}.search input{color:#31564a}
@media(max-width:1000px){.mobile-logo{display:block;object-fit:contain;margin-right:16px}.topbar{height:80px}.operations-label{display:none}.breadcrumb .crumb{display:none}}
@media(max-width:600px){.topbar{height:76px}.mobile-logo{width:68px;height:56px}.topbar strong{display:inline;font-size:13px}}

.time-event-partner{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.2;max-height:2.4em;flex-shrink:0;width:100%;color:#41534c}.time-event:hover,.time-event:focus-visible{min-width:270px;min-height:145px}.time-event:hover .time-event-partner,.time-event:focus-visible .time-event-partner{-webkit-line-clamp:3;max-height:3.6em}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.export-button{background:#244a41;color:#fff;border-color:#244a41}.export-button:hover{background:#315e50}.export-status{font-size:13px;margin:10px 0 0}.export-status:empty{display:none}@media(max-width:600px){.page-title{flex-wrap:wrap}.page-actions{width:100%}.page-actions button{flex:1;justify-content:center}}
.time-event[data-location]{gap:2px}.time-event[data-location] .time-event-partner{font-size:12px;-webkit-line-clamp:1;max-height:1.2em}.time-event[data-location] .time-event-location{font-weight:650;opacity:1;line-height:1.25}.time-event[data-location]:hover,.time-event[data-location]:focus-visible{min-height:185px}.time-event[data-location]:hover .time-event-location,.time-event[data-location]:focus-visible .time-event-location{white-space:normal;overflow-wrap:anywhere}.time-event[data-location]:hover .time-event-partner,.time-event[data-location]:focus-visible .time-event-partner{-webkit-line-clamp:3;max-height:3.6em}

.pending-tag{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;max-width:100%;flex-shrink:0;border:1px solid #a56b12;border-radius:4px;background:#fff0c2;color:#704300;font-size:10px;font-weight:800;line-height:14px;padding:0 3px;white-space:nowrap;overflow:hidden}.table-wrap .pending-tag{margin-left:6px}
[data-theme="dark"] .pending-tag{background:#594016;color:#ffe3a0;border-color:#c39643}

[hidden]{display:none!important}#dashboard{display:contents}.login-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#e4f5ef}.login-card{width:min(100%,440px);padding:36px;border:1px solid #d5e5df;border-radius:20px;text-align:center;background:white;color:#253e39;box-shadow:0 15px 50px #244a4115}.login-card img{object-fit:contain;margin-bottom:20px}.login-card h1{font-size:28px;margin:12px 0}.login-card p{line-height:1.6}.login-card #google-login{display:flex;justify-content:center;margin:24px 0 12px}#login-message{font-size:13px}.account-email{font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:230px}[data-theme="dark"] .login-gate{background:#101c20}[data-theme="dark"] .login-card{background:#192b2e;color:#e7f3ed;border-color:#3c5651}@media(max-width:850px){.account-email{display:none}}

.google-login-link{display:inline-flex;padding:12px 24px;background:#244a41;color:white;border-radius:24px;font-size:16px;font-weight:600;text-decoration:none}.google-login-link:hover{background:#316153}.google-login-link:focus-visible{outline:3px solid #f47c10;outline-offset:3px}

.activity-legend{margin-top:18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:10px}.activity-legend h3{font-size:14px;margin:0 0 12px;color:#334155}.activity-legend ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}.activity-legend li{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;color:#334155;max-width:100%;overflow-wrap:anywhere}.legend-swatch{display:block;flex:none;width:24px;height:20px;border:1px solid color-mix(in srgb,var(--accent) 26%,white);border-left:4px solid var(--accent);border-radius:4px;background:var(--tint)}

.legend-partners{display:block;font-size:12px;line-height:1.5;margin-top:2px}
