.event-picker{display:flex;gap:22px;align-items:center}.event-picker label{flex:1;max-width:560px}.event-picker p{font-size:14px}.plan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px}.plan-stat{border:1px solid #dfe5dc;background:#fffefa;border-radius:14px;padding:18px 22px}.plan-stat span{display:block;font-size:12px;color:#607068}.plan-stat b{font-size:32px;font-weight:600;color:#294b3a;font-variant-numeric:tabular-nums}.plan-stat.in_progress{background:#e8f0e7;border-color:#bccfbe}.plan-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:14px;margin-bottom:24px}.day-heading{font:600 13px system-ui;text-transform:uppercase;letter-spacing:.06em;color:#607068;margin:22px 0 12px}.plan-item{display:grid;grid-template-columns:110px minmax(0,1fr);border:1px solid #dfe5dc;border-radius:14px;background:#fffefa;margin:12px 0;overflow:hidden}.plan-time{padding:22px 16px;border-right:1px solid #e2e8de;text-align:center;background:#f0f3ec}.plan-time strong{font-size:20px;color:#294b3a;font-variant-numeric:tabular-nums}.plan-time small{display:block;font-size:11px;margin-top:5px;color:#607068}.plan-detail{padding:22px;min-width:0}.plan-item-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.plan-item h3{margin:0 0 8px;overflow-wrap:anywhere;font-size:21px}.plan-status{border-radius:99px;background:#f1f3ec;color:#607068;padding:4px 10px;font-size:11px;white-space:nowrap}.plan-status.in_progress{background:#deeee8;color:#176048}.plan-status.done{background:#e8efeb;color:#456b56}.plan-status.cancelled{background:#f6eae5;color:#925343}.plan-meta,.plan-person{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.plan-person{margin-top:8px}.plan-notes{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f6f0;padding:12px 14px;border-radius:8px;margin-top:14px}.plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.plan-actions button{font-size:12px;padding:8px 12px;min-height:38px}.plan-delete{background:transparent;color:#925343}.status-in_progress{border-color:#7fa88c;box-shadow:inset 4px 0 #47785d}.status-done .plan-time{background:#ecf3ea}.status-cancelled h3{text-decoration:line-through;color:#718074}.activity-dialog{width:min(680px,calc(100vw - 32px));overflow-y:auto}.activity-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #d5dfd3;border-radius:10px;padding:12px;background:#fff;font:inherit;resize:vertical}.activity-dialog .inline label{margin-top:16px}.activity-dialog .small{margin-top:10px}.activity-dialog .dialog-actions{position:sticky;bottom:-30px;background:#fffefa;padding:16px 0}.schedule-page #printContent{display:none}#formError:not(:empty),#deleteError:not(:empty){padding:12px 0}.schedule-page #logout{margin-left:auto}
@media(max-width:1050px){.plan-filters{grid-template-columns:1fr 1fr}.plan-filters label:first-child{grid-column:1/-1}.plan-filters button{align-self:end}.event-picker{flex-direction:column;align-items:stretch}.event-picker label{max-width:none}}
@media(max-width:600px){.plan-stats{grid-template-columns:1fr 1fr;gap:10px}.plan-stat{padding:14px}.plan-item{grid-template-columns:1fr}.plan-time{display:flex;align-items:center;justify-content:space-between;text-align:left;border-right:0;border-bottom:1px solid #e2e8de;padding:12px 16px}.plan-time small{margin:0}.plan-detail{padding:16px}.plan-item-heading{flex-direction:column;gap:3px;margin-bottom:12px}.plan-actions button{flex:1;min-height:44px}.plan-filters{padding:16px;gap:12px}.activity-dialog .inline{grid-template-columns:1fr}.activity-dialog .dialog-actions{bottom:-22px}.schedule-page .checkin-heading .organize-actions button{width:100%}}
@page{size:A4;margin:16mm 15mm}
@media print{
 body.schedule-page{background:#fff;color:#233d32}
 .schedule-page main{padding:0;max-width:none}
 main>header,main>nav,.local-banner,#message,#scheduleApp>*:not(#eventPlan),#eventPlan>*:not(#printContent),dialog{display:none!important}
 .schedule-page #printContent{display:block!important;font:10pt/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;color:#233d32}
 #printContent *{box-sizing:border-box}
 #printContent .print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;border-bottom:2px solid #254f3c;padding:0 0 8mm;margin:0 0 4mm;break-inside:avoid}
 #printContent .print-heading{min-width:0}
 #printContent .print-type{margin:0 0 2mm;font-size:9pt;font-weight:700;color:#254f3c}
 #printContent h1{margin:0;font-size:22pt;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}
 #printContent .print-date{margin:2mm 0 0;font-size:9pt;color:#52655a}
 #printContent .print-logo{position:relative;display:block;flex:none;width:42mm;height:12mm;overflow:hidden}
 #printContent .print-logo img{position:absolute;left:-40%;top:50%;width:180%;max-width:none;height:auto;transform:translateY(-50%)}
 #printContent .print-logo.custom-logo{height:20mm}
 #printContent .print-logo.custom-logo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
 #printContent .print-credit{margin-top:9mm;padding-top:3mm;border-top:1px solid #d3ddd5;color:#52655a;font-size:8pt;break-inside:avoid}
 #printContent .print-day{margin:6mm 0 0;padding:0 0 2mm;border-bottom:1px solid #8da99a;font-size:11pt;line-height:1.2;break-after:avoid}
 #printContent .print-entry{display:grid;grid-template-columns:25mm minmax(0,1fr);gap:5mm;padding:4mm 0;border-bottom:1px solid #d3ddd5;break-inside:avoid-page}
 #printContent .print-marker{font-size:15pt;font-weight:700;line-height:1.2;color:#254f3c;white-space:nowrap}
 #printContent .print-entry-main{min-width:0}
 #printContent .print-entry h3{margin:0 0 1mm;font-size:12pt;line-height:1.25;overflow-wrap:anywhere}
 #printContent .print-subline{margin:0 0 2mm;font-size:9pt;color:#52655a;overflow-wrap:anywhere}
 #printContent .print-facts{display:grid;gap:1mm;margin-top:2mm}
 #printContent .print-fact{display:grid;grid-template-columns:26mm minmax(0,1fr);gap:2mm;margin:0;white-space:normal}
 #printContent .print-fact span,#printContent .print-notes span{font-size:8.5pt;font-weight:700;color:#52655a}
 #printContent .print-fact strong{font-size:9.5pt;font-weight:500;overflow-wrap:anywhere}
 #printContent .print-notes{display:grid;gap:1mm;margin:3mm 0 0;padding-left:3mm;border-left:2px solid #9db4a4;font-size:9pt;white-space:pre-wrap;overflow-wrap:anywhere}
 #printContent .ceremony-couples-wrap{margin:2mm 0 3mm;overflow:visible}
 #printContent .ceremony-couples th,#printContent .ceremony-couples td{padding:1.5mm 2mm;font-size:9pt;border-bottom:1px solid #d3ddd5}
}

/* O cronograma usa o mesmo cabeçalho e a mesma leitura em lista das outras áreas. */
.schedule-page #eventPlan>.active-event,.schedule-page .workspace-guide{display:none}
.schedule-page .local-banner .header-checkin{margin-left:0}
.schedule-page #message:not(:empty){background:transparent;border:0;border-left:3px solid #789b83;border-radius:0;padding:8px 12px;margin:10px 0}
.schedule-page #message.error{border-left-color:#a42c1b}
.schedule-page .day-heading{font:600 16px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:none;letter-spacing:0;color:#254f3c;margin:30px 0 4px;padding-bottom:8px;border-bottom:1px solid #d3ddd5}
.schedule-page .plan-item{grid-template-columns:100px minmax(0,1fr)}
.schedule-page .plan-time{background:transparent;border-right:1px solid #d3ddd5}
.schedule-page .plan-status{border-radius:4px;font-size:12px}
.schedule-page .plan-detail{padding:20px 22px}
.schedule-page .plan-actions button{font-size:13px;min-height:40px}
@media(max-width:600px){.schedule-page .plan-item{grid-template-columns:1fr}.schedule-page .plan-time{border-right:0;border-bottom:1px solid #d3ddd5}.schedule-page .plan-detail{padding:16px}.schedule-page .day-heading{margin-top:24px}}
@media print{.schedule-page .workspace-body>header,.schedule-page .workspace-guide{display:none!important}}

/* Cerimônia: a ordem das entradas guia a leitura da equipe. */
.schedule-mode-tabs{display:flex;gap:26px;border-bottom:1px solid #d3ddd5;margin:0 0 28px}
.schedule-mode-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0!important;background:transparent;color:#5d6b63;padding:12px 2px;font-weight:600}
.schedule-mode-tabs button[aria-selected=true]{border-bottom-color:#254f3c;color:#254f3c}
.schedule-mode-tabs button:hover{color:#254f3c}
.ceremony-entry{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid #d3ddd5}
.ceremony-order{border-right:1px solid #d3ddd5;padding-right:16px;text-align:center;color:#254f3c;font-variant-numeric:tabular-nums}
.ceremony-order strong{display:block;font-size:26px;font-weight:600}
.ceremony-detail{min-width:0}.ceremony-detail p{margin:8px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ceremony-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ceremony-entry-heading h3{margin:0 0 10px;font-size:20px}.ceremony-entry-heading span{font-size:12px;color:#607068}
.ceremony-carry{border-left:3px solid #789b83;padding:8px 12px;background:#edf3ef}.ceremony-note{white-space:pre-wrap}
.ceremony-couples-wrap{max-width:100%;overflow-x:auto;margin:12px 0}.ceremony-couples{width:100%;border-collapse:collapse}.ceremony-couples th,.ceremony-couples td{text-align:left;padding:9px 10px;border-bottom:1px solid #d3ddd5;vertical-align:top;font-size:13px}.ceremony-couples th{font-weight:600}.ceremony-couples td:first-child,.ceremony-couples td:nth-child(2){font-weight:600;color:#233d32}
.ceremony-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px}.ceremony-dialog form{display:grid;gap:14px}.ceremony-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:12px}.ceremony-dialog fieldset{margin:0;padding:14px;border-color:#d3ddd5}.ceremony-dialog .ceremony-couples input{min-width:110px}.ceremony-dialog .couple-remove{min-width:42px;min-height:42px;padding:6px 10px}.ceremony-dialog #addCeremonyCouple{margin-top:12px}
.schedule-page .ceremony-dialog .ceremony-form-section{display:grid;gap:13px;min-width:0}.schedule-page .ceremony-dialog .ceremony-form-section+.ceremony-form-section{border-top:1px solid #d3ddd5;padding-top:16px}.schedule-page .ceremony-dialog .ceremony-form-section h3{margin:0;color:#274936;font-size:16px;line-height:1.3}.schedule-page .ceremony-dialog .ceremony-form-section label{margin:0;gap:6px}.schedule-page .ceremony-dialog #ceremonyError:empty{display:none}.schedule-page .ceremony-dialog #ceremonyEvent{margin:0!important}.schedule-page .ceremony-dialog .dialog-heading{margin-bottom:0}.schedule-page .ceremony-dialog .dialog-actions{margin:4px 0 0;padding-top:12px;border-top:1px solid #d3ddd5}
.ceremony-people-group,.ceremony-extra-people{display:grid;gap:9px;min-width:0}.ceremony-extra-person{display:flex;align-items:end;gap:8px}.ceremony-extra-person label{flex:1;min-width:0}.ceremony-dialog .ceremony-remove-person{width:42px;min-width:42px;height:46px;padding:0}.ceremony-dialog .ceremony-add-person{justify-self:start;min-height:38px;padding:8px 12px;font-size:13px}
.ceremony-dialog .ceremony-couple-option{display:inline-flex;align-items:center;justify-self:start;gap:10px;min-height:44px;color:#233d32;font-size:14px;font-weight:600;cursor:pointer}.ceremony-dialog .ceremony-couple-option input{width:19px;height:19px;margin:0;padding:0;accent-color:#285e4c;cursor:pointer}
.ceremony-dialog form{grid-template-columns:minmax(0,1fr)}.ceremony-dialog form>*,.ceremony-dialog fieldset{min-width:0}.ceremony-dialog input,.ceremony-dialog select,.ceremony-dialog textarea{max-width:100%;box-sizing:border-box}
@media(max-width:600px){.ceremony-entry{grid-template-columns:1fr;gap:8px}.ceremony-order{display:flex;gap:12px;align-items:center;border-right:0;padding:0;text-align:left}.ceremony-order strong{font-size:20px}.ceremony-entry-heading{display:block}.ceremony-form-grid{grid-template-columns:minmax(0,1fr) 94px}.ceremony-couples-wrap{overflow:visible}.ceremony-couples,.ceremony-couples tbody,.ceremony-couples tr,.ceremony-couples td{display:block;width:100%}.ceremony-couples thead{display:none}.ceremony-couples tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;border-bottom:1px solid #d3ddd5;padding:12px 0}.ceremony-couples td{border:0;padding:3px 0;min-width:0}.ceremony-couples td:nth-child(n+3){grid-column:1/-1}.ceremony-couples td:first-child::before{content:'Nome da pessoa';display:block;font-size:11px;font-weight:400;color:#607068}.ceremony-couples td:nth-child(2)::before{content:'Outro nome';display:block;font-size:11px;font-weight:400;color:#607068}}
@media(max-width:600px){.ceremony-dialog .ceremony-couples tr{grid-template-columns:minmax(0,1fr)}.ceremony-dialog .ceremony-couples td:nth-child(n){grid-column:1;width:auto}.ceremony-dialog .ceremony-couples input{min-width:0;width:100%}.ceremony-dialog .ceremony-couples-wrap{max-width:100%;overflow:hidden}}
@media(max-width:600px){.ceremony-dialog{padding:18px}.schedule-page .ceremony-dialog .ceremony-form-section{gap:11px}.schedule-page .ceremony-dialog .dialog-actions{position:static;padding:12px 0 4px}.schedule-page .activity-dialog .dialog-actions{position:static}}
@media print{.schedule-page #printContent .ceremony-couples,.schedule-page #printContent .ceremony-couples tbody,.schedule-page #printContent .ceremony-couples tr,.schedule-page #printContent .ceremony-couples td{display:table-cell}.schedule-page #printContent .ceremony-couples{display:table}.schedule-page #printContent .ceremony-couples tbody{display:table-row-group}.schedule-page #printContent .ceremony-couples tr{display:table-row}.schedule-page #printContent .ceremony-couples td::before{display:none!important}}

/* O roteiro é o conteúdo principal; ferramentas aparecem abaixo dele. */
.schedule-page main{box-sizing:border-box;max-width:1120px}
.schedule-page .schedule-event-date{margin:5px 0 0;color:#5d6b63;font-size:13px}
.schedule-page .schedule-event-date:empty{display:none}
.schedule-page .schedule-back-link{align-self:center;color:#254f3c;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.schedule-page .checkin-heading{margin-bottom:10px}
.schedule-page .checkin-heading p{max-width:60ch}
.schedule-page .schedule-mode-tabs{gap:22px;margin-bottom:24px}
.schedule-page .schedule-mode-tabs button{min-height:40px;padding:8px 1px;font-size:14px}
.schedule-page .schedule-list-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 0 28px;border-bottom:1px solid #d3ddd5}
.schedule-page .schedule-list-actions button{min-height:38px;font-size:13px;font-weight:600}
.schedule-page .schedule-list-actions .schedule-add{padding:8px 13px;background:#254f3c;color:#fff;border:1px solid #254f3c}
.schedule-page .schedule-list-actions .schedule-add:hover{background:#1c4231}
.schedule-page .schedule-list-actions .schedule-print{padding:8px 3px;background:transparent;border:0;color:#254f3c;text-decoration:underline;text-underline-offset:3px}
.schedule-page .plan-actions{gap:14px;margin-top:14px}
.schedule-page .plan-actions button,.schedule-page .plan-actions button.secondary{min-height:32px;padding:4px 2px;background:transparent;border:0;color:#254f3c;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.schedule-page .plan-actions button.plan-delete{color:#925343}
.schedule-page .schedule-filter-toggle{padding:0 0 14px;border-bottom:1px solid #d3ddd5}
.schedule-page .schedule-filter-toggle summary{width:max-content;max-width:100%;padding:8px 0;color:#254f3c;font-size:13px;font-weight:600;cursor:pointer}
.schedule-page .schedule-filter-toggle .plan-filters{margin:0;padding:12px 0 6px;border:0}
.schedule-page .plan-stats{margin-top:20px}
.schedule-page .empty{padding:22px 0}
@media(max-width:600px){.schedule-page .local-banner .banner-event{flex-basis:110px}.schedule-page .local-banner .banner-brand{flex-basis:120px;max-width:45%}.schedule-page .local-banner .banner-logo{width:120px;height:34px}.schedule-page .local-banner #environmentDescription{display:none}.schedule-page main>header{align-items:flex-start;gap:8px}.schedule-page .schedule-back-link{align-self:flex-start}.schedule-page .schedule-list-actions{gap:12px}.schedule-page .schedule-list-actions button{width:auto}.schedule-page .plan-actions button{flex:0 0 auto;min-height:36px}}

.schedule-page .ceremony-music-field{display:grid;justify-items:start;gap:8px}
.schedule-page .ceremony-music-field>label{font-weight:600;color:#233d32}
.schedule-page .music-help{margin:0;font-size:12px;line-height:1.5;color:#5d6b63}
.schedule-page .ceremony-dialog #ceremonyMusic{width:min(100%,320px)}
.schedule-page #ceremonyMusicPreview:empty{display:none}
.schedule-page #ceremonyMusicPreview:not(:empty){font-size:13px;color:#5d6b63}
.schedule-page .music-detail{margin:10px 0 6px}
.schedule-page .music-detail>b{font-size:13px;color:#233d32}
.schedule-page .music-card{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:400px;margin:7px 0 4px;padding:10px 0;border-top:1px solid #d3ddd5;border-bottom:1px solid #d3ddd5}
.schedule-page .music-card-info{display:grid;gap:3px;min-width:0}
.schedule-page .music-card-info strong{font-size:17px;line-height:1.3;color:#233d32;overflow-wrap:anywhere}
.schedule-page #ceremonyMusicPreview .music-card-info strong{font-size:19px}
.schedule-page .music-card-info small{font-size:12px;line-height:1.35;color:#5d6b63;overflow-wrap:anywhere}
.schedule-page .music-card>a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:38px;padding:8px 13px;border-radius:5px;background:#254f3c;color:#fff;font-size:13px;font-weight:600;text-decoration:none}
.schedule-page .music-card>a:hover{background:#1c4231}
@media(max-width:600px){.schedule-page .music-card{gap:10px}.schedule-page .music-card>a{min-height:42px}}
@media print{.schedule-page .music-card{display:none!important}}
@media print{.schedule-page main{max-width:none}}
.schedule-page .dj-share-dialog{width:min(640px,calc(100vw - 24px))}
.schedule-page .dj-share-dialog .dialog-heading{margin-bottom:8px}
.schedule-page .dj-share-dialog .modal-scroll>p:first-child{margin:0 0 14px}
.schedule-page .dj-share-dialog .dj-share-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#233d32;font-size:14px}
.schedule-page .dj-share-dialog #editDjShare{padding:6px 10px;font-size:13px}
.schedule-page .dj-share-dialog .dj-share-preview{min-height:170px;padding:12px;border:1px solid #b5c4b9;border-radius:5px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.5 system-ui,sans-serif}
.schedule-page .dj-share-dialog #djShareEdit{display:grid;gap:8px;min-width:0;margin:0;font-weight:600;color:#233d32}
.schedule-page .dj-share-dialog textarea{box-sizing:border-box;width:100%;min-width:0;height:220px;min-height:180px;max-height:45dvh;resize:vertical;font:16px/1.5 system-ui,sans-serif;white-space:pre-wrap}
.schedule-page .dj-share-dialog #djShareStatus{margin:0 0 4px;color:#254f3c;font-size:13px}
.schedule-page .dj-share-dialog #djShareStatus:empty{display:none}
@media(max-width:600px){.schedule-page .dj-share-dialog .dialog-heading h2{font-size:23px}.schedule-page .dj-share-dialog textarea{height:180px;min-height:140px;max-height:40dvh;resize:none}}
@media(max-height:420px){.schedule-page .dj-share-dialog .modal-scroll>p:first-child{display:none}}

/* A entrada longa rola apenas no miolo; o título e as ações ficam acessíveis. */
.schedule-page #ceremonyDialog .ceremony-modal-scroll{display:grid;gap:14px;min-width:0}
@media(max-width:600px){
 .schedule-page #ceremonyDialog[open]{box-sizing:border-box;width:min(440px,calc(100vw - 24px));height:min(640px,82dvh);max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
 .schedule-page #ceremonyDialog form{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
 .schedule-page #ceremonyDialog .dialog-heading{padding:16px 18px 12px;border-bottom:1px solid #d3ddd5}
 .schedule-page #ceremonyDialog .ceremony-modal-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 18px 18px;align-content:start}
 .schedule-page #ceremonyDialog .dialog-actions{display:flex;flex-wrap:nowrap;gap:8px;margin:0;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid #d3ddd5;background:#fff}
 .schedule-page #ceremonyDialog .dialog-actions button{flex:1 1 0;min-width:0;min-height:44px;padding:9px 8px}
 .schedule-page #ceremonyDialog :is(input:not([type=checkbox]),textarea,select){font-size:16px}
}
