/* Shared module layout; host branding is restricted to these theme tokens. */
.mc-planning-overview{--mc-plan-accent:#194c72;--mc-plan-accent-text:#fff;--mc-plan-surface:#fff;--mc-plan-muted:#edf3f8;--mc-plan-text:#19364c;--mc-plan-border:#cbd7e1;--mc-plan-shadow:none;box-sizing:border-box;width:100%;min-width:0;color:var(--mc-plan-text);font:inherit;container-type:inline-size;padding:8px 0 20px}
.mc-planning-theme-teamo{--mc-plan-accent:#ff8b63;--mc-plan-accent-text:#201711;--mc-plan-surface:#171717;--mc-plan-muted:#242424;--mc-plan-text:#f5f5f5;--mc-plan-border:#414141}
.mc-planning-theme-plandero{--mc-plan-accent:#2762be;--mc-plan-accent-text:#fff}
.mc-planning-overview *{box-sizing:border-box}
.mc-planning-overview button,.mc-planning-overview summary{font:inherit;touch-action:manipulation}
.mc-planning-overview button{cursor:pointer;color:inherit}
.mc-planning-overview button:focus-visible,.mc-planning-overview summary:focus-visible{outline:3px solid var(--mc-plan-accent);outline-offset:3px}
.mc-planning-month-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin:0 0 16px}
.mc-planning-button{border:1px solid var(--mc-plan-border);border-radius:13px;background:var(--mc-plan-surface);min-height:44px;padding:8px 12px;line-height:1.25;white-space:normal}
.mc-planning-month-header>.mc-planning-button{font-size:1.7em;padding:2px}
.mc-planning-month-label{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;text-align:center;line-height:1.3;font-size:1.15em;min-width:0;overflow-wrap:anywhere}
.mc-planning-month-label>.mc-submission-light{position:static!important;transform:none!important;margin:0!important;flex:none}
.mc-planning-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:stretch;width:100%;min-width:0}
.mc-planning-weekday{padding:5px 0 9px;text-align:center;font-size:.85em;font-weight:700;min-width:0}
.mc-planning-day{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:98px;padding:6px 4px;border:1px solid var(--mc-plan-border);border-radius:13px;background:var(--mc-plan-surface);text-align:start;gap:5px;box-shadow:var(--mc-plan-shadow);isolation:isolate}
.mc-planning-day-top{display:flex;align-items:center;justify-content:space-between;gap:2px;min-width:0;min-height:23px}
.mc-planning-day-top>b{font-size:1em;line-height:1.2}
.mc-planning-day-marker{display:flex;align-items:center;justify-content:flex-end;min-width:0;max-width:50%;position:relative}
.mc-planning-day-marker:empty{display:none}
.mc-planning-day-marker>*{position:static!important;transform:none!important;margin:0!important;max-width:100%}
.mc-planning-day.is-today{border-color:var(--mc-plan-accent);box-shadow:inset 0 0 0 1px var(--mc-plan-accent)}
.mc-planning-day.is-selected{background:var(--mc-plan-accent);color:var(--mc-plan-accent-text);border-color:var(--mc-plan-accent);box-shadow:0 0 0 2px var(--mc-plan-surface),0 0 0 4px var(--mc-plan-accent)}
.mc-planning-day-times{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;margin-top:auto}
.mc-planning-time{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:3px;border:1px solid transparent;border-radius:5px;font-size:clamp(10px,2.6cqi,13px);font-weight:750;line-height:1.13;min-width:0;white-space:nowrap;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.mc-planning-time>span{display:block;min-width:0}
.mc-planning-more{font-size:.65em;text-align:end;line-height:1.2;min-width:0}
.mc-planning-planned{color:#334155;background:#f1f5f9;border-color:#cbd5e1}
.mc-planning-due{color:#854d0e;background:#fffbeb;border-color:#fcd34d}
.mc-planning-running{color:#166534;background:#f0fdf4;border-color:#86efac}
.mc-planning-done{color:#166534;background:#f0fdf4;border-color:#86efac}
.mc-planning-submitted{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}
.mc-planning-review{color:#854d0e;background:#fffbeb;border-color:#fcd34d}
.mc-planning-history{color:#334155;background:#f1f5f9;border-color:#cbd5e1}
.mc-planning-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0}
.mc-planning-toolbar>.mc-planning-button{font-size:.86em}
.mc-planning-toolbar>[aria-pressed=true]{border-color:var(--mc-plan-accent);box-shadow:inset 0 0 0 1px var(--mc-plan-accent)}
.mc-planning-legend{margin:12px 0;border:1px solid var(--mc-plan-border);border-radius:14px;background:var(--mc-plan-surface)}
.mc-planning-legend>summary{padding:13px;cursor:pointer;min-height:44px}
.mc-planning-legend>ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;padding:0 14px 14px;list-style:none}
.mc-planning-legend li{display:flex;align-items:center;gap:8px;line-height:1.35;font-size:.85em;overflow-wrap:anywhere}
.mc-planning-legend li>i{display:block;width:15px;height:15px;border:1px solid;flex:none;border-radius:4px}
.mc-planning-results{min-width:0;margin-top:20px}
.mc-planning-results>h3{font-size:1em;margin:0 0 10px}
.mc-planning-results-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 0;min-height:44px;border:0;background:transparent;text-align:start;line-height:1.4;overflow-wrap:anywhere}
.mc-planning-results-content{display:grid;gap:12px;min-width:0}
.mc-planning-results-content[hidden]{display:none}
.mc-planning-message{padding:14px;margin:0;background:var(--mc-plan-muted);border-radius:12px;line-height:1.5;overflow-wrap:anywhere}
.mc-planning-error>p{margin:0 0 12px}
.mc-planning-shift{border:1px solid var(--mc-plan-border);border-radius:14px;overflow:hidden;min-width:0;background:var(--mc-plan-surface)}
.mc-planning-shift-header{padding:12px;border-bottom:1px solid;line-height:1.4}
.mc-planning-shift-header>div{display:flex;flex-direction:column;gap:3px}
.mc-planning-shift-header span{font-size:.8em}
.mc-planning-shift-body{padding:12px;overflow-wrap:anywhere}
.mc-planning-shift-body h4{margin:0 0 5px;font-size:1em}
.mc-planning-shift-body p{margin:0 0 10px;line-height:1.4}
.mc-planning-shift-body details{margin:10px 0}
.mc-planning-shift-body summary{cursor:pointer;padding:8px 0;min-height:44px}
.mc-planning-shift-body dl{margin:8px 0}
.mc-planning-shift-body dl>div{display:grid;grid-template-columns:minmax(90px,.4fr) minmax(0,1fr);gap:10px;margin:8px 0}
.mc-planning-shift-body dt{font-size:.85em;opacity:.8}
.mc-planning-shift-body dd{margin:0;min-width:0}
@container(max-width:370px){.mc-planning-grid{gap:4px}.mc-planning-day{padding:5px 3px;min-height:89px;border-radius:10px}.mc-planning-day-top{min-height:21px}.mc-planning-day-top>b{font-size:.92em}.mc-planning-time{font-size:10px;padding:2px}.mc-planning-weekday{font-size:.75em}.mc-planning-month-label{font-size:1em}}
@container(max-width:320px){.mc-planning-time{padding:2px 0;font-size:9.5px;letter-spacing:-.04em}}
@media(prefers-reduced-motion:no-preference){.mc-planning-overview button{transition:background-color .15s,border-color .15s}}
/* Shared attendance: identical behavior, host accent only. */
.mc-planning-automatic{color:#7e22ce;background:#faf5ff;border-color:#d8b4fe}
.mc-attendance-timer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border:1px solid #d7dde5;border-radius:.7rem;background:#f6f8fb}
.mc-attendance-timer strong{font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:.035em}
.mc-attendance-notice{font-size:.88rem;line-height:1.45;color:#4b5669}
.mc-attendance-actions{display:flex;gap:.5rem;margin:.75rem 0}
.mc-attendance-primary{background:var(--mc-planning-accent,#234c87)!important;color:#fff!important;border:1px solid transparent!important;border-radius:.55rem;padding:.75rem 1rem;font:inherit;cursor:pointer}
.mc-attendance-primary:disabled{opacity:.5;cursor:not-allowed}
.mc-attendance-capture{width:min(31rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;border:1px solid #d7dde5;border-radius:1rem;padding:1rem;background:#fff;color:#18253a;box-shadow:0 1rem 4rem #0003}
.mc-attendance-capture::backdrop{background:#17233399}
.mc-attendance-capture header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.mc-attendance-capture h2{font-size:1.1rem;margin:0}.mc-attendance-capture header p{font-size:.85rem;margin:.35rem 0 .7rem}
.mc-attendance-capture button[data-capture-close]{font-size:1.4rem;line-height:1;background:transparent;border:0;padding:.25rem .5rem;color:inherit}
.mc-capture-preview{width:100%;max-height:36dvh;aspect-ratio:4/3;overflow:hidden;border-radius:.7rem;background:#111827;display:flex;justify-content:center}
.mc-capture-preview video,.mc-capture-preview img{width:100%;height:100%;object-fit:contain;transform:none!important}
.mc-attendance-capture [hidden]{display:none!important}
.mc-capture-hint,.mc-capture-field small,[data-capture-status],[data-capture-error]{font-size:.85rem;line-height:1.4}
.mc-capture-field{display:flex;flex-direction:column;gap:.25rem;margin:.6rem 0;font-size:.85rem}
.mc-capture-field select,.mc-capture-field input{padding:.6rem;border:1px solid #c9d2df;border-radius:.45rem;font:inherit;width:100%;box-sizing:border-box}
.mc-attendance-capture footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.8rem}
.mc-attendance-capture [data-capture-retake]{font:inherit;border:1px solid #c9d2df;background:#fff;border-radius:.5rem;padding:.65rem}
.mc-attendance-capture [data-capture-error]{color:#a52020}
@media(max-width:480px){.mc-attendance-capture{padding:.8rem}.mc-attendance-capture footer button{flex:1}.mc-capture-preview{max-height:30dvh}}

.mc-attendance-range{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin:.75rem 0}.mc-attendance-range label{display:grid;gap:.25rem}.mc-attendance-range input,.mc-attendance-range button{font:inherit;padding:.6rem;border:1px solid #c9d2df;border-radius:.45rem;background:#fff;color:#18253a}

.mc-planning-company-filter{display:grid;gap:6px;margin:0 0 14px;font:inherit;color:var(--mc-plan-text)}
.mc-planning-company-filter select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--mc-plan-border);border-radius:12px;background:var(--mc-plan-surface);color:var(--mc-plan-text);font:inherit}
.mc-planning-company-filter select:focus-visible{outline:3px solid var(--mc-plan-accent);outline-offset:3px}

.mc-planning-preplanned,.mc-planning-unknown{color:#334155;background:#f1f5f9;border-color:#cbd5e1}
