.sm-dialog [hidden],.sm-calendar [hidden]{display:none!important}.sm-dialog form{display:grid;gap:12px}.sm-dialog input,.sm-dialog select,.sm-dialog textarea{font:inherit;max-width:100%;box-sizing:border-box}.sm-dialog select{padding:9px;border:1px solid #cbd6e2;border-radius:6px;width:100%;margin-top:6px}.sm-dialog input[type=file]{padding:10px;background:#f4f8fb}.sm-dialog .sm-actions,.sm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sm-period{display:grid;grid-template-columns:1fr 90px 1fr 1fr;gap:12px;align-items:end}.sm-gap-note{color:#a12e30;font-size:.9rem;margin:5px 0;padding:8px;background:#fff2f1;border-radius:5px}.sm-gap-note:empty{display:none}.sm-review{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid #d5e0e8}.sm-review>span{font-size:.88rem;color:#526878}.sm-review p{margin:0;white-space:pre-wrap}.sm-pdf{width:100%;height:65vh;border:1px solid #b9c9d7}.sm-calendar{color:#173e68;min-width:0}.sm-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0}.sm-toolbar label{display:grid;gap:5px;min-width:100px}.sm-toolbar [name=year]{width:100px}.sm-toolbar select,.sm-toolbar input{padding:9px;border:1px solid #c5d4df;border-radius:7px;font:inherit}.sm-toolbar button{min-height:40px}.sm-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sm-month{background:white;border:1px solid #d1dee8;border-radius:8px;padding:12px;min-width:0}.sm-month h3{margin:0 0 9px;font-size:1rem}.sm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.sm-weekday{font-size:.73rem;text-align:center;font-weight:700;padding:4px}.sm-day{position:relative;min-width:0;min-height:29px;border:1px solid #e0e8ef;border-radius:4px;background:#fff;color:#173e68;padding:2px;font:inherit;font-size:.8rem;cursor:pointer;line-height:1.15}.sm-day:disabled{color:#75828a;opacity:1;cursor:default}.sm-day:focus-visible{outline:3px solid #1972a5}.sm-today{box-shadow:inset 0 0 0 2px #1a638e}.sm-dots{display:flex;justify-content:center;gap:1px;min-height:6px;font-size:7px}.sm-dots i{font-style:normal}.sm-due{color:#b43638}.sm-appointment{color:#2465b0}.sm-completed{color:#21804b}.sm-forecast{color:#896111}.sm-day.sm-forecast{background:repeating-linear-gradient(135deg,#fff6df,#fff6df 5px,#f4e6c5 5px,#f4e6c5 7px)}.sm-overdue{color:#a02831}.sm-day.sm-overdue{background:#ffe0e0;border-color:#e1a7aa}.sm-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:.82rem}.sm-state{display:inline-block;padding:4px 7px;border-radius:5px;background:#e9f2f9}.sm-state.sm-overdue{background:#fce1e1}.sm-state.sm-soon{color:#805b16;background:#fff0c9}.sm-state.sm-inactive{background:#eceff2;color:#627280}.sm-home h2{margin:0 0 8px;font-size:1rem}.sm-home-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sm-home-list button{display:grid;text-align:left;gap:4px;background:#fff6e9;border-color:#e7c896}.sm-home-list button.sm-overdue{background:#fff0f0;border-color:#e6b2b2}.sm-home-list span{font-size:.85rem}.services-company{display:flex;gap:10px;align-items:center}.services-company img{display:block;flex:0 0 112px;width:112px;height:88px;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0}.services-company>div{min-width:0}@media(max-width:600px){.services-company img{flex-basis:96px;width:96px;height:76px}}.services-company small{max-width:420px;white-space:pre-wrap}.services-module .services-header-actions{display:flex;gap:8px;flex-wrap:wrap}.services-logo-preview{display:flex;align-items:center;gap:12px}.services-logo-preview img{width:64px;height:64px;object-fit:contain}.sm-error{color:#a02831}@media(min-width:1400px){.sm-year{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.sm-year{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-home-list{grid-template-columns:1fr}}@media(max-width:580px){.sm-year{grid-template-columns:1fr}.sm-period{grid-template-columns:1fr 1fr}.sm-toolbar label{width:100%}.sm-toolbar input,.sm-toolbar select{width:100%}.services-dialog-head{position:sticky;top:-22px;background:white;z-index:2}.sm-home-list{grid-template-columns:1fr}}


/* Large day labels and continuous interval colouring replace colour dots. */
.sm-calendar .sm-year{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sm-calendar .sm-month{padding:15px;border-radius:12px;border-color:#bacbd8}
.sm-calendar .sm-month h3{font-size:1.12rem;color:#173e68;margin-bottom:12px}
.sm-calendar .sm-days{gap:4px}
.sm-calendar .sm-day{min-height:52px;padding:5px 2px;font-size:.94rem;font-weight:750;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px}
.sm-calendar .sm-day:disabled{background:#f7f9fb;color:#697b8b}
.sm-calendar .sm-day-events{display:grid;gap:2px;width:100%;align-content:start}
.sm-calendar .sm-day-event{display:block;font-size:.62rem;line-height:1.4;padding:2px 1px;border-radius:4px;font-weight:800;letter-spacing:0}
.sm-calendar .sm-day-event.sm-due{background:#ac2635;color:white}
.sm-calendar .sm-day-event.sm-appointment{background:#205caa;color:white}
.sm-calendar .sm-day-event.sm-completed{background:#247346;color:white}
.sm-calendar .sm-day-event.sm-forecast{background:#f4e3b7;color:#6c4b10}
.sm-calendar .sm-day.sm-event-due{background:#ffe1e3;border:2px solid #b62b3a;color:#861d29}
.sm-calendar .sm-day.sm-event-appointment{background:#dfecff;border:2px solid #2866b5;color:#154a8f}
.sm-calendar .sm-day.sm-event-completed{background:#def1e4;border:2px solid #308252;color:#1d6039}
.sm-calendar .sm-day.sm-forecast{background:repeating-linear-gradient(135deg,#fff0e8,#fff0e8 7px,#f9d2c7 7px,#f9d2c7 10px);border:1px dashed #c34a3a;color:#8b2828}
.sm-calendar .sm-day.sm-overdue{background:#f7b9bf;border:2px solid #b32c3a;color:#7b1723}
.sm-calendar .sm-legend-chip{display:inline-block;padding:7px 10px;border:1px solid currentColor;border-radius:6px;font-weight:700}
.sm-calendar .sm-legend-chip.sm-due{background:#ffe1e3}.sm-calendar .sm-legend-chip.sm-appointment{background:#dfecff}.sm-calendar .sm-legend-chip.sm-completed{background:#def1e4}.sm-calendar .sm-legend-chip.sm-overdue{background:#f7b9bf}.sm-calendar .sm-legend-chip.sm-forecast{background:repeating-linear-gradient(135deg,#fff0e8,#fff0e8 7px,#f9d2c7 7px,#f9d2c7 10px);color:#8b2828}
.sm-calendar .sm-intervals{margin:18px 0 24px}
.sm-interval-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.sm-interval-heading h3{margin:0;font-size:1.15rem}.sm-interval-heading>span{font-weight:700;color:#9b2e33}
.sm-interval-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.sm-interval-card{display:grid;gap:9px;text-align:left;padding:17px;border:2px solid #d1594b;border-left:7px solid #bb3a34;border-radius:10px;background:#fff1e9;color:#673127;cursor:pointer;font:inherit;min-width:0;overflow-wrap:anywhere}
.sm-interval-card.sm-interval-late{background:#ffe7e9;border-color:#bd3443;color:#7b1c2a}
.sm-interval-card:hover{box-shadow:0 3px 12px #8b34331c}.sm-interval-card:focus-visible{outline:3px solid #175e98;outline-offset:3px}
.sm-interval-card strong{font-size:1.03rem}.sm-interval-kind{text-transform:uppercase;font-size:.75rem;font-weight:850;letter-spacing:.03em}
.sm-interval-dates{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:1.1rem;font-weight:800}
.sm-interval-dates b{font-size:1.02rem;color:white;background:#b7363a;border-radius:7px;padding:6px 10px}
.sm-interval-card small{font-size:.78rem;color:inherit}.sm-interval-open{font-size:.82rem;font-weight:750;text-decoration:underline}
.sm-interval-clear{padding:12px 15px;background:#edf6ef;border:1px solid #b9d9c3;border-radius:8px;color:#2a6640}
@media(max-width:1100px){.sm-calendar .sm-year{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sm-calendar .sm-year{grid-template-columns:1fr}.sm-calendar .sm-day{min-height:54px}.sm-interval-cards{grid-template-columns:1fr}.sm-interval-dates{font-size:1rem}.sm-interval-heading{align-items:flex-start}.sm-calendar .sm-month{padding:12px}}

/* Annual overview with directly readable company and maintenance names. */
.sm-calendar [hidden]{display:none!important}
.sm-view-switch{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.sm-view-switch button[aria-pressed="true"]{background:#104d81;color:white;border-color:#104d81}
.sm-named-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sm-service-month{background:#f3f6fa;border:1px solid #bacde0;border-radius:14px;padding:14px;min-width:0}
.sm-service-month>h3{margin:0 0 14px;color:#104d81;font-size:20px}
.sm-month-empty{color:#64748b;font-size:14px;padding:12px 0}
.sm-service-card{display:flex!important;flex-direction:column;align-items:stretch;text-align:left;width:100%;gap:8px;padding:16px!important;margin:0 0 12px;background:#fff!important;color:#173b60!important;border:1px solid #bdcfe0!important;border-left:5px solid #27699e!important;border-radius:10px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.sm-service-card:hover{box-shadow:0 3px 12px #163c6026}
.sm-service-company{font-size:13px;font-weight:700;color:#52657b}
.sm-service-title{font-size:18px;line-height:1.3}
.sm-service-scope{font-size:13px;color:#536577}
.sm-service-dates{display:grid;gap:7px;margin-top:4px}
.sm-service-event{display:flex;gap:12px;align-items:center;border-radius:6px;padding:9px;font-size:14px;background:#eef3f8}
.sm-service-event>b{font-size:17px;flex-shrink:0}
.sm-service-due{background:#fee5e7;color:#a0182c}
.sm-service-appointment{background:#e2efff;color:#1253a2}
.sm-service-completed{background:#ddf4e8;color:#12623c}
.sm-service-forecast{background:#fff3d7;color:#79520b}
.sm-service-gap{display:grid;gap:5px;padding:10px;background:#fff0df;color:#913b12;border-radius:6px;font-size:13px}
.sm-service-open{font-size:12px;color:#235c8c;margin-top:4px}
@media(max-width:1100px){.sm-named-year{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sm-named-year{grid-template-columns:minmax(0,1fr)}}

/* Keep every day visible, with a numbered key naming each maintenance. */
.sm-calendar .sm-day{min-height:60px}
.sm-calendar .sm-day-event{display:block;font-size:10px;line-height:1.4;white-space:normal}
.sm-day-event b{display:inline-block;border-radius:3px;background:#ffffffd9;color:#173f69;padding:0 3px}
.sm-gap-number{display:inline-block;background:#fff3e8;border:1px solid #c77c50;border-radius:3px;padding:0 4px;font-size:10px;color:#883d17}
.sm-month-services{display:grid;gap:8px;margin-top:12px}
.sm-month-service{display:flex!important;align-items:flex-start;gap:9px;text-align:left;width:100%;background:#f5f8fc!important;color:#163f68!important;border:1px solid #cad8e8!important;border-radius:8px;padding:10px!important;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.sm-month-service>span:last-child{min-width:0}
.sm-plan-number{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;background:#194f7e;color:white;border-radius:5px;min-width:24px;height:24px;font-weight:700}
.sm-month-service strong{display:block;font-size:14px;line-height:1.35}
.sm-month-company{display:block;font-size:13px;margin-top:3px;color:#52657b}
.sm-month-dates{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:12px;margin-top:7px}
.sm-key-due{color:#b51e35;font-weight:700}.sm-key-appointment{color:#1358a3;font-weight:700}.sm-key-completed{color:#137044;font-weight:700}
.sm-month-warning{display:block;font-size:12px;background:#fff0df;color:#873c16;padding:6px;border-radius:5px;margin-top:6px}

/* Read the maintenance and company directly on each marked date. */
.sm-calendar .sm-year{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm-calendar .sm-month{overflow-x:auto}
.sm-calendar .sm-days{min-width:560px;align-items:stretch}
.sm-calendar .sm-day{height:auto;min-height:64px;padding:5px;align-self:stretch}
.sm-calendar .sm-day-events{display:grid;gap:5px;width:100%}
.sm-calendar .sm-day-event{display:grid;gap:3px;padding:5px 3px;white-space:normal;text-align:left;font-size:11px;line-height:1.3;overflow-wrap:anywhere;border-radius:4px}
.sm-day-action{font-size:10px;font-weight:600}
.sm-day-maintenance{font-size:11px;font-weight:700}
.sm-day-company{font-size:10px;font-weight:400}
.sm-calendar .sm-gap-label{background:#fff1e2;color:#813f19;border:1px solid #e9bc96}
@media(max-width:1200px){.sm-calendar .sm-year{grid-template-columns:minmax(0,1fr)}}

.sm-joint-note{padding:14px;border:1px solid #8dbca7;border-radius:8px;background:#e7f5ec;color:#165337;line-height:1.5}

/* One complete month per row, with company-only day labels. */
.sm-calendar .sm-year{grid-template-columns:minmax(0,1fr)}
.sm-calendar .sm-month{overflow:visible;min-width:0}
.sm-calendar .sm-days{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
.sm-calendar .sm-day{min-width:0;overflow:visible}
.sm-calendar .sm-day-company{font-size:12px;font-weight:700;overflow-wrap:anywhere}
@media(max-width:600px){
 .sm-calendar .sm-month{padding:8px}
 .sm-calendar .sm-days{gap:3px}
 .sm-calendar .sm-day{padding:3px}
 .sm-calendar .sm-day-event{padding:4px 2px}
 .sm-calendar .sm-day-company{font-size:10px}
 .sm-calendar .sm-day-action{font-size:9px}
}

@media(max-width:600px){.sm-calendar .sm-day{padding:2px}.sm-calendar .sm-day-event{padding:4px 1px}.sm-calendar .sm-day-company{font-size:9px}}

.sm-calendar .sm-day-action{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.35}.sm-calendar .sm-day-event{min-width:0;height:auto}

.sm-calendar .sm-day-event,.sm-calendar .sm-day-gap{text-align:center}

/* Automatic service visits and quality feedback. */
.sm-automatic .sm-toolbar{flex-wrap:wrap}.sm-visits{display:grid;gap:10px;margin-top:14px}.sm-visit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid #c6d7df;border-radius:10px;background:#f7fafb}.sm-visit p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.sm-visit-status{display:block;margin-top:5px}.sm-visit-automatic,.sm-visit-ok{border-left:5px solid #20835d}.sm-visit-complaint,.sm-visit-no_show{border-left:5px solid #b4730c;background:#fff7e9}.sm-visit-cancelled{color:#53606b;background:#f1f3f5}.sm-visit-history{grid-column:1/-1}.sm-no_show,.sm-key-no_show,.sm-cancelled,.sm-key-cancelled{background:#f1f3f5;color:#53606b}.sm-day.sm-event-no_show,.sm-day.sm-event-cancelled{box-shadow:inset 0 -3px #8b6b35}.sm-state.sm-automatic{background:#e0f3eb;color:#176146}@media(max-width:600px){.sm-visit{grid-template-columns:minmax(0,1fr)}.sm-visit button{width:100%;min-height:44px}}



/* Certificate receipt is independent of visit completion and optional documents. */
.sm-document-fields{display:grid;gap:10px;padding:14px;border:1px solid #c6d7df;border-radius:10px;background:#f7fafb}.sm-document-fields h3{margin:0}.sm-certificate-state{margin:5px 0;padding:8px 10px;border-radius:6px;font-weight:700}.sm-certificate-pending{background:#fff2d9;color:#784a06}.sm-certificate-received{background:#e5f3ec;color:#176146}.sm-home-pending{margin:0 0 18px;padding:14px;border:1px solid #d6a74f;border-radius:10px;background:#fff9ed}.sm-home-pending h3{margin:0 0 8px}.sm-home-pending .sm-home-list{max-height:460px;overflow:auto}.sm-home .sm-certificate-alert{display:grid;gap:5px;text-align:left;white-space:normal;border-left:4px solid #b4730c;background:#fff}.sm-certificate-alert b{color:#784a06}.sm-certificate-alert small{font-weight:400}.sm-document-fields select{max-width:100%}@media(max-width:600px){.sm-document-fields,.sm-home-pending{padding:10px}.sm-home .sm-certificate-alert{width:100%;min-height:44px;overflow-wrap:anywhere}}

/* Fixed maintenance months and independent technical validity. */
.sm-schedule-fields{display:grid;gap:10px;padding:14px;border:1px solid #c6d7df;border-radius:10px;background:#f4f8fb}.sm-schedule-fields h3{margin:0}.sm-schedule-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:1px solid #c6d7df;border-radius:7px;margin:10px 0;padding:12px}.sm-schedule-months label{display:flex;align-items:center;gap:7px;font-size:.9rem}.sm-schedule-months input{width:auto;margin:0}.sm-service-event b{white-space:normal}.services-table small{display:block;color:#526878}@media(max-width:600px){.sm-schedule-months{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-schedule-fields{padding:10px}}

.sm-month-key{display:grid;gap:7px;margin-top:12px}.sm-month-key:empty{display:none}.sm-month-key .sm-month-service{width:100%;text-align:left;white-space:normal}.sm-month-key .sm-month-dates{display:grid;gap:3px}

/* Certificate upload stays visible above current calendar warnings. */
.sm-calendar-certificates{margin:18px 0;padding:18px;border:1px solid #d5a64d;border-left:5px solid #b4730c;border-radius:10px;background:#fff8e9}.sm-calendar-certificate-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sm-calendar-certificate-heading h3{margin:0;font-size:1.15rem}.sm-calendar-certificate-heading>span{padding:3px 9px;border-radius:14px;background:#f0d7a4;color:#68400a;font-weight:700}.sm-calendar-certificate-cards{display:grid;gap:12px}.sm-calendar-certificate-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e6d4ae;border-radius:8px;background:white}.sm-calendar-certificate-card strong{display:block;font-size:1.05rem}.sm-calendar-certificate-card small{display:block;margin-top:4px;color:#526878}.sm-calendar-certificate-card p{margin:8px 0}.sm-calendar-certificate-card .sm-certificate-pending{display:inline-block;padding:4px 7px;border-radius:4px;font-size:.85rem}.sm-calendar-certificate-card button{flex:0 0 auto;white-space:normal;min-height:44px}.sm-delay-history{margin:16px 0;padding:10px 12px;border:1px solid #d3dfe8;border-radius:8px;background:#f5f8fa}.sm-delay-history>summary{cursor:pointer;color:#536a7c;font-size:.9rem}.sm-delay-history[open]>.sm-interval-cards{margin-top:12px}.sm-delay-history .sm-interval-card{background:#f8fafb;border-color:#c8d5df;color:#526878}.sm-delay-history .sm-interval-kind{color:#526878}@media(max-width:600px){.sm-calendar-certificates{padding:12px}.sm-calendar-certificate-card{align-items:stretch;flex-direction:column;padding:12px;gap:12px}.sm-calendar-certificate-card button{width:100%}}

/* Every manual maintenance plan exposes the same direct visit entry. */
.services-table .sm-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.services-table .sm-plan-actions button{min-height:40px;white-space:normal}@media(max-width:600px){.services-table .sm-plan-actions{min-width:180px}.services-table .sm-plan-actions button{width:100%;min-height:44px}}

/* Month forecasts stay above the days until an actual visit date is agreed. */
.sm-month-forecasts{display:grid;gap:8px;padding:12px;margin:0 0 14px;background:#eaf3ff;border:1px solid #b7cfe9;border-radius:9px}.sm-month-forecasts h4{margin:0;font-size:.95rem;color:#173e68}.sm-month-forecast{display:grid!important;gap:5px;width:100%;text-align:left;white-space:normal;background:#fff!important;color:#173e68!important;border:1px solid #adc7e2!important;border-left:4px solid #2465b0!important;border-radius:7px;padding:12px!important;cursor:pointer}.sm-month-forecast strong{font-size:1rem}.sm-month-forecast span,.sm-month-forecast small{font-size:.85rem}.sm-month-forecast small{color:#35618a}

/* Calendar periods open their own documents or planned-date editor. */
.sm-calendar-period{display:grid;gap:12px}.sm-calendar-period h3,.sm-calendar-period p{margin:0}.sm-period-context{padding:10px 12px;border-radius:7px;background:#edf4fa}.sm-period-documents{display:grid;gap:8px}.sm-period-documents button{text-align:left;overflow-wrap:anywhere;white-space:normal;min-height:42px}.sm-calendar-period [data-sm-period-note]:empty{display:none}@media(max-width:600px){.sm-calendar-period .sm-actions{align-items:stretch;flex-direction:column}.sm-calendar-period .sm-actions button{width:100%;min-height:44px}}

.sm-water-home{margin-top:20px;padding-top:16px;border-top:1px solid #d4dfe8}.sm-water-home h3{margin:0 0 7px;color:#a12e30}.sm-home-list .sm-water-exceed{border-left:5px solid #b5383d;background:#fff1ef}.sm-water-home>p{font-size:.88rem;color:#526878}


/* Personal visibility controls affect annual calendar drawings only. */
.sm-company-visibility{margin:16px 0 8px;border:1px solid #bdcedc;border-radius:10px;padding:12px 14px;background:#f5f9fc}
.sm-company-visibility summary{font-weight:750;color:#173e68;cursor:pointer;min-height:28px;overflow-wrap:anywhere}
.sm-company-visibility summary span{font-size:.85rem;font-weight:500;margin-left:8px}.sm-company-visibility p{font-size:.88rem;line-height:1.5}
.sm-company-toggles{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sm-company-toggles .sm-company-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:100%;min-height:44px;text-align:left;white-space:normal;border:1px solid #8caac0;background:#fff;color:#173e68;padding:10px 12px;border-radius:8px}
.sm-company-toggle strong{overflow-wrap:anywhere;min-width:0}.sm-company-toggle span{font-size:.78rem;flex-shrink:0;border-radius:10px;padding:3px 7px;background:#e2eff8;color:#17486c}.sm-company-toggle[aria-pressed="false"]{border-style:dashed;background:#f1f2f4;color:#596574}.sm-company-toggle[aria-pressed="false"] span{background:#e3e6ea;color:#465261}
.sm-company-visibility button:focus-visible,.sm-company-visibility summary:focus-visible{outline:3px solid #1972a5;outline-offset:3px}.sm-calendar-visibility-note{padding:10px 14px;border-left:4px solid #647b99;background:#eef2f7;border-radius:6px;color:#334e6a;font-size:.88rem;overflow-wrap:anywhere}
@media(max-width:580px){.sm-company-toggles .sm-company-toggle{width:100%}.sm-company-visibility summary span{display:block;margin:5px 0 0}.sm-company-visibility [data-sm-show-all]{max-width:100%;white-space:normal}}

/* Readable original logos retain alpha transparency inside event labels only. */
.sm-calendar .sm-event-logo{display:block;width:150px;height:auto;max-width:100%;max-height:110px;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0;flex:0 0 auto;vertical-align:middle}
.sm-calendar .sm-day-events,.sm-calendar .sm-day-event{grid-template-columns:minmax(0,1fr)}
.sm-calendar .sm-day-event>.sm-event-logo{justify-self:center}
.sm-calendar .sm-month-dates>span:has(>.sm-event-logo){display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.sm-calendar .sm-service-event:has(>.sm-event-logo){flex-wrap:wrap}

/* Dedicated one-page print preview, independent of the interactive calendar. */
.services-dialog.sm-print-dialog{width:min(1100px,94vw);max-width:94vw}.sm-print-preview{display:block;width:100%;height:65vh;min-height:340px;border:1px solid #bdcedc;border-radius:6px;background:#e8edf2}.sm-print-dialog [data-sm-print-status]{font-size:.9rem;color:#345a74}

/* Certificate handling: local archive, external platform and portal attachment. */
.scg-dialog{width:min(880px,94vw)}.scg-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.scg-actions button,.scg-link{white-space:normal;min-height:42px}.scg-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:7px;text-decoration:none;background:#173e68;color:white}.scg-statuses{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.scg-status{display:inline-block;border-radius:6px;padding:6px 9px;font-size:.85rem}.scg-done{background:#e5f3ec;color:#176146}.scg-pending{background:#fff0d7;color:#82521b}.scg-warning{padding:10px;background:#fff0d7;color:#82521b;border-radius:6px}.scg-guide{border:1px solid #b9cedd;background:#f5f9fc;border-radius:9px;padding:12px;margin:14px 0}.scg-guide summary{cursor:pointer;font-weight:700;min-height:30px}.scg-guide ol{padding-left:24px}.scg-guide li{padding:10px 0 16px;border-bottom:1px solid #d8e2ea}.scg-guide li:last-child{border-bottom:0}.scg-guide h4{margin:4px 0;font-size:1rem}.scg-guide p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.scg-image-button{display:grid;gap:7px;max-width:100%;padding:8px;background:white;border:1px solid #b9cedd;border-radius:6px;color:#173e68;cursor:zoom-in}.scg-image-button img{display:block;max-width:100%;max-height:350px;object-fit:contain}.scg-image-dialog{width:min(1300px,95vw)}.scg-image-full{display:block;max-width:100%;height:auto}.scg-editor,.scg-progress{display:grid;gap:12px}.scg-editor input:not([type=checkbox]),.scg-editor textarea,.scg-progress textarea{width:100%;box-sizing:border-box}.scg-check{display:flex;align-items:flex-start;gap:9px;line-height:1.5}.scg-check input{flex:0 0 auto;width:18px;height:18px;margin-top:3px}.scg-edit-step{display:grid;gap:10px;min-width:0;border:1px solid #bacddd;border-radius:8px;padding:14px;margin:10px 0}.scg-edit-preview{display:block;max-width:100%;max-height:180px;object-fit:contain}.scg-progress{border-top:1px solid #cad8e3;padding-top:14px;margin-top:16px}[data-sm-review-guide]{padding:14px;border:1px solid #b8cdda;border-radius:8px;margin-bottom:16px;background:#f8fbfe}.sm-calendar-certificate-card>.scg-actions{max-width:390px;flex-shrink:0}@media(max-width:650px){.sm-calendar-certificate-card>.scg-actions{max-width:none;width:100%}.scg-actions>button,.scg-actions>.scg-link{width:100%}.scg-statuses{display:grid}.scg-edit-step{padding:10px}}

/* Frequency remains readable beside every service label. */
.sm-calendar .sm-day-period{display:block;font-size:11px;line-height:1.25;font-weight:700;overflow-wrap:anywhere;margin-top:2px}.sm-service-period{display:block;font-size:12px;line-height:1.3;font-weight:750;color:#24577f}.sm-calendar .sm-day-event .sm-day-period{color:inherit}@media(max-width:600px){.sm-calendar .sm-day-period{font-size:10px}}
