:root{--blue:#1265d8;--dark:#0f2235;--muted:#64748b;--line:#e5e9f0;--bg:#f6f8fb;--card:#fff;--red:#ef4444;--green:#16a34a;--yellow:#f5b301;--purple:#6d5bd0}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:#172033}.layout{display:flex;min-height:100vh}.sidebar{width:238px;background:linear-gradient(180deg,#132b42,#0d1c2d);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.brand{padding:18px;text-align:center}.brand img{width:150px;max-height:72px;object-fit:contain}.brand-title{font-weight:800;margin-top:8px}.sidebar nav{padding:8px 10px}.sidebar a{display:block;color:#d8e5f5;text-decoration:none;padding:12px 14px;border-radius:4px;margin:3px 0;font-weight:650;font-size:14px}.sidebar a.active,.sidebar a:hover{background:linear-gradient(90deg,#1265d8,#2b82ff);color:#fff}.foot{margin-top:auto;padding:18px;text-align:center;border-top:1px solid #ffffff22;font-size:12px;line-height:1.7}.foot a{padding:4px;color:#fff}.main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:15px;position:sticky;top:0;z-index:10}.topbar h1{font-size:21px;margin:0}.topbar small{color:var(--muted)}.user{margin-left:auto;font-weight:700}.hamb{display:none;border:0;background:#eef2f7;padding:9px 12px;border-radius:5px}.content{padding:24px 24px 80px}.grid{display:grid;gap:17px}.cards{grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:20px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #0f172a0b;padding:18px}.stat small{color:var(--muted);font-weight:700}.stat b{display:block;font-size:28px;margin-top:6px}.two{grid-template-columns:1.4fr 1fr}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#172033;border-radius:5px;padding:10px 14px;text-decoration:none;font-weight:800;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{background:#f8fafc}.pill{font-size:11px;padding:5px 9px;border-radius:99px;font-weight:800;display:inline-block}.pill.blue{background:#dbeafe;color:#1d4ed8}.pill.green{background:#dcfce7;color:#166534}.pill.yellow{background:#fef3c7;color:#92400e}.pill.red{background:#fee2e2;color:#b91c1c}.pill.purple{background:#ede9fe;color:#5b21b6}.pill.gray{background:#e5e7eb;color:#374151}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form label{font-weight:800;font-size:14px}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:11px;font:inherit;background:#fff}.full{grid-column:1/-1}.alert{background:#e0f2fe;border:1px solid #bae6fd;padding:12px;border-radius:7px;margin-bottom:16px}.timeline{position:relative}.timeline:before{content:'';position:absolute;left:88px;top:5px;bottom:5px;width:2px;background:#dbe3ee}.timeline-item{display:grid;grid-template-columns:70px 20px 1fr;gap:10px;margin:0 0 12px;position:relative}.timeline-time{font-weight:900;color:#334155;padding-top:15px;text-align:right}.timeline-dot{width:14px;height:14px;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 2px #bfd5f5;border-radius:50%;margin-top:18px;z-index:2}.timeline-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:7px;padding:14px}.timeline-card.live{border-left-color:var(--green);box-shadow:0 8px 24px #16a34a18}.timeline-card.delayed{border-left-color:var(--red)}.timeline-card h3{margin:0 0 8px}.meta{color:var(--muted);font-size:13px;line-height:1.6}.progress{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}.app-footer{position:fixed;left:238px;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px;text-align:center;color:var(--muted);font-weight:700}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#0d1c2d,#1265d8)}.login-card{width:390px;max-width:92vw;background:#fff;border-radius:10px;padding:28px;text-align:center}.login-card img{width:165px}.public-body{background:#eef3f8;min-height:100vh}.public-top{background:linear-gradient(135deg,#0f2235,#1265d8);color:#fff;padding:18px 4vw;display:flex;align-items:center;gap:16px}.public-top img{width:100px;max-height:60px;object-fit:contain}.public-top h1{margin:0}.public-wrap{max-width:1250px;margin:auto;padding:22px 18px 70px}.hero{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:18px}.hero h2{margin:0 0 8px}.hero-time{font-size:36px;font-weight:900}.public-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.notice{border-left:5px solid var(--yellow);background:#fff9e8;padding:13px;margin-bottom:10px;border-radius:5px}.public-footer{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px;text-align:center;color:var(--muted)}.tv-body{background:#081522;color:#fff;min-height:100vh;padding:28px}.tv-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff2a;padding-bottom:18px}.tv-clock{font-size:58px;font-weight:900}.tv-current{margin-top:24px;background:#102a43;border:1px solid #ffffff20;border-left:8px solid #22c55e;padding:25px}.tv-current h2{font-size:38px;margin:8px 0}.tv-next{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.tv-next article{background:#ffffff0d;border:1px solid #ffffff1f;padding:18px}.mobile-overlay{display:none}@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.mobile-overlay{position:fixed;inset:0;background:#0008;z-index:15}.menu-open .mobile-overlay{display:block}.main{margin:0;width:100%}.hamb{display:block}.cards,.two,.public-grid{grid-template-columns:1fr 1fr}.app-footer{left:0}.form-grid{grid-template-columns:1fr}}@media(max-width:650px){.content{padding:15px 12px 70px}.cards,.two,.public-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.public-top{align-items:flex-start}.timeline:before{left:58px}.timeline-item{grid-template-columns:45px 18px 1fr}.timeline-time{font-size:12px}.tv-body{padding:14px}.tv-clock{font-size:34px}.tv-current h2{font-size:25px}.tv-next{grid-template-columns:1fr}.topbar{padding:0 12px}.topbar small{display:none}}

.day-row{display:grid;grid-template-columns:64px minmax(150px,1fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(150px,.8fr);gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid var(--border,#e5e7eb)}.day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:34px;padding:0 12px;border-radius:8px;background:#111827;color:#fff;font-weight:800}.duration-summary{margin-top:14px;padding:14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:10px}.day-section{padding-top:22px;margin-top:22px;border-top:1px solid #e5e7eb}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.timeline-time small{display:block;font-size:10px;color:#64748b;margin-top:4px}@media(max-width:760px){.day-row{grid-template-columns:55px 1fr 1fr}.day-row label:first-of-type{grid-column:2/4}.day-row>div:last-child{grid-column:2/4;display:flex;align-items:center;justify-content:space-between}.day-heading{align-items:flex-start;flex-direction:column}.day-heading>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}}

/* Página pública V2 - leitura rápida em computador e celular */
.public-v2{background:#f2f5f9}.public-top-clean{justify-content:space-between;padding:14px max(18px,4vw);box-shadow:0 5px 20px #07182b22}.public-brand{display:flex;align-items:center;gap:15px}.public-brand img{width:88px;height:52px}.public-brand h1{font-size:22px}.public-live-clock{text-align:right}.public-live-clock span{display:block;font-size:12px;opacity:.78}.public-live-clock strong{font-size:25px;letter-spacing:1px}.public-wrap-v2{max-width:1180px;padding-top:18px}.event-summary-card{display:grid;grid-template-columns:1fr 270px;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px;margin-bottom:14px}.summary-flags{display:flex;align-items:center;gap:10px;margin-bottom:9px}.summary-location{font-size:13px;color:var(--muted);font-weight:700}.event-summary-main h2{font-size:21px;margin:0 0 8px}.summary-period{font-size:13px;color:var(--muted)}.summary-progress{text-align:right}.progress-number{font-size:33px;font-weight:900;color:var(--dark)}.progress-label,.summary-progress small{font-size:12px;color:var(--muted)}.progress-large{height:9px;margin:8px 0}.public-notices-strip{display:grid;gap:8px;margin-bottom:14px}.public-notice{display:flex;gap:10px;align-items:center;padding:11px 14px;border:1px solid #fde68a;background:#fffbeb;border-radius:7px;font-size:13px}.public-notice.critical{border-color:#fecaca;background:#fff1f2}.public-notice.info{border-color:#bfdbfe;background:#eff6ff}.public-notice b{white-space:nowrap}.now-next-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px}.focus-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;min-height:166px}.current-focus{border-left:5px solid var(--green)}.next-focus{border-left:5px solid var(--blue)}.focus-label{font-size:11px;font-weight:900;letter-spacing:1.1px;color:var(--muted);display:flex;align-items:center;gap:7px}.focus-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #dcfce7}.focus-time{font-size:13px;font-weight:900;color:var(--blue);margin-top:12px}.focus-card h3{font-size:21px;margin:5px 0 9px}.focus-card p{font-size:13px;margin:11px 0}.focus-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}.schedule-public-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:19px}.schedule-public-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.schedule-public-head h2{margin:0;font-size:20px}.schedule-public-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.day-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px}.day-tab{min-width:125px;border:1px solid var(--line);background:#f8fafc;border-radius:7px;padding:10px 14px;text-align:left;cursor:pointer;color:#334155}.day-tab strong,.day-tab span,.day-tab small{display:block}.day-tab strong{font-size:16px}.day-tab span{font-size:12px;font-weight:800;margin-top:2px}.day-tab small{font-size:11px;color:var(--muted);margin-top:3px}.day-tab.active{background:#102a43;border-color:#102a43;color:#fff}.day-tab.active small{color:#cbd5e1}.day-panel{display:none}.day-panel.active{display:block}.day-panel-head{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border:1px solid var(--line);padding:12px 14px;border-radius:7px;margin-bottom:10px}.day-panel-head>div{display:flex;align-items:center;gap:10px}.day-panel-head>div:last-child{display:block;text-align:right}.day-panel-head h3{margin:0;font-size:16px}.day-panel-head small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.day-code{background:#102a43;color:#fff;border-radius:5px;padding:7px 9px;font-weight:900}.compact-timeline{display:grid;gap:7px}.compact-event{border:1px solid var(--line);border-left:4px solid #cbd5e1;border-radius:6px;background:#fff;overflow:hidden}.compact-event.live,.compact-event.is-current{border-left-color:var(--green);background:#f8fff9}.compact-event.delayed{border-left-color:var(--red)}.compact-event.completed{border-left-color:var(--purple);opacity:.82}.compact-event.cancelled{opacity:.62}.compact-event summary{list-style:none;display:grid;grid-template-columns:72px 1fr 22px;align-items:center;gap:13px;padding:12px 13px;cursor:pointer}.compact-event summary::-webkit-details-marker{display:none}.compact-time{border-right:1px solid var(--line)}.compact-time strong,.compact-time span{display:block}.compact-time strong{font-size:17px}.compact-time span{font-size:11px;color:var(--muted);margin-top:2px}.compact-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.compact-title-row h4{margin:0;font-size:15px}.compact-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--muted);margin-top:5px}.details-arrow{font-size:19px;color:#94a3b8;transition:.2s}.compact-event[open] .details-arrow{transform:rotate(180deg)}.compact-details{border-top:1px solid var(--line);padding:13px 14px 14px;margin-left:85px}.compact-details p{font-size:13px;line-height:1.55;margin:0 0 12px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.detail-grid>div{background:#f8fafc;border:1px solid var(--line);padding:9px;border-radius:5px}.detail-grid small,.detail-grid b{display:block}.detail-grid small{font-size:10px;color:var(--muted);margin-bottom:3px}.detail-grid b{font-size:12px}.detail-note{grid-column:1/-1}.empty-public{text-align:center;color:var(--muted);padding:28px}.static-footer{position:static;margin-top:0}.public-v2 .public-footer{position:static}
@media(max-width:760px){.public-top-clean{padding:11px 14px}.public-brand img{width:66px;height:42px}.public-brand h1{font-size:17px}.public-brand>div>div{font-size:11px}.public-live-clock span{display:none}.public-live-clock strong{font-size:20px}.public-wrap-v2{padding:12px 10px 30px}.event-summary-card{grid-template-columns:1fr;padding:16px;gap:14px}.event-summary-main h2{font-size:18px}.summary-progress{text-align:left}.progress-number{font-size:26px}.now-next-grid{grid-template-columns:1fr}.focus-card{min-height:0;padding:15px}.schedule-public-card{padding:13px}.schedule-public-head{align-items:flex-start}.schedule-public-head .btn{padding:8px 10px;font-size:12px}.day-tab{min-width:108px;padding:9px 11px}.day-panel-head{align-items:flex-start}.day-panel-head>div:last-child{text-align:right}.compact-event summary{grid-template-columns:57px 1fr 16px;gap:9px;padding:11px 9px}.compact-time strong{font-size:15px}.compact-title-row{align-items:flex-start}.compact-title-row h4{font-size:14px}.compact-title-row .pill{font-size:9px;padding:4px 6px}.compact-meta span:nth-child(n+3){display:none}.compact-details{margin-left:0;padding:12px}.detail-grid{grid-template-columns:1fr}.public-notice{align-items:flex-start;flex-direction:column;gap:3px}.public-notice b{white-space:normal}}

/* V1.2.2 - indicadores públicos de prazo */
.timing-legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 12px;margin-bottom:10px;background:#f8fafc;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:800;color:#475569}.timing-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-dot.upcoming{background:#3b82f6}.legend-dot.ontime{background:#16a34a}.legend-dot.ending{background:#f59e0b}.legend-dot.overdue{background:#dc2626}.live-time-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:10px 0 12px;border-radius:6px;font-size:12px;font-weight:800}.live-time-status strong{font-size:18px}.live-time-status.timing-ontime{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.live-time-status.timing-ending{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.live-time-status.timing-overdue{background:#fff1f2;color:#b91c1c;border:1px solid #fecaca}.live-time-status.timing-upcoming{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.time-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800}.time-badge b{font-size:11px}.time-badge.timing-upcoming{background:#dbeafe;color:#1d4ed8}.time-badge.timing-ontime{background:#dcfce7;color:#166534}.time-badge.timing-ending{background:#fef3c7;color:#92400e}.time-badge.timing-overdue{background:#fee2e2;color:#b91c1c}.time-badge.timing-completed{background:#ede9fe;color:#5b21b6}.time-badge.timing-cancelled{background:#e5e7eb;color:#475569}.compact-event.timing-upcoming{border-left-color:#3b82f6}.compact-event.timing-ontime{border-left-color:#16a34a;background:#f8fff9}.compact-event.timing-ending{border-left-color:#f59e0b;background:#fffdf5}.compact-event.timing-overdue{border-left-color:#dc2626;background:#fff8f8}.compact-event.timing-completed{border-left-color:#7c3aed}.current-focus.timing-ending{border-left-color:#f59e0b}.current-focus.timing-overdue{border-left-color:#dc2626}.current-focus.timing-upcoming{border-left-color:#3b82f6}
@media(max-width:760px){.timing-legend{gap:7px 11px}.compact-title-row{display:block}.compact-title-row h4{margin-bottom:6px}.time-badge{max-width:100%;white-space:normal}.live-time-status strong{font-size:16px}}


/* V1.3 - foto do responsável/instrutor e configurações */
.check-line{display:flex!important;align-items:center;gap:9px;font-weight:800}.check-line input{width:auto!important}.photo-current{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:11px;color:var(--muted)}.photo-current img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid #e2e8f0}.focus-instructor-photo{width:70px;height:70px;object-fit:cover;border-radius:50%;float:right;margin:-8px 0 8px 14px;border:3px solid #fff;box-shadow:0 0 0 2px #dbeafe}.focus-instructor-photo.small{width:58px;height:58px}.instructor-inline{display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:9px;background:#f8fafc;border:1px solid var(--line);border-radius:7px}.instructor-avatar{width:50px;height:50px;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.instructor-inline small,.instructor-inline strong{display:block}.instructor-inline small{font-size:10px;color:var(--muted);margin-bottom:2px}.instructor-inline strong{font-size:13px}
@media(max-width:760px){.focus-instructor-photo{width:58px;height:58px}.focus-instructor-photo.small{width:50px;height:50px}}

.field-help{display:block;color:var(--muted);font-size:11px;margin-top:5px}.file-current{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding:9px;background:#f8fafc;border:1px solid var(--line);border-radius:6px}.remove-file{display:flex!important;align-items:center;gap:6px;font-size:12px}.remove-file input{width:auto}.schedule-info-block{margin:10px 0;padding:10px 12px;background:#f8fafc;border-left:3px solid #94a3b8;border-radius:4px}.schedule-info-block small,.public-detail-section small{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted);letter-spacing:.5px}.schedule-info-block p{margin:4px 0 0;white-space:normal}.schedule-info-block.public-note{border-left-color:var(--blue);background:#eff6ff}.schedule-info-block.internal-note{border-left-color:#f59e0b;background:#fffbeb}.attached-material{display:inline-flex;margin:5px 0 10px;font-size:12px;font-weight:800}.notice-admin{display:block;margin-bottom:12px}.notice-admin .actions{margin-top:10px}.notice-admin .actions form{margin:0}.timeline-head-actions{display:flex;align-items:center;gap:10px}.timeline-chronometer{min-width:150px;text-align:center;background:#102a43;color:#fff;padding:8px 12px;border-radius:7px}.timeline-chronometer small,.timeline-chronometer strong{display:block}.timeline-chronometer small{font-size:9px;letter-spacing:.8px;color:#cbd5e1}.timeline-chronometer strong{font-size:20px;letter-spacing:1px;margin-top:2px}.public-detail-section{margin-bottom:12px}.public-detail-section p{margin:4px 0 0}.public-material{display:flex;align-items:center;gap:10px;margin-top:12px}.public-material img{width:110px;height:70px;object-fit:cover;border:1px solid var(--line);border-radius:5px}
@media(max-width:760px){.timeline-head-actions{align-items:stretch;flex-direction:column}.timeline-chronometer{min-width:125px;padding:7px 9px}.timeline-chronometer strong{font-size:17px}.public-material{align-items:flex-start;flex-direction:column}.public-material img{width:100%;height:auto;max-height:220px}.file-current{align-items:flex-start;flex-direction:column}}

/* V1.6 - categorias e controle operacional público */
.category-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}.compact-event{border-left-color:var(--category-color,#cbd5e1)}.compact-event.timing-ontime,.compact-event.timing-ending,.compact-event.timing-overdue,.compact-event.timing-completed{border-left-color:var(--category-color,#cbd5e1)}.public-operation-message{margin-bottom:12px;padding:11px 14px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:7px;font-weight:800}.operation-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:18px}.operation-modal.open{display:flex}.operation-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72)}.operation-dialog{position:relative;width:min(460px,100%);background:#fff;border-radius:10px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.operation-dialog h3{margin:0 0 8px}.operation-dialog p{margin:0 0 16px;color:var(--muted)}.operation-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#64748b}.operation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}.btn.warning{background:#f59e0b;color:#fff;border-color:#f59e0b}.btn.success{background:#16a34a;color:#fff;border-color:#16a34a}
@media(max-width:760px){.operation-actions{grid-template-columns:1fr}.timeline-head-actions .btn{width:100%;text-align:center}.operation-dialog{padding:20px 16px}}

/* Extensão operacional e intervalos automáticos */
.compact-travel{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:13px;padding:10px 13px;border:1px dashed #94a3b8;border-left:4px solid #64748b;border-radius:6px;background:#f8fafc;color:#475569}.compact-travel>div:last-child b,.compact-travel>div:last-child small{display:block}.compact-travel>div:last-child small{margin-top:3px;font-size:11px;color:var(--muted)}.extension-badge{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:4px;background:#ede9fe;color:#6d28d9;font-size:9px;vertical-align:2px}
@media(max-width:760px){.compact-travel{grid-template-columns:57px 1fr;gap:9px;padding:9px}}

/* Controles operacionais da timeline administrativa */
.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.schedule-actions-primary,.schedule-actions-secondary{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.schedule-actions form{margin:0}.delay-control{display:flex;align-items:center}.delay-control select{height:32px;border:1px solid var(--line);border-radius:5px 0 0 5px;background:#fff;padding:0 7px;font:inherit;font-size:12px;font-weight:700}.delay-control .btn{border-radius:0 5px 5px 0;margin-left:-1px}.timeline-card.paused{border-left-color:#f59e0b;background:#fffbeb}.btn.warning{background:#f59e0b;color:#fff;border-color:#f59e0b}
@media(max-width:760px){.schedule-actions{align-items:stretch;flex-direction:column}.schedule-actions-primary,.schedule-actions-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.schedule-actions .btn,.schedule-actions form{width:100%}.delay-control{grid-column:1/-1}.delay-control select{flex:1;min-width:0}.delay-control .btn{width:auto}.timeline-card{padding:12px}.timeline-card>.section-head{align-items:flex-start}.timeline-card>.section-head>div{min-width:0}.timeline-card h3{overflow-wrap:anywhere}}

/* Identificação visual dos tipos de aviso */
.notice-type-icon{flex:0 0 auto;width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(100,116,139,.12)}.notice-type-icon.info{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.notice-type-icon.warning{background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.notice-type-icon.critical{background:#dc2626;box-shadow:0 0 0 4px #fee2e2}.notice-title{display:flex;align-items:center;gap:11px}.notice-title small,.notice-title b{display:block}.notice-title small{margin-bottom:2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.notice-admin.info{border-left-color:#16a34a}.notice-admin.warning{border-left-color:#f59e0b}.notice-admin.critical{border-left-color:#dc2626}
@media(max-width:760px){.public-notice{display:grid;grid-template-columns:18px 1fr;align-items:start}.public-notice>.notice-type-icon{grid-row:1/3;margin-top:3px}.public-notice b,.public-notice>span:last-child{grid-column:2}.notice-admin .section-head{align-items:flex-start}}

/* Layout administrativo */
.eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.event-form-intro,.notices-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.event-form-intro h2,.notices-page-head h2,.card-heading h2{margin:0}.event-form-intro p,.notices-page-head p,.card-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.event-editor{gap:16px}.form-section-heading{display:flex;align-items:center;gap:10px;margin:4px 0}.form-section-heading>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:900}.form-section-heading b,.form-section-heading small{display:block}.form-section-heading small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:500}.event-days-section{padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.event-days-section>.section-head{margin-bottom:7px}.event-days-section .day-row{grid-template-columns:55px minmax(145px,1.1fr) repeat(3,minmax(112px,.75fr)) minmax(125px,.7fr);padding:14px 10px}.event-form-actions{position:sticky;bottom:0;z-index:3;margin:4px -18px -18px;padding:13px 18px;border-top:1px solid var(--line);background:#fffffff2;backdrop-filter:blur(8px)}.page-section-head{align-items:flex-end}.page-section-head h2{margin-bottom:3px}.events-table td:first-child b{font-size:15px}.events-table td:last-child{min-width:260px}.card-heading{padding-bottom:14px;margin-bottom:15px;border-bottom:1px solid var(--line)}.notices-layout{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.45fr)}.notice-compose-card{align-self:start;position:sticky;top:88px}.notices-list-card .notice-admin{padding:14px 15px}.sound-toggle{border:1px solid #ffffff55;background:#ffffff14;color:inherit;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:900;cursor:pointer}.sound-toggle.active{background:#dcfce7;color:#166534;border-color:#86efac}.public-live-clock .sound-toggle{margin-bottom:6px}.tv-head-tools{display:flex;align-items:center;gap:20px}.tv-sound-toggle{font-size:13px;padding:9px 12px}.tv-notices{display:grid;gap:10px;margin:20px 0}.tv-notice{display:flex;align-items:flex-start;gap:15px;padding:17px 20px;border:1px solid #ffffff2a;border-left:7px solid #16a34a;border-radius:8px;background:#ffffff10}.tv-notice.warning{border-left-color:#f59e0b;background:#f59e0b18}.tv-notice.critical{border-left-color:#ef4444;background:#ef444420}.tv-notice b{font-size:20px}.tv-notice p{margin:5px 0 0;font-size:15px;line-height:1.4}
@media(max-width:900px){.notices-layout{grid-template-columns:1fr}.notice-compose-card{position:static}.event-days-section .day-row{grid-template-columns:55px repeat(2,minmax(0,1fr))}.event-days-section .day-row label:first-of-type{grid-column:2/4}.event-days-section .day-row>div:last-child{grid-column:2/4}}
@media(max-width:760px){.event-form-card,.events-page-card{padding:14px}.event-form-intro,.notices-page-head,.page-section-head{align-items:stretch;flex-direction:column}.event-form-intro .btn,.page-section-head .btn{width:100%}.event-days-section{padding:10px}.event-days-section>.section-head{align-items:stretch}.event-days-section #addDay{width:100%}.event-form-actions{position:static;margin:4px -14px -14px;padding:12px 14px}.event-form-actions .btn{flex:1}.events-page-card .table-wrap{overflow:visible}.events-table,.events-table tbody,.events-table tr,.events-table td{display:block;width:100%}.events-table thead{display:none}.events-table tr{margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.events-table td{display:grid;grid-template-columns:85px 1fr;gap:10px;min-width:0!important;padding:8px 0;border:0}.events-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.events-table td.actions{display:flex;padding-top:11px;border-top:1px solid var(--line)}.events-table td.actions:before{display:none}.events-table td.actions .btn{flex:1}.tv-head{align-items:flex-start}.tv-head-tools{align-items:flex-end;flex-direction:column;gap:8px}.tv-notice b{font-size:17px}}
.pill.fixed-start{margin-left:6px;background:#e0f2fe;color:#0369a1}.schedule-actions-primary .btn.success{white-space:nowrap}
.modal-open{overflow:hidden}.material-modal{display:none;position:fixed;inset:0;z-index:1200;align-items:center;justify-content:center;padding:20px}.material-modal.open{display:flex}.material-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.8)}.material-modal-dialog{position:relative;display:flex;flex-direction:column;width:min(1100px,96vw);height:min(820px,92vh);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.4)}.material-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid var(--line)}.material-modal-head h3{overflow:hidden;margin:0;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.material-modal-tools{display:flex;align-items:center;gap:7px;flex-shrink:0}.material-modal-tools [data-material-zoom]{min-width:40px;color:var(--muted);font-size:11px;font-weight:900;text-align:center}.material-modal-close{border:0;background:transparent;color:#64748b;font-size:30px;line-height:1;cursor:pointer}.material-modal-viewport{display:grid;place-items:center;min-height:0;flex:1;overflow:auto;background:#cbd5e1;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.material-modal-frame{display:block;place-self:stretch;border:0;background:#f1f5f9;transform-origin:top left}.material-modal-image{display:block;max-width:100%;max-height:100%;object-fit:contain;height:auto}.material-modal-frame[hidden],.material-modal-image[hidden]{display:none}.material-modal-help{margin:0;padding:8px 16px;background:#f8fafc;color:var(--muted);font-size:11px;text-align:center}.pill.dependency{margin-left:6px;background:#ede9fe;color:#6d28d9}@media(max-width:600px){.material-modal{align-items:stretch;padding:0}.material-modal-dialog{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0}.material-modal-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px 10px}.material-modal-head h3{grid-column:1/3;font-size:13px;white-space:nowrap}.material-modal-tools{display:grid;grid-column:1/3;grid-template-columns:38px 42px 38px 1fr auto 38px;width:100%;gap:5px}.material-modal-tools .btn{display:grid;place-items:center;min-height:38px;padding:5px;font-size:10px}.material-modal-tools [data-material-zoom]{display:grid;place-items:center;min-width:0}.material-modal-close{display:grid;place-items:center;width:38px;height:38px;margin:0;font-size:27px}.material-modal-help{padding:6px 8px;font-size:9px}}

/* Layout de eventos */
.events-page-card,.event-form-card{width:100%;max-width:1280px;margin:0 auto}.events-page-card{padding:22px}.events-page-card .table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.events-table{min-width:900px}.events-table th{padding:11px 13px;color:#475569;font-size:11px;letter-spacing:.45px;text-transform:uppercase}.events-table td{padding:14px 13px;vertical-align:middle}.events-table tbody tr:last-child td{border-bottom:0}.events-table tbody tr:hover{background:#f8fafc}.events-table td:first-child{min-width:210px}.events-table td:nth-child(2){min-width:145px;line-height:1.65}.events-table td:last-child{width:270px;min-width:270px}.events-table td.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.events-table td.actions .btn{width:100%;white-space:nowrap}.event-form-card{padding:24px}.event-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.event-editor>.form-section-heading{margin-top:8px;padding:12px 14px;border-radius:8px;background:#f8fafc;border:1px solid var(--line)}.event-days-section{padding:18px}.event-days-section .day-row{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.event-days-section .day-row:last-child{border-bottom:1px solid var(--line)}.event-days-section .day-row label{display:grid;grid-template-rows:18px 42px 16px;gap:4px;align-self:stretch}.event-days-section .day-row label input{height:42px}.event-days-section .day-row label .field-help{align-self:end;margin:0;padding-left:2px;color:#7c3aed;font-size:10px;line-height:16px;white-space:nowrap}.event-days-section .day-row>div:last-child{display:grid;align-content:end;gap:7px;padding-bottom:20px}.event-days-section .remove-day{width:100%}.publish-toggle{display:flex!important;align-items:center;gap:11px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff}.publish-toggle input{width:auto!important;flex:0 0 auto}.publish-toggle span,.publish-toggle b,.publish-toggle small{display:block}.publish-toggle small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}.event-form-actions{border-radius:0 0 8px 8px}
@media(max-width:1100px){.event-days-section .day-row{grid-template-columns:55px repeat(2,minmax(0,1fr))}.event-days-section .day-row label:first-of-type{grid-column:2/4}.event-days-section .day-row>div:last-child{grid-column:2/4;display:flex;align-items:center;justify-content:space-between}.event-days-section .remove-day{width:auto}}
@media(max-width:760px){.events-page-card,.event-form-card{padding:13px}.events-page-card{border:0;background:transparent;box-shadow:none}.events-page-card .table-wrap{border:0;overflow:visible}.events-table{min-width:0}.events-table tr{box-shadow:0 5px 16px #0f172a0a}.events-table td:first-child{min-width:0}.events-table td.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.event-editor{grid-template-columns:1fr}.event-editor>.form-section-heading{padding:10px}.event-days-section{padding:10px}.event-days-section .day-row{grid-template-columns:48px minmax(0,1fr);gap:10px;margin-top:10px;padding:11px}.event-days-section .day-row label,.event-days-section .day-row label:first-of-type{grid-column:2;grid-template-rows:auto 42px auto}.event-days-section .day-row>div:last-child{grid-column:2;display:flex;padding-bottom:0}.event-days-section .day-badge{grid-row:1/6;align-self:start;min-width:42px;padding:0 8px}.duration-summary{font-size:12px;line-height:1.6}.publish-toggle{align-items:flex-start}.event-form-actions{display:grid;grid-template-columns:1fr 1fr}.event-form-actions .btn{width:100%}}

/* Instalador */
.installer-body{min-height:100vh;margin:0;padding:28px 14px;background:linear-gradient(145deg,#0d1c2d,#1265d8);display:grid;place-items:center}.installer-card{width:min(760px,100%);padding:28px;border-radius:12px;background:#fff;box-shadow:0 28px 80px #0005}.installer-head{margin-bottom:22px}.installer-head h1,.installer-success h1{margin:4px 0 8px}.installer-head p,.installer-success p{margin:0;color:var(--muted)}.installer-form fieldset{margin:0;padding:18px;border:1px solid var(--line);border-radius:9px}.installer-form legend{padding:0 8px;color:var(--dark);font-weight:900}.installer-submit{width:100%;padding:13px}.installer-error{margin-bottom:16px;background:#fff1f2;border-color:#fecaca;color:#b91c1c}.installer-success{text-align:center;padding:30px 10px}.installer-success>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 15px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.installer-success .btn{margin-top:20px}@media(max-width:600px){.installer-body{padding:0;background:#fff}.installer-card{min-height:100vh;padding:20px 14px;border-radius:0;box-shadow:none}.installer-form .form-grid{grid-template-columns:1fr}.installer-form fieldset{padding:14px}.installer-form .full{grid-column:auto}}
/* PWA pública e importação/exportação para Excel */
.connection-status{display:inline-flex!important;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;background:#dcfce7;color:#166534;font-size:9px!important;font-weight:900;text-transform:uppercase}
.connection-status:before{content:'';width:6px;height:6px;border-radius:50%;background:#16a34a}
.connection-status.offline{background:#fee2e2;color:#991b1b}
.connection-status.offline:before{background:#dc2626}
.excel-page-card{max-width:1050px;margin:0 auto}
.excel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.excel-actions article,.excel-import-form{padding:18px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.excel-actions h3,.excel-import-form h3{margin:0 0 7px}
.excel-actions p,.excel-import-form p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}
.excel-import-form{margin-bottom:14px;background:#fff}
.excel-help{margin:0}
.offline-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eef3f8}
.offline-page main{max-width:430px;padding:28px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center;box-shadow:0 18px 45px #0f172a18}
.offline-page img{width:140px;max-height:72px;object-fit:contain}
.offline-page p{color:var(--muted);line-height:1.6}
@media(max-width:650px){.excel-actions{grid-template-columns:1fr}.excel-page-card{padding:14px}.connection-status{align-self:flex-end}}
/* Atualizador interno */
.app-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.app-footer small{padding:2px 7px;border-radius:99px;background:#e2e8f0;color:#475569;font-weight:800}.updater-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:16px}.updater-main{min-height:440px}.updater-form{max-width:680px;margin:22px 0}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:auto}.updater-success{display:flex;flex-direction:column;gap:5px;margin:18px 0;padding:15px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;color:#166534}.updater-protection{margin-top:25px;padding:16px;border-radius:8px;background:#eff6ff;color:#1e3a5f}.updater-protection p{margin:7px 0 0;line-height:1.55}.updater-protection code{font-size:12px}.update-history-item{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}.update-history-item span,.update-history-item small{color:var(--muted)}@media(max-width:850px){.updater-grid{grid-template-columns:1fr}}
.tv-version{position:fixed;right:14px;bottom:10px;color:#94a3b8;font-size:11px;font-weight:800}
/* Importação inteligente */
.import-summary{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.import-confirm{max-width:620px;margin-top:20px;padding:18px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.import-confirm select{margin-top:7px}
/* Central operacional */
.operation-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.operation-toolbar form{min-width:min(430px,70%)}.operation-toolbar select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:6px}.operation-clock{text-align:right}.operation-clock small,.operation-clock b{display:block}.operation-clock b{font-size:27px}.operation-status-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:16px}.operation-current{border-top:5px solid var(--green)}.operation-next{border-top:5px solid var(--blue)}.operation-current h2,.operation-next h2{margin:10px 0 7px;font-size:23px}.operation-time-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.operation-time-row>b{font-size:21px}.planned-actual{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.planned-actual>div{padding:11px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.planned-actual small,.planned-actual b{display:block}.planned-actual small{color:var(--muted);margin-bottom:4px}.operation-buttons,.delay-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.operation-inline{display:inline-flex}.operation-command{min-height:44px}.delay-buttons{align-items:center;padding-top:12px;border-top:1px solid var(--line)}.delay-buttons span{font-size:12px;font-weight:800;color:var(--muted)}.travel-counter{margin:18px 0;padding:15px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa}.travel-counter small,.travel-counter b,.travel-counter span{display:block}.travel-counter b{font-size:28px;color:#c2410c;margin:4px 0}.travel-counter span{font-size:12px;color:#9a3412}.operation-empty{display:flex;flex-direction:column;gap:7px;margin-top:35px;padding:25px;text-align:center;background:#f8fafc;border-radius:8px}.operation-empty span{color:var(--muted)}.queue-row{display:grid;grid-template-columns:38px 70px 1fr auto;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}.queue-row.active{margin:0 -8px;padding:12px;background:#f0fdf4;border-radius:7px}.queue-position{color:#94a3b8;font-weight:900}.queue-time b,.queue-time small,.queue-row>div:nth-child(3)>b,.queue-row>div:nth-child(3)>span{display:block}.queue-time small,.queue-row>div:nth-child(3)>span{font-size:11px;color:var(--muted);margin-top:3px}@media(max-width:800px){.operation-status-grid{grid-template-columns:1fr}.operation-toolbar{align-items:center}.planned-actual{grid-template-columns:1fr 1fr}.queue-row{grid-template-columns:30px 58px 1fr}.queue-row>.pill{grid-column:3}}
.operation-insights{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;margin-top:16px}.operation-insights h3{margin:7px 0 14px}.impact-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.impact-numbers>div{padding:13px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.impact-numbers b,.impact-numbers span{display:block}.impact-numbers b{font-size:26px;color:var(--blue)}.impact-numbers span{font-size:11px;color:var(--muted);margin-top:4px}.audit-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.audit-row>span:first-child{font-size:11px;color:var(--muted);font-weight:800}.audit-row b,.audit-row small{display:block}.audit-row small{color:var(--muted);margin-top:3px}@media(max-width:800px){.operation-insights{grid-template-columns:1fr}.impact-numbers{grid-template-columns:1fr 1fr 1fr}}
.offline-queue-status{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:800}.offline-queue-status.conflict{background:#fee2e2;color:#991b1b}
/* Equipes integradas aos instrutores */
.legacy-team-fields{border:1px solid var(--line);border-radius:7px;padding:10px 12px}.legacy-team-fields summary{cursor:pointer;font-weight:800;font-size:13px}.legacy-team-grid{grid-template-columns:1fr 1fr;margin-top:12px}.team-members{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:13px;border:1px solid var(--line);border-radius:7px}.team-members legend{padding:0 7px;font-weight:900}.team-member-option{display:flex!important;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f8fafc}.team-member-option input{width:auto!important}.team-member-option b,.team-member-option small{display:block}.team-member-option small{color:var(--muted);margin-top:2px}.team-list{display:grid;gap:11px}.team-card{padding:14px;border:1px solid var(--line);border-radius:8px}.team-card-head{display:flex;justify-content:space-between;gap:10px}.team-card h3{display:inline-block;margin:0 8px 12px 0}.team-coordinator{padding:10px;border-radius:6px;background:#f8fafc}.team-coordinator small,.team-coordinator b,.team-coordinator span{display:block}.team-coordinator small,.team-coordinator span{color:var(--muted);font-size:11px}.team-coordinator b{margin:3px 0}.team-member-summary{margin-top:10px}.team-member-summary small{font-weight:800;color:var(--blue)}.team-member-summary p{margin:4px 0;font-size:12px;line-height:1.5}@media(max-width:650px){.team-members,.legacy-team-grid{grid-template-columns:1fr}.team-card-head{display:block}.team-card-head .actions{margin-bottom:10px}}
/* Usuários e permissões */
.user-permission-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.user-permission-intro h2{margin:5px 0}.permission-legend{display:grid;gap:5px;min-width:270px}.permission-legend span{font-size:12px;color:var(--muted)}.permission-legend b{color:var(--dark)}.user-management{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr)}.user-list{display:grid;gap:9px}.user-access-card{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px}.user-access-card.inactive{opacity:.65;background:#f8fafc}.user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:900}.user-access-card>div:nth-child(2)>b,.user-access-card>div:nth-child(2)>span{display:block}.user-access-card>div:nth-child(2)>span{margin:3px 0 7px;color:var(--muted);font-size:12px}.user-card-actions{display:flex;gap:6px}.user-card-actions form{display:inline-flex}@media(max-width:800px){.user-permission-intro{display:block}.permission-legend{margin-top:12px}.user-management{grid-template-columns:1fr}.user-access-card{grid-template-columns:42px 1fr}.user-card-actions{grid-column:2}}
.foot span{display:block}.foot form{margin-top:9px}.sidebar-logout{width:100%;border:1px solid #ffffff38;background:#ffffff12;color:#fff;border-radius:7px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer}.sidebar-logout:hover{background:#dc2626;border-color:#ef4444}.user-menu{position:relative;margin-left:auto}.user-menu-trigger{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 9px 6px 7px;color:#172033;cursor:pointer;text-align:left}.user-menu-trigger:hover,.user-menu.open .user-menu-trigger{border-color:#9bbce9;background:#f8fbff}.user-menu-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1265d8,#2b82ff);color:#fff;font-weight:900}.user-menu-avatar.large{width:44px;height:44px;flex:0 0 44px}.user-menu-identity{display:grid;line-height:1.15;min-width:100px}.user-menu-identity b{font-size:13px}.user-menu-identity small{margin-top:3px;color:var(--muted);font-size:11px}.user-menu-chevron{font-size:16px;color:var(--muted);transition:transform .2s}.user-menu.open .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:285px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 45px #0f172a2e;padding:12px;z-index:40}.user-menu-summary{display:flex;align-items:center;gap:11px;padding:4px 4px 13px;border-bottom:1px solid var(--line)}.user-menu-summary div{min-width:0}.user-menu-summary b,.user-menu-summary small,.user-menu-summary span{display:block}.user-menu-summary small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);margin:3px 0;font-size:11px}.user-menu-summary span{color:var(--blue);font-size:11px;font-weight:800}.user-menu-dropdown form{margin-top:10px}.user-menu-logout{width:100%;border:0;border-radius:7px;background:#fee2e2;color:#b91c1c;padding:10px 12px;font:inherit;font-weight:900;cursor:pointer;text-align:left}.user-menu-logout:hover{background:#dc2626;color:#fff}@media(max-width:650px){.user-menu-identity{display:none}.user-menu-trigger{padding:5px}.user-menu-chevron{display:none}.user-menu-dropdown{position:fixed;top:64px;right:10px;left:10px;width:auto}.topbar>div:nth-child(2){min-width:0}.topbar h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.logout-success{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.app-footer{padding:6px 12px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px;min-height:32px}.app-footer small{font-size:10px;color:#94a3b8}.content{padding-bottom:54px}.login{display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 12% 18%,#1d73df 0,transparent 30%),linear-gradient(145deg,#081522,#0f2b46 58%,#1265d8);position:relative;overflow:auto}.login:before{content:'';position:fixed;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent);pointer-events:none}.login-shell{position:relative;width:min(920px,100%);min-height:570px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #02061766}.login-brand-panel{background:linear-gradient(150deg,#0a1b2d,#153b5e);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:center;position:relative}.login-brand-panel:after{content:'';position:absolute;width:220px;height:220px;border:55px solid #ffffff09;border-radius:50%;right:-120px;bottom:-110px}.login-logo-frame{width:100%;min-height:190px;display:grid;place-items:center;background:#fff;border:1px solid #dbe4ee;border-radius:14px;padding:22px;box-shadow:0 14px 35px #02061738}.login-logo-frame img{display:block;width:auto;max-width:100%;height:auto;max-height:180px;object-fit:contain}.login-brand-copy{margin-top:30px}.login-eyebrow{color:#7db5ff;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.login-brand-copy h1{font-size:27px;line-height:1.15;margin:8px 0}.login-brand-copy p{color:#cbdbea;line-height:1.55;margin:0}.login-brand-panel>small{margin-top:auto;color:#8fa8bd}.login-card{width:auto;max-width:none;border-radius:0;padding:54px 50px;text-align:left;display:flex;flex-direction:column;justify-content:center}.login-card img{width:auto}.login-heading h2{font-size:29px;margin:7px 0}.login-heading p{color:var(--muted);line-height:1.5;margin:0 0 24px}.login-mobile-logo{display:none}.login-form{gap:17px}.login-form label{display:grid;gap:7px}.login-form input{padding:13px 14px;border-color:#cbd5e1}.login-form input:focus{outline:3px solid #1265d820;border-color:var(--blue)}.login-submit{margin-top:3px;padding:13px 16px;justify-content:space-between;border-radius:7px}.login-public-link{margin-top:25px;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.login-public-link span{color:var(--muted)}.login-public-link a{color:var(--blue);font-weight:900;text-decoration:none;white-space:nowrap}.login-error{background:#fee2e2;border-color:#fecaca;color:#991b1b}@media(max-width:720px){.login{padding:14px}.login-shell{display:block;min-height:0;max-width:440px}.login-brand-panel{display:none}.login-card{padding:28px 23px}.login-heading{display:flex;align-items:center;gap:15px}.login-mobile-logo{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;background:#0f2235;border:1px solid #28445e;border-radius:11px;padding:7px}.login-mobile-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:5px}.login-heading h2{font-size:23px}.login-heading p{margin-bottom:20px}.login-public-link{align-items:flex-start;flex-direction:column}.app-footer{justify-content:space-between;padding:5px 10px}}
/* Central de sincronização offline */
.login:before{display:none}.login{background:linear-gradient(180deg,#0f2235 0,#0f2235 42%,#eef2f6 42%,#eef2f6 100%);padding:20px}.login-shell.login-simple{display:block;width:min(420px,100%);min-height:0;border-radius:14px;box-shadow:0 20px 55px #0206173d}.login-simple-logo{height:145px;display:grid;place-items:center;background:#0a1928;padding:20px 50px;border-bottom:1px solid #ffffff18}.login-simple-logo img{display:block;width:100%;height:100%;object-fit:contain}.login-simple .login-card{padding:30px 34px 23px}.login-simple-heading{text-align:center;margin-bottom:22px}.login-simple-heading h1{font-size:25px;margin:0 0 6px}.login-simple-heading p{margin:0;color:var(--muted)}.login-simple .login-submit{justify-content:center}.login-simple-public{display:block;margin-top:19px;text-align:center;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}.login-version{display:block;margin-top:20px;text-align:center;color:#94a3b8;font-size:10px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:14px;background:linear-gradient(135deg,#fff,#f2f7ff);border-color:#d7e6fa}.dashboard-welcome h2{margin:5px 0 7px}.dashboard-welcome p{margin:0;color:var(--muted)}.dashboard-main-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quick-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.quick-guide a{display:flex;align-items:center;gap:11px;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:8px;color:inherit;text-decoration:none}.quick-guide a:hover{border-color:#9fc5f7;box-shadow:0 6px 18px #1265d812}.quick-guide span{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:900}.quick-guide b,.quick-guide small{display:block}.quick-guide small{margin-top:3px;color:var(--muted)}.dashboard-stats{margin-bottom:17px}.dashboard-event{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.dashboard-running{padding:12px 0;border-bottom:1px solid var(--line)}.dashboard-running>b{display:block;margin-top:7px}.dashboard-empty{text-align:center;padding:28px 15px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.dashboard-empty p{color:var(--muted)}.dashboard-empty.compact{padding:22px 15px}.dashboard-empty.compact p{margin-bottom:0}@media(max-width:850px){.dashboard-welcome{display:block}.dashboard-main-actions{justify-content:flex-start;margin-top:15px}.quick-guide{grid-template-columns:1fr}.dashboard-event{grid-template-columns:1fr auto}.dashboard-event .btn{grid-column:1/-1}}@media(max-width:500px){.login{padding:12px}.login-simple-logo{height:125px;padding:18px 45px}.login-simple .login-card{padding:25px 22px 20px}.dashboard-main-actions .btn{width:100%}}
.offline-queue-status{cursor:pointer}.sync-panel{position:fixed;inset:0;z-index:100;display:none}.sync-panel.open{display:block}.sync-panel-backdrop{position:absolute;inset:0;background:#07182bbb}.sync-panel-dialog{position:absolute;top:0;right:0;width:min(520px,100%);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 60px #0004}.sync-panel-dialog>header,.sync-panel-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;border-bottom:1px solid var(--line)}.sync-panel-dialog>footer{border-top:1px solid var(--line);border-bottom:0;margin-top:auto}.sync-panel-dialog h3{margin:3px 0 0}.sync-panel-dialog header small{color:var(--muted);font-weight:800}.sync-panel-list{display:grid;gap:9px;padding:14px;overflow:auto}.sync-empty{padding:30px;text-align:center;color:var(--muted)}.sync-command{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:7px}.sync-command.conflict{border-left-color:var(--red);background:#fff8f8}.sync-command b,.sync-command span,.sync-command small{display:block}.sync-command span,.sync-command small{margin-top:4px;font-size:11px;color:var(--muted)}.sync-command small{color:#991b1b}.sync-command-actions{display:flex;flex-direction:column;gap:5px;align-items:stretch}.sync-command-actions .btn{white-space:nowrap}@media(max-width:600px){.sync-command{grid-template-columns:1fr}.sync-command-actions{flex-direction:row;flex-wrap:wrap}}
