:root{
  --bg:#0B0F15;--panel:#11151A;--panel2:#181c22;--ink:#dfe2eb;--muted:#8c90a1;--line:rgba(255,255,255,.08);
  --blue:#0066ff;--blue2:#0052cc;--cyan:#00F0FF;--green:#4bc490;--red:#FF3B30;--amber:#e0a83f;
  --shadow:0 18px 45px rgba(0,0,0,.4);--radius:6px;--sidebar:#0B0F15;--sidebar2:#0B0F15;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}code{background:#0c1e3d;color:#8fb4ff;padding:2px 7px;border-radius:4px;font-size:.92em;font-family:var(--font-mono)}.hidden{display:none!important}.muted,.hint{color:var(--muted)}.center{text-align:center}.full{width:100%}.inline{display:inline}.empty{text-align:center;color:var(--muted);padding:28px!important}
.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid var(--line);color:var(--ink);padding:22px 16px;display:flex;flex-direction:column;gap:24px}.brand-block{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;padding:8px;border-radius:6px}.brand-block:hover{background:rgba(255,255,255,.06);text-decoration:none}.brand-logo{width:44px;height:44px;border-radius:6px;background:var(--blue);display:grid;place-items:center;font-weight:900;font-size:23px;box-shadow:0 0 20px rgba(0,102,255,.35)}.brand-logo.large{width:64px;height:64px;font-size:34px;border-radius:8px}.brand-title{font-weight:800;font-size:18px;font-family:var(--font-mono);letter-spacing:.02em}.brand-subtitle{font-size:11px;color:var(--muted);margin-top:2px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.side-nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#c2c6d8;border-radius:4px;text-decoration:none;font-weight:650}.nav-item:hover{background:rgba(255,255,255,.06);color:var(--ink);text-decoration:none}.nav-item.active{background:#0c1e3d;color:#fff;border-left:3px solid var(--blue);box-shadow:none}.nav-icon{width:26px;height:26px;border-radius:4px;background:rgba(255,255,255,.08);display:grid;place-items:center}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px}.mini-card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:6px;padding:13px}.mini-label{color:var(--muted);font-size:11px;margin-bottom:6px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.mini-card code{background:rgba(255,255,255,.06);color:#8fb4ff}
.main-wrap{min-width:0}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(17,21,26,.75);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.page-kicker{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.12em;font-family:var(--font-mono)}.page-title{font-size:26px;margin:4px 0 0;color:var(--ink)}.top-actions{display:flex;gap:10px;align-items:center}.content{padding:28px 34px 48px;max-width:1500px;margin:0 auto}.panel,.metric-card,.pro-card{background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px;margin-bottom:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel h2{margin:0;font-size:20px;color:var(--ink)}.panel h3{margin:0 0 12px;color:var(--ink)}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-family:var(--font-mono)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:22px}.metric-card{padding:20px;min-height:140px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;right:-30px;bottom:-48px;width:140px;height:140px;border-radius:50%;background:rgba(0,102,255,.08)}.metric-card.accent-blue{background:linear-gradient(135deg,#0052cc,#00a8b8);color:white}.metric-card.accent-blue .metric-sub,.metric-card.accent-blue .metric-top{color:#cfe3ff}.metric-card.accent-blue a{color:white}.metric-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-weight:700;font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:30px;font-weight:700;margin-top:22px;color:var(--ink);font-family:var(--font-mono)}.metric-sub{margin-top:8px;color:var(--muted);font-size:13px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.9fr);gap:22px}.btn,button,.button{border:0;border-radius:4px;padding:10px 14px;background:#181c22;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;line-height:1;min-height:40px;transition:.18s ease;font:inherit}.btn:hover,button:hover,.button:hover{box-shadow:0 0 12px rgba(0,240,255,.25);text-decoration:none}.btn.primary,button.primary{background:var(--blue);color:white}.btn.primary:hover,button.primary:hover{box-shadow:0 0 14px rgba(0,240,255,.4)}.btn.danger,button.danger{background:#3a1211;color:var(--red)}.btn.warning,button.warning{background:#3a2c11;color:var(--amber)}.btn.soft,button.soft{background:#181c22;color:#c2c6d8}.btn.ghost,button.ghost{background:rgba(255,255,255,.06);color:#c2c6d8}.btn.small,button.small{min-height:32px;padding:7px 10px;border-radius:4px;font-size:13px}.action-bar,.actions,.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.control-stack{display:grid;gap:10px}.badge,.chip,.level{display:inline-flex;align-items:center;border-radius:2px;padding:5px 9px;font-weight:700;font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.badge.neutral,.chip{background:#181c22;color:#c2c6d8}.badge.success{background:#123527;color:var(--green)}.badge.danger{background:#3a1211;color:var(--red)}.level{background:#181c22;color:#c2c6d8;border:1px solid var(--line)}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(75,196,144,.15)}.dot.green{background:var(--green)}.dot.red{background:var(--red);box-shadow:0 0 0 5px rgba(255,59,48,.15)}
.collapsible-panel{margin-bottom:22px}.collapsible-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:16px 22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:700;color:var(--ink);font-size:15px}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary::before{content:'▸';font-size:12px;color:var(--blue);transition:transform .15s;display:inline-block}.collapsible-panel[open]>summary{border-radius:var(--radius) var(--radius) 0 0}.collapsible-panel[open]>summary::before{transform:rotate(90deg)}.collapsible-panel>summary .muted-inline{font-weight:600;color:var(--muted);font-size:13px}.collapsible-panel>.panel{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-top:0}
.advanced-actions{border-top:1px dashed var(--line);margin-top:16px;padding-top:16px}.advanced-actions>.eyebrow{color:var(--muted)}
.inline-details{margin-top:6px}.inline-details>summary{cursor:pointer;list-style:none;font-size:13px;font-weight:750;color:var(--muted);display:flex;align-items:center;gap:6px;padding:10px 0;border-top:1px dashed var(--line)}.inline-details>summary::-webkit-details-marker{display:none}.inline-details>summary::before{content:'▸';font-size:11px;transition:transform .15s;display:inline-block}.inline-details[open]>summary::before{transform:rotate(90deg)}.inline-details>.control-stack{margin-top:10px}
.panel-desc{color:var(--muted);font-size:13px;margin:-8px 0 16px;max-width:70ch}
.log-table-wrap{max-height:480px}
.log-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.log-toolbar input[type=search]{max-width:280px}
.level-chip{cursor:pointer;user-select:none;background:#181c22;color:#c2c6d8;border:1px solid transparent}.level-chip.active{background:#0c1e3d;color:#8fb4ff;border-color:var(--blue)}.level-chip.active.level-error{background:#3a1211;color:var(--red);border-color:var(--red)}.level-chip.active.level-warning{background:#3a2c11;color:var(--amber);border-color:var(--amber)}
.data-table tr.log-row-hidden{display:none}
.status-box{padding:12px 14px;border:1px solid var(--line);background:var(--panel2);border-radius:6px;color:#c2c6d8;font-weight:650}.status.ok{color:var(--green);font-weight:850}.qrbox{display:grid;grid-template-columns:280px 1fr;gap:18px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--panel2)}.qr-frame{background:var(--panel);border-radius:6px;padding:12px;box-shadow:0 0 20px rgba(0,102,255,.15);display:grid;place-items:center}.qrbox img{width:250px;max-width:100%;height:auto;border-radius:4px}.qr-help h3{margin-top:0;color:var(--ink)}.qr-help ol{padding-left:18px;color:#c2c6d8}.form-grid{display:grid;grid-template-columns:2fr 110px 2fr 170px auto;gap:12px;align-items:end}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pro-form{display:grid;gap:18px}.form-section{border:1px solid var(--line);background:var(--panel2);border-radius:6px;padding:16px}label{display:grid;gap:7px;font-weight:700;color:#c2c6d8;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.check-line{display:flex;align-items:center;gap:9px;font-weight:700;color:#c2c6d8}.check-line input{width:auto}input,textarea,select{border:1px solid var(--line);border-radius:4px;padding:11px 12px;width:100%;background:var(--bg);color:var(--ink);outline:none;font:inherit}input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}textarea{min-height:82px;font-family:var(--font-mono);font-size:13px}.toggle-list{display:grid;gap:12px;align-content:center}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px}.data-table{width:100%;border-collapse:collapse;background:var(--panel)}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--panel2);text-align:left;padding:12px;font-family:var(--font-mono)}.data-table td{border-top:1px solid var(--line);padding:12px;vertical-align:middle;color:var(--ink)}.editable-table input{min-width:120px}.row-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.switch{display:inline-block;position:relative;width:46px;height:26px}.switch input{display:none}.switch span{position:absolute;inset:0;background:#3a434c;border-radius:999px;transition:.2s}.switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#dfe2eb;border-radius:50%;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.3)}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:before{transform:translateX(20px)}.terminal,pre{white-space:pre-wrap;background:#0B0F15;color:#8fb4ff;border-radius:6px;padding:16px;max-height:650px;overflow:auto;border:1px solid var(--line);line-height:1.45;font-family:var(--font-mono)}.toast{position:fixed;right:24px;bottom:24px;max-width:420px;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:14px 16px;box-shadow:0 22px 50px rgba(0,0,0,.4);z-index:1000}.toast.error{background:#3a1211;border-color:var(--red)}.toast.success{background:#123527;border-color:var(--green)}
.confirmModal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1100}.confirmModal .box{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px;max-width:360px;box-shadow:0 22px 50px rgba(0,0,0,.4)}.confirmModal p{margin:0 0 16px;font-size:14px;color:var(--ink)}.confirmModal .row{display:flex;gap:10px;justify-content:flex-end}.cancel-reason-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.cancel-reason-option{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.cancel-reason-note{width:100%;min-height:64px;margin-bottom:12px;border-radius:4px;border:1px solid var(--line);padding:8px;font:inherit;resize:vertical;background:var(--bg);color:var(--ink)}.support-card-ack{font-size:12px;color:var(--amber);background:#3a2c11;border-radius:4px;padding:4px 8px;margin-top:4px}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(0,102,255,.18),transparent 35%),var(--bg)}.login-shell{width:min(980px,94vw);display:grid;grid-template-columns:1.2fr .9fr;gap:26px;align-items:center}.login-hero{padding:34px}.login-hero h1{font-size:44px;margin:18px 0 10px;color:var(--ink)}.login-hero p{color:#c2c6d8;font-size:17px;line-height:1.6}.hero-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.hero-pills span{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#c2c6d8}.login-card{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.login-card h2{margin:0 0 4px;color:var(--ink)}.login-card label{margin-top:14px}.alert.error{background:#3a1211;color:var(--red);padding:12px;border-radius:6px;margin:12px 0;font-weight:700}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{display:grid;grid-template-columns:repeat(4,1fr)}.sidebar-footer{display:none}.topbar{position:relative}.dashboard-grid,.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.qrbox{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-hero{display:none}}@media(max-width:700px){.content{padding:18px}.topbar{height:auto;padding:18px;align-items:flex-start;gap:14px;flex-direction:column}.top-actions{width:100%;overflow:auto}.dashboard-grid,.metric-grid,.grid2,.form-grid{grid-template-columns:1fr}.side-nav{grid-template-columns:1fr 1fr}.page-title{font-size:22px}.panel{padding:16px}}
.actions-inline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.inline-form { display: inline; margin: 0; }
.btn.small { padding: 6px 10px; font-size: 12px; }
.sidebar-identity{padding:10px 13px;border-radius:4px;background:rgba(255,255,255,.04);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.sidebar-identity strong{color:var(--ink);font-size:13.5px}
.sidebar-identity .muted{color:var(--muted);font-size:11.5px}
.inline-password-form{display:flex;gap:6px;align-items:center}
.inline-password-form input{width:140px;padding:7px 9px;font-size:12.5px}
.btn.danger { background: #3a1211; color: var(--red); border: 1px solid rgba(255,59,48,.3); }
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}.stat-card{border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--panel)}.stat-value{font-size:28px;font-weight:800;color:var(--ink);font-family:var(--font-mono)}.stat-label{color:var(--muted);font-size:13px}.mt-3{margin-top:18px}.code-box{border:1px solid var(--line);border-radius:6px;background:#0B0F15;color:#8fb4ff;padding:16px;overflow:auto;font-family:var(--font-mono)}.code-box pre{margin:0;white-space:pre-wrap}
.select-inline {
  max-width: 180px;
  padding: 6px 8px;
  border-radius: 4px;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
}
.badge.warning{background:#3a2c11;color:var(--amber)}
.data-table tr.row-disabled{opacity:.55}.data-table tr.row-disabled input:not([type=checkbox]){color:var(--muted)}
.history-subtab.active{background:var(--blue);color:#fff}
.review-live-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.review-row-live{animation:reviewFadeIn .18s ease-out}
@keyframes reviewFadeIn{from{background:#0c1e3d}to{background:transparent}}
/* AutoTrip UX refresh */
:root{--touch:48px;--surface-soft:#181c22;--success:#4bc490;--warning:#e0a83f}
.review-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#0c1e3d,#123527);border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:16px}.review-hero h2{font-size:28px;margin:2px 0 8px}.review-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 16px;scrollbar-width:none}.review-tab{white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:#c2c6d8;min-height:44px;padding:10px 16px}.review-tab.active{background:#0f172a;color:white;border-color:var(--ink)}.review-tab span{margin-left:6px;background:#0066ff;color:white;border-radius:99px;padding:2px 7px;font-size:11px}.tab-badge{margin-left:6px;background:#FF3B30;color:white;border-radius:99px;padding:2px 7px;font-size:11px;font-weight:800}.review-panel{display:none}.review-panel.active{display:block}.trip-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.trip-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:14px;min-width:0}.trip-card.is-processing{opacity:.72;pointer-events:none}.trip-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.trip-card-head strong{display:block;font-size:16px}.trip-time{display:block;color:var(--muted);font-size:12px;margin-top:4px}.trip-message{white-space:pre-wrap;background:#181c22;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:15px;line-height:1.55;max-height:220px;overflow:auto}.trip-facts{display:flex;gap:8px;flex-wrap:wrap}.trip-facts span{background:#0c1e3d;color:#8fb4ff;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.trip-reason{font-size:13px;color:var(--muted)}.trip-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:auto}.trip-action{width:100%;min-height:var(--touch);font-size:15px}.trip-group-select{min-height:44px}.review-empty{grid-column:1/-1;text-align:center;background:var(--panel);border:1px dashed #3a434c;border-radius:20px;padding:48px 18px;color:var(--muted)}.review-empty-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#123527;color:#4bc490;font-size:24px}.history-card-list{display:grid;gap:10px}.history-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:minmax(150px,.5fr) minmax(220px,1.5fr) auto;gap:14px;align-items:center}.history-card .message{white-space:pre-wrap;color:#c2c6d8}.review-technical{margin-top:22px}.review-technical summary{cursor:pointer;font-weight:800}.mobile-bottom-nav{display:none}
.status-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border-radius:24px;padding:26px 28px;margin-bottom:18px;color:#fff;background:linear-gradient(135deg,#0052cc,#0891b2);box-shadow:0 20px 45px rgba(29,78,216,.28)}.status-hero.is-stopped{background:linear-gradient(135deg,#c2c6d8,#c2c6d8);box-shadow:0 20px 45px rgba(15,23,42,.28)}.status-hero-main{display:flex;align-items:center;gap:18px}.status-hero-dot-wrap{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;flex-shrink:0}.dot.lg{width:16px;height:16px}.status-hero-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:8px}.status-hero-eyebrow .badge{padding:3px 9px;font-size:10px}.status-hero-value{font-size:32px;font-weight:900;margin-top:3px;line-height:1.15}.status-hero-sub{margin-top:6px;color:rgba(255,255,255,.85);font-size:13px;font-weight:650}.status-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.status-hero{flex-direction:column;align-items:stretch}.status-hero-actions{width:100%}.status-hero-actions .btn{flex:1}}
@media(max-width:1050px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:280px;transform:translateX(-105%);transition:.2s}.mobile-menu-open .sidebar{transform:translateX(0)}.main-wrap{padding-bottom:78px}.mobile-bottom-nav{position:fixed;z-index:55;bottom:0;left:0;right:0;height:68px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);text-decoration:none;font-weight:700}.mobile-bottom-nav a span{font-size:20px}.mobile-bottom-nav a.active{color:#0066ff}.mobile-bottom-nav small{font-size:11px}.top-actions .btn.soft{display:none}}
@media(max-width:700px){body{background:#0B0F15}.content{padding:14px 12px 92px}.topbar{padding:14px 16px;background:var(--panel)}.page-kicker{display:none}.page-title{font-size:21px}.top-actions{display:none}.review-hero{padding:16px;border-radius:18px;display:block}.review-hero h2{font-size:23px}.review-live-status{justify-content:flex-start;margin-top:12px}.reviewSyncBadge{display:none}.trip-card-grid{grid-template-columns:1fr;gap:12px}.trip-card{border-radius:17px;padding:14px;gap:12px}.trip-message{font-size:16px;padding:13px}.trip-actions{position:sticky;bottom:74px;background:var(--panel);padding-top:4px;z-index:2}.trip-action{min-height:52px}.history-card{grid-template-columns:1fr;gap:8px}.review-technical{display:none}.toast{left:12px;right:12px;bottom:82px;max-width:none}.panel{border-radius:18px}.data-table{min-width:720px}}

.trip-processing-message {
  margin: 10px 0 2px;
  padding: 9px 11px;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  background: #0c1e3d;
  color: #0052cc;
  font-size: 13px;
  font-weight: 600;
}


/* Review operations UI v2 */
.review-hero-compact{padding:18px 20px}.review-hero-compact h2{margin-bottom:4px}.review-sync-technical{opacity:.72}
.review-work-section{margin:0 0 24px}.review-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px}.review-section-head h3{margin:0;font-size:19px}.review-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.section-count{min-width:32px;height:32px;border-radius:999px;background:#0c1e3d;color:#0052cc;display:grid;place-items:center;font-weight:900}.section-count.warning{background:#3a2c11;color:#e0a83f}.review-text-button{border:0;background:transparent;color:var(--blue);font-weight:800;padding:8px;cursor:pointer}
.trip-card{border-top:4px solid #0066ff}.trip-card-identity{min-width:0}.trip-card-head strong{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.trip-message-primary{font-size:17px!important;font-weight:700;color:var(--ink);background:linear-gradient(135deg,#181c22,#11151A);border:2px solid #0c1e3d;box-shadow:inset 4px 0 0 #0066ff;line-height:1.55;max-height:260px}.trip-price{background:#123527!important;color:#4bc490!important}.trip-error{background:#3a1211;color:#FF3B30;border:1px solid #FF3B30;border-radius:10px;padding:9px 11px;font-size:13px}.trip-reason{background:#3a2c11;color:#e0a83f;border:1px solid #e0a83f;border-radius:10px;padding:9px 11px;font-size:13px}.trip-details{font-size:12px;color:var(--muted)}.trip-details summary{cursor:pointer;font-weight:750;width:max-content}.trip-details div{padding-top:7px}
.processing-card-list,.recent-accepted-list{display:grid;gap:10px}.processing-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:#3a2c11;border:1px solid #e0a83f;border-radius:15px;padding:13px 15px}.processing-pulse{width:12px;height:12px;border-radius:50%;background:#e0a83f;box-shadow:0 0 0 0 rgba(245,158,11,.45);animation:processingPulse 1.5s infinite}.processing-main strong,.recent-accepted-main strong{display:block;margin-bottom:4px}.processing-message,.recent-accepted-message{font-weight:700;color:#c2c6d8;white-space:pre-wrap;overflow-wrap:anywhere}.processing-meta,.recent-accepted-meta{font-size:12px;color:var(--muted);margin-top:5px}.processing-state,.recent-accepted-status{display:grid;justify-items:end;gap:5px;text-align:right}.processing-state span{font-size:13px;font-weight:800;color:#e0a83f}.processing-state small,.recent-accepted-status small{color:var(--muted)}.recent-accepted-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--panel);border:1px solid #4bc490;border-radius:15px;padding:13px 15px}.recent-accepted-icon{width:34px;height:34px;border-radius:50%;background:#123527;color:#4bc490;display:grid;place-items:center;font-weight:900}.recent-accepted-status .badge{white-space:nowrap}.review-empty-compact{padding:20px 16px}.review-empty-compact h3{margin:0;font-size:14px}.review-loading{padding:28px;text-align:center;color:var(--muted)}.history-panel-head{margin-top:4px}.history-load-more{display:block;margin:14px auto 0}.history-card .message{font-size:15px;font-weight:650;color:var(--ink)}.history-card strong{font-size:15px}
@keyframes processingPulse{70%{box-shadow:0 0 0 9px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}
@media(max-width:700px){.review-hero-compact .muted{display:none}.review-sync-technical{display:none}.review-tabs{position:sticky;top:0;z-index:12;background:#0B0F15;padding-top:5px}.review-section-head h3{font-size:17px}.review-section-head p{display:none}.trip-message-primary{font-size:16px!important;font-weight:750;padding:14px!important;max-height:210px}.processing-card,.recent-accepted-card{grid-template-columns:auto minmax(0,1fr)}.processing-state,.recent-accepted-status{grid-column:2;justify-items:start;text-align:left}.processing-state small,.recent-accepted-status small{font-size:11px}.history-card .message{font-weight:700}.review-recent-section{margin-bottom:8px}}
/* Smart review workflow */
.review-tabs-workflow{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.review-tabs-workflow::-webkit-scrollbar{display:none}
.trip-sender,.task-sender{display:block;color:var(--muted);font-size:.88rem;font-weight:500;margin-top:.18rem}
.task-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.task-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.task-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.task-card header strong{font-size:1rem;color:var(--ink)}.task-message{font-size:1.05rem;font-weight:700;line-height:1.5;color:var(--ink);margin:18px 0 12px}.task-summary{color:var(--muted);font-size:.95rem}.task-status-row{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.task-confirm-fields{display:grid;gap:8px;margin-top:14px}.task-confirm-input{width:100%;padding:.6rem .8rem;border:1px solid #3a434c;border-radius:10px;font-size:.95rem}.task-ai-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.task-ai-hint .btn.small{min-height:32px;padding:5px 10px;font-size:.82rem;flex:none}.task-actions{display:flex;gap:10px;margin-top:16px}.task-actions .btn{flex:1;min-height:46px}.auto-mode{background:#123527;color:#4bc490}.manual-mode{background:#0c1e3d;color:#0052cc}.task-new-banner{display:flex;justify-content:space-between;align-items:center;background:#0c1e3d;border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:14px;transition:background .2s,border-color .2s}.task-new-banner button{border:0;background:none;color:#0066ff;font-weight:700}.compact{padding:.55rem .85rem}
/* "Nổi bật" thật sự -- bản màu xanh nhạt cũ dễ bị lướt qua không để ý. Cuốc
   vừa được tài xế nhận (OK đã gửi Zalo) cần tổng đài xử lý xác nhận SĐT/điểm
   đón-trả càng sớm càng tốt, nên khi có việc mới: banner đổi hẳn sang đỏ-cam
   nhấp nháy, và badge số trên tab "Công việc" cũng nhấp nháy dù đang xem tab
   nào khác trên trang. Xem playTaskAlertSound()/startTaskAlertTitleFlash() ở
   app.js cho phần âm thanh + đổi tiêu đề tab trình duyệt. */
@keyframes taskAlertPulse{0%,100%{background:#3a1211;border-color:#FF3B30;box-shadow:0 0 0 0 rgba(220,38,38,.35)}50%{background:#3a1211;border-color:#FF3B30;box-shadow:0 0 0 8px rgba(220,38,38,0)}}
.task-new-banner--alert{animation:taskAlertPulse 1.1s ease-in-out infinite}
.task-new-banner--alert span{color:#FF3B30;font-weight:800}
.support-inbox{margin-bottom:16px;border:2px solid #FF3B30;border-radius:18px;background:#3a1211;overflow:hidden;box-shadow:0 10px 30px rgba(185,28,28,.12)}
.support-inbox>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#FF3B30;color:#fff}.support-inbox>header div{display:grid;gap:2px}.support-inbox>header span{font-size:.82rem;color:#FF3B30}.support-inbox>header b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:999px;background:var(--panel);color:#FF3B30}
.support-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:12px}.support-card{background:var(--panel);border:1px solid #FF3B30;border-radius:14px;padding:13px}.support-card strong{display:block;color:var(--red)}.support-card p{margin:7px 0;color:#c2c6d8}.support-card small{color:var(--muted)}.support-card-actions{display:flex;gap:8px;margin-top:10px}.support-card-actions .btn{flex:1;min-height:40px}
.task-coordinate-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-coordinate-note{font-size:.8rem;color:var(--muted);margin-top:2px}
.pickup-mismatch-help{margin:-4px 0 14px;padding:10px 12px;border-radius:10px;background:#3a2c11;color:#e0a83f;font-size:13px;line-height:1.45}.pickup-mismatch-actions{flex-wrap:wrap}.pickup-mismatch-actions .btn{flex:1;min-width:120px}
.task-cancel-reason{grid-column:1/-1;margin-top:6px;padding:9px 11px;border-radius:10px;background:#3a2c11;color:#e0a83f;border:1px solid #e0a83f;font-size:13px;line-height:1.45}
@keyframes taskAlertBadgePulse{0%,100%{transform:scale(1);background:#FF3B30}50%{transform:scale(1.18);background:#FF3B30}}
.review-tab.has-new-task span{animation:taskAlertBadgePulse .9s ease-in-out infinite}
@media(max-width:720px){.review-hero{padding:20px}.review-hero h2{font-size:1.55rem}.review-tabs{gap:8px}.review-tab{padding:12px 16px}.trip-card-grid,.task-card-list{grid-template-columns:1fr}.trip-card,.task-card{border-radius:20px;padding:16px}.trip-message-primary,.task-message{font-size:1rem;line-height:1.45}.trip-actions{display:grid;grid-template-columns:2fr 3fr}.trip-actions .btn{min-height:50px}.task-card header{gap:8px}.task-card .badge{white-space:nowrap}.review-section-head p{display:none}}

.automation-master{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:14px;padding:14px 15px;margin-bottom:14px;border:1px solid var(--line);transition:.2s ease}.automation-master.enabled{background:#3a2c11;border-color:#e0a83f}.automation-master.disabled{background:#123527;border-color:#4bc490}.automation-master-title{font-weight:850;color:var(--ink)}.automation-master-sub{font-size:12px;color:var(--muted);margin-top:4px}.automation-master.enabled .automation-master-title:before{content:"● ";color:#e0a83f}.automation-master.disabled .automation-master-title:before{content:"● ";color:#16a34a}

/* Review Queue: fast grouped workflow */
.review-pending-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.review-group-sidebar{position:sticky;top:12px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px;max-height:calc(100vh - 130px);overflow:auto;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.review-group-toolbar{display:grid;gap:9px;margin-bottom:10px}.review-group-toolbar input[type=search]{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:8px 11px;background:#181c22}.review-group-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700}
.review-group-list{display:grid;gap:5px}.review-group-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;border-radius:11px;padding:10px 11px;text-align:left;color:#c2c6d8;cursor:pointer}.review-group-item:hover{background:#0B0F15}.review-group-item.active{background:#0c1e3d;color:#0052cc;font-weight:850}.review-group-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-group-item strong{min-width:25px;height:25px;border-radius:999px;background:var(--line);display:grid;place-items:center;font-size:11px}.review-group-item.active strong{background:#0066ff;color:#fff}.review-group-none{padding:14px 8px;text-align:center;color:#94a3b8;font-size:12px}
.review-pending-main{min-width:0}.review-mobile-group-filter{display:none;margin-bottom:10px}.review-mobile-group-filter select{width:100%;min-height:46px;border-radius:13px;border:1px solid var(--line);background:var(--panel);padding:8px 12px;font-weight:750}
@media(max-width:900px){.review-pending-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:700px){.review-pending-layout{display:block}.review-group-sidebar{display:none}.review-mobile-group-filter{display:block;position:sticky;top:58px;z-index:10;background:#0B0F15;padding:4px 0 8px}.review-pending-main{width:100%}}


/* Review Queue: realtime grid by group */
.review-group-board-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.review-group-board-toolbar>div:first-child{display:grid;gap:3px}.review-group-board-actions{display:flex;gap:8px;align-items:center}.review-group-board-actions input{min-width:240px;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:8px 11px;background:#181c22}
.review-group-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}.review-group-column{background:#181c22;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 8px 22px rgba(15,23,42,.05)}.review-group-column-head{position:sticky;top:0;z-index:2;background:linear-gradient(135deg,#0B0F15,#0c1e3d)}.review-group-collapse{width:100%;border:0;background:transparent;color:#fff;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.review-group-collapse span:first-child{display:grid;gap:3px;min-width:0}.review-group-collapse strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-group-collapse small{font-size:11px;color:#bfdbfe}.review-group-count{min-width:30px;height:30px;border-radius:999px;background:var(--panel);color:#0052cc;display:grid;place-items:center;font-weight:900}.review-group-cards{display:grid;gap:10px;padding:10px;max-height:calc(100vh - 270px);overflow:auto}.review-group-column .trip-card{border-radius:14px;padding:13px;gap:10px;box-shadow:none}.review-group-column .trip-message{max-height:130px;padding:11px;font-size:14px}.review-group-column .trip-actions{gap:8px}.review-group-column.is-collapsed .review-group-column-head{border-radius:18px}.review-group-column.is-collapsed .review-group-collapse:after{content:'Mở';font-size:11px;color:#bfdbfe;margin-left:8px}
@media(max-width:900px){.review-group-board{grid-template-columns:repeat(2,minmax(0,1fr))}.review-group-board-toolbar{align-items:stretch}.review-group-board-actions input{min-width:0;width:100%}}
@media(max-width:700px){.review-group-board{grid-template-columns:1fr}.review-group-board-toolbar{display:grid}.review-group-board-actions{display:grid;grid-template-columns:1fr auto}.review-group-cards{max-height:none}.review-group-column{border-radius:16px}}
.review-window-control{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#c2c6d8;white-space:nowrap}.review-window-control select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:7px 30px 7px 10px;font-weight:800;color:#0052cc}.review-group-column .trip-card{border-top:4px solid #0066ff}.review-group-column .trip-card-head strong{display:block}.review-group-column .trip-message-primary{font-size:15px!important;font-weight:750;max-height:150px}.review-group-column .trip-facts span{padding:6px 9px;font-size:12px}.review-group-column .trip-actions{grid-template-columns:1fr 1.6fr}.review-group-column .trip-action{min-height:46px}
@media(max-width:700px){.review-window-control{justify-content:space-between}.review-window-control select{flex:1}.review-group-board-actions{grid-template-columns:1fr}.review-group-board-actions input{width:100%}}

/* Realtime review: only the arriving card is inserted, with a short non-disruptive cue. */
.review-card-new{animation:review-card-arrive .9s ease-out}
@keyframes review-card-arrive{0%{transform:translateY(-5px);box-shadow:0 0 0 3px rgba(37,99,235,.22)}100%{transform:none;box-shadow:none}}
.review-live-status .badge.warning{background:#3a2c11;color:#e0a83f}.review-live-status .badge.danger{background:#3a1211;color:#FF3B30}

/* Review Queue: compact operator toolbar (remove explanatory UI clutter). */
.review-group-board-toolbar-compact{justify-content:flex-end;padding:10px 12px;margin-bottom:12px}
.review-group-board-toolbar-compact .review-group-board-actions{width:100%;justify-content:flex-end}
@media(max-width:700px){.review-group-board-toolbar-compact{padding:10px}.review-group-board-toolbar-compact .review-group-board-actions{justify-content:stretch}}
/* Compact realtime review controls: no empty toolbar block. */
.review-compact-tools{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:8px 0 10px;min-height:0}
.review-compact-tools input[type=search]{width:min(260px,40vw);min-height:38px;border:1px solid var(--line);border-radius:11px;padding:7px 11px;background:var(--panel)}
.review-compact-tools .btn{min-height:38px;padding:7px 12px}
.review-group-board{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.review-group-column{border-radius:14px}
.review-group-collapse{padding:10px 12px}
.review-group-collapse strong{font-size:13px}
.review-group-count{min-width:27px;height:27px;font-size:12px}
.review-group-cards{padding:8px;gap:8px;max-height:520px}
@media(min-width:1400px){.review-group-board{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.review-group-board{grid-template-columns:repeat(2,minmax(0,1fr))}.review-compact-tools input[type=search]{width:220px}}
@media(max-width:700px){.review-compact-tools{justify-content:stretch}.review-compact-tools input[type=search]{width:auto;flex:1}.review-group-board{grid-template-columns:1fr}}

/* Active tasks grouped by group name, with search and collapse controls. */
.task-compact-tools{margin:0 0 12px}
.task-group-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.task-group-column{background:#181c22;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.task-group-head{width:100%;border:0;background:linear-gradient(135deg,#0B0F15,#0c1e3d);color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.task-group-head>span:first-child{display:grid;gap:3px;min-width:0}.task-group-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.task-group-head small{color:#bfdbfe;font-size:11px}
.task-group-count{min-width:30px;height:30px;border-radius:999px;background:var(--panel);color:#0052cc;display:grid;place-items:center;font-weight:900}
.task-group-cards{display:grid;gap:10px;padding:10px;max-height:650px;overflow:auto}.task-group-cards .task-card{border-radius:14px;padding:14px;box-shadow:none}
.task-group-column.is-collapsed .task-group-head:after{content:'Mở';font-size:11px;color:#bfdbfe}
@media(min-width:1400px){.task-group-board{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.task-group-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.task-group-board{grid-template-columns:1fr}.task-group-cards{max-height:none}}


.trip-card-head{align-items:flex-start}
.trip-card-identity strong{font-size:21px;line-height:1.22;color:var(--ink);margin-bottom:6px}
.trip-sender{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:#c2c6d8;font-size:13px;font-weight:700;margin-top:2px}
.trip-time{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin-top:6px}
.trip-message-primary{font-size:24px!important;font-weight:900;line-height:1.45;color:#dfe2eb;background:linear-gradient(180deg,#181c22 0%,#0c1e3d 100%);border:2px solid #0066ff;box-shadow:0 10px 24px rgba(37,99,235,.08), inset 4px 0 0 #0066ff;padding:18px 18px 18px 20px;border-radius:16px;letter-spacing:-.01em}
.review-group-column .trip-card{padding:15px 14px 14px;border-radius:16px;box-shadow:0 10px 24px rgba(15,23,42,.08);background:linear-gradient(180deg,#181c22 0%,#11151A 100%)}
.review-group-column .trip-card-head strong{font-size:18px;line-height:1.25}
.review-group-column .trip-overline{font-size:10px;margin-bottom:3px}
.review-group-column .trip-sender{font-size:12px}
.review-group-column .trip-time{font-size:11px;margin-top:4px}
.review-group-column .trip-message-primary{font-size:21px!important;font-weight:900;line-height:1.4;max-height:220px;padding:16px 16px 16px 18px;border-radius:15px}
.review-group-column .trip-facts{gap:7px}
.review-group-column .trip-facts span{padding:6px 10px;font-size:12px;font-weight:800}
@media(max-width:700px){
  .trip-card-identity strong{font-size:19px}
  .trip-message-primary{font-size:21px!important;line-height:1.42;padding:16px 15px 16px 17px}
  .review-group-column .trip-card{padding:14px 13px}
  .review-group-column .trip-message-primary{font-size:20px!important;max-height:210px;padding:15px 14px 15px 16px}
}


/* readability tuning: remove extra note 1 text, make note 2 much larger */
.trip-card-head{align-items:flex-start}
.trip-card-identity strong{font-size:20px;line-height:1.22;color:var(--ink);margin-bottom:4px}
.trip-sender{display:block;color:#c2c6d8;font-size:13px;font-weight:700;margin-top:2px}
.trip-time{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.trip-message-primary{font-size:28px!important;font-weight:900;line-height:1.48;color:#dfe2eb;background:linear-gradient(180deg,#181c22 0%,#0c1e3d 100%);border:2px solid #00F0FF;box-shadow:0 10px 24px rgba(37,99,235,.08), inset 5px 0 0 #0066ff;padding:18px 18px 18px 20px;border-radius:16px;letter-spacing:-.01em}
.review-group-column .trip-card{padding:15px 14px 14px;border-radius:16px;box-shadow:0 10px 24px rgba(15,23,42,.08);background:linear-gradient(180deg,#181c22 0%,#11151A 100%)}
.review-group-column .trip-card-head strong{font-size:18px;line-height:1.25}
.review-group-column .trip-sender{font-size:12px}
.review-group-column .trip-time{font-size:11px;margin-top:4px}
.review-group-column .trip-message-primary{font-size:24px!important;font-weight:900;line-height:1.46;max-height:240px;padding:18px 16px 18px 18px;border-radius:15px}
.review-group-column .trip-facts{gap:7px}
.review-group-column .trip-facts span{padding:6px 10px;font-size:12px;font-weight:800}
@media(max-width:700px){.trip-card-identity strong{font-size:19px}.trip-message-primary{font-size:24px!important;line-height:1.44;padding:16px 15px 16px 17px}.review-group-column .trip-card{padding:14px 13px}.review-group-column .trip-message-primary{font-size:22px!important;max-height:220px;padding:16px 14px 16px 16px}}


/* UX update: remove repeated group name in card, enlarge main message */
.trip-card-identity-compact{display:flex;flex-direction:column;gap:2px;min-width:0}
.trip-card-identity-compact strong{display:none!important}
.trip-card-identity-compact .trip-sender{font-size:15px;font-weight:800;color:#c2c6d8;line-height:1.3}
.trip-card-identity-compact .trip-time{font-size:12px;color:var(--muted);margin-top:0}
.review-group-column .trip-card-head{margin-bottom:2px}
.review-group-column .trip-message-primary{font-size:28px!important;font-weight:900;line-height:1.5;max-height:300px;padding:18px 18px 18px 20px;border-radius:16px;border:2px solid #00F0FF;box-shadow:0 12px 28px rgba(37,99,235,.10), inset 5px 0 0 #0066ff;background:linear-gradient(180deg,#181c22 0%,#0c1e3d 100%);color:var(--ink);letter-spacing:-.01em}
.review-group-column .trip-facts span{padding:6px 10px;font-size:12px;font-weight:800}
.review-group-column .trip-action{font-size:15px}
@media(max-width:700px){.trip-card-identity-compact .trip-sender{font-size:14px}.review-group-column .trip-message-primary{font-size:26px!important;line-height:1.48;max-height:280px;padding:17px 16px 17px 18px}}


/* Adjustable review message typography */
.review-display-control{display:flex;align-items:center;gap:6px;color:#c2c6d8;font-size:12px;font-weight:800;white-space:nowrap}
.review-display-control select{min-height:38px;border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:7px 28px 7px 10px;color:var(--ink);font-weight:800}
:root{--review-message-size:22px;--review-message-weight:800}
:root[data-review-message-size="small"]{--review-message-size:19px}
:root[data-review-message-size="medium"]{--review-message-size:22px}
:root[data-review-message-size="large"]{--review-message-size:26px}
:root[data-review-message-style="normal"]{--review-message-weight:650}
:root[data-review-message-style="bold"]{--review-message-weight:800}
:root[data-review-message-style="heavy"]{--review-message-weight:900}
.review-group-column .trip-message-primary,.trip-message-primary{font-size:var(--review-message-size)!important;font-weight:var(--review-message-weight)!important;line-height:1.46!important}
@media(max-width:900px){.review-compact-tools{flex-wrap:wrap}.review-display-control span{display:none}}
@media(max-width:700px){.review-compact-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-display-control{display:block}.review-display-control select{width:100%}.review-compact-tools input[type=search]{grid-column:1/-1;width:100%}.review-compact-tools .btn{grid-column:1/-1;width:100%}:root[data-review-message-size="small"]{--review-message-size:18px}:root[data-review-message-size="medium"]{--review-message-size:21px}:root[data-review-message-size="large"]{--review-message-size:24px}}

/* Mobile receive screen: maximize vertical space for live trip cards. */
.trip-action{touch-action:manipulation}
.trip-card.is-submitting{opacity:.72;pointer-events:none}
@media(max-width:700px){
  .review-hero-compact,
  .review-panel[data-review-panel="pending"] > .review-compact-tools{display:none!important}
  .review-tabs-workflow{margin-top:0}
}

/* Mobile density pass: remove empty area under action buttons and show more trip cards. */
@media (max-width:700px){
  .content{padding:10px 10px 92px}
  .topbar{padding:10px 12px}
  .page-title{font-size:18px;line-height:1.2;margin:0}
  .review-tabs{gap:6px;padding:2px 0 10px}
  .review-tab{min-height:40px;padding:8px 12px;border-radius:14px;font-size:15px}
  .review-tab span{margin-left:4px;padding:2px 6px}

  .review-group-column{border-radius:14px}
  .review-group-collapse{padding:10px 12px}
  .review-group-collapse strong{font-size:14px}
  .review-group-collapse small{font-size:10px}
  .review-group-count{min-width:28px;height:28px;font-size:12px}
  .review-group-cards{padding:8px;gap:8px;max-height:none}

  .review-group-column .trip-card,
  .trip-card{padding:12px;gap:10px;border-radius:14px}
  .trip-card-head{gap:8px}
  .review-group-column .trip-card-head{margin-bottom:0}
  .trip-card-identity-compact .trip-sender{font-size:13px;line-height:1.2}
  .trip-card-identity-compact .trip-time{font-size:11px}
  .badge{padding:4px 8px;font-size:11px}

  .review-group-column .trip-message-primary,
  .trip-message-primary{
    font-size:22px!important;
    line-height:1.4!important;
    max-height:210px;
    padding:14px 13px 14px 15px;
    margin:0;
  }

  .trip-facts{gap:6px}
  .review-group-column .trip-facts span,
  .trip-facts span{padding:5px 8px;font-size:11px}

  .trip-actions,
  .review-group-column .trip-actions{
    position:static!important;
    bottom:auto!important;
    background:transparent!important;
    padding-top:0!important;
    margin-top:0!important;
    align-items:stretch;
    grid-template-columns:1fr 1.25fr;
    gap:8px;
  }
  .review-action-form{min-width:0}
  .trip-action,
  .review-group-column .trip-action{min-height:44px;font-size:14px;border-radius:14px}
  .trip-group-select{min-height:40px}
}


/* Mobile review page: hide top title bar to maximize space for trip list. */
@media (max-width:700px){
  body.review-page .topbar{display:none!important}
  body.review-page .content{padding-top:10px}
}


/* Mobile ultra-compact review mode: target 3 or more live trips per screen. */
@media (max-width:700px){
  body.review-page .main-wrap{padding-bottom:64px}
  body.review-page .content{padding:6px 7px 68px}

  body.review-page .review-tabs{
    position:sticky;
    top:0;
    z-index:15;
    gap:5px;
    padding:4px 0 7px;
    background:#0B0F15;
  }
  body.review-page .review-tab{
    min-height:36px;
    padding:7px 11px;
    border-radius:12px;
    font-size:var(--review-mobile-tab-font,14px);
  }
  body.review-page .review-tab span{font-size:max(8px,calc(var(--review-mobile-tab-font,14px) - 4px));padding:1px 6px}

  body.review-page .review-group-board{gap:6px}
  body.review-page .review-group-column{border-radius:12px;box-shadow:0 4px 12px rgba(15,23,42,.05)}
  body.review-page .review-group-collapse{padding:7px 10px;min-height:40px}
  body.review-page .review-group-collapse strong{font-size:13px}
  body.review-page .review-group-collapse small{font-size:9px;line-height:1.1}
  body.review-page .review-group-count{min-width:24px;height:24px;font-size:11px}
  body.review-page .review-group-cards{padding:5px;gap:5px}

  body.review-page .review-panel[data-review-panel="pending"] .trip-card{
    padding:7px;
    gap:6px;
    border-radius:11px;
    border-top-width:3px;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-card-head,
  body.review-page .review-panel[data-review-panel="pending"] .trip-facts{
    display:none!important;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary{
    display:block;
    overflow:visible;
    max-height:none;
    min-height:0;
    padding:7px 9px 7px 11px;
    border-radius:10px;
    border-width:1px;
    box-shadow:inset 3px 0 0 #0066ff;
    font-size:18px!important;
    line-height:1.35!important;
    letter-spacing:-.01em;
    cursor:default;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-actions{
    grid-template-columns:1fr 1.35fr;
    gap:6px;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-action{
    min-height:40px;
    padding:7px 9px;
    border-radius:10px;
    font-size:13px;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-group-select{
    min-height:36px;
    padding:6px 8px;
    font-size:13px;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-error{
    padding:6px 8px;
    font-size:11px;
  }

  body.review-page .review-empty{
    padding:22px 12px;
    border-radius:14px;
  }
  body.review-page .review-empty-icon{
    width:38px;
    height:38px;
    margin-bottom:8px;
    font-size:18px;
  }
  body.review-page .review-empty h3{font-size:17px;margin:4px 0 7px}
  body.review-page .review-empty p{font-size:12px;line-height:1.4;margin:0}

  body.review-page .mobile-bottom-nav{
    height:60px;
  }
  body.review-page .mobile-bottom-nav a{gap:1px}
  body.review-page .mobile-bottom-nav a span{font-size:18px}
  body.review-page .mobile-bottom-nav small{font-size:10px}
}

/* Review card identity: group name + sender, optimized for 3+ complete trips on phones. */
.trip-group-avatar{display:none}
.trip-card-meta{display:grid;justify-items:end;gap:4px;flex:0 0 auto}
.trip-card-meta .trip-time{margin:0;text-align:right}

@media (max-width:700px){
  body.review-page .review-group-column-head{display:none!important}
  body.review-page .review-group-column{
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:visible;
  }
  body.review-page .review-group-cards{padding:0;gap:5px}

  body.review-page .review-panel[data-review-panel="pending"] .trip-card{
    padding:6px;
    gap:5px;
    border:1px solid var(--line);
    border-top:1px solid #dbe3ee;
    border-radius:12px;
    background:var(--panel);
    box-shadow:0 3px 10px rgba(15,23,42,.05);
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-card-head{
    display:flex!important;
    align-items:center;
    gap:7px;
    min-height:32px;
    margin:0;
  }
  body.review-page .trip-group-avatar{
    display:grid;
    place-items:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:linear-gradient(135deg,#0B0F15,#0c1e3d);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:-.03em;
  }
  body.review-page .trip-card-identity-compact{
    flex:1 1 auto;
    min-width:0;
    gap:1px;
  }
  body.review-page .trip-card-identity-compact .trip-group-name{
    display:block!important;
    margin:0;
    color:var(--ink);
    font-size:var(--review-mobile-group-font,12.5px);
    font-weight:900;
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.review-page .trip-card-identity-compact .trip-sender{
    display:block;
    margin:0;
    color:var(--muted);
    font-size:var(--review-mobile-sender-font,10.5px);
    font-weight:700;
    line-height:1.2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.review-page .trip-card-identity-compact .trip-sender:before{
    content:"●";
    margin-right:5px;
    color:var(--muted);
    font-size:7px;
    vertical-align:1px;
  }
  body.review-page .trip-card-meta{gap:2px}
  body.review-page .trip-card-meta .trip-time{
    color:var(--muted);
    font-size:var(--review-mobile-meta-font,9.5px);
    line-height:1.1;
    white-space:nowrap;
  }
  body.review-page .trip-card-meta .badge{
    padding:3px 6px;
    font-size:var(--review-mobile-meta-font,9.5px);
    line-height:1.05;
    white-space:nowrap;
  }

  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary{
    display:block;
    width:100%;
    max-height:none!important;
    min-height:0;
    overflow:visible!important;
    padding:6px 8px 6px 10px;
    border:1px solid var(--line);
    border-radius:9px;
    box-shadow:inset 3px 0 0 #0066ff;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.28!important;
    letter-spacing:-.01em;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary.trip-message-long{
    font-size:14px!important;
    line-height:1.25!important;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary.trip-message-very-long{
    font-size:13px!important;
    line-height:1.22!important;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-facts{display:none!important}

  body.review-page .review-panel[data-review-panel="pending"] .trip-actions{
    grid-template-columns:1fr 1.35fr;
    gap:5px;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-action{
    min-height:36px;
    padding:6px 8px;
    border-radius:9px;
    font-size:var(--review-mobile-button-font,12.5px);
  }
}


/* Mobile review readability: compact, clear type; full content remains visible. */
@media (max-width:700px){
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary{
    font-size:var(--review-mobile-message-font,14px)!important;
    font-weight:700!important;
    line-height:1.38!important;
    letter-spacing:0!important;
    padding:7px 9px 7px 11px;
    max-height:none!important;
    overflow:visible!important;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary.trip-message-long{
    font-size:max(10px,calc(var(--review-mobile-message-font,14px) - .5px))!important;
    line-height:1.36!important;
  }
  body.review-page .review-panel[data-review-panel="pending"] .trip-message-primary.trip-message-very-long{
    font-size:max(10px,calc(var(--review-mobile-message-font,14px) - 1px))!important;
    line-height:1.34!important;
  }
  body.review-page .trip-card-identity-compact .trip-group-name{font-size:var(--review-mobile-group-font,12.5px)}
  body.review-page .trip-card-identity-compact .trip-sender{font-size:var(--review-mobile-sender-font,10.5px)}
  body.review-page .trip-card-meta .trip-time{font-size:var(--review-mobile-meta-font,9.5px)}
  body.review-page .trip-card-meta .badge{font-size:var(--review-mobile-meta-font,9.5px)}
}

/* Giảm chói mắt màn Nhận cuốc (desktop): viền neon cyan 2px + box-shadow
   glow lặp lại trên MỖI card cộng dồn quá mạnh khi nhiều cột nhóm hiển thị
   cùng lúc (bản mobile compact ở trên đã được làm dịu bằng viền 1px +
   thanh accent mảnh trước đây -- áp lại đúng cách đó cho desktop). Giữ
   nguyên độ to/đậm chữ hiện có (đã chỉnh được qua "Cỡ chữ"/"Kiểu chữ" ở
   trên trang), chỉ bớt viền/nền/glow xung quanh. */
.trip-message-primary,
.review-group-column .trip-message-primary{
  border:1px solid var(--line)!important;
  box-shadow:inset 3px 0 0 var(--blue)!important;
  background:var(--panel2)!important;
}

/* Nút "Nhận cuốc" to hơn, dễ đọc/dễ bấm khi thao tác liên tục nhiều cuốc. */
.trip-action{font-size:16px!important;font-weight:750!important}
@media (max-width:700px){
  .trip-action{font-size:14px!important}
}
