.engineer-calendar-shell{min-height:100svh;padding:max(12px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(#171a1e 0%,#0b1015 100%)}.engineer-calendar-surface{background:var(--surface);width:min(100%,1120px);color:var(--navy);box-shadow:var(--shadow);border-radius:8px;gap:10px;margin:0 auto;padding:12px;display:grid}.engineer-calendar-top{align-items:center;gap:10px;display:flex}.engineer-calendar-top h1{align-items:center;gap:8px;margin:0;font-size:20px;font-weight:820;display:inline-flex}.engineer-calendar-back{border:1px solid var(--control-border);color:#07142d;background:#eef8fa;border-radius:8px;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 10px;font-size:13px;font-weight:780;text-decoration:none;display:inline-flex}.engineer-calendar-toolbar{gap:8px;display:grid}.engineer-calendar-views{background:#eef3f6;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;display:grid}.engineer-calendar-views button,.engineer-calendar-nav button{color:#07142d;background:0 0;border:1px solid #0000;border-radius:8px;min-width:44px;min-height:44px;font-size:14px;font-weight:780}.engineer-calendar-views button.active{border-color:var(--control-border);background:#fff;box-shadow:0 1px 3px #00000024}.engineer-calendar-nav{align-items:center;gap:4px;display:flex}.engineer-calendar-nav button{border-color:var(--control-border);background:#eef8fa;place-items:center;display:inline-grid}.engineer-calendar-nav button.today{padding:0 12px}.engineer-calendar-nav h2{overflow-wrap:anywhere;flex:auto;min-width:0;margin:0 0 0 4px;font-size:15px;font-weight:820}.engineer-calendar-nav button.refresh{margin-left:auto}.engineer-calendar-nav .spin{animation:.9s linear infinite engineer-calendar-spin}@keyframes engineer-calendar-spin{to{transform:rotate(360deg)}}.engineer-calendar-state{color:#263746;background:#f4f8fb;border:1px dashed #b7c7d2;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.engineer-calendar-state p{margin:0}.engineer-calendar-state p+p{margin-top:4px}.engineer-calendar-state.ok{color:#0f5a43;background:#eef9f4;border-style:solid;border-color:#9fd6c3}.engineer-calendar-state.warn{color:#66400d;background:#fff6e8;border-style:solid;border-color:#a86513}.engineer-calendar-legend{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.engineer-calendar-legend li{border:1px solid;border-radius:8px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:780;display:inline-flex}.engineer-calendar-legend .swatch{background:currentColor;border-radius:3px;width:10px;height:10px}.type-job{color:#07478e;background:#cceaff;border-color:#67b9e7}.type-ppm{color:#064e45;background:#bdf2e4;border-color:#47cfae}.type-call_out{color:#711b30;background:#f8c5ce;border-color:#e7788b}.type-due{color:#4c3405;background:#ffe6a8;border-color:#e7bc55}.type-on_call{color:#173e94;background:#cedbff;border-color:#829fea}.engineer-calendar-body{gap:10px;display:grid}.engineer-calendar-month{gap:2px;display:grid}.engineer-calendar-month .weekdays,.engineer-calendar-month .week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.engineer-calendar-month .weekdays span{text-align:center;color:var(--muted);padding:2px 0;font-size:12px;font-weight:780}.engineer-calendar-month .day{border:1px solid var(--line);min-width:0;min-height:64px;color:var(--navy);text-align:left;background:#fff;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;padding:3px 2px;display:flex;overflow:hidden}.engineer-calendar-month .day.outside{color:var(--muted);background:#f4f8fb}.engineer-calendar-month .day.today .number{background:var(--navy);color:#fff}.engineer-calendar-month .day.selected{border:2px solid var(--teal);padding:2px 1px}.engineer-calendar-month .number{text-align:center;border-radius:8px;align-self:flex-start;min-width:22px;padding:0 4px;font-size:13px;font-weight:780;line-height:20px}.engineer-calendar-month .chips{gap:2px;min-width:0;display:grid}.engineer-calendar-month .chip{white-space:nowrap;border:1px solid;border-radius:4px;gap:4px;min-width:0;padding:0 3px;font-size:12px;font-weight:780;line-height:16px;display:flex;overflow:hidden}.engineer-calendar-month .chip .title{text-overflow:ellipsis;font-weight:400;display:none;overflow:hidden}.engineer-calendar-month .chip.offered{border-style:dashed}.engineer-calendar-month .chip.inactive{opacity:.75;text-decoration:line-through}.engineer-calendar-month .more{color:var(--muted);padding-left:2px;font-size:12px;font-weight:780}.engineer-calendar-week,.engineer-calendar-list{gap:8px;display:grid}.engineer-calendar-day{border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px;display:grid}.engineer-calendar-day.today{border-color:var(--teal)}.engineer-calendar-day h3{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:820;display:flex}.engineer-calendar-day .today-badge{background:var(--navy);color:#fff;border-radius:8px;padding:0 6px;font-size:12px;font-weight:780}.engineer-calendar-day ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.engineer-calendar-empty{color:var(--muted);margin:0;font-size:13px}.engineer-calendar-empty.warn{color:#66400d}.engineer-calendar-item{text-align:left;border:1px solid;border-left-width:6px;border-radius:8px;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;width:100%;min-height:48px;padding:8px 10px;display:grid}.engineer-calendar-item .type{text-transform:uppercase;font-size:12px;font-weight:820}.engineer-calendar-item .time{justify-self:end;font-size:13px;font-weight:780}.engineer-calendar-item .title{overflow-wrap:anywhere;grid-column:1/-1;font-size:15px;font-weight:720}.engineer-calendar-item.inactive .title{text-decoration:line-through}.badge{color:#07142d;background:#fff;border:1px solid #60707c;border-radius:8px;grid-column:1/-1;justify-self:start;margin:0;padding:1px 8px;font-size:12px;font-weight:780}.badge.offered{border:2px dashed #07142d}.engineer-calendar-overlay{z-index:40;background:#07111f9e;place-items:end center;display:grid;position:fixed;inset:0}.engineer-calendar-detail{width:100%;max-height:100svh;color:var(--navy);padding:14px 16px max(18px, env(safe-area-inset-bottom));background:#fff;border-radius:8px 8px 0 0;gap:10px;display:grid;overflow-y:auto}.engineer-calendar-detail .detail-head{justify-content:space-between;align-items:center;display:flex}.engineer-calendar-detail .type-pill{border:1px solid;border-radius:8px;padding:2px 10px;font-size:13px;font-weight:820}.engineer-calendar-detail .close{border:1px solid var(--control-border);color:#07142d;background:#eef8fa;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.engineer-calendar-detail h2{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:820}.engineer-calendar-detail h2.inactive{text-decoration:line-through}.engineer-calendar-detail dl{gap:2px;margin:0;display:grid}.engineer-calendar-detail dt{color:var(--muted);margin-top:6px;font-size:12px;font-weight:780}.engineer-calendar-detail dd{overflow-wrap:anywhere;margin:0;font-size:15px}.engineer-calendar-detail dd.notes{white-space:pre-wrap}.engineer-calendar-detail blockquote{border-left:4px solid var(--teal);background:#f4f8fb;border-radius:8px;margin:0;padding:8px 10px;font-size:14px}.engineer-calendar-answer{border:2px dashed #07142d;border-radius:8px;gap:8px;padding:10px;display:grid}.engineer-calendar-answer h3{margin:0;font-size:15px;font-weight:820}.engineer-calendar-answer p{margin:0;font-size:14px}.engineer-calendar-answer p:empty{display:none}.engineer-calendar-answer .secondary-action{min-width:120px;padding:0 16px;font-size:15px}.engineer-calendar-answer .secondary-action.strong{color:#061326;background:#13d8e4;border-color:#13d8e4}.engineer-calendar-answer form{gap:6px;font-size:14px;display:grid}.engineer-calendar-answer textarea{border:1px solid var(--control-border);border-radius:8px;width:100%;padding:8px}.engineer-calendar-button{border:1px solid var(--control-border);color:#07142d;background:#f8fcfd;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;text-decoration:none;display:grid}.engineer-calendar-button span{gap:2px;display:grid}.engineer-calendar-button strong{font-size:16px;font-weight:820}.engineer-calendar-button small{color:#3d4d59;font-size:12px}@media (min-width:900px){.engineer-calendar-shell{padding:24px}.engineer-calendar-surface{gap:14px;padding:20px}.engineer-calendar-toolbar{grid-template-columns:320px 1fr;align-items:center}.engineer-calendar-nav h2{font-size:18px}.engineer-calendar-month .day{min-height:104px;padding:5px}.engineer-calendar-month .day.selected{padding:4px}.engineer-calendar-month .chip .title{display:inline}.engineer-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start}.engineer-calendar-day.compact .engineer-calendar-item .time{grid-column:1/-1;justify-self:start}.engineer-calendar-overlay{place-items:center}.engineer-calendar-detail{border-radius:8px;width:min(560px,100vw - 48px);max-height:calc(100svh - 48px)}}
