/* DYWS light DOM styles. Cart styles load separately inside its shadow root. */
@import url('./tokens.css?v=22');
@import url('./status.css?v=1');
@import url('./catalog.css?v=22');
@import url('./admin.css?v=29');
@import url('./tracking.css?v=30');
.dyws-plugin-area:empty { display: none; }
.dyws-catalog .dyws-product > .dyws-plugin-area { grid-column: 1 / -1; }

/* Compact order summaries; full contact details and actions open on demand. */
.dyws-order-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.dyws-order-filters label{flex:1 1 130px;margin:0}.dyws-order-filters label:first-child{flex:2 1 200px}.dyws-order-filters input,.dyws-order-filters select{width:100%;margin:4px 0 0}.dyws-order-table table{font-size:.9em;width:100%}.dyws-order-table th,.dyws-order-table td{padding:8px 10px}.dyws-order-table td:nth-child(7){white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.dyws-order-table td:nth-child(2){min-width:140px}.dyws-order-table button{font-size:inherit;white-space:nowrap;min-height:44px;padding:8px 10px}.dyws-order-detail{margin-top:16px;background:var(--dyws-color-raised)}.dyws-order-detail article{padding:0;background:transparent}
.dyws-order-table table.dataTable th:nth-child(2),.dyws-order-table table.dataTable td:nth-child(2){text-align:left}
.dyws-admin[data-admin-page='orders'] .dyws-editor-heading h2{margin:0}.dyws-admin[data-admin-page='orders'] .dt-length{display:flex;align-items:center;gap:8px}.dyws-admin[data-admin-page='orders'] .dt-length label{margin:0}.dyws-admin[data-admin-page='orders'] .dt-length select{margin:0}

.dyws-auth main{width:min(100% - 2rem,32rem);margin:clamp(2rem,8vh,5rem) auto}.dyws-auth h1{margin:0 0 1rem}.dyws-auth form{display:grid;gap:1rem}.dyws-auth form button{justify-self:stretch}

.dyws-load-diagnostics{margin:1rem auto;padding:1rem;max-width:1100px;background:var(--dyws-color-panel);border:1px solid var(--dyws-color-border)}.dyws-load-diagnostics pre{font-size:14px;white-space:pre-wrap;overflow:auto;max-height:28rem}.dyws-load-diagnostics button{margin:.25rem}

.dyws-skeleton{display:grid;gap:14px;padding:24px;background:var(--dyws-color-surface);border-radius:16px;margin-bottom:20px}.dyws-skeleton i{display:block;height:22px;border-radius:8px;background:var(--dyws-color-raised);animation:dyws-pulse 1.4s ease-in-out infinite alternate}.dyws-skeleton i:first-of-type{width:40%}.dyws-skeleton i:last-of-type{width:75%}@keyframes dyws-pulse{to{opacity:.4}}@media(prefers-reduced-motion:reduce){.dyws-skeleton i{animation:none}}
@media(min-width:1000px){.dyws-admin-menu:not([open])>nav{display:flex}}

.dyws-location-view{position:relative}.dyws-map-skeleton{min-height:280px;display:grid;align-content:center;padding:1.5rem}.dyws-map-skeleton:not([hidden])+.dyws-note{visibility:hidden}.dyws-location-view:has(.dyws-map-skeleton:not([hidden]))>.dyws-google-map{position:absolute;inset:0;opacity:0;pointer-events:none}

.dyws-plugin-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.dyws-plugin-types{display:flex;flex-direction:column;gap:6px;position:sticky;top:16px;padding:10px;border:1px solid var(--dyws-line-soft);border-radius:18px;background:var(--dyws-color-surface)}.dyws-plugin-types [role=tab]{display:flex;justify-content:space-between;gap:12px;min-height:48px;padding:12px;text-align:left;background:transparent;color:var(--dyws-color-text);border-radius:12px}.dyws-plugin-types [aria-selected=true]{background:var(--dyws-action-fill);color:var(--dyws-color-bg)}.dyws-plugin-types [role=tab]>span:last-child{font-variant-numeric:tabular-nums;opacity:.8}.dyws-plugin-browser [role=tabpanel]{min-width:0}.dyws-plugin-browser [role=tabpanel]>article:first-child{margin-top:0}@media(max-width:650px){.dyws-plugin-browser{grid-template-columns:145px minmax(0,1fr);gap:12px}.dyws-plugin-types{padding:6px}.dyws-plugin-types [role=tab]{font-size:.8rem;padding:10px 8px}.dyws-plugin-browser .dyws-editor-heading{flex-wrap:wrap}}@media(max-width:420px){.dyws-plugin-browser{grid-template-columns:115px minmax(0,1fr);gap:8px}.dyws-plugin-types [role=tab]{gap:4px}.dyws-plugin-browser article{padding:12px}.dyws-plugin-browser .dyws-editor-heading h2{font-size:1.1rem}}

.dyws-plugin-controls{display:flex;flex-direction:column;gap:8px;min-width:120px;flex-shrink:0}.dyws-plugin-controls>button,.dyws-plugin-controls>a{width:100%;text-align:center}

.dyws-shell .dyws-editor-heading>.dyws-plugin-controls{flex:0 0 140px}.dyws-plugin-controls>a{justify-content:center}

/* Business locations use rows on wide screens and labelled fields on phones. */
.dyws-business-locations{margin:24px 0}.dyws-business-location-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) minmax(130px,1fr) auto auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--dyws-border)}.dyws-business-location-row input{min-width:0;width:100%}.dyws-business-location-row .dyws-checkbox{align-self:center}.dyws-business-location-row .dyws-checkbox input{width:auto}#add-business-location{margin-top:16px}@media(max-width:900px){.dyws-business-location-row{grid-template-columns:1fr 1fr}.dyws-business-location-row label:nth-child(2){grid-column:1/-1}}@media(max-width:500px){.dyws-business-location-row{grid-template-columns:1fr}}

