/* Shared calendar chrome. Event category colors and calendar time geometry stay semantic. */
:root { --bg:#edf2f7; --panel:#fff; --text:#15283c; --muted:#52677c; --border:#c5d1df; --brand:#275b85; --brand-2:#275b85; --shadow:0 2px 8px #15283c12; }
body { background:#edf2f7; color:#15283c; }
.header { background:#192e46; padding:16px 20px; }
.container,.modal-content,.panel { border-radius:10px; box-shadow:0 2px 8px #15283c12; }
.toolbar,.topbar { background:#f7f9fc; border-color:#c5d1df; }
html .ios-btn,html .btn,html .toggle-pill,html .filter-select,html .select { border-radius:8px; min-height:44px; box-shadow:none; }
html .btn,html .filter-select,html .select { border-color:#bdcad9; }
html .filter-select,html .select { height:44px; padding:8px 10px; font:inherit; font-size:14px; }
html .search-box input { min-height:44px; border-radius:8px; }
html .fc .fc-button-primary { background:#27486d; border-color:#27486d; border-radius:8px; min-height:44px; box-shadow:none; }
html .fc .fc-button-primary:not(:disabled).fc-button-active { background:#152e4b; border-color:#152e4b; }
html .fc .fc-toolbar-title { font-size:1.2rem; color:#15283c; }
.event-detail-row { padding-top:8px; padding-bottom:8px; }
.fn-list-row { padding-top:6px; padding-bottom:6px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:2px solid #275b85; outline-offset:2px; }
@media(max-width:600px) { .header { padding:12px; } .header h1 { font-size:1.25rem; } .controls,.controls-row,.toolbar-left,.toolbar-right { min-width:0; flex-wrap:wrap; } .controls input,.controls select { max-width:100%; } }
@media print { body,.toolbar,.topbar { background:#fff; } .container,.panel { box-shadow:none; } }
html.embedded .fc .fc-button-primary { color:#fff; }
html.embedded .search-box,html.embedded .filter-select { width:100%; max-width:none; }
@media(min-width:760px) {
  html.embedded .toolbar { grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr) minmax(140px,.8fr) minmax(140px,.8fr); grid-template-areas:"search inspector type status"; }
}

/* Keep a real date control available when embedded Safari blocks showPicker. */
#dateInput { display:block; width:100%; min-height:44px; border:1px solid #bdcad9; border-radius:8px; padding:8px 10px; background:#fff; color:#15283c; font:inherit; box-sizing:border-box; }
.date-pill #datePickerBtn { display:none; }
@media(min-width:760px) {
 html.embedded .fc .fc-list-event-title .fn-list-row { display:grid !important; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:center; gap:6px 10px; padding:8px 12px; }
 html.embedded .fn-list-meta { grid-column:2; grid-row:1; margin-top:0; }
 html.embedded .fn-list-addr { grid-column:3; grid-row:1; }
}

/* Hidden FullCalendar time columns must not reserve tablet table space. */
@media(min-width:769px) {
 html.embedded .fc .fc-list-table,
 html.embedded .fc .fc-list-table tbody,
 html.embedded .fc .fc-list-day,
 html.embedded .fc .fc-list-event { display:block !important; width:100% !important; }
 html.embedded .fc .fc-list-table colgroup { display:none !important; }
 html.embedded .fc .fc-list-day th,
 html.embedded .fc .fc-list-event-title { display:block !important; width:100% !important; box-sizing:border-box; }
}
