/* MailSparc Calendar */
#calView{display:flex;flex-direction:column;height:100%;min-height:0}
#calView[hidden]{display:none}
.cal-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);flex:0 0 auto;flex-wrap:wrap}
.cal-title{font:600 1.05rem/1.2 var(--font-display);margin:0 4px;min-width:150px}
.cal-seg{display:flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}
.cal-seg button{border:0;background:none;color:var(--text-dim);padding:4px 12px;cursor:pointer;font:500 .8rem var(--font-body)}
.cal-seg button.active{background:var(--teal-500);color:#fff}
.cal-new{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);font:600 .82rem var(--font-body);padding:7px 14px;cursor:pointer;box-shadow:var(--shadow-1)}
.cal-new:hover{background:var(--amber-400)}

/* month grid */
#calGrid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,1fr);min-height:0;overflow:auto;background:var(--surface)}
.cal-dow{padding:6px 8px;font:600 .68rem var(--font-body);letter-spacing:.08em;color:var(--text-mute);border-bottom:1px solid var(--line);text-align:center;position:sticky;top:0;background:var(--surface);z-index:1}
.cal-cell{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);padding:4px;min-height:84px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.cal-cell:hover{background:var(--surface-2)}
.cal-cell.other .cal-num{opacity:.35}
.cal-num{font:600 .75rem var(--font-body);color:var(--text-dim);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.cal-cell.today .cal-num{background:var(--teal-500);color:#fff}
.cal-chips{display:flex;flex-direction:column;gap:2px;min-height:0}
.cal-chip{font:500 .68rem/1.35 var(--font-body);padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.cal-chip .ch-t{opacity:.85;margin-right:4px;font-weight:400}
.cal-more{font:500 .66rem var(--font-body);color:var(--text-mute);padding-left:4px}
.cal-dots{display:none;gap:3px;justify-content:center}
.cal-dot{width:6px;height:6px;border-radius:50%}

/* event colors */
.c-amber{background:var(--amber-500)}.c-blue{background:#3b7dd8}.c-green{background:#2e9e5b}
.c-red{background:#d64545}.c-purple{background:#8b5cd6}.c-slate{background:#64748b}.c-teal{background:var(--teal-500)}

/* agenda */
#calAgenda{flex:1;overflow:auto;padding:10px 14px 90px;background:var(--surface)}
.cal-ag-day{font:600 .78rem var(--font-display);color:var(--text-mute);letter-spacing:.04em;margin:16px 2px 6px;text-transform:uppercase}
.cal-ag-day.today{color:var(--teal-500)}
.cal-ag-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line-soft);border-radius:var(--r-lg);margin-bottom:6px;cursor:pointer;background:var(--bg)}
.cal-ag-row:hover{box-shadow:var(--shadow-1)}
.cal-ag-bar{width:4px;align-self:stretch;border-radius:2px;flex:0 0 auto}
.cal-ag-main{flex:1;min-width:0}
.cal-ag-title{font:600 .86rem var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ag-loc{font:400 .74rem var(--font-body);color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ag-time{font:500 .72rem/1.3 var(--font-body);color:var(--text-dim);text-align:right;flex:0 0 auto}
.cal-empty{color:var(--text-mute);text-align:center;padding:40px 10px;font:400 .85rem var(--font-body)}

/* overlays (zoom-proof fixed inset) */
.cal-overlay{position:fixed;inset:0;background:rgba(10,16,24,.45);z-index:60;display:flex;align-items:center;justify-content:center;padding:14px}
.cal-overlay[hidden]{display:none}
.cal-modal{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);width:min(440px,100%);max-height:calc(100dvh/var(--z,1) - 40px);overflow:auto;padding:16px}
.cal-modal h3{font:600 1rem var(--font-display);margin:0 0 12px}
.cal-modal label{display:block;font:600 .7rem var(--font-body);color:var(--text-mute);margin:10px 0 3px;letter-spacing:.04em;text-transform:uppercase}
.cal-modal input[type=text],.cal-modal textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:8px 10px;font:400 .86rem var(--font-body)}
.cal-when{display:flex;gap:8px}
.cal-when input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:7px 8px;font:400 .82rem var(--font-body);flex:1;min-width:0;color-scheme:light dark}
.cal-ad{display:flex;align-items:center;gap:8px;margin-top:10px;font:500 .82rem var(--font-body)}
.cal-ad input{width:16px;height:16px;accent-color:var(--teal-500)}
#evColors{display:flex;gap:8px;margin-top:6px}
.swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.swatch.sel{border-color:var(--text);box-shadow:0 0 0 2px var(--bg) inset}
.cal-actions{display:flex;gap:8px;margin-top:16px;align-items:center}
.cal-actions .spacer{flex:1}
.btn-danger{border:0;background:none;color:#d64545;font:600 .82rem var(--font-body);cursor:pointer;padding:8px 10px}
.btn-save{border:0;border-radius:var(--r-md);background:var(--accent);color:#fff;font:600 .84rem var(--font-body);padding:9px 18px;cursor:pointer}
.btn-plain{border:0;background:none;color:var(--text-dim);font:500 .84rem var(--font-body);cursor:pointer;padding:8px 10px}

/* day sheet */
.cal-day-modal{width:min(400px,100%)}
.cal-day-head{display:flex;align-items:center;margin-bottom:8px}
.cal-day-head h3{margin:0;flex:1}

/* tokens */
.cal-tok{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-soft);font:400 .8rem var(--font-body)}
.cal-tok code{color:var(--text-mute)}
.tok-lbl{font-weight:600;flex:1}
.cal-tok-fresh{margin-top:10px;padding:10px;border:1px dashed var(--teal-500);border-radius:var(--r-md);background:var(--surface);font:400 .78rem var(--font-body)}
.cal-tok-fresh code{word-break:break-all;font-size:.75rem}
.cal-hint{font:400 .74rem/1.5 var(--font-body);color:var(--text-mute);margin-top:8px}
.cal-hint code{word-break:break-all}
#calFab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:54px;height:54px;border-radius:16px;border:0;background:var(--accent);color:#fff;font-size:1.6rem;line-height:1;box-shadow:var(--shadow-2);cursor:pointer}
#calFab[hidden]{display:none}

/* phones */
@media (max-width:768px),((pointer:coarse) and (max-width:1024px)){
  .cal-toolbar{padding:6px 8px}
  .cal-title{min-width:0;font-size:.95rem}
  #calNew{display:none}
  .cal-cell{min-height:52px;padding:2px;align-items:center}
  .cal-chips{display:none}
  .cal-dots{display:flex;flex-wrap:wrap}
  #calGrid{flex:0 0 auto}
  .cal-overlay{align-items:flex-end;padding:0}
  .cal-modal{width:100%;border-radius:16px 16px 0 0;max-height:calc(92dvh/var(--z,1))}
}