/* Driver profile icons retain native radio keyboard behavior. */
.dyws-driver-profile{margin:20px 0;padding:20px;border:1px solid var(--dyws-color-border);border-radius:18px;background:var(--dyws-color-surface)}.dyws-driver-profile>summary{cursor:pointer;font-weight:700;padding:8px 0}.dyws-driver-profile-heading{display:flex;gap:16px;align-items:center;margin:16px 0}.dyws-driver-profile-heading h2{margin:0}.dyws-driver-profile-heading p{margin:6px 0}.dyws-driver-profile fieldset{border:0;padding:0;min-width:0}.dyws-driver-icon-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:12px 0 20px}.dyws-driver-icon-choice{position:relative;min-width:0;cursor:pointer}.dyws-driver-icon-choice input{position:absolute;opacity:0;width:1px;height:1px}.dyws-driver-icon-choice span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:2px solid var(--dyws-color-border);border-radius:14px;text-align:center}.dyws-driver-icon-choice input:checked+span{border-color:var(--dyws-color-accent);background:var(--dyws-color-raised)}.dyws-driver-icon-choice input:focus-visible+span{outline:3px solid var(--dyws-color-emphasis);outline-offset:3px}.dyws-driver-icon-choice input:disabled+span{opacity:.6}.dyws-driver-icon-choice small{font-size:.75em}.dyws-driver-avatar{object-fit:contain;vertical-align:middle}.dyws-tracking-driver-icon{float:right;margin-left:12px}@media(max-width:800px){.dyws-driver-icon-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:400px){.dyws-driver-icon-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

.dyws-driver-icon-choice span{position:relative}.dyws-driver-icon-choice input:checked+span::after{content:"✓";position:absolute;top:5px;right:8px;font-weight:800;color:var(--dyws-color-emphasis)}

/* Compact colour chits retain larger hit targets and native radio keyboard controls. */
.dyws-driver-vehicle-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:8px 0 24px}.dyws-driver-vehicle-fields>label{margin:0}.dyws-driver-vehicle-fields input[name=vehicleType]{width:100%;min-width:0}.dyws-vehicle-colors{display:grid;grid-template-columns:repeat(8,minmax(24px,1fr));max-width:256px;margin:8px 0}.dyws-driver-profile .dyws-vehicle-color-choice{position:relative;display:flex;align-items:center;justify-content:center;height:32px;margin:0;cursor:pointer}.dyws-vehicle-color-choice input{position:absolute;opacity:0;width:1px;height:1px;min-width:0;min-height:0;margin:0;padding:0;clip-path:inset(50%)}.dyws-vehicle-color-choice>span{display:block;box-sizing:border-box;width:16px;height:16px;border:1px solid rgba(127,127,127,.55);border-radius:0}.dyws-vehicle-color-choice input:checked+span{outline:2px solid var(--dyws-color-accent);outline-offset:3px}.dyws-vehicle-color-choice input:focus-visible+span{outline:3px solid var(--dyws-color-emphasis);outline-offset:4px}.dyws-vehicle-color-choice input:disabled+span{opacity:.6}.dyws-vehicle-color-caption{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.85em}.dyws-vehicle-color-caption>button{padding:6px 10px;min-height:32px;font-size:inherit}@media(max-width:600px){.dyws-driver-vehicle-fields{grid-template-columns:1fr;gap:16px}}
