:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18362f;background:#f5f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;background:#fff;border-right:1px solid #e8ece8;display:flex;flex-direction:column;padding:30px 20px 22px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:48px;font-size:16px}.brand-icon{display:grid;place-items:center;background:#193f36;color:#fff;border-radius:13px;width:43px;height:43px;font-size:24px}.brand small{display:block;font-size:9px;letter-spacing:1.65px;color:#7b8981;margin-top:5px;font-weight:700}.side-caption{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#9ba59e;margin:0 0 13px 12px}.sidebar nav{margin-bottom:36px;display:grid;gap:5px}.nav{display:flex;align-items:center;gap:12px;border:0;background:none;text-align:left;padding:13px 14px;color:#68796e;font-weight:600;border-radius:9px;font-size:13px}.nav span{font-size:20px;width:21px;text-align:center}.nav:hover,.nav.active{background:#eaf3ed;color:#1b624b}.filters{display:grid;gap:17px;padding:7px 10px}.filters label{display:flex;align-items:center;gap:10px;font-size:13px;color:#4b5a50;cursor:pointer}.filters input{accent-color:#27624d}.dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex-shrink:0}.cne{background:#21805e}.regiao{background:#df9652}.nucleo{background:#7364c3}.agrupamento{background:#5290c4}.pessoal{background:#cf6488}.side-bottom{margin-top:auto;padding-top:26px}.tip{background:#eff6ef;padding:16px;border-radius:11px;font-size:12px;line-height:1.5;color:#2b5440}.tip strong{font-size:12px}.tip p{margin:8px 0 0;color:#627b69}.side-link{display:block;width:100%;text-align:left;border:0;background:transparent;color:#5b7064;font-size:12px;margin-top:12px;padding:5px 9px}.side-link:hover{text-decoration:underline}.main{min-width:0;flex:1}.topbar{height:77px;background:#fff;border-bottom:1px solid #e9eee9;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumb{color:#8d9990;font-size:12px}.breadcrumb span{padding:0 12px;color:#cbd4cb}.breadcrumb strong{color:#2c5240}.status{font-size:11px;color:#718478}.status-dot{display:inline-block;background:#54a777;width:7px;height:7px;border-radius:50%;margin-right:5px}.main-body{max-width:1400px;margin:auto;padding:32px 42px 24px}.hero{position:relative;overflow:hidden;min-height:190px;border-radius:17px;background:#1a4237;color:white;padding:33px 36px;display:flex;align-items:center;justify-content:space-between}.hero>div:first-child{z-index:1;max-width:650px}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#9ecab0}.hero h1{font-size:clamp(24px,2.65vw,35px);line-height:1.2;letter-spacing:-1.1px;margin:15px 0 11px}.hero h1 span{color:#d8ac67}.hero p{font-size:13px;line-height:1.65;color:#c5dbcf;max-width:500px;margin:0}.hero-art{width:200px;height:135px;position:relative;align-self:end;flex-shrink:0}.sun{position:absolute;right:59px;top:4px;width:38px;height:38px;background:#f3ca86;border-radius:50%;opacity:.9}.mountain{position:absolute;width:0;height:0;border-left:115px solid transparent;border-right:115px solid transparent;border-bottom:119px solid #2b5e4c;bottom:-30px;right:-23px}.mountain.two{border-left-width:85px;border-right-width:85px;border-bottom:85px solid #41735b;right:95px;bottom:-30px}.trail{position:absolute;right:40px;bottom:-27px;width:85px;height:55px;border:2px dashed #edce96;border-left:0;border-top:0;transform:rotate(-18deg);border-radius:50%;z-index:2}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0 26px}.summary-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e9ede8;border-radius:13px;padding:19px 21px}.summary-icon{background:#edf4ef;color:#36765c;padding:11px;border-radius:10px;font-size:21px;min-width:42px;text-align:center}.summary-card strong{display:block;font-size:24px;letter-spacing:-1px;color:#203f33}.summary-card small{color:#809085;font-size:12px}.calpanel{background:#fff;border:1px solid #e8ede8;border-radius:15px;padding:25px}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-kicker{color:#73a486}.cal-head h2{margin:5px 0 0;font-size:26px;letter-spacing:-.7px}.cal-actions{display:flex;gap:7px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:700;padding:10px 14px;white-space:nowrap;min-height:36px}.btn.light{background:#f4f6f3;border-color:#edf0ed;color:#476051}.btn.dark{background:#265c48;color:#fff}.btn.outline{border-color:#cfddd3;background:white;color:#285c47}.btn.danger{background:#fff1f1;color:#a13c40}.btn:hover{filter:brightness(.96)}.view-switch{display:inline-flex;gap:3px;padding:4px;border-radius:8px;background:#f4f6f4;margin:22px 0 19px}.view-switch button{border:0;border-radius:6px;background:transparent;color:#78897e;font-size:12px;font-weight:700;padding:8px 17px}.view-switch .chosen{background:#fff;color:#2f614b;box-shadow:0 1px 5px #1a3c2317}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e6ece6;border-left:1px solid #e6ece6}.weekday{padding:13px 5px;text-align:center;font-size:10px;font-weight:800;color:#929f96;letter-spacing:1px;border-right:1px solid #e6ece6;background:#fafcf9}.day-cell{min-height:115px;border-right:1px solid #e6ece6;border-bottom:1px solid #e6ece6;padding:10px 7px;overflow:hidden;cursor:pointer;position:relative}.day-cell:hover{background:#f6faf7}.day-cell.outside{background:#fafbfa;color:#c9d0cb;cursor:default}.day-cell.selected{box-shadow:inset 0 0 0 2px #8eb8a2;background:#f6fbf7}.day-cell .date-number{font-size:12px;font-weight:700;color:#526557;display:inline-grid;place-items:center;min-width:26px;height:26px}.day-cell.outside .date-number{color:#bdc9bf}.date-number.today{background:#255c46;color:#fff;border-radius:50%}.event-pill{display:block;text-align:left;width:100%;border:0;border-left:3px solid #21805e;background:#e9f5ed;color:#296247;font-size:10px;border-radius:4px;padding:5px 5px;margin:3px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.15}.event-pill.regiao{border-color:#df9652;background:#fff2e5;color:#9a642f}.event-pill.nucleo{border-color:#7364c3;background:#f1effd;color:#5c5093}.event-pill.agrupamento{border-color:#5290c4;background:#eaf4ff;color:#34678f}.event-pill.pessoal{border-color:#cf6488;background:#fff0f5;color:#a34e6b}.more{font-size:10px;color:#6e8674;margin:4px 0 0 3px}.notice-calendar{font-size:11px;margin:16px 0;color:#806b35;background:#fff8e8;border-radius:7px;padding:10px 12px}.agenda-list{display:grid;gap:12px}.agenda-row{display:flex;gap:17px;border:1px solid #e8eee8;border-radius:10px;padding:14px;align-items:center}.agenda-date{width:75px;flex-shrink:0;font-size:12px;color:#87978a}.agenda-row-content{flex:1;min-width:0}.agenda-row strong{font-size:13px}.agenda-row small{display:block;color:#86968b;font-size:11px;margin-top:5px}.agenda-label{display:inline-block;font-size:10px;border-radius:5px;padding:5px 7px;background:#e9f5ed;color:#296247;margin-left:7px}.agenda-label.regiao{background:#fff2e5;color:#9a642f}.agenda-label.nucleo{background:#f1effd;color:#5c5093}.agenda-label.agrupamento{background:#eaf4ff;color:#34678f}.agenda-label.pessoal{background:#fff0f5;color:#a34e6b}.row-edit{border:0;color:#2d6a4d;background:#eef6ef;border-radius:7px;padding:8px 10px;font-size:11px}.empty{text-align:center;color:#9aa99e;padding:48px 15px;font-size:13px}.empty strong{display:block;color:#365742;font-size:16px;margin-bottom:9px}footer{color:#9ca8a0;font-size:11px;text-align:center;margin-top:22px}dialog{border:0;border-radius:16px;box-shadow:0 25px 70px #102b2344;padding:27px;max-width:min(500px,calc(100vw - 30px));width:100%;color:#244638}dialog::backdrop{background:#0f292a77}.modal-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:23px}.modal-top h2{margin:7px 0 0;font-size:23px}.icon-button{border:0;background:#f1f5f2;border-radius:8px;width:30px;height:30px;font-size:22px;color:#668273}.field{display:grid;gap:7px;font-size:12px;font-weight:700;color:#526c5b;margin:13px 0}.field input,.field select,.field textarea{border:1px solid #dfe8e0;border-radius:8px;padding:11px;font-size:13px;color:#234a35;width:100%;background:white}.field textarea{resize:vertical}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;align-items:center;gap:9px;margin-top:25px}.grow{flex:1}.notice{border-radius:9px;background:#f1f7f2;color:#607966;padding:15px;font-size:12px;line-height:1.6}#toast{position:fixed;bottom:24px;right:24px;z-index:99;pointer-events:none}#toast:not(:empty){background:#1f4e3c;color:#fff;padding:12px 16px;border-radius:9px;font-size:12px;box-shadow:0 8px 20px #10261a44}#printArea{display:none}@media(max-width:1050px){.sidebar{width:215px;padding:24px 14px}.topbar{padding:0 22px}.main-body{padding:24px 20px}.cal-head{align-items:start;flex-direction:column}.summary-card{padding:14px}.day-cell{min-height:100px}.hero-art{opacity:.5}}@media(max-width:680px){.layout{display:block}.sidebar{width:auto;padding:14px}.brand{margin:0 0 10px}.sidebar nav{display:flex;gap:6px;margin:0 0 8px}.nav{padding:9px 10px;font-size:11px}.nav span{display:none}.side-caption,.filters,.side-bottom{display:none}.topbar{height:48px;padding:0 16px}.status{display:none}.main-body{padding:14px}.hero{padding:22px;min-height:153px}.hero-art{display:none}.summary{gap:8px}.summary-card{padding:11px;gap:8px}.summary-icon{display:none}.summary-card strong{font-size:20px}.summary-card small{font-size:10px}.calpanel{padding:12px}.cal-head h2{font-size:23px}.cal-actions{gap:5px}.btn{font-size:11px;padding:9px}.day-cell{min-height:75px;padding:5px 3px}.day-cell .date-number{font-size:11px}.event-pill{font-size:9px;padding:3px 2px}.weekday{font-size:9px;padding:10px 2px}.more{font-size:9px}.twocol{grid-template-columns:1fr}.hero h1{font-size:25px}}@media print{@page{size:A5 portrait;margin:11mm}body{background:#fff!important;color:#111!important}.layout,dialog,#toast{display:none!important}#printArea{display:block!important;font-family:Arial,sans-serif;font-size:9pt;color:#111}.print-page{break-after:page;page-break-after:always}.print-page:last-child{break-after:auto;page-break-after:auto}.print-header{display:flex;justify-content:space-between;border-bottom:2px solid #205742;padding-bottom:8px;margin-bottom:12px}.print-header h1{font-size:16pt;margin:0;color:#205742}.print-header span{font-size:8pt;color:#777}.print-date{font-size:18pt;font-weight:700;margin:12px 0}.print-section{margin:15px 0}.print-section h2{font-size:10pt;color:#205742;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:4px}.print-item{padding:5px 0;border-bottom:1px solid #eee;break-inside:avoid}.print-item small{color:#666}.print-lines{height:18px;border-bottom:1px solid #c9d4cb}.print-footer{margin-top:15px;color:#777;font-size:7pt}.print-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #aaa;border-left:1px solid #aaa}.print-month-grid>div{border-right:1px solid #aaa;border-bottom:1px solid #aaa;padding:4px;min-height:62px;font-size:7pt;overflow-wrap:anywhere}.print-month-grid .print-weekday{min-height:18px;background:#eee;text-align:center;font-weight:bold}.print-month-grid .p-event{font-size:6pt;line-height:1.25;margin-top:3px}.print-week-grid{display:grid;gap:8px}.print-week-day{border:1px solid #ccc;padding:8px;break-inside:avoid}.print-week-day h3{font-size:10pt;margin:0 0 5px}.print-hour{display:flex;border-bottom:1px solid #ddd;min-height:15px;font-size:7pt;color:#555}.print-hour span{width:45px;flex-shrink:0}}

