/* BCN Taxi City staff-only portal — deliberately scoped outside the public theme. */
:root{--bcn-dark:#10283a;--bcn-darker:#09202f;--bcn-teal:#00b7ad;--bcn-light-teal:#82e4da;--bcn-ink:#183346;--bcn-muted:#6c8190;--bcn-line:#dce6eb;--bcn-soft:#f3f8fa}
html{scroll-behavior:smooth}
body.bcn-staff-app{margin:0;background:var(--bcn-soft);color:var(--bcn-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.5;overflow-x:hidden;min-height:100vh}
.bcn-staff-app *, .bcn-staff-app *:before,.bcn-staff-app *:after{box-sizing:border-box}
.bcn-staff-app a{text-decoration:none;color:inherit}
.bcn-staff-app a:focus-visible,.bcn-staff-app button:focus-visible,.bcn-staff-app input:focus-visible,.bcn-staff-app select:focus-visible,.bcn-staff-app textarea:focus-visible{outline:3px solid #00a99f;outline-offset:2px}
.bcn-login-brand{display:inline-flex;align-items:center;gap:11px;width:max-content;max-width:100%;line-height:1.1}
.bcn-portal-logo{font-size:29px;color:#fff;background:#10283a;display:flex;align-items:center;justify-content:center;font-style:italic;font-weight:950;width:48px;height:48px;border-radius:10px 3px 10px 3px;transform:skew(-5deg)}
.bcn-brand-light .bcn-portal-logo{color:#10283a;background:#fff}
.bcn-portal-logo-words{display:flex;flex-direction:column;gap:6px;color:#10283a}
.bcn-portal-logo-words strong{font-size:18px;letter-spacing:-.6px;font-weight:900;white-space:nowrap}
.bcn-portal-logo-words em{color:#00ad9f;font-style:normal}
.bcn-portal-logo-words small{font-size:9px;letter-spacing:3.1px;font-weight:750;color:#8195a1}
.bcn-brand-light .bcn-portal-logo-words strong{color:#fff}.bcn-brand-light .bcn-portal-logo-words em{color:#80e9df}.bcn-brand-light .bcn-portal-logo-words small{color:#b6d0dc}
.bcn-login-shell{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr)}
.bcn-login-visual{display:flex;flex-direction:column;min-height:100svh;padding:38px clamp(24px,5vw,84px) 32px;position:relative;color:#fff;background:linear-gradient(90deg,rgba(7,29,44,.96),rgba(9,35,52,.76)),var(--bcn-photo, linear-gradient(145deg,#183b52,#061e2d));background-size:cover;background-position:55% 50%;overflow:hidden}
.bcn-login-visual:after{content:"";position:absolute;inset:auto -12% -38% 21%;width:66%;aspect-ratio:1;border:2px solid #84dcd527;border-radius:50%;pointer-events:none}
.bcn-login-visual:before{content:"";position:absolute;width:250px;height:250px;right:-105px;top:28%;border-radius:50%;border:1px solid #ffffff25;pointer-events:none}
.bcn-login-visual>.bcn-login-brand,.bcn-login-copy,.bcn-login-visual-footer{position:relative;z-index:1}
.bcn-login-copy{margin:auto 0;max-width:620px;padding:75px 0}
.bcn-kicker,.bcn-login-eyebrow,.bcn-dashboard-eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:850;display:inline-flex;align-items:center;gap:9px}
.bcn-dot{display:inline-block;width:8px;height:8px;background:#00bbae;box-shadow:0 0 0 5px #00bbae20;border-radius:50%}
.bcn-kicker{color:#cce3e9;border:1px solid #d6f1ef55;border-radius:30px;padding:10px 14px;background:#ffffff13}
.bcn-login-copy h1{font-size:clamp(47px,5vw,83px);line-height:1.04;letter-spacing:-4px;color:#fff;font-weight:850;margin:34px 0 25px}
.bcn-login-copy h1 em,.bcn-login-card h2 em,.bcn-page-intro h1 em{font-family:Georgia,"Times New Roman",serif;color:var(--bcn-light-teal);font-style:italic;font-weight:400}
.bcn-login-copy>p{max-width:530px;font-size:16px;line-height:1.75;color:#c8d8e2;margin:0 0 37px}
.bcn-login-features{display:flex;gap:16px 22px;flex-wrap:wrap;color:#e0eef3}
.bcn-login-features span{font-size:12px;border-left:1px solid #e3efef60;padding-left:13px}
.bcn-login-features b{color:#4ce6d6;margin-right:8px}
.bcn-login-visual-footer{display:flex;justify-content:space-between;gap:15px;padding-top:17px;border-top:1px solid #ffffff32;color:#b7c9d4;font-size:10px;font-weight:800;letter-spacing:1.3px}
.bcn-login-main{display:flex;flex-direction:column;min-width:0;padding:36px clamp(26px,5vw,82px) 30px;background:linear-gradient(180deg,#fff,#f8fbfc)}
.bcn-login-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#5f7989}
.bcn-login-top>a{color:#17394b;font-weight:750}.bcn-login-top>a:hover,.bcn-login-help a:hover{color:#009c92}
.bcn-login-card{margin:auto 0;width:100%;max-width:465px;align-self:center;padding:40px 0}
.bcn-login-eyebrow{color:#008f86;margin:0 0 17px}
.bcn-login-card h2{font-size:clamp(40px,4vw,60px);line-height:1.12;letter-spacing:-2.7px;color:#122b3b;margin:0 0 16px;font-weight:870}
.bcn-login-card h2 em,.bcn-page-intro h1 em{color:#0e9992}
.bcn-login-lead{color:#738895;font-size:15px;line-height:1.7;margin:0 0 31px}
.bcn-login-card form{margin:0}
.bcn-login-card .login-username,.bcn-login-card .login-password{margin:0 0 19px}
.bcn-login-card label{display:block;color:#213d4d;font-size:12px;font-weight:800;margin:0 0 9px}
.bcn-login-card input[type=text],.bcn-login-card input[type=password]{display:block;width:100%;height:54px;border:1px solid #d4e3e8;border-radius:9px;background:#f6f9fa;color:#152d3d;font-size:15px;padding:14px;box-shadow:none;appearance:none}
.bcn-login-card .login-remember{margin:0 0 25px}
.bcn-login-card .login-remember label{display:inline-flex;align-items:center;gap:9px;color:#5f7989;font-weight:600;margin:0}
.bcn-login-card input[type=checkbox]{accent-color:#00b7ad;width:17px;height:17px}
.bcn-login-card .login-submit{margin:0}
.bcn-login-card input[type=submit]{width:100%;border:0;border-radius:9px;background:#06b7ad;color:#052b30;font-weight:850;font-size:15px;padding:16px 20px;min-height:54px;cursor:pointer;box-shadow:0 12px 25px #00bbae20}
.bcn-login-card input[type=submit]:hover{background:#069e95}
.bcn-login-help{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:#8699a4;margin:27px 0 0}
.bcn-login-help a{font-weight:750;color:#14776f}
.bcn-login-footer{display:flex;justify-content:space-between;gap:12px;color:#90a0aa;font-size:11px;padding-top:13px;border-top:1px solid #edf0f2}
.bcn-portal-alert{padding:13px 15px;margin:0 0 23px;border-radius:8px;font-size:13px;font-weight:650}
.bcn-portal-error{background:#fff0f0;color:#a22c33;border:1px solid #f7c7c7}
.bcn-portal-success{background:#e3f8f1;color:#0c6a49;border:1px solid #a9e6c7}
/* Staff dashboard */
.bcn-dashboard-shell{min-height:100svh;display:grid;grid-template-columns:265px minmax(0,1fr);background:#f4f8fa}
.bcn-dashboard-sidebar{background:#0c2839;min-height:100svh;padding:31px 21px;display:flex;flex-direction:column;color:white;position:sticky;top:0;height:100svh}
.bcn-dashboard-sidebar>.bcn-login-brand{margin:0 0 61px 6px}
.bcn-sidebar-label{color:#89a5b3;letter-spacing:2px;font-size:10px;font-weight:850;margin:0 10px 14px}
.bcn-sidebar-nav-link{display:flex;align-items:center;gap:11px;padding:13px 12px;border-radius:8px;font-size:13px;font-weight:750;color:#dceef3!important}
.bcn-sidebar-nav-link.current{background:#1a4250;color:#fff!important}
.bcn-sidebar-nav-ico{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:6px;background:#00bcb1;color:#0b2a34;font-size:23px;font-weight:400}
.bcn-sidebar-help{margin:auto 2px 34px;padding:20px;background:#143b4d;border:1px solid #ffffff15;border-radius:11px}
.bcn-sidebar-help-icon{font-size:25px;color:#6be8dc;margin-bottom:10px}
.bcn-sidebar-help strong{font-size:14px;color:#fff}
.bcn-sidebar-help p{font-size:12px;line-height:1.65;color:#b7d0da;margin:7px 0 0}
.bcn-sidebar-bottom{border-top:1px solid #ffffff22;padding:15px 8px 0;display:flex;flex-direction:column;gap:15px}
.bcn-sidebar-bottom a{font-size:13px;color:#cfdee4!important;font-weight:700}
.bcn-sidebar-bottom a:hover{color:#65e3d7!important}
.bcn-dashboard-main{min-width:0}
.bcn-dashboard-topbar{height:79px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,4vw,53px);border-bottom:1px solid #e5edf0;background:#fff}
.bcn-dashboard-breadcrumb{display:flex;gap:14px;align-items:center;color:#84949f;font-size:13px}.bcn-dashboard-breadcrumb strong{color:#233b4b;font-weight:750}.bcn-dashboard-breadcrumb span{font-size:20px}
.bcn-topbar-user{display:flex;align-items:center;gap:12px}
.bcn-topbar-user>div{display:flex;flex-direction:column}
.bcn-topbar-user strong{font-size:12px;color:#1b3649;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcn-topbar-user small{font-size:10px;color:#8599a4}
.bcn-user-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#dff7f4;color:#117c72;font-size:17px;font-weight:850}
.bcn-dashboard-mobile-brand{display:none}
.bcn-dashboard-content{max-width:1260px;padding:46px clamp(18px,4vw,54px) 40px;margin:auto}
.bcn-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 28px}
.bcn-dashboard-eyebrow{color:#008e83}
.bcn-page-intro h1{font-size:clamp(36px,4vw,55px);font-weight:850;line-height:1.12;margin:10px 0 11px;letter-spacing:-2.4px;color:#102c3e}
.bcn-page-intro p{font-size:14px;line-height:1.7;color:#788b97;max-width:600px;margin:0}
.bcn-dashboard-date{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:#566e7b;white-space:nowrap;padding-bottom:5px}
.bcn-dashboard-date span{font-size:10px;letter-spacing:1.8px;color:#0aafa6;font-weight:850}
.bcn-dashboard-date strong{font-size:16px;color:#193849}.bcn-dashboard-date small{font-size:11px}
.bcn-dashboard-status{display:flex;align-items:center;gap:16px;background:#eaf8f6;border:1px solid #cce9e5;border-radius:12px;padding:14px 19px}
.bcn-status-icon{background:#1ac3b5;color:white;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:850;flex:none}
.bcn-dashboard-status strong{color:#174c4c;font-size:13px}.bcn-dashboard-status p{margin:2px 0 0;font-size:12px;color:#638984}
/* Existing secure reservation form: reskin without changing field names, action or nonce */
body.bcn-staff-dashboard-body .bcn-staff-screen{max-width:none!important;margin:22px 0 0!important}
body.bcn-staff-dashboard-body .bcn-staff-head{background:#10283a!important;padding:24px 30px!important;border-radius:13px 13px 0 0!important}
body.bcn-staff-dashboard-body .bcn-staff-head h1{font-size:24px!important;color:#fff!important;letter-spacing:-.6px!important;margin:0 0 5px!important}
body.bcn-staff-dashboard-body .bcn-staff-head p{color:#c5d6df!important;font-size:12px!important}
body.bcn-staff-dashboard-body .bcn-staff-panel{background:#fff!important;border:1px solid var(--bcn-line)!important;border-top:0!important;padding:30px!important;border-radius:0 0 13px 13px!important;box-shadow:0 15px 55px #0c34410b!important}
body.bcn-staff-dashboard-body .bcn-staff-grid{row-gap:18px!important;column-gap:20px!important}
body.bcn-staff-dashboard-body .bcn-staff-field span{font-size:12px!important;color:#264658!important;font-weight:800!important}
body.bcn-staff-dashboard-body .bcn-staff-field input,body.bcn-staff-dashboard-body .bcn-staff-field textarea,body.bcn-staff-dashboard-body .bcn-staff-field select{background:#f8fbfc!important;border:1px solid #d5e2e8!important;box-shadow:none!important;min-height:49px!important;padding:11px 13px!important;color:#173449!important;border-radius:8px!important;font-size:14px!important;font-family:inherit!important}
body.bcn-staff-dashboard-body .bcn-staff-field textarea{min-height:105px!important}
body.bcn-staff-dashboard-body .bcn-staff-section{color:#103449!important;font-size:15px!important;border-bottom:1px solid #e8eff1!important;padding:13px 0 11px!important;margin:3px 0 1px!important}
body.bcn-staff-dashboard-body .bcn-staff-actions{padding-top:4px!important;gap:15px!important}
body.bcn-staff-dashboard-body .bcn-staff-actions button{background:#00b7ad!important;color:#092d35!important;border:0!important;padding:15px 30px!important;border-radius:8px!important;font-weight:850!important;min-height:49px!important;font-size:14px!important;cursor:pointer!important}
body.bcn-staff-dashboard-body .bcn-staff-actions button:hover{background:#03a69e!important}
body.bcn-staff-dashboard-body .bcn-staff-hint{color:#748894!important;font-size:12px!important}
body.bcn-staff-dashboard-body .notice.notice-success{background:#ecfbf2;border-left:4px solid #1eb785;padding:12px;color:#15513d}
body.bcn-staff-dashboard-body .notice.notice-error{background:#fff1f1;border-left:4px solid #d34a4a;padding:12px;color:#8d2a2a}
.bcn-dashboard-under{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px;color:#8799a4;font-size:11px}.bcn-dashboard-under a{font-weight:800;color:#0c857d!important}
@media(max-width:1080px){.bcn-login-shell{grid-template-columns:minmax(0,1fr) minmax(380px,1fr)}.bcn-login-visual{padding-left:30px;padding-right:30px}.bcn-login-copy h1{letter-spacing:-2.6px}.bcn-dashboard-shell{grid-template-columns:225px 1fr}.bcn-dashboard-sidebar{padding-left:14px;padding-right:14px}}
@media(max-width:760px){.bcn-login-shell{grid-template-columns:1fr}.bcn-login-visual{min-height:0;padding:23px 22px 25px}.bcn-login-copy{padding:47px 0 17px}.bcn-login-copy h1{font-size:clamp(39px,9vw,59px);margin:20px 0 12px;letter-spacing:-2.4px}.bcn-login-copy>p{font-size:13px;line-height:1.6;margin-bottom:20px}.bcn-login-features{gap:7px}.bcn-login-features span{font-size:10px}.bcn-login-visual-footer{display:none}.bcn-login-main{min-height:580px;padding:19px 22px 23px}.bcn-login-card{padding:45px 0 40px;max-width:500px}.bcn-login-card h2{font-size:45px}.bcn-login-top{font-size:11px}.bcn-dashboard-shell{display:block}.bcn-dashboard-sidebar{position:static;height:auto;min-height:0;padding:16px 20px;display:flex;flex-direction:row;align-items:center;gap:15px}.bcn-dashboard-sidebar>.bcn-login-brand{margin:0 auto 0 0}.bcn-sidebar-label,.bcn-dashboard-sidebar nav,.bcn-sidebar-help{display:none}.bcn-sidebar-bottom{padding:0;border:0;flex-direction:row;gap:16px}.bcn-sidebar-bottom a{font-size:11px}.bcn-sidebar-bottom a:first-child{display:none}.bcn-dashboard-topbar{height:64px;padding:10px 20px}.bcn-dashboard-content{padding:26px 20px 25px}.bcn-page-intro{align-items:flex-start}.bcn-dashboard-date{display:none}body.bcn-staff-dashboard-body .bcn-staff-panel{padding:22px!important}body.bcn-staff-dashboard-body .bcn-staff-head{padding:20px 22px!important}}
@media(max-width:520px){.bcn-login-features span{width:100%;border-left:0;padding:0}.bcn-login-visual{background-position:center;background-size:cover}.bcn-login-card h2{font-size:40px}.bcn-login-card input[type=text],.bcn-login-card input[type=password]{height:51px}.bcn-login-footer{font-size:10px}.bcn-portal-logo-words strong{font-size:15px}.bcn-portal-logo-words small{font-size:7px}.bcn-portal-logo{width:42px;height:42px;font-size:25px}.bcn-dashboard-breadcrumb{font-size:11px}.bcn-topbar-user strong{max-width:96px;font-size:11px}.bcn-topbar-user small{font-size:9px}.bcn-user-avatar{width:32px;height:32px}.bcn-dashboard-content{padding:22px 13px}.bcn-page-intro h1{font-size:36px;letter-spacing:-1.4px}.bcn-page-intro p{font-size:12px}.bcn-dashboard-status{padding:12px}.bcn-dashboard-status p{font-size:11px}.bcn-dashboard-sidebar{padding:12px}.bcn-sidebar-bottom a{font-size:10px}body.bcn-staff-dashboard-body .bcn-staff-grid{grid-template-columns:1fr!important}body.bcn-staff-dashboard-body .bcn-staff-section,body.bcn-staff-dashboard-body .bcn-staff-full{grid-column:1!important}body.bcn-staff-dashboard-body .bcn-staff-panel{padding:16px!important}body.bcn-staff-dashboard-body .bcn-staff-head{padding:17px 16px!important}body.bcn-staff-dashboard-body .bcn-staff-head h1{font-size:21px!important}body.bcn-staff-dashboard-body .bcn-staff-actions{display:grid!important;grid-template-columns:1fr}body.bcn-staff-dashboard-body .bcn-staff-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V2.1 — reservation history on the SAME staff-reservations page */
.bcn-reservation-quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.bcn-reservation-quicklinks a{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 16px;border:1px solid #cce2e4;background:#fff;border-radius:8px;color:#166c71!important;font-size:13px;font-weight:800}
.bcn-reservation-quicklinks a:hover{background:#e9faf7;border-color:#00b7ad}
#bcn-add-reservation,#bcn-all-reservations{scroll-margin-top:20px}
.bcn-history-panel{margin-top:35px;background:#fff;border:1px solid #dde9ec;border-radius:14px;box-shadow:0 16px 50px #1036480b;overflow:hidden}
.bcn-history-heading{padding:25px 29px 22px;display:flex;gap:20px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#112f41,#0c2737);color:#fff}
.bcn-history-eyebrow{letter-spacing:2.2px;color:#80e6dc;font-size:10px;font-weight:850}
.bcn-history-heading h2{margin:6px 0 7px;color:#fff;letter-spacing:-1.1px;font-size:clamp(25px,3vw,33px);line-height:1.2;font-weight:850}
.bcn-history-heading h2 em{color:#85e3da;font-weight:550;font-family:Georgia,serif}
.bcn-history-heading p{color:#c7dce2;font-size:12px;margin:0}
.bcn-history-count{background:#ffffff12;border:1px solid #ffffff23;padding:11px 20px;border-radius:10px;min-width:122px;text-align:center;flex-shrink:0;display:flex;flex-direction:column}
.bcn-history-count strong{color:#fff;font-size:27px;line-height:1.15}
.bcn-history-count span{color:#bdd7dc;font-size:10px;font-weight:700}
.bcn-history-filter{padding:21px 28px 19px;border-bottom:1px solid #eaf0f3;background:#fbfdfd}
.bcn-history-filter label{display:block;font-weight:800;color:#264658;margin-bottom:9px;font-size:12px}
.bcn-history-searchrow{display:flex;align-items:center;gap:9px}
.bcn-history-searchrow input{flex:1;min-width:0;max-width:600px;background:#fff;border:1px solid #cbdfe4;border-radius:8px;padding:11px 14px;min-height:43px;color:#123447;font-size:13px;font-family:inherit}
.bcn-history-searchrow button{min-height:43px;padding:9px 20px;border:0;border-radius:8px;background:#00b7ad;color:#052e36;font-size:13px;font-weight:850;cursor:pointer;font-family:inherit}
.bcn-history-searchrow button:hover{background:#00a99e}
.bcn-history-clear{color:#077f7a!important;font-size:12px;font-weight:800}
.bcn-history-overflow{overflow:auto;width:100%;-webkit-overflow-scrolling:touch}
.bcn-history-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;min-width:770px}
.bcn-history-table th,.bcn-history-table td{padding:15px 15px;vertical-align:top;border-bottom:1px solid #edf2f4}
.bcn-history-table thead{background:#f2f8f9}
.bcn-history-table th{color:#456374;letter-spacing:.3px;font-size:11px;font-weight:850;white-space:nowrap}
.bcn-history-table tbody tr:last-child td{border-bottom:0}
.bcn-history-table tbody tr:hover{background:#fcfefe}
.bcn-history-ref{display:inline-block;font-size:10px;color:#087b74;background:#e8f9f5;border-radius:5px;padding:3px 7px;margin-bottom:7px}
.bcn-history-name{font-size:13px;font-weight:850;color:#1b3648}
.bcn-history-sub{margin-top:4px;font-size:11px;color:#718692;line-height:1.5}
.bcn-history-route{line-height:1.5;overflow-wrap:anywhere;max-width:245px}
.bcn-history-route strong{font-weight:750;color:#254354}
.bcn-history-route span{color:#00a99e;white-space:nowrap}
.bcn-history-status{display:inline-block;font-size:10px;font-weight:850;border-radius:999px;padding:6px 9px;line-height:1.4;background:#fff4df;color:#826019;white-space:nowrap}
.bcn-history-status.is-confirmed{background:#e3f8ed;color:#136b46}
.bcn-history-source{font-size:11px;color:#587583;font-weight:700}
.bcn-history-detail{margin-top:8px;min-width:110px}
.bcn-history-detail summary{cursor:pointer;font-size:11px;font-weight:800;color:#008b83;list-style-position:inside;white-space:nowrap}
.bcn-history-detail dl{margin:9px 0 0;min-width:170px;font-size:11px;line-height:1.5;word-break:break-word}
.bcn-history-detail dt{margin-top:7px;font-weight:850;color:#213d4d}
.bcn-history-detail dd{margin:2px 0 0;color:#597281;overflow-wrap:anywhere;white-space:normal}
.bcn-list-empty{margin:20px 28px;padding:23px;border:1px dashed #c5dce0;border-radius:10px;color:#69808c;background:#f9fcfd;font-size:13px}
.bcn-history-pages{border-top:1px solid #e7eff2;padding:17px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#6b8490;font-weight:750;font-size:12px}
.bcn-history-pages>div{display:flex;align-items:center;gap:8px}
.bcn-history-pages a{padding:8px 12px;border:1px solid #d7e6e9;border-radius:7px;font-size:12px;color:#077c79!important;font-weight:750}
.bcn-history-pages a:hover{background:#e9f8f6}
.bcn-history-privacy{padding:13px 28px;background:#f8fbfc;border-top:1px solid #e8eff2;color:#8497a1;font-size:10px}
@media(max-width:650px){
 .bcn-history-panel{margin-top:22px}
 .bcn-history-heading{padding:20px 17px;gap:12px;align-items:flex-start}
 .bcn-history-heading h2{font-size:26px}
 .bcn-history-count{min-width:80px;padding:10px}
 .bcn-history-count strong{font-size:23px}
 .bcn-history-filter{padding:15px}
 .bcn-history-searchrow{flex-wrap:wrap}
 .bcn-history-searchrow input{flex-basis:100%;max-width:none}
 .bcn-history-table th,.bcn-history-table td{padding:12px}
 .bcn-history-pages{padding:14px 15px}
 .bcn-history-privacy{padding:12px 15px}
 .bcn-reservation-quicklinks a{flex:1}
}

/* V2.2 - action buttons for sharing the selected reservation only */
.bcn-share-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:225px}
.bcn-share-actions a,.bcn-share-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border-radius:7px;border:1px solid #d3e1e5;background:#f6fafb;color:#244657!important;font-family:inherit;font-weight:800;font-size:11px;line-height:1.3;text-decoration:none;cursor:pointer;white-space:nowrap;box-sizing:border-box}
.bcn-share-actions .bcn-share-wa{color:#fff!important;background:#1aa85e;border-color:#1aa85e;font-weight:800;font-size:11px}
.bcn-share-actions .bcn-share-wa:hover{background:#148e50}
.bcn-share-actions button:hover{background:#e6f6f3;border-color:#81d4cb}
.bcn-share-actions a:focus-visible,.bcn-share-actions button:focus-visible{outline:2px solid #027f78;outline-offset:2px}
.bcn-share-result{display:block;width:100%;font-size:11px;color:#096f67;line-height:1.4;min-height:0}
.bcn-share-payload[hidden]{display:none!important}
@media(max-width:650px){.bcn-share-actions{max-width:210px}.bcn-share-actions a,.bcn-share-actions button{min-height:35px;padding:8px 10px}}

/* V2.3 — reservation edit & safe delete actions */
.bcn-manage-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 7px}
.bcn-manage-actions a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;min-height:35px;border:1px solid #d5e3e6;border-radius:8px;font-weight:850;font-size:12px;text-decoration:none!important;transition:background .15s}
.bcn-manage-actions .bcn-edit-booking{background:#e8f8f5;color:#056c6a!important;border-color:#9ddbd3}
.bcn-manage-actions .bcn-edit-booking:hover{background:#d6f3ec}
.bcn-manage-actions .bcn-delete-booking{background:#fff2f1;color:#9c3333!important;border-color:#ebbbb7}
.bcn-manage-actions .bcn-delete-booking:hover{background:#ffe3df}
.bcn-delete-confirm{padding:20px 26px;margin:18px 26px;border:2px solid #dd9c92;background:#fff7f5;border-radius:11px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;color:#3b3d44}
.bcn-delete-confirm strong{font-size:15px;color:#882c28}
.bcn-delete-confirm p{font-size:12px;max-width:560px;line-height:1.55;color:#655d5d}
.bcn-delete-confirm form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bcn-confirm-delete{border:0;background:#a83232;color:white;font-size:12px;font-weight:850;border-radius:8px;padding:12px 17px;cursor:pointer}
.bcn-cancel-delete,.bcn-edit-cancel{display:inline-flex;align-items:center;color:#176a71!important;font-size:12px;font-weight:800;text-decoration:underline!important}
.bcn-edit-booking:focus-visible,.bcn-delete-booking:focus-visible,.bcn-confirm-delete:focus-visible{outline:3px solid #1ab9a9;outline-offset:3px}
@media(max-width:650px){.bcn-delete-confirm{margin:14px;padding:16px}.bcn-manage-actions a{flex:1}}
.bcn-history-alert{padding:12px 22px;background:#e8f9f5;color:#08675f;font-size:13px;font-weight:800;border-bottom:1px solid #cae5e0}


/* ===============================================================
   BCN Taxi City staff portal V2.4 — MOBILE-FIRST REFINEMENT
   CSS only: preserve server-side saving, sharing and privileges.
   =============================================================== */
.bcn-staff-dashboard-body .bcn-dashboard-shell,
.bcn-staff-dashboard-body .bcn-dashboard-main,
.bcn-staff-dashboard-body .bcn-dashboard-content { min-width: 0; }
.bcn-staff-dashboard-body .bcn-history-overflow { max-width: 100%; }
.bcn-staff-dashboard-body .bcn-history-name,
.bcn-staff-dashboard-body .bcn-history-route,
.bcn-staff-dashboard-body .bcn-history-sub,
.bcn-staff-dashboard-body .bcn-history-detail dd { overflow-wrap: anywhere; word-break: normal; }
.bcn-staff-dashboard-body input,
.bcn-staff-dashboard-body textarea,
.bcn-staff-dashboard-body select { max-width: 100%; }
.bcn-staff-dashboard-body .bcn-staff-field { min-width: 0; }
.bcn-staff-dashboard-body .bcn-dashboard-status,
.bcn-staff-dashboard-body .bcn-history-heading,
.bcn-staff-dashboard-body .bcn-page-intro { min-width: 0; }
.bcn-staff-dashboard-body .bcn-history-count { font-variant-numeric: tabular-nums; }

/* Comfortable compact desktop and landscape tablets */
@media (max-width:1100px) {
 .bcn-staff-dashboard-body .bcn-dashboard-content { padding: 28px clamp(14px,3vw,30px) 32px; }
 .bcn-staff-dashboard-body .bcn-history-table { min-width: 0; width: 100%; border-collapse: separate; display:block; font-size: 13px; }
 .bcn-staff-dashboard-body .bcn-history-table thead {
    position:absolute!important; width:1px!important; height:1px!important;
    padding:0!important; margin:-1px!important; overflow:hidden!important;
    clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important;
 }
 .bcn-staff-dashboard-body .bcn-history-table tbody { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:15px; padding:16px; background:#f7fafb; }
 .bcn-staff-dashboard-body .bcn-history-table tbody tr {
    display:flex; flex-direction:column; min-width:0; height:100%;
    background:#fff; border:1px solid #d8e6e9; border-radius:13px;
    box-shadow:0 5px 22px rgba(11,40,57,.055); overflow:hidden;
 }
 .bcn-staff-dashboard-body .bcn-history-table tbody tr:hover { background:#fff; }
 .bcn-staff-dashboard-body .bcn-history-table td {
    display:block; min-width:0; width:100%; padding:12px 15px; border-bottom:1px solid #edf2f4;
 }
 .bcn-staff-dashboard-body .bcn-history-table td::before {
    content:attr(data-label); display:block; font-size:10px; letter-spacing:.09em;
    text-transform:uppercase; color:#6b8290; font-weight:850; margin-bottom:7px;
 }
 .bcn-staff-dashboard-body .bcn-history-table td:first-child {
    background:linear-gradient(110deg,#f2fbf9,#fff); padding:17px 16px 14px;
 }
 .bcn-staff-dashboard-body .bcn-history-table td:first-child::before { color:#07867c; }
 .bcn-staff-dashboard-body .bcn-history-table td:last-child { border-bottom:0; margin-top:auto; padding-bottom:16px; }
 .bcn-staff-dashboard-body .bcn-history-name { font-size:15px; }
 .bcn-staff-dashboard-body .bcn-history-ref { font-size:11px; }
 .bcn-staff-dashboard-body .bcn-history-route { max-width:none; font-size:13px; }
 .bcn-staff-dashboard-body .bcn-history-route span { white-space:normal; }
 .bcn-staff-dashboard-body .bcn-history-detail { margin-top:13px; min-width:0; }
 .bcn-staff-dashboard-body .bcn-history-detail summary { font-size:13px; padding:10px 12px; border:1px solid #d6e7e7; border-radius:8px; background:#f7fcfb; }
 .bcn-staff-dashboard-body .bcn-history-detail dl { min-width:0; margin:12px 3px; }
 .bcn-staff-dashboard-body .bcn-manage-actions,
 .bcn-staff-dashboard-body .bcn-share-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; width:100%; gap:8px; }
 .bcn-staff-dashboard-body .bcn-manage-actions { margin:15px 0 9px; }
 .bcn-staff-dashboard-body .bcn-manage-actions a,
 .bcn-staff-dashboard-body .bcn-share-actions a,
 .bcn-staff-dashboard-body .bcn-share-actions button {
    width:100%; min-width:0; min-height:44px; padding:10px 9px;
    display:flex; align-items:center; justify-content:center; font-size:12px;
    white-space:normal; text-align:center; line-height:1.25;
 }
 .bcn-staff-dashboard-body .bcn-share-actions .bcn-share-copy { grid-column:span 2; }
 .bcn-staff-dashboard-body .bcn-share-result { grid-column:1/-1; }
 .bcn-staff-dashboard-body .bcn-history-overflow { overflow:visible; }
}

@media (max-width:760px) {
 /* Brand bar remains compact and usable on touch screens */
 .bcn-staff-dashboard-body .bcn-dashboard-sidebar { min-height:0; height:auto; padding:13px 18px; align-items:center; gap:10px; }
 .bcn-staff-dashboard-body .bcn-dashboard-sidebar>.bcn-login-brand { margin:0 auto 0 0; }
 .bcn-staff-dashboard-body .bcn-sidebar-bottom { margin:0; padding:0; }
 .bcn-staff-dashboard-body .bcn-dashboard-topbar { padding:12px 18px; height:auto; min-height:59px; }
 .bcn-staff-dashboard-body .bcn-dashboard-content { padding:25px 16px 32px; }
 .bcn-staff-dashboard-body .bcn-dashboard-status { align-items:flex-start; }
 .bcn-staff-dashboard-body .bcn-reservation-quicklinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bcn-staff-dashboard-body .bcn-reservation-quicklinks a { min-width:0; min-height:44px; padding:10px 7px; text-align:center; font-size:12px; }
 .bcn-staff-dashboard-body .bcn-history-heading { padding:20px 18px; }
 .bcn-staff-dashboard-body .bcn-history-filter { padding:18px; }
 .bcn-staff-dashboard-body .bcn-history-table tbody { padding:14px; }
 .bcn-staff-dashboard-body .bcn-history-searchrow input { min-height:46px; }
 .bcn-staff-dashboard-body .bcn-history-searchrow button { min-height:46px; }
 .bcn-staff-dashboard-body .bcn-history-pages { flex-wrap:wrap; }
 .bcn-staff-dashboard-body .bcn-history-pages a { min-height:43px; display:flex; align-items:center; }
 .bcn-staff-dashboard-body .bcn-delete-confirm { margin:14px; align-items:stretch; }
 .bcn-staff-dashboard-body .bcn-delete-confirm form { width:100%; }
 .bcn-staff-dashboard-body .bcn-delete-confirm form > * { min-height:44px; }
 .bcn-staff-dashboard-body .bcn-delete-confirm form .bcn-cancel-delete { padding:9px 14px; }
 .bcn-staff-dashboard-body .bcn-staff-screen { margin-top:17px!important; }
 .bcn-staff-dashboard-body .bcn-staff-field input,
 .bcn-staff-dashboard-body .bcn-staff-field select,
 .bcn-staff-dashboard-body .bcn-staff-field textarea { font-size:16px!important; }
 .bcn-staff-dashboard-body .bcn-staff-actions { display:flex; flex-direction:column; align-items:stretch; }
 .bcn-staff-dashboard-body .bcn-staff-actions button { width:100%; min-height:49px!important; }
 .bcn-staff-dashboard-body .bcn-staff-actions .bcn-edit-cancel { padding:8px 0; }
 .bcn-staff-dashboard-body .bcn-dashboard-under { align-items:flex-start; flex-wrap:wrap; }
}

@media (max-width:520px) {
 .bcn-staff-dashboard-body .bcn-dashboard-sidebar { padding:12px; }
 .bcn-staff-dashboard-body .bcn-dashboard-sidebar .bcn-portal-logo-words small { letter-spacing:1.5px; }
 .bcn-staff-dashboard-body .bcn-sidebar-bottom { flex-shrink:0; }
 .bcn-staff-dashboard-body .bcn-sidebar-bottom a { font-size:12px; }
 .bcn-staff-dashboard-body .bcn-dashboard-topbar { padding:10px 13px; gap:8px; }
 .bcn-staff-dashboard-body .bcn-dashboard-breadcrumb { gap:6px; font-size:11px; }
 .bcn-staff-dashboard-body .bcn-dashboard-breadcrumb span { font-size:15px; }
 .bcn-staff-dashboard-body .bcn-topbar-user { gap:5px; }
 .bcn-staff-dashboard-body .bcn-topbar-user strong { max-width:80px; }
 .bcn-staff-dashboard-body .bcn-dashboard-content { padding:20px 12px 30px; }
 .bcn-staff-dashboard-body .bcn-page-intro h1 { font-size:clamp(29px,8.8vw,37px); letter-spacing:-1.4px; }
 .bcn-staff-dashboard-body .bcn-page-intro { margin-bottom:18px; }
 .bcn-staff-dashboard-body .bcn-dashboard-status { gap:10px; padding:11px; }
 .bcn-staff-dashboard-body .bcn-reservation-quicklinks { gap:7px; }
 .bcn-staff-dashboard-body .bcn-reservation-quicklinks a { font-size:11px; padding:8px 4px; }
 .bcn-staff-dashboard-body .bcn-history-heading { padding:17px 14px; gap:10px; }
 .bcn-staff-dashboard-body .bcn-history-heading h2 { font-size:clamp(23px,7vw,29px); }
 .bcn-staff-dashboard-body .bcn-history-heading p { font-size:11px; }
 .bcn-staff-dashboard-body .bcn-history-count { min-width:66px; padding:9px 7px; }
 .bcn-staff-dashboard-body .bcn-history-count strong { font-size:22px; }
 .bcn-staff-dashboard-body .bcn-history-count span { font-size:9px; }
 .bcn-staff-dashboard-body .bcn-history-filter { padding:14px; }
 .bcn-staff-dashboard-body .bcn-history-searchrow { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .bcn-staff-dashboard-body .bcn-history-searchrow input { grid-column:1/-1; width:100%; max-width:none; min-width:0; flex-basis:auto; font-size:16px; }
 .bcn-staff-dashboard-body .bcn-history-searchrow button { grid-column:1/-1; width:100%; }
 .bcn-staff-dashboard-body .bcn-history-searchrow .bcn-history-clear { grid-column:1/-1; text-align:center; padding:6px; }
 .bcn-staff-dashboard-body .bcn-history-table tbody { padding:10px; gap:11px; }
 .bcn-staff-dashboard-body .bcn-history-table td { padding:12px 13px; }
 .bcn-staff-dashboard-body .bcn-history-table td:first-child { padding:14px 13px 12px; }
 .bcn-staff-dashboard-body .bcn-manage-actions a { flex:auto; }
 .bcn-staff-dashboard-body .bcn-history-pages { gap:12px; padding:13px; }
 .bcn-staff-dashboard-body .bcn-history-pages>div { flex-wrap:wrap; }
 .bcn-staff-dashboard-body .bcn-history-pages>div a { justify-content:center; }
 .bcn-staff-dashboard-body .bcn-history-privacy { padding:14px; line-height:1.55; }
 .bcn-staff-dashboard-body .bcn-delete-confirm { padding:14px; margin:10px; }
 .bcn-staff-dashboard-body .bcn-delete-confirm form { display:grid; grid-template-columns:1fr; }
 .bcn-staff-dashboard-body .bcn-delete-confirm form > * { width:100%; text-align:center; justify-content:center; }
 body.bcn-staff-dashboard-body .bcn-staff-panel { padding:14px!important; }
 body.bcn-staff-dashboard-body .bcn-staff-head { padding:16px 14px!important; }
 body.bcn-staff-dashboard-body .bcn-staff-section { font-size:14px!important; }
}

/* Login also adapts to short/very narrow phone screens */
@media (max-width:520px) {
 .bcn-staff-login-body .bcn-login-visual { padding:18px 18px 19px; }
 .bcn-staff-login-body .bcn-login-copy { padding:28px 0 10px; }
 .bcn-staff-login-body .bcn-login-copy h1 { font-size:clamp(35px,9.7vw,47px); line-height:1.08; letter-spacing:-1.7px; margin:15px 0; }
 .bcn-staff-login-body .bcn-login-copy>p { font-size:13px; margin:0 0 15px; }
 .bcn-staff-login-body .bcn-login-main { min-height:0; padding:22px 18px 26px; }
 .bcn-staff-login-body .bcn-login-card { padding:29px 0 35px; }
 .bcn-staff-login-body .bcn-login-card h2 { font-size:38px; }
 .bcn-staff-login-body .bcn-login-card input[type=text],
 .bcn-staff-login-body .bcn-login-card input[type=password] { font-size:16px; }
 .bcn-staff-login-body .bcn-login-footer { gap:6px; flex-wrap:wrap; }
}
@media (max-width:360px) {
 .bcn-staff-dashboard-body .bcn-sidebar-bottom a { font-size:11px; }
 .bcn-staff-dashboard-body .bcn-dashboard-breadcrumb { font-size:10px; }
 .bcn-staff-dashboard-body .bcn-topbar-user>div { display:none; }
 .bcn-staff-dashboard-body .bcn-history-heading { align-items:flex-start; }
 .bcn-staff-dashboard-body .bcn-history-count { min-width:60px; }
 .bcn-staff-dashboard-body .bcn-history-table tbody { padding:8px; }
 .bcn-staff-dashboard-body .bcn-share-actions,
 .bcn-staff-dashboard-body .bcn-manage-actions { gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
 .bcn-staff-app *, .bcn-staff-app *::before,.bcn-staff-app *::after { scroll-behavior:auto!important; transition:none!important; }
}
