.geofence-shell{display:grid;gap:16px}
.geofence-shell .panel{margin-top:0;background:var(--surface);color:var(--ink);border-color:var(--line)}
.geofence-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.geofence-toolbar h3{margin:0 0 5px}
.geofence-toolbar p{margin:0;color:var(--muted);font-size:13px}
.geofence-toolbar-actions{display:flex;align-items:flex-end;gap:10px}
.geofence-client-filter{display:grid;gap:6px;min-width:230px;margin:0;color:var(--muted);font-size:12px}
.geofence-client-filter select,.geofence-toolbar-actions>.primary{height:42px;min-height:42px;margin:0}
.geofence-toolbar-actions>.primary:disabled{opacity:.5;cursor:not-allowed}
.geofence-workspace{position:relative;display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;min-height:600px}
.geofence-list,.geofence-map-card{min-width:0;padding:0;overflow:hidden}
.geofence-list{display:flex;flex-direction:column}
.geofence-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.geofence-list-head>span{color:var(--muted);font-size:12px}
.geofence-panel-toggle,.geofence-panel-open{display:none}
#geofence-list-body{overflow:auto;max-height:690px}
.geofence-item{border-bottom:1px solid var(--line);transition:background .16s ease}
.geofence-item:hover,.geofence-item.selected{background:var(--surface-accent)}
.geofence-item.disabled{opacity:.72}
.geofence-item-main{display:grid;width:100%;grid-template-columns:12px minmax(0,1fr) auto;gap:11px;align-items:center;padding:15px 16px;background:transparent;color:var(--ink);text-align:left;border:0;border-radius:0}
.geofence-item-main:hover{background:transparent}
.geofence-item-main>span:nth-child(2){display:grid;gap:3px;min-width:0}
.geofence-item-main strong,.geofence-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geofence-item-main small{color:var(--muted);font-size:11px}
.geofence-color{width:10px;height:42px;border-radius:8px;background:var(--zone-color)}
.geofence-inside{display:grid;justify-items:center;min-width:46px}
.geofence-inside b{font-size:18px}
.geofence-item-meta{display:flex;gap:12px;padding:0 16px 10px 39px;color:var(--muted);font-size:10px}
.geofence-item-actions{display:flex;gap:7px;padding:0 16px 13px 39px}
.geofence-item-actions button{min-height:32px;padding:6px 10px;font-size:11px}
.geofence-map-card{padding:0}
.geofence-map{width:100%;height:100%;min-height:600px;background:var(--surface-soft)}
.geofence-empty{display:grid;gap:6px;padding:28px 18px;text-align:center;color:var(--muted)}
.geofence-empty strong{color:var(--ink)}
.geofence-events{padding:0;overflow:hidden}
.geofence-event{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 18px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left}
.geofence-event:hover{background:var(--surface-accent)}
.geofence-event-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--orange-dark);background:var(--orange-soft);border-radius:10px}
.geofence-event-icon .ui-icon{width:20px;height:20px}
.geofence-event>span:nth-child(2){display:grid;gap:2px}
.geofence-event small,.geofence-event time{color:var(--muted);font-size:11px}
.geofence-events-empty{padding:22px;color:var(--muted);text-align:center}
dialog.geofence-dialog{width:min(1050px,96vw);max-height:94vh;overflow:auto}
.geofence-editor h3{margin:0 0 18px}
.geofence-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px}
.geofence-form-grid label,.geofence-form-section>label,#geofence-email-row{display:grid;gap:6px}
.geofence-form-grid .full{grid-column:1/-1}
.geofence-drawing{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.geofence-address-search{display:grid;gap:8px;padding:12px;background:var(--surface);border-bottom:1px solid var(--line)}
.geofence-address-search>label{font-size:12px;font-weight:600;color:var(--ink)}
.geofence-address-search>div:first-of-type{display:flex;gap:8px}
.geofence-address-search input{flex:1;min-width:0;margin:0}
.geofence-address-search button{min-width:92px;margin:0}
.geofence-address-results{display:grid;gap:6px}
.geofence-address-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:9px 11px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--line);border-radius:9px;text-align:left}
.geofence-address-result:hover,.geofence-address-result.selected{border-color:var(--orange);background:var(--surface-accent)}
.geofence-address-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geofence-address-result small,.geofence-search-message,.geofence-search-source{color:var(--muted);font-size:11px}
.geofence-address-result small{flex:0 0 auto;color:var(--orange-dark);font-weight:600}
.geofence-search-source{padding:2px 3px}
.geofence-drawing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-muted);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.geofence-drawing-head>div{display:flex;gap:7px}
.geofence-drawing-head button{padding:6px 10px;min-height:30px;font-size:11px}
.geofence-editor-map{height:360px;background:var(--surface-soft)}
.geofence-form-section{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}
.geofence-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.geofence-vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto}
.geofence-vehicle-choice{display:flex;align-items:center;gap:9px;padding:9px 10px;background:var(--surface);border:1px solid var(--line);border-radius:9px}
.geofence-vehicle-choice>span{display:grid;gap:2px;min-width:0}
.geofence-vehicle-choice strong,.geofence-vehicle-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geofence-vehicle-choice small{color:var(--muted);font-size:10px}
.geofence-check-grid{display:flex;gap:20px;flex-wrap:wrap}
.geofence-schedule{display:grid;gap:7px}
.geofence-schedule-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(110px,.7fr) 100px 12px 100px;gap:8px;align-items:center;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:9px}
.geofence-schedule-row input[type="time"]{min-width:0}
#geofence-email-row small{color:var(--muted)}
:root[data-theme="dark"] .geofence-shell .panel,
:root[data-theme="dark"] .geofence-vehicle-choice,
:root[data-theme="dark"] .geofence-schedule-row{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .geofence-form-section,
:root[data-theme="dark"] .geofence-drawing-head{background:var(--surface-muted)}
:root[data-theme="dark"] .geofence-item:hover,
:root[data-theme="dark"] .geofence-item.selected,
:root[data-theme="dark"] .geofence-event:hover{background:var(--surface-accent)}
@media(max-width:1024px){
  .geofence-workspace{grid-template-columns:330px minmax(0,1fr)}
}
@media(max-width:760px){
  .geofence-toolbar{align-items:flex-start;flex-direction:column}
  .geofence-toolbar-actions{width:100%;align-items:stretch;flex-direction:column}
  .geofence-client-filter{min-width:0;width:100%}
  .geofence-toolbar-actions>.primary{width:100%}
  .geofence-workspace{display:flex;min-height:0;overflow:visible;flex-direction:column;gap:12px}
  .geofence-map-card{order:1;height:clamp(320px,52dvh,480px);min-height:320px}
  .geofence-map{height:100%;min-height:320px}
  .geofence-list{position:static;z-index:auto;order:2;width:100%;max-width:none;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);transform:none!important;transition:none}
  .geofence-list-head{padding:13px 12px}
  .geofence-list-head>span{margin-left:auto}
  .geofence-panel-toggle,.geofence-panel-open{display:none!important}

  .geofence-workspace.panel-collapsed .geofence-list{transform:none}

  #geofence-list-body{max-height:none;overflow:visible}
  .geofence-item-actions{flex-wrap:wrap}
  .geofence-form-grid{grid-template-columns:1fr}
  .geofence-form-grid .full{grid-column:auto}
  .geofence-editor-map{height:42vh;min-height:310px}
  .geofence-vehicle-grid{grid-template-columns:1fr}
  .geofence-schedule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .geofence-schedule-row input[type="time"]{width:100%}
  .geofence-schedule-row>span{display:none}
  .geofence-address-search>div:first-of-type{align-items:stretch;flex-direction:column}
  .geofence-address-search button{width:100%}
  .geofence-address-result{align-items:flex-start;flex-direction:column;gap:4px}
  .geofence-address-result span{white-space:normal}
  .geofence-drawing-head{align-items:flex-start;flex-direction:column}
  .geofence-event{grid-template-columns:36px minmax(0,1fr)}
  .geofence-event time{grid-column:2}
  dialog.geofence-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
}
