:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#243b38;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:white;border:1px solid #d9e1de;color:#314b44;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600}button:hover{background:#edf4f0;border-color:#8ba99e}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,.table-scroll:focus-visible{outline:3px solid #7bb7a4;outline-offset:2px}input,textarea,select{width:100%;border:1px solid #d8e1dc;border-radius:7px;padding:10px;background:white;color:#243b38;font-size:14px}textarea{resize:vertical}label{display:block;font-size:12px;font-weight:600;margin-top:16px}label input,label textarea{margin-top:6px}.optional{float:right;color:#7c8b85;font-weight:400}.top{height:74px;border-bottom:1px solid #e1e7e3;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));background:white}.brand{display:flex;align-items:center;gap:4px;text-decoration:none;font-weight:750;color:#203c33;letter-spacing:-.6px}.brand>span:last-child{font-weight:400}.logo{font-size:27px;color:#28755d;margin-right:8px}.privacy-tag{font-size:12px;color:#687c73}main{max-width:1440px;margin:auto;padding:32px 24px 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#43806a}h1{font-size:32px;letter-spacing:-1px;margin:9px 0}p{line-height:1.6}.intro p{font-size:14px;color:#78867f;margin:0}.file-actions{display:flex;gap:8px;flex-shrink:0}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.card{background:white;border:1px solid #e1e7e3;border-radius:12px;padding:20px;margin-bottom:16px}h2{font-size:15px;margin:0;font-weight:650;display:flex;align-items:center;gap:10px}.step{display:inline-grid;place-items:center;background:#edf4ef;color:#56806c;font-size:11px;border-radius:50%;width:24px;height:24px;flex-shrink:0}.primary{background:#22694f;color:white;border-color:#22694f}.primary:hover{background:#194e3b;color:white}.full{width:100%;margin-top:12px}.hint{color:#7a8780;font-size:11px;line-height:1.6}.privacy{background:transparent;border-style:dashed}.privacy p{font-size:12px;color:#728177}.privacy h2{font-size:13px}.link,.danger-link{display:block;padding:5px 0;border:0;background:none;font-size:11px;text-align:left}.danger-link{color:#a24942;margin-top:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.pill{font-size:11px;background:#f1f5f2;padding:5px 9px;border-radius:20px;color:#6c7b71}.empty{text-align:center;padding:32px 12px;color:#7f8d85}.empty>span{font-size:34px;color:#a3baad}.empty h3{font-size:16px;color:#435d50;font-weight:500;margin-bottom:8px}.empty p{font-size:13px;margin:0}.bulk{padding:16px;background:#f6f8f6;border-radius:8px;margin-top:18px}.bulk strong{font-size:12px}.bulk p{margin:5px 0}.time-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-fields label{font-size:10px;margin:8px 0}.time-fields input{padding:7px 4px;font-size:12px;min-width:0}.bulk button{margin-top:6px;font-size:11px}.check{display:flex;align-items:center;gap:6px;margin:14px 0}.check input,.person>input[type=checkbox]{width:16px;height:16px;accent-color:#22694f;margin:0}.person{display:grid;grid-template-columns:16px minmax(110px,1fr) minmax(270px,1.8fr) 30px;gap:10px;align-items:center;border-top:1px solid #edf0ee;padding:10px 0}.person>input{font-size:12px;padding:8px}.remove{padding:5px;border:0;color:#947c76;font-size:20px}.paint{margin:0;display:flex;align-items:center;gap:8px;font-size:11px}.paint select{width:auto;padding:6px;font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0 18px}.toolbar button{font-size:10px;max-width:190px}.toolbar p{max-width:380px}.document-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0}.document-title h2{font-size:17px;overflow-wrap:anywhere}.document-title p{margin:5px 0;color:#819087;font-size:12px;text-transform:capitalize}.document-title>span{font-size:12px;overflow-wrap:anywhere}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{border:1px solid #e2e8e3;text-align:center;padding:0}thead th{background:#f6f8f6;padding:7px 2px;font-size:10px;min-width:27px}thead th small{display:block;color:#8b988f;font-weight:400;font-size:9px;margin-top:3px}th:first-child{min-width:150px;text-align:left;padding:10px;max-width:200px;overflow-wrap:anywhere;font-weight:500}thead th.weekend{background:#eaf0ea}.day{display:block;width:100%;min-width:26px;padding:9px 2px;border:0;border-radius:0;font-size:11px;background:transparent;color:#b2bcb5}.day.T{color:#3c6650}.day.F{background:#eaf3eb;color:#3b7652}.day.X{background:#fcf0ea;color:#a35e39}.legend{font-size:10px;color:#829087;margin:12px 0 0}#print-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#52685b}.finish{display:flex;align-items:center;justify-content:space-between;padding:4px 0 20px}.finish>span{font-size:11px;color:#7c8c80}footer{text-align:center;border-top:1px solid #e1e7e3;padding:22px;font-size:11px;color:#859188;margin-top:24px}.notice{border:1px solid #c4dacb;background:#eff8f0;border-radius:8px;padding:12px 16px;font-size:13px;margin-bottom:20px}.notice.error{background:#fff5ef;border-color:#efcaba;color:#914d39}dialog{max-width:480px;width:calc(100% - 32px);padding:26px;border:1px solid #dae5dc;border-radius:14px;color:#304737}dialog::backdrop{background:#10251e77}dialog p{font-size:14px;white-space:pre-line}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.print-only{display:none}[hidden]{display:none!important}@media(max-width:1050px){.layout{grid-template-columns:240px minmax(0,1fr);gap:16px}.person{grid-template-columns:16px 1fr 30px}.person .time-fields{grid-column:2;grid-row:2}.person .remove{grid-column:3;grid-row:1}.intro h1{font-size:28px}.paint{flex-wrap:wrap}}@media(max-width:720px){.top{height:60px;padding:0 16px}.privacy-tag{display:none}main{padding:24px 14px 0}.intro{display:block}.file-actions{margin-top:18px}.layout{display:block}.card{padding:16px}.intro h1{font-size:28px}.section-heading,.toolbar{flex-wrap:wrap}.paint{margin-top:8px}.finish{gap:10px}.finish>span{max-width:120px}.time-fields{gap:5px}.schedule-card{padding:12px}footer{padding:20px 5px}.brand{font-size:15px}}
@page{size:A4 landscape;margin:10mm}@media print{body{background:white;color:black}.top,.no-print,dialog,footer{display:none!important}main{max-width:none;padding:0}.layout{display:block}.workspace>.card{display:none}.workspace>.schedule-card{display:block;border:0;padding:0;margin:0}.table-scroll{overflow:visible}.document-title{padding:0 0 12px}.document-title h2{font-size:16px}table{width:100%;table-layout:fixed;font-size:8px}thead{display:table-header-group}tr{break-inside:avoid}th:first-child{width:40mm;min-width:0;max-width:none;padding:4px}thead th{min-width:0;padding:4px 0;font-size:8px}.day{min-width:0;font-size:8px;padding:5px 0;color:black!important}th,td{border-color:#aaa}.day.F{background:#e6e6e6!important}.day.X{background:#eee!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{display:block;margin-top:14px}.print-only h3{font-size:11px}.print-only th,.print-only td{padding:4px}.legend{color:#333;font-size:8px}#print-notes{font-size:9px;color:black}.document-title p{color:#333}}
/* Seleção de células e dias: apenas a marcação faz parte do documento. */
.selection-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;background:#f5f8f6;border-radius:8px;margin-bottom:10px}.selection-tools>span{font-size:12px;margin-right:auto}.selection-tools button{font-size:11px;padding:8px 10px}.selection-tools p{flex-basis:100%;margin:2px 0}.column-select,.row-select{border:0;background:transparent;border-radius:0;color:inherit;width:100%;font-size:10px;padding:5px 2px}.row-select{text-align:left;font-size:11px;padding:5px 0;white-space:normal;overflow-wrap:anywhere}#grid thead th{padding:0;min-width:34px}#grid .day{min-width:34px}#grid{user-select:none}#grid th.saturday,#grid td.saturday{background:#e7f1fc}#grid th.sunday,#grid td.sunday{background:#fff0e6}#grid .saturday .day.F,#grid .sunday .day.F{background:transparent;font-weight:700}#grid .selected-cell{background:#c3e5d5!important;box-shadow:inset 0 0 0 2px #22694f;color:#153b2c!important}#grid .column-select:hover,#grid .row-select:hover{background:#dcebe3}.weekend-key{white-space:nowrap}@media print{#grid thead th,#grid .day{min-width:0}#grid .selected-cell{box-shadow:none!important;background:transparent!important;color:black!important}#grid .selected-cell.F{background:#e6e6e6!important}#grid .column-select,#grid .row-select{padding:3px 0;font-size:8px}#grid th.saturday,#grid td.saturday{background:#e7f1fc!important}#grid th.sunday,#grid td.sunday{background:#fff0e6!important}.weekend-key{font-size:7px}}
/* Área de montagem ampla, com comandos agrupados. */
@media(min-width:900px){.workspace{display:contents}.layout>aside{grid-column:1;grid-row:1}.workspace>.card:first-child{grid-column:2;grid-row:1;align-self:start}.workspace>.schedule-card,.workspace>.card:not(:first-child),.workspace>.finish{grid-column:1/-1}.layout{align-items:start;row-gap:4px}.schedule-card{padding:24px}.table-scroll{max-height:65vh}#grid thead{position:sticky;top:0;z-index:2}#grid tbody th{position:sticky;left:0;background:white;z-index:1}#grid thead th:first-child{position:sticky;left:0;z-index:3;background:#f1f5f2}}
.selection-tools{background:#f5f7f6;border:1px solid #e2e9e4;gap:6px}.selection-tools>span{flex-basis:100%;margin-bottom:4px;font-weight:600;color:#567264}.selection-tools button{background:white}.selection-tools .primary{background:#22694f}.keyboard-help{width:100%;font-size:11px;color:#6f8277;margin-top:6px}.keyboard-help summary{cursor:pointer}.keyboard-help p{line-height:1.7;margin:10px 0}.toolbar{justify-content:flex-start}.toolbar .hint{flex:1;max-width:none;margin:0}.toolbar #weekdays{margin-left:auto}.toolbar #batch-open{max-width:none;font-size:13px;white-space:nowrap}#grid .day{cursor:cell;padding:12px 2px}#grid .row-select{font-weight:600}#batch-dialog{max-width:760px}#batch-dialog h3{font-size:13px;margin:16px 0 10px}.batch-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}.batch-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.batch-dates label{margin:0}.batch-shortcuts{display:flex;gap:8px}#batch-people{max-height:270px;overflow:auto;border:1px solid #e0e8e2;padding:4px 12px;border-radius:8px;margin-top:12px}#batch-days{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}#batch-days .check{margin:6px 0}#batch-summary{background:#edf5ef;border-radius:8px;padding:12px;font-size:13px}#batch-dialog button{font-size:12px}.batch-layout select{margin-top:6px}#paste-error{color:#a33b29;font-size:12px}@media(max-width:720px){.batch-layout{display:block}#batch-people{max-height:140px}.toolbar{align-items:stretch}.toolbar #batch-open{width:100%}.toolbar .hint{flex-basis:100%}.selection-tools button{flex:1 0 auto}.table-scroll{max-height:65vh}}
@media print{.workspace{display:block!important}.table-scroll{max-height:none!important}#grid thead,#grid tbody th,#grid thead th:first-child{position:static!important}#grid .day{padding:5px 0}}

.privacy summary{cursor:pointer;font-size:12px;font-weight:600}.privacy h2{margin-top:14px}@media screen and (min-width:900px){#grid .day,#grid thead th{min-width:32px}}

.about-link{border:0;background:transparent;font-size:12px;color:#486858;padding:8px}.about-link:hover{background:#edf4f0}.about-kicker{display:block;font-size:11px;color:#728578;margin-bottom:10px}#about-title{font-size:25px;letter-spacing:-.5px}.about-role{font-size:12px!important;color:#607e6b}#about-dialog{max-width:530px}footer .about-link{padding:3px;font-size:inherit}

/* Refinamento visual e responsivo */
:root{--green:#1f6b50;--green-dark:#174f3c;--surface:#fff;--line:#dfe8e3;--muted:#6d7f76}
body{background:linear-gradient(180deg,#f7faf8 0,#f2f6f4 420px);min-height:100vh}
.top{height:64px;box-shadow:0 1px 0 rgba(28,76,59,.05);position:relative;z-index:10}
.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f4ee;font-size:21px;margin-right:7px}
main{max-width:1360px;padding-top:26px}
.intro{margin-bottom:22px}.intro h1{font-size:30px;margin:0 0 5px}.intro p{font-size:13px;color:var(--muted)}
.card{border-color:var(--line);box-shadow:0 8px 24px rgba(31,72,56,.045)}
.primary{background:var(--green);border-color:var(--green)}.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}
.schedule-card{overflow:hidden}.table-scroll{border:1px solid var(--line);border-radius:10px;background:white;scrollbar-color:#a8b9b0 #edf2ef}
#grid th:first-child{border-left:0}#grid tr:first-child th{border-top:0}#grid tr:last-child td,#grid tr:last-child th{border-bottom:0}
.finish{position:sticky;bottom:0;z-index:5;margin:0 -8px;padding:12px 8px 18px;background:linear-gradient(180deg,transparent,#f3f7f5 28%)}
footer{border-top:0;margin-top:8px;padding:18px}.about-link{font-size:11px;color:#7d8b84;text-decoration:underline;text-decoration-color:#c9d3ce;text-underline-offset:3px}
@media(max-width:899px){main{padding:20px 14px 0}.layout{display:block}.workspace{display:block}.intro{align-items:flex-start}.person{grid-template-columns:20px minmax(0,1fr) 34px}.person .time-fields{grid-column:1/-1;grid-row:auto}.schedule-card{padding:14px}.table-scroll{max-height:64vh}.finish{margin:0}.top{padding:0 14px}}
@media(max-width:560px){.top{height:56px}.brand{font-size:14px}.logo{width:30px;height:30px;font-size:18px}.intro{display:flex;flex-direction:column}.intro h1{font-size:25px}.file-actions{width:100%;margin-top:8px}.file-actions button{flex:1}.card{border-radius:10px;padding:14px}.time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-tools button{flex:1 1 calc(50% - 6px)}.section-heading{align-items:flex-start}.paint{width:100%;justify-content:space-between}.paint select{max-width:170px}.finish{align-items:center}.finish .primary{padding:11px 14px}.batch-dates{grid-template-columns:1fr}.document-title{align-items:flex-start}.document-title>span{text-align:right}}

/* A impressão contém somente o documento final da escala. */
@media print{
 @page{size:A4 landscape;margin:8mm}
 html,body{width:100%;min-width:0;background:#fff!important}
 body{margin:0!important}
 body>.top,main>.intro,main>#notice,main>footer,.layout>aside,.workspace>.card:not(.schedule-card),.workspace>.finish,.schedule-card>.section-heading,.schedule-card>.toolbar,.schedule-card>.selection-tools,dialog{display:none!important}
 main,.layout,.workspace,.schedule-card,#document{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important}
 .schedule-card{break-inside:auto!important}
 .table-scroll{display:block!important;overflow:visible!important;max-height:none!important;border:0!important;border-radius:0!important}
 .document-title{padding:0 0 5mm!important;border-bottom:1px solid #555;margin-bottom:3mm}
 .document-title h2{font-size:15pt!important;color:#000!important}.document-title p,.document-title>span{font-size:8pt!important;color:#000!important}
 #grid{table-layout:fixed!important;width:100%!important;font-size:7pt!important}
 #grid thead{display:table-header-group!important;position:static!important}
 #grid tr{break-inside:avoid!important;page-break-inside:avoid!important}
 #grid th,#grid td{border:1px solid #777!important}
 #grid th:first-child{width:38mm!important;min-width:38mm!important;max-width:38mm!important;padding:1.4mm!important}
 #grid thead th{position:static!important;min-width:0!important;padding:0!important;background:#eee!important}
 #grid .column-select,#grid .row-select{font-size:6.4pt!important;line-height:1.15!important;padding:1mm .2mm!important;color:#000!important}
 #grid .day{font-size:7pt!important;line-height:1!important;min-width:0!important;padding:2mm 0!important;color:#000!important;border:0!important;box-shadow:none!important}
 #grid .selected-cell{box-shadow:none!important;color:#000!important}
 #grid th.saturday,#grid td.saturday{background:#e7f1fc!important}#grid th.sunday,#grid td.sunday{background:#fff0e6!important}
 .legend{font-size:6.5pt!important;color:#000!important;margin:2mm 0 0!important}
 #print-hours:not([hidden]){display:block!important;margin-top:4mm!important;break-before:auto}#print-hours h3{font-size:9pt!important;margin:0 0 1.5mm}#print-hours table{font-size:7pt!important}#print-hours th,#print-hours td{padding:1.2mm!important;border:1px solid #777!important}
 #print-notes:not([hidden]){display:block!important;border-top:1px solid #999;margin:4mm 0 0!important;padding-top:2mm;font-size:7pt!important;color:#000!important}
}