/* v2: filtros territoriais */
.territory-controls{display:grid;gap:10px;margin:10px 8px 20px}.territory-controls label{font-size:11px;font-weight:700;color:#658272;display:grid;gap:5px}.territory-controls select{width:100%;border:1px solid #d8e6dc;border-radius:8px;background:#fff;padding:9px;color:#204b3b;font-size:12px}.territory-controls small{font-size:10px;color:#86988d;line-height:1.4}#territoryFields[hidden],#territoryFields label[hidden]{display:none!important}
@media(max-width:680px){.territory-controls{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 6px}.territory-controls small{grid-column:1/-1}.sidebar .filters{display:flex;flex-wrap:wrap;gap:5px}.sidebar .filters label{font-size:10px}.sidebar .side-caption{display:block;margin-top:12px}}
@media print{
 #printArea .print-month-page .print-date{font-size:16pt;margin:5px 0 10px}
 #printArea .print-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:22px repeat(var(--weeks),1fr);height:calc(100vh - 47mm);min-height:112mm}
 #printArea .print-month-grid>div{min-height:0;padding:4px;font-size:9pt;overflow:hidden}
 #printArea .print-month-grid .print-weekday{min-height:0;font-size:9pt;padding:4px}
 #printArea .print-month-grid .print-month-cell b{display:block;font-size:10pt;margin-bottom:3px;color:#194a39}
 #printArea .print-month-grid .p-event{font-size:7.2pt;line-height:1.2;margin:3px 0;padding-left:3px;border-left:2px solid #23795b;overflow-wrap:break-word}
 #printArea .print-month-grid .p-event.regiao{border-color:#c8833c}#printArea .print-month-grid .p-event.nucleo{border-color:#6854b6}#printArea .print-month-grid .p-event.agrupamento{border-color:#3683ae}#printArea .print-month-grid .p-event.pessoal{border-color:#be5378}
 #printArea .p-more{font-size:6.5pt;color:#666;margin-top:2px}
 #printArea .print-bottom-note{font-size:7pt;color:#66766d;margin-top:7px}
 #printArea .print-detail-columns{columns:2;column-gap:9mm;column-rule:1px solid #e5e9e4}
 #printArea .print-detail-item{display:flex;gap:7px;padding:5px 0;border-bottom:1px solid #dfe6df;break-inside:avoid;page-break-inside:avoid;font-size:8.5pt}
 #printArea .print-detail-date{flex:0 0 29px;color:#1d6048;font-weight:bold}
 #printArea .print-detail-item strong{display:block;font-size:8.3pt}
 #printArea .print-detail-item small{display:block;font-size:7pt;color:#6d7970;margin-top:2px}
 #printArea .print-detail-page .print-date{font-size:14pt}
}

.territory-hint{display:block;background:#f4f7ed;padding:9px;border-radius:7px;color:#6c7556;font-size:11px;line-height:1.5} .territory-hint[hidden]{display:none!important}

/* V4 — configuração inicial e perfil */
.profile-summary{margin:8px 8px 4px;padding:11px;display:flex;align-items:center;gap:9px;background:#eaf3ed;border:1px solid #dcebe0;border-radius:10px;color:#184733}.profile-icon{font-size:23px}.profile-summary strong{display:block;font-size:12px}.profile-summary small{display:block;font-size:10px;line-height:1.5;color:#6a8374;overflow-wrap:anywhere}.profile-edit{margin:1px 8px 14px;text-align:left}.profile-intro{font-size:13px;line-height:1.7;color:#617a69;margin:0 0 15px}.profile-dialog{max-width:min(520px,calc(100vw - 28px))}.profile-dialog .notice{margin-top:16px}.profile-dialog .modal-actions{margin-top:16px}.profile-dialog #closeProfile[hidden]{display:none}.profile-dialog .territory-hint[hidden]{display:none}
@media(max-width:680px){.profile-summary{margin:12px 0 2px}.profile-edit{margin:0 0 9px}.profile-dialog{max-height:90vh;overflow:auto}}

/* V6: distinção de âmbitos e gestor dos registos pessoais */
.event-scope-mark{display:inline-block;font-size:8px;font-weight:800;letter-spacing:.1px;opacity:.83;margin-right:3px}.scope-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:19px;font-size:11px;color:#617666}.scope-legend span{display:flex;align-items:center;gap:6px}.view-switch[hidden],.mine-tools[hidden]{display:none!important}.mine-tools{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}.mine-tools label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:#56715e;font-size:11px}.mine-tools input,.mine-tools select{padding:10px;border:1px solid #dce7df;border-radius:8px;background:#fff;color:#234d38;font-size:12px;min-width:155px}.mine-tools label:first-child{flex:1}.mine-tools input{width:100%}.mine-count{color:#688075;font-size:12px;margin:20px 0}.mine-item{display:flex;gap:16px;align-items:center;border:1px solid #e5eee7;padding:15px;border-radius:11px;margin:10px 0;background:white}.mine-date{width:72px;flex-shrink:0;display:grid;gap:4px}.mine-date strong{font-size:14px;color:#255c46}.mine-date small{font-size:10px;color:#89978a}.mine-info{flex:1;min-width:0}.mine-info h3{font-size:14px;margin:9px 0 4px;color:#204636}.mine-info p{font-size:11px;line-height:1.55;color:#829184;margin:0;overflow-wrap:anywhere}.mine-actions{display:flex;gap:5px}.mine-info .agenda-label{margin:0}.event-pill:focus-visible,.nav:focus-visible,.mine-actions .btn:focus-visible{outline:3px solid #b0d5bd;outline-offset:2px}@media(max-width:680px){.scope-legend{gap:8px;font-size:9px}.event-scope-mark{display:none}.mine-item{align-items:flex-start;flex-wrap:wrap}.mine-date{width:60px}.mine-actions{margin-left:76px}.mine-tools{flex-direction:column}.mine-tools label{width:100%}.mine-tools input,.mine-tools select{width:100%}.sidebar nav{flex-wrap:wrap}}

/* V7 — impressão: dimensões reais, sem quebra fantasma depois do calendário. */
@media print {
  @page { size: A5 portrait; margin: 9mm; }
  html, body { margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; }
  #printArea { width: 100%; overflow: visible !important; }
  #printArea .print-page { box-sizing: border-box; overflow: visible; margin: 0; padding: 0; }
  #printArea .print-month-page { break-inside: avoid; page-break-inside: avoid; }
  #printArea .print-month-page .print-header { margin-bottom: 2.5mm; padding-bottom: 2mm; }
  #printArea .print-month-page .print-date { margin: 1mm 0 3mm; font-size: 13pt; }
  #printArea .print-month-page .print-month-grid { height: 88mm !important; min-height: 0 !important; grid-template-rows: 6mm repeat(var(--weeks), minmax(0,1fr)); }
  #printArea[data-paper="A4"] .print-month-page .print-month-grid { height: 162mm !important; }
  #printArea .print-month-page .print-month-grid > div { padding: 1.2mm; font-size: 7.2pt; min-height: 0 !important; }
  #printArea .print-month-page .print-month-grid .print-weekday { font-size: 7.2pt; padding: 1mm; }
  #printArea .print-month-page .print-month-grid .print-month-cell b { font-size: 8pt; margin-bottom: 1mm; }
  #printArea .print-month-page .print-month-grid .p-event { font-size: 6.3pt; line-height: 1.18; margin: 1mm 0; padding-left: 1mm; }
  #printArea .print-month-page .print-bottom-note { margin-top: 2mm; font-size: 6.8pt; }
  #printArea .print-detail-page { break-before: page; page-break-before: always; }
  #printArea .print-detail-page .print-header { margin-bottom: 2mm; padding-bottom: 2mm; }
  #printArea .print-detail-page .print-date { margin: 1mm 0 3mm; font-size: 12pt; }
  #printArea .print-detail-columns { columns: 2; column-fill: auto; }
  #printArea .print-detail-item { padding: 1.5mm 0; font-size: 7.5pt; }
  #printArea .print-detail-item strong { font-size: 7.5pt; }
  #printArea .print-detail-item small { font-size: 6.7pt; }
  #printArea .print-page:last-child { break-after: auto !important; page-break-after: auto !important; }
}
