/* SanMonitor UI 1.0: shared role surfaces and compact, accessible workflows. */
:root{--ux-canvas:#f3f6fb;--ux-surface:#fff;--ux-text:#14263d;--ux-muted:#52647b;--ux-line:#d9e3ef;--ux-blue:#175cd3;--ux-hero:#124ca9;--ux-gap:12px;--ux-padding:16px;--ux-radius:12px}
:root[data-theme=dark]{--ux-canvas:#0d1726;--ux-surface:#17253a;--ux-text:#f2f6fc;--ux-muted:#b5c5db;--ux-line:#34465f;--ux-blue:#7aaeff}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ux-canvas:#0d1726;--ux-surface:#17253a;--ux-text:#f2f6fc;--ux-muted:#b5c5db;--ux-line:#34465f;--ux-blue:#7aaeff}}
#smViewToday,.wk-panel{--bg:var(--ux-canvas);--card:var(--ux-surface);--text:var(--ux-text);--muted:var(--ux-muted);--line:var(--ux-line);color:var(--ux-text);background:var(--ux-canvas)}
#smViewToday{padding-top:24px}#smViewToday h2{font-size:20px;line-height:1.35;margin:0 0 16px}#smViewToday .td-card,#smViewToday .td-prio{border:1px solid var(--ux-line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:none;background:var(--ux-surface)}
.ux-monthly{display:grid;gap:12px;min-width:0}.ux-monthly .field-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ux-monthly .field-program-primary{grid-template-columns:minmax(0,1fr)}
#smViewToday .ux-monthly .field-program-card{display:grid;grid-template-columns:1fr;gap:4px;padding:14px;text-align:left;min-width:0;border:1px solid var(--ux-line);border-radius:12px;background:var(--ux-canvas);color:var(--ux-text);overflow:hidden;word-break:normal;overflow-wrap:anywhere}
#smViewToday .ux-monthly .field-program-card img{display:none}#smViewToday .ux-monthly .field-program-card b{font-size:16px}#smViewToday .ux-monthly .field-program-card small{color:var(--ux-muted);font-size:12px}
#smViewToday .ux-monthly .field-program-primary .field-program-card{background:linear-gradient(110deg,#124ca9 0%,#175cd3 74%,#236ddb 100%);color:#fff;position:relative;min-height:160px;padding:20px 28% 20px 20px;gap:6px;border:0}
#smViewToday .ux-monthly .field-program-primary .field-program-card:after{content:'';position:absolute;right:0;top:0;bottom:0;width:24%;background:linear-gradient(90deg,#175cd3,transparent),url('img/cat/housing.jpg') center/cover;opacity:.55;pointer-events:none}
#smViewToday .ux-monthly .field-program-primary b{font-size:26px}#smViewToday .ux-monthly .field-program-primary small{color:#e7efff}#smViewToday .ux-monthly progress{width:100%;height:6px;accent-color:var(--ux-blue)}
.ux-monthly summary{cursor:pointer;color:var(--ux-blue);padding:12px 0;font-size:14px;font-weight:600}.ux-monthly .field-program-more{margin:0}.ux-monthly .field-program-more[open] summary{padding-bottom:12px}
.ux-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.ux-stat{border:1px solid var(--ux-line);background:var(--ux-surface);color:var(--ux-text);padding:12px;text-align:left;border-radius:12px;cursor:pointer;min-width:0}.ux-stat b{display:block;font-size:22px;line-height:1.2}.ux-stat span{display:block;font-size:13px;color:var(--ux-muted);margin-top:4px}.ux-summary-meta{font-size:13px;color:var(--ux-muted);margin:8px 0}
.ux-district-list{display:grid;gap:0}.ux-district-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ux-line)}.ux-district-row:last-child{border-bottom:0}.ux-district-row .wk-btn{border:0;background:none;margin:0;min-height:44px;padding:8px;color:var(--ux-blue);font-size:14px;overflow-wrap:anywhere;text-align:left}.ux-district-row .ux-severity{white-space:nowrap;font-variant-numeric:tabular-nums}.ux-district-row strong{font-size:18px;margin-right:4px}
#r2Attention .r2-table td,#r2Attention .r2-table th{padding:10px 8px;font-size:14px}#r2Attention .r2-table .wk-btn{min-height:44px;padding:8px 10px;margin:0}#r2Attention .wk-acts{gap:6px;margin:8px 0}.ux-report-group{border-top:1px solid var(--ux-line);padding:12px 0}.ux-report-group h3{font-size:16px;margin:0 0 8px}.ux-report-group .td-day-ev li{padding:10px 0;margin:0;border-radius:0;background:none}.ux-report-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.ux-report-toolbar label{display:grid;gap:4px;font-size:13px;color:var(--ux-muted)}.ux-report-toolbar input,.ux-report-toolbar select{box-sizing:border-box;max-width:100%;min-height:40px;padding:8px;border:1px solid var(--ux-line);border-radius:8px;background:var(--ux-surface);color:var(--ux-text)}
.wk-panel{max-height:92dvh}.wk-panel .wk-body{overflow:auto;min-height:0}.ux-selected-summary{margin:12px 0}.ux-selected-summary h3{font-size:16px;margin:8px 0}.ux-map-filters{max-width:min(280px,65vw);background:var(--ux-surface);color:var(--ux-text);border-radius:12px;padding:10px;box-shadow:0 2px 10px #0002}.ux-map-filters summary{cursor:pointer;font-weight:600}.ux-map-filters label{display:grid;font-size:12px;margin-top:8px}.ux-map-filters select,.ux-map-filters input{max-width:100%;min-width:0;min-height:32px}.ux-cluster{display:grid;place-items:center;background:#175cd3;color:white;border:2px solid white;border-radius:50%;width:34px;height:34px;font-weight:700;box-shadow:0 2px 5px #0003}.ux-cluster.is-review{background:#8a4700}.ux-popup-list{max-height:240px;overflow:auto;display:grid;gap:6px}.ux-popup-list button{white-space:normal;text-align:left}
.ux-queue-return{position:sticky;bottom:0;display:flex;gap:8px;background:var(--ux-surface);padding:12px 0;z-index:2}.ux-queue-return button{flex:1}
#smViewToday #smTodayChips[hidden]{display:none!important}button:focus-visible,summary:focus-visible{outline:3px solid var(--ux-blue);outline-offset:3px}
@media(min-width:1024px){#smViewToday .ux-monthly .field-program-grid:not(.field-program-primary){grid-template-columns:repeat(4,minmax(0,1fr))}.ux-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){#smViewToday{padding-top:12px}#smViewToday .td-card,#smViewToday .td-prio{padding:14px;border-radius:14px}#smViewToday h2{font-size:18px}.ux-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-district-row{grid-template-columns:minmax(0,1fr) auto auto;gap:4px}.ux-district-row .wk-btn{padding:6px;font-size:12px}.ux-district-row strong{font-size:16px}#smViewToday .ux-monthly .field-program-primary .field-program-card{padding:18px 18px;min-height:150px}#smViewToday .ux-monthly .field-program-primary .field-program-card:after{display:none}.ux-report-toolbar>*{flex:1 1 130px;min-width:0}.ux-report-toolbar input{width:100%}.ux-monthly summary{line-height:1.5}.wk-panel{max-width:calc(100vw - 16px)}}
/* Keep the illustration outside the text column; override legacy left:0. */
#smViewToday .ux-monthly .field-program-primary .field-program-card:after{left:auto;right:0}
#smViewToday .td-op-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0}
#smViewToday .td-op-metrics button{margin:0;padding:12px;min-height:76px;border:1px solid var(--ux-line);border-radius:10px;background:var(--ux-canvas);text-align:left}
#smViewToday .td-op-foot{flex-direction:row;flex-wrap:wrap;gap:6px}#smViewToday .td-op-foot .ws-all{min-height:44px;padding:8px;margin:0}
#smViewToday .td-sec2{margin:0}#smViewToday .td-operations .td-card-h{font-size:18px;margin-bottom:12px}
.r2-table{width:100%;border-collapse:collapse;color:var(--ux-text)}.r2-table th{font-size:12px;text-align:left;color:var(--ux-muted);font-weight:600;background:var(--ux-canvas)}.r2-table td,.r2-table th{padding:10px 12px;border-bottom:1px solid var(--ux-line);vertical-align:top}.r2-table td{font-size:14px;line-height:1.4}.r2-table tr:hover{background:var(--ux-canvas)}.r2-table .wk-btn{min-width:0;white-space:normal;max-width:100%;min-height:44px;padding:8px 12px;font-size:14px}
.ux-stat:hover{border-color:var(--ux-blue)}.ux-stat:disabled{opacity:.55;cursor:default}
@media(min-width:1200px){#smViewToday .td-op-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:700px){.r2-table tr{padding:12px 0;gap:8px}.r2-table td{border:0;padding:0}.r2-table td:before{color:var(--ux-muted)}#smViewToday .td-op-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
#smViewToday .ux-monthly .field-program-card span{font-size:14px;line-height:1.4}#smViewToday .ux-monthly .field-program-card small{line-height:1.4}
#smViewToday .ux-monthly .field-program-card b{letter-spacing:0}.ux-report-group h3{text-transform:capitalize}
.fo32-app-marker.ux-app-marker .ux-cluster{display:grid;place-items:center;width:34px;height:34px;line-height:1;border-radius:50%;background:#175cd3}
.fo32-app-marker.ux-app-marker .ux-cluster.is-review{background:#8a4700}
.ux-map-filters.leaflet-control{position:fixed;top:110px;left:84px;right:auto;margin:0;z-index:610;max-width:220px}
@media(max-width:899px){.ux-map-filters.leaflet-control{left:12px;max-width:210px}}
.wk-panel .fo-day-nav{display:grid;grid-template-columns:44px minmax(145px,1fr) 44px;gap:8px;align-items:end}.wk-panel .fo-day-nav label{min-width:0;display:grid;gap:4px}.wk-panel .fo-day-nav input{box-sizing:border-box;width:100%;min-width:0;font-size:14px}.wk-panel .fo-day-nav>span:first-of-type{grid-column:1/3}.wk-panel .fo-day-nav .wk-badge{justify-self:end;align-self:center}.ux-selected-summary .ux-stat{padding:10px}.ux-selected-summary .ux-stat b{font-size:20px}

/* Selected day uses a locale-independent text field; official action precedes tall content. */
.ux-selected-summary .ux-official-view{display:block;box-sizing:border-box;width:100%;min-height:44px;margin:8px 0 12px;padding:10px 8px;font-size:14px;line-height:1.35;white-space:normal;color:var(--ux-blue);border:1px solid var(--ux-line);background:var(--ux-surface);border-radius:10px}

.ux-date-field{display:block;position:relative}.wk-panel .fo-day-nav #dlDay{padding-right:36px}.ux-date-icon{position:absolute;right:10px;top:12px;pointer-events:none}.wk-panel .fo-day-nav #dlDatePicker{position:absolute;right:0;top:0;width:34px;height:100%;min-height:40px;opacity:0;cursor:pointer}.ux-date-field:focus-within{outline:2px solid var(--ux-blue);outline-offset:2px;border-radius:8px}
