/* Delivery operations shared by driver, merchant and admin. */
.o-shell { max-width:1100px; margin:0 auto; padding:24px; padding-bottom:100px; color:var(--text,#18372e); }
.o-header,.o-between { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.o-header { margin-bottom:24px; } .o-header h1 { font-size:28px; margin:8px 0; letter-spacing:-.8px; }
.o-eyebrow { color:#0c8564; letter-spacing:2px; font-size:11px; font-weight:800; }
.o-muted,.o-card small,.o-id { color:var(--muted,#708179); font-size:13px; line-height:1.6; }
.o-id { overflow-wrap:anywhere; } .o-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:20px; align-items:start; }
.o-card { min-width:0; padding:24px; margin:0 0 18px; border:1px solid var(--border,#e0e9e4); background:var(--panel,#fff); border-radius:20px; }
.o-card h2 { margin:0 0 14px; font-size:19px; } .o-card h3 { margin:0; font-size:16px; } .o-card p { line-height:1.6; }
.o-card svg { width:20px; height:20px; vertical-align:middle; }
.o-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid var(--border,#d9e3dd); border-radius:12px; background:var(--panel,#fff); color:inherit; font:inherit; font-size:14px; font-weight:650; cursor:pointer; text-decoration:none; }
.o-button svg { width:18px; height:18px; }.o-button.primary { color:white; background:#087b59; border-color:#087b59; }.o-button.danger { color:#b83a3a; }
.o-button:disabled { opacity:.5; cursor:not-allowed; }.o-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.o-tabs { display:flex; gap:8px; margin:20px 0; overflow:auto; }.o-tabs .active { background:#e1f3e9; border-color:#0c8564; color:#086b4e; }
.o-badge { display:inline-flex; align-items:center; background:#e7f5ed; color:#08744e; border-radius:8px; padding:6px 10px; font-size:12px; font-weight:750; }.o-badge.warning { color:#9a5b0a; background:#fff2d8; }
.o-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }.o-stat { border:1px solid var(--border,#e0e9e4); border-radius:16px; background:var(--panel,#fff); padding:20px; }.o-stat strong { display:block; font-size:28px; margin-top:8px; }
.o-empty { padding:70px 20px; text-align:center; color:var(--muted,#65786d); }.o-empty svg { width:48px; height:48px; color:#128d69; }
.o-map { border:1px solid var(--border,#dfe7e2); border-radius:20px; overflow:hidden; margin:0 0 20px; background:var(--panel,#fff); }.o-map iframe { width:100%; height:340px; border:0; background:#eff3f0; }.o-map>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:16px; font-size:13px; }.o-map a { color:#09805c; font-weight:700; }
.o-contact { border-top:1px solid var(--border,#e1e8e4); margin-top:20px; padding-top:20px; }.o-contact p { overflow-wrap:anywhere; }.o-items { padding:0; list-style:none; }.o-items li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--border,#edf0ee); }.o-items small { display:block; }
.o-timeline { padding:0 0 0 16px; margin:0; border-left:2px solid #b6ddcb; list-style:none; }.o-timeline li { margin:0 0 20px; position:relative; font-size:14px; }.o-timeline li::before { content:''; width:8px; height:8px; background:#169a6e; position:absolute; left:-21px; top:6px; border-radius:50%; }.o-timeline small { display:block; margin-top:5px; }
.o-notice { background:#eff7f3; color:#245741; padding:18px; border-radius:14px; margin:16px 0; line-height:1.6; }.o-notice.warning { background:#fff3dd; color:#8b5818; }.o-notice p { margin:6px 0; }
.o-bottom-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:30; justify-content:center; background:var(--panel,#fff); border-top:1px solid var(--border,#e0e9e4); padding:10px 16px max(10px,env(safe-area-inset-bottom)); gap:30px; }.o-bottom-nav button { display:flex; align-items:center; gap:8px; background:none; border:0; color:#60776b; padding:8px 14px; font:inherit; cursor:pointer; }.o-bottom-nav .active { color:#087b59; font-weight:800; }.o-bottom-nav svg { width:22px; height:22px; }
.o-field { display:grid; gap:8px; margin:16px 0; font-size:14px; }.o-field input,.o-field textarea,.o-field select { width:100%; padding:12px; border:1px solid var(--border,#ccd9d0); border-radius:10px; color:inherit; background:var(--panel,#fff); font:inherit; }.o-check { display:flex; gap:10px; align-items:flex-start; margin:16px 0; line-height:1.5; }
.o-dialog { max-width:520px; width:calc(100% - 32px); padding:24px; border:0; border-radius:22px; }.o-dialog::backdrop { background:#12372d80; }
body[data-role="driver"] { background:#f5f8f6; } body[data-role="driver"] .main { padding:0; } body[data-role="driver"] .topbar { display:none; } body[data-role="driver"] .app-shell { display:block; } body[data-role="driver"] .auth-account { padding:12px 24px; }
body[data-role="driver"] .toast {
  bottom:calc(110px + env(safe-area-inset-bottom, 0px));
  z-index:40;
  max-width:min(360px, calc(100vw - 32px));
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:700px) { .o-shell { padding:20px 16px 100px; }.o-layout { display:block; }.o-card { padding:20px; }.o-stats { gap:8px; }.o-stat { padding:14px 10px; font-size:12px; }.o-stat strong { font-size:24px; }.o-header h1 { font-size:24px; }.o-map iframe { height:270px; }.o-bottom-nav { gap:8px; }.o-bottom-nav button { flex-direction:column; font-size:11px; }.o-actions>.o-button { flex:1; }.o-tabs .o-button { flex-shrink:0; } }
body[data-role="admin"] { --panel:var(--aw-panel); --text:var(--aw-text); --border:var(--aw-line); }
@media(max-width:360px) {
 body[data-role="admin"] .admin-sidebar { padding-inline:10px; gap:5px; }
 body[data-role="admin"] .admin-sidebar-brand { font-size:12px; gap:7px; }
 body[data-role="admin"] .admin-sidebar .brand-mark { width:26px; height:26px; }
}
@media(max-width:480px) { .o-actions > .o-button { flex:1 1 100%; } }
