[data-pontual-escalas] { padding: 42px 0 80px; }
[data-pontual-escalas] h1,[data-pontual-escalas] h2,[data-pontual-escalas] h3 { font-family: Sora,sans-serif; line-height: 1.22; }
[data-pontual-escalas] h1 { font-size: clamp(2rem,4vw,3.5rem); margin: 8px 0 18px; }
[data-pontual-escalas] h2 { font-size: 1.45rem; }
[data-pontual-escalas] h3 { font-size: 1.05rem; }
[data-pontual-escalas] button,[data-pontual-escalas] input,[data-pontual-escalas] select,[data-pontual-escalas] textarea { font: inherit; }
[data-pontual-escalas] button { cursor: pointer; }
[data-pontual-escalas] :focus-visible { outline: 3px solid #e3322b; outline-offset: 3px; }
.pe-intro { max-width: 850px; margin-bottom: 34px; }
.pe-intro > p { font-size: 1.08rem; line-height: 1.65; }
.pe-disclaimer { padding: 14px 18px; border-left: 4px solid var(--brand); background: #fff; border-radius: 0 12px 12px 0; }
.pe-layout { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 24px; }
.pe-editor,.pe-results,.pe-about { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px; box-shadow: 0 10px 28px rgba(7,29,60,.05); }
.pe-editor { position: relative; }
.pe-results > div + div { margin-top: 22px; }
.pe-result-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.pe-stale,.pe-errors { color: #94241d; background: #fff0ed; padding: 8px 12px; border-radius: 8px; }
.pe-status { color: #174d37; min-height: 1.5em; }
.pe-tabs,.pe-actions,.pe-inline,.pe-month-nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pe-tabs { margin: 15px 0; }
.pe-tabs[hidden] { display: none; }
.pe-tab,.pe-small-button { border: 1px solid #a7b5c0; color: var(--navy); background: #fff; border-radius: 9px; padding: 8px 10px; min-height: 42px; }
.pe-tab[aria-current="true"] { background: var(--navy); color: #fff; }
.pe-fieldset { border: 1px solid var(--line); border-radius: 14px; margin: 18px 0; padding: 16px; }
.pe-fieldset legend { font-weight: 700; color: var(--navy); padding: 0 6px; }
.pe-quick { border: 1px solid var(--line); border-radius: 14px; padding: 18px; background: var(--bg-soft); }
.pe-quick h3 { margin: 4px 0 12px; color: var(--navy); }
.pe-quick h3:not(:first-child) { margin-top: 24px; }
.pe-builder { border: 1px solid var(--brand); border-radius: 12px; margin-bottom: 20px; background: #fff; }
.pe-builder > summary { cursor: pointer; padding: 13px 15px; color: var(--navy); font-weight: 700; }
.pe-builder[open] > summary { border-bottom: 1px solid var(--line); }
.pe-builder-body { padding: 12px 15px 17px; }
.pe-builder .pe-field[hidden] { display: none; }
.pe-builder-total { font-weight: 700; color: var(--navy); }
#pe-builder-preview .pe-table { min-width: 760px; font-size: .92rem; }
#pe-builder-preview .pe-table th,#pe-builder-preview .pe-table td { padding: 7px; }
.pe-apply-row,.pe-quick-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0; }
.pe-quick-submit { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 20px; }
.pe-advanced { margin-top: 24px; }
.pe-advanced > h3,.pe-result-actions > h3 { color: var(--navy); }
.pe-advanced-group { border: 1px solid var(--line); border-radius: 11px; margin: 9px 0; background: #fff; }
.pe-advanced-group > summary { cursor: pointer; padding: 12px 15px; color: var(--navy); font-weight: 700; }
.pe-advanced-group[open] > summary { border-bottom: 1px solid var(--line); }
.pe-advanced-group > .pe-fieldset { margin: 10px; }
.pe-advanced-group > .pe-fieldset > legend { display: none; }
.pe-result-actions { border-top: 1px solid var(--line); padding-top: 16px; }
.pe-field-error { display: block; margin-top: 5px; color: #94241d; font-size: .9rem; }
.pe-field [aria-invalid="true"] { border-color: #94241d; border-width: 2px; }
.pe-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.pe-field { display: block; min-width: 0; margin: 9px 0; font-weight: 600; color: var(--ink); }
.pe-field > input,.pe-field > select,.pe-field > textarea { display: block; width: 100%; margin-top: 5px; border: 1px solid #98a9b6; border-radius: 9px; padding: 9px 10px; min-height: 42px; color: var(--ink); background: #fff; }
.pe-field > textarea { min-height: 75px; resize: vertical; }
.pe-hint { color: var(--ink-soft); font-size: .91rem; line-height: 1.45; }
.pe-check { display: flex; gap: 8px; align-items: start; margin: 8px 0; }
.pe-check input { margin-top: 5px; }
.pe-day-row,.pe-break-row,.pe-override-row { display: grid; grid-template-columns: 85px minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 5px 0; }
.pe-break-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto auto; }
.pe-break-row input,.pe-day-row select,.pe-override-row select { width: 100%; min-width: 0; border: 1px solid #98a9b6; border-radius: 7px; padding: 7px; min-height: 40px; }
.pe-shift-card { border: 1px solid #d8d1c4; border-radius: 12px; padding: 12px; margin: 12px 0; }
.pe-actions { margin: 15px 0; }
.pe-primary { background: var(--brand); color: #fff; border: 1px solid var(--brand); border-radius: 10px; min-height: 44px; padding: 9px 14px; font-weight: 700; }
.pe-primary:hover { background: var(--brand-deep); }
.pe-card { border: 1px solid var(--line); border-radius: 12px; padding: 16px; margin: 12px 0; background: var(--bg-soft); }
.pe-stat-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.pe-stat { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
.pe-stat strong { display: block; font-size: 1.22rem; color: var(--navy); }
.pe-stat span { display: block; color: var(--ink-soft); font-size: .88rem; }
.pe-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--line); border-radius: 10px; }
.pe-table { width: 100%; border-collapse: collapse; min-width: 540px; background: #fff; }
.pe-table th,.pe-table td { padding: 9px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.pe-table th { background: #e9eef2; color: var(--navy); }
.pe-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.pe-cal-day { min-width: 0; min-height: 74px; padding: 6px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); text-align: left; font-size: .78rem; overflow-wrap: anywhere; }
.pe-cal-day[aria-pressed="true"] { border: 2px solid var(--brand); }
.pe-cal-day--sunday { border-left: 3px solid var(--brand); background: #fff6f4; }
.pe-cal-day--muted { background: #f5f5f5; }
.pe-cal-head { text-align: center; font-weight: 700; font-size: .8rem; }
.pe-notes { padding-left: 19px; line-height: 1.5; }
.pe-notes li { margin: 7px 0; }
.pe-about { margin-top: 28px; line-height: 1.6; }
.pe-about h3 { margin-bottom: 4px; }
.pe-about h3 + p { margin-top: 0; }
.pe-file { max-width: 100%; }
.pe-other-print { display: none; }
.pe-full-print { display: none; }
@media(min-width:1100px) { .pe-builder-body > .pe-grid { grid-template-columns: repeat(5,minmax(0,1fr)); } }
@media(max-width:520px) { .pe-simulator-page .topbar { display: none; } [data-pontual-escalas] { padding-top: 20px; } .pe-intro { margin-bottom: 16px; } .pe-intro > p { font-size: 1rem; line-height: 1.45; } .pe-disclaimer { padding: 10px 12px; } .pe-editor,.pe-results,.pe-about { padding: 15px; } .pe-quick { padding: 13px; } .pe-grid,.pe-stat-grid { grid-template-columns: minmax(0,1fr); } .pe-cal-day { min-height: 65px; padding: 3px; font-size: .65rem; } .pe-day-row { grid-template-columns: 70px minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { [data-pontual-escalas] * { scroll-behavior: auto; transition: none !important; } }
