:root{--bg:#071a2b;--panel:#0d2740;--panel2:#113452;--text:#f3f8fc;--muted:#9bb2c7;--accent:#20d98b;--danger:#ff5e6c;--line:#21435f;--blue:#2f8cff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f7fa;color:#14273a}a{text-decoration:none;color:inherit}.topbar{height:66px;background:var(--bg);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.brand{font-weight:800;letter-spacing:.3px}.container{max-width:1250px;margin:0 auto;padding:22px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{background:#fff;border:1px solid #e2e8ef;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(20,39,58,.06)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--blue);color:#fff}.btn.green{background:var(--accent);color:#06251a}.btn.red{background:var(--danger)}.btn.ghost{background:#eaf1f7;color:#17324c}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #ccd8e2;border-radius:11px;background:#fff;font:inherit}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid #e7edf3;text-align:left;white-space:nowrap}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eaf1f7}.status-confirmed,.status-arrived{background:#dff9ec;color:#087148}.status-no_show,.status-cancelled{background:#ffe5e8;color:#a51f2f}.status-pending_payment{background:#fff3cd;color:#775b00}.sidebar-layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 66px)}.sidebar{background:#0b2238;color:#d9e6f2;padding:18px}.sidebar a{display:block;padding:11px 12px;border-radius:10px;margin-bottom:6px}.sidebar a:hover{background:#123756}.map{width:100%;height:68vh;border-radius:18px;overflow:hidden}.pulse-marker{width:18px;height:18px;border-radius:50%;background:#20d98b;box-shadow:0 0 0 rgba(32,217,139,.7);animation:pulse 1.4s infinite;border:3px solid white}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(32,217,139,.7)}70%{box-shadow:0 0 0 18px rgba(32,217,139,0)}100%{box-shadow:0 0 0 0 rgba(32,217,139,0)}}.chat{height:430px;display:flex;flex-direction:column;border:1px solid #d9e3ec;border-radius:16px;overflow:hidden}.chat-messages{flex:1;overflow:auto;padding:15px;background:#e9f0e5}.bubble{max-width:75%;padding:9px 12px;border-radius:10px;margin:7px 0;background:#fff}.bubble.mine{margin-left:auto;background:#d9fdd3}.chat-form{display:flex;gap:8px;padding:10px;background:#fff}.chat-form input{flex:1;padding:10px;border:1px solid #ccd8e2;border-radius:10px}@media(max-width:820px){.sidebar-layout{grid-template-columns:1fr}.sidebar{display:flex;gap:6px;overflow:auto}.sidebar a{white-space:nowrap}.container{padding:14px}.map{height:62vh}}
/* Landing + activation flow */
.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 0,#123a59 0,#071a2b 38%,#04111e 100%);display:flex;align-items:center;justify-content:center;padding:28px}.auth-shell{width:min(620px,100%)}.auth-brand{display:inline-flex;gap:10px;align-items:center;color:#fff;font-size:20px;font-weight:850;margin:0 0 18px}.auth-card{background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-card h1{font-size:34px;line-height:1.05;margin:8px 0 12px}.lead{color:#5d7183;line-height:1.65;margin:0 0 24px}.eyebrow,.section-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#18895f}.alert{padding:13px 15px;border-radius:12px;margin:0 0 18px;font-weight:650}.alert.error{background:#fff0f1;color:#a21f31;border:1px solid #ffd8dc}.alert.success{background:#e7fbf1;color:#086942;border:1px solid #c9f2df}.wide{width:100%}.auth-foot{text-align:center;color:#64788a;margin:20px 0 0}.auth-foot a,.text-link{color:#1775d1;font-weight:800}.field small{display:block;color:#718596;margin-top:6px}.welcome-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;background:#e6fbf2;border:1px solid #c6efdd;border-radius:16px;margin-bottom:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.empty-state{text-align:center;padding:38px 20px;color:#607486}.empty-state b{display:block;color:#172d3f;font-size:18px}.empty-state p{max-width:430px;margin:8px auto 18px;line-height:1.55}.empty-icon{font-size:48px;margin-bottom:10px}.boat-row{padding:15px 0;border-bottom:1px solid #e5edf3}.boat-row div{display:flex;justify-content:space-between;gap:10px}.boat-row span{font-size:13px;color:#647a8d}.boat-row small{display:block;margin-top:6px;color:#70879a}
.landing{background:#f7fafc;color:#102638}.landing-nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(24px,calc((100vw - 1240px)/2));background:rgba(5,22,37,.96);color:#fff;position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.landing-brand{display:flex;gap:9px;align-items:center;font-weight:900;font-size:19px;white-space:nowrap}.landing-nav nav{display:flex;gap:26px;color:#c8d6e2;font-weight:700;font-size:14px}.landing-nav nav a:hover{color:#fff}.nav-actions{display:flex;gap:10px}.btn.ghost-light{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#fff}.hero{min-height:710px;background:linear-gradient(135deg,#061725 0%,#0b2942 60%,#0f3a58 100%);color:#fff;display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;padding:74px max(24px,calc((100vw - 1240px)/2)) 84px;overflow:hidden}.hero-copy{max-width:670px}.hero-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(32,217,139,.13);border:1px solid rgba(32,217,139,.32);color:#77edbb;font-size:12px;font-weight:900;letter-spacing:.1em}.hero h1{font-size:clamp(46px,5.5vw,76px);line-height:.98;letter-spacing:-.045em;margin:20px 0 24px}.hero h1 span{color:#52e4a8}.hero-copy>p{font-size:19px;line-height:1.7;color:#bed0de;max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0 22px}.btn.big{padding:14px 20px;border-radius:14px;font-size:15px}.btn.outline{background:transparent;border:1px solid rgba(255,255,255,.24);color:#fff}.trust-row{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#b9cad7}.hero-visual{position:relative;min-height:510px}.map-mock{position:absolute;inset:0;border-radius:30px;background:linear-gradient(135deg,#b5d4de,#dce7dc);overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 32px 80px rgba(0,0,0,.32)}.map-water{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(83,174,199,.6),transparent 30%),linear-gradient(115deg,transparent 0 20%,rgba(255,255,255,.65) 20.4% 21.5%,transparent 22% 45%,rgba(255,255,255,.5) 45.5% 47%,transparent 47.4%),linear-gradient(35deg,rgba(86,151,109,.25),transparent 65%)}.mock-port{position:absolute;background:#fff;color:#163149;border-radius:12px;padding:10px 12px 10px 34px;box-shadow:0 12px 28px rgba(22,49,73,.18);min-width:125px}.mock-port i{position:absolute;left:12px;top:16px;width:12px;height:12px;border-radius:50%;background:#20d98b;box-shadow:0 0 0 8px rgba(32,217,139,.16);animation:pulse 1.4s infinite}.mock-port b,.mock-port small{display:block}.mock-port b{font-size:12px}.mock-port small{font-size:10px;color:#6e8394;margin-top:3px}.mock-port.p1{top:22%;left:14%}.mock-port.p2{top:40%;right:12%}.berth-card{position:absolute;left:8%;right:8%;bottom:7%;background:rgba(5,23,37,.96);color:#fff;padding:20px;border-radius:19px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.berth-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:900;color:#9eb4c5}.berth-top strong{color:#4ee7aa}.berth-card h3{margin:10px 0 14px}.dims{display:flex;gap:8px;flex-wrap:wrap}.dims span{background:#12334d;border-radius:999px;padding:6px 9px;font-size:11px;color:#cad9e5}.berth-card button{margin-top:16px;width:100%;border:0;border-radius:11px;padding:11px;background:#20d98b;color:#06251a;font-weight:900}.section{max-width:1240px;margin:auto;padding:95px 24px}.section>h2,.feature-copy h2,.admin-section h2,.cta h2{font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:-.035em;margin:10px 0 36px;max-width:850px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps article{background:#fff;border:1px solid #dfe8ef;border-radius:20px;padding:26px;min-height:220px;box-shadow:0 12px 35px rgba(18,45,64,.05)}.steps article>span{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;background:#e6fbf2;color:#13875d;font-weight:900}.steps h3{margin:28px 0 8px}.steps p{color:#657b8d;line-height:1.6}.feature-section{max-width:1240px;margin:0 auto 90px;padding:45px 24px 70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-copy>p{color:#667d8e;font-size:17px;line-height:1.7}.feature-list{display:grid;gap:12px;margin-top:28px}.feature-list div{display:grid;gap:4px;padding:18px;border-radius:15px;background:#fff;border:1px solid #e2eaf0}.feature-list span{color:#6a8091}.feature-panel{background:#e9f2f6;border-radius:30px;padding:45px}.phone-card{background:#fff;border-radius:25px;padding:16px;box-shadow:0 24px 60px rgba(20,48,68,.14)}.phone-head{display:flex;justify-content:space-between;font-size:13px;font-weight:800;padding:8px 4px 14px}.mini-map{height:280px;border-radius:18px;background:linear-gradient(135deg,#a6d2dc,#e4ead9);position:relative;overflow:hidden}.mini-map:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 0 42%,rgba(255,255,255,.7) 43% 45%,transparent 46%)}.pulse-dot{position:absolute;width:15px;height:15px;border-radius:50%;background:#20d98b;border:3px solid #fff;box-shadow:0 0 0 9px rgba(32,217,139,.18);z-index:2}.d1{top:26%;left:28%}.d2{top:50%;right:24%}.d3{bottom:22%;left:48%}.availability{padding:15px 5px 6px}.availability b,.availability small{display:block}.availability small{color:#718797;margin-top:5px}.admin-section{background:#071a2b;color:#fff;padding:90px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.admin-section p{color:#b4c6d4;line-height:1.7;font-size:17px}.section-kicker.light{color:#63e6ae}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-grid div{padding:24px;background:#0d2941;border:1px solid #173a55;border-radius:17px}.admin-grid b,.admin-grid span{display:block}.admin-grid span{color:#a9bece;margin-top:8px;line-height:1.5}.cta{max-width:1240px;margin:0 auto;padding:85px 24px;display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{margin-bottom:14px}.cta p{color:#677e90;max-width:700px}.landing-footer{background:#04111e;color:#a8bbc9;padding:28px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.landing-footer .landing-brand{color:#fff}
@media(max-width:980px){.landing-nav nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{min-height:430px}.steps{grid-template-columns:1fr 1fr}.feature-section,.admin-section{grid-template-columns:1fr}.feature-panel{padding:25px}.cta{align-items:flex-start;flex-direction:column}.landing-footer{flex-wrap:wrap}}@media(max-width:640px){.landing-nav{height:68px;padding:0 14px}.landing-brand span{font-size:16px}.nav-actions .ghost-light{display:none}.hero{padding:45px 16px 60px;gap:30px}.hero h1{font-size:45px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-visual{min-height:380px}.trust-row{display:grid;gap:8px}.section{padding:70px 16px}.steps{grid-template-columns:1fr}.feature-section{padding:20px 16px 60px;gap:35px}.feature-panel{padding:14px;border-radius:20px}.mini-map{height:220px}.admin-section{padding:70px 16px}.admin-grid{grid-template-columns:1fr}.cta{padding:65px 16px}.landing-footer{padding:26px 16px;align-items:flex-start;flex-direction:column}.auth-body{padding:16px}.auth-card{padding:24px}.auth-card h1{font-size:29px}.welcome-banner{align-items:flex-start;flex-direction:column}}
/* LU SDZ visual refresh */
:root{--lu-blue:#07528c;--lu-blue-dark:#063a65;--lu-red:#d52027;--lu-soft:#eef5fa;--accent:#0b6ca8;--blue:#07528c}
.topbar{background:linear-gradient(90deg,#fff,#f6fbff);color:#0b4e83;border-bottom:1px solid #d9e6ef;box-shadow:0 4px 16px rgba(6,58,101,.06)}.brand-logo{display:flex;align-items:center;gap:10px}.brand-logo img{height:48px;width:64px;object-fit:contain}.brand-logo span{font-weight:850}.top-actions{display:flex;gap:14px;align-items:center}.sidebar{background:linear-gradient(180deg,var(--lu-blue-dark),#052b4a)}.sidebar a:hover{background:rgba(255,255,255,.11)}.btn.green{background:var(--lu-blue);color:#fff}.btn.red{background:var(--lu-red)}.card{box-shadow:0 8px 26px rgba(6,58,101,.06)}
.mobile-menu-btn{display:none;position:absolute;right:14px;top:76px;z-index:30;width:46px;height:44px;border:0;border-radius:12px;background:#07528c;padding:10px}.mobile-menu-btn span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}.boat-photo{width:104px;height:78px;object-fit:cover;border-radius:12px;border:1px solid #d9e4ec}.boat-card{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e8eef3}.boat-card-actions{display:flex;gap:7px;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{font-size:12px;font-weight:800;color:#6d8293;padding:8px}.cal-day{min-height:86px;border:1px solid #dce6ed;border-radius:12px;padding:8px;background:#fff}.cal-day.has-res{background:#e8f7ef;border-color:#9ad3b6}.cal-day .n{font-weight:800}.cal-item{margin-top:5px;font-size:11px;padding:4px 6px;border-radius:7px;background:#0b6ca8;color:#fff}.reservation-card{border-left:4px solid #0b6ca8}.notification-bell{position:relative}.notification-count{position:absolute;right:-7px;top:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d52027;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.utility-choice{display:flex;gap:10px;flex-wrap:wrap}.utility-choice label{border:1px solid #cfdae3;border-radius:12px;padding:12px 14px;display:flex;gap:8px;align-items:center;background:#fff}.map-full{height:70vh;min-height:620px;border-radius:18px;overflow:hidden;border:1px solid #d6e2ea}.wizard-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.wizard-step{padding:9px 13px;border-radius:999px;background:#e8eef3;color:#607588;font-weight:800;font-size:13px}.wizard-step.active{background:#07528c;color:#fff}.form-row-wide{display:grid;grid-template-columns:1.4fr 1fr .6fr auto;gap:12px;align-items:end}.port-stage,.berth-stage{background:#fff;border:1px solid #dfe8ef;border-radius:18px;padding:18px;margin-bottom:16px}.berth-stage.hidden{display:none}.map-help{padding:10px 13px;background:#eef6fb;border-radius:10px;color:#4e687d;margin:10px 0}.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.corner-help{font-size:12px;color:#60788a;margin-top:8px}.modal-backdrop{position:fixed;inset:0;background:rgba(5,29,48,.48);display:flex;align-items:center;justify-content:center;padding:18px;z-index:100}.modal-card{background:#fff;border-radius:18px;padding:20px;width:min(760px,100%);max-height:90vh;overflow:auto}.hidden{display:none!important}
@media(max-width:820px){.mobile-menu-btn{display:block}.user-sidebar{display:none;position:absolute;right:14px;top:126px;left:auto;width:min(300px,calc(100% - 28px));z-index:29;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.user-sidebar.open{display:block}.user-sidebar a{display:block}.top-user{display:none}.boat-card{grid-template-columns:82px 1fr}.boat-card-actions{grid-column:1/-1}.boat-photo{width:76px;height:62px}.calendar-grid{gap:3px}.cal-day{min-height:70px;padding:5px}.cal-item{font-size:9px}.form-row-wide{grid-template-columns:1fr}.map-full{height:60vh;min-height:440px}.container{padding-top:62px}}
.landing-nav{background:rgba(255,255,255,.98);color:#07528c;border-bottom:1px solid #dce7ef}.landing-nav nav{color:#456b86}.landing-nav nav a:hover{color:#07528c}.landing-brand img{display:block}.hero{background:linear-gradient(135deg,#063a65 0%,#07528c 65%,#0b6ca8 100%)}.hero-pill{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}.hero h1 span{color:#fff}.btn.outline{border-color:rgba(255,255,255,.4)}.admin-section{background:#063a65}.section-kicker,.eyebrow{color:#07528c}.section-kicker.light{color:#fff}.pulse-dot,.mock-port i{background:#18b878}.landing-footer{background:#063a65}.nav-actions .ghost-light{background:#eef5fa;border-color:#cbdce8;color:#07528c}
/* V6 mobile navigation + booking refinements */
.mobile-logout{display:none!important}
@media(max-width:820px){
  .topbar{height:68px;padding:0 76px 0 12px}.brand-logo img{height:44px;width:58px}.brand-logo span{font-size:15px}.top-actions{display:none}
  .profile-menu-btn{display:block!important;position:fixed;top:12px;right:14px;left:auto;z-index:1002;width:46px;height:44px;border-radius:12px;background:#07528c}
  .user-sidebar{display:none!important;position:fixed!important;top:66px!important;right:12px!important;left:auto!important;width:min(320px,calc(100% - 24px))!important;z-index:1001!important;border-radius:16px!important;box-shadow:0 18px 50px rgba(0,0,0,.25)!important;padding:10px!important}
  .user-sidebar.open{display:block!important}.user-sidebar a{display:block!important;border-radius:10px}.user-sidebar .mobile-logout{display:block!important;border-top:1px solid rgba(255,255,255,.14);margin-top:7px;padding-top:13px}
  .sidebar-layout{grid-template-columns:1fr!important}.sidebar-layout>.sidebar{min-height:0}
  .container{padding-top:18px!important}
}
.landing-menu-btn,.landing-mobile-menu{display:none}
@media(max-width:820px){
 .landing-nav{position:sticky;top:0;z-index:1000;padding-right:74px}.desktop-public-nav{display:none!important}
 .landing-menu-btn{display:block;position:absolute;right:14px;top:12px;width:46px;height:44px;border:0;border-radius:12px;background:#07528c;padding:10px;cursor:pointer}.landing-menu-btn span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}
 .landing-mobile-menu{position:absolute;display:none;right:12px;top:64px;width:min(320px,calc(100vw - 24px));background:#fff;border:1px solid #dbe7ef;border-radius:16px;padding:9px;box-shadow:0 18px 50px rgba(4,35,59,.2)}.landing-mobile-menu.open{display:block}.landing-mobile-menu a{display:block;padding:12px 13px;border-radius:10px;color:#164d72;font-weight:750}.landing-mobile-menu a:hover{background:#eef5fa}.landing-mobile-menu .register-link{background:#07528c;color:#fff;margin-top:5px;text-align:center}
}
/* V7 booking, dashboard, reservation and notification refinements */
.settings-grid{display:grid;grid-template-columns:minmax(0,760px);gap:18px}.switch-row{display:flex;gap:10px;align-items:center;padding:12px 0}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card{background:#fff;border:1px solid #dce7ef;border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(6,58,101,.06)}.stat-card span{display:block;color:#6a8192;font-size:13px;font-weight:750}.stat-card strong{display:block;font-size:34px;color:#07528c;margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact-list{display:grid;gap:9px}.compact-list a{display:grid;grid-template-columns:1.1fr 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e1e9ef;border-radius:12px;color:#163f5d;text-decoration:none}.compact-list span,.compact-list small{color:#667e90}.nav-count{float:right;background:#d52027;color:#fff;border-radius:999px;padding:1px 7px;font-size:11px}.reservation-alert-stack{display:grid;gap:10px;max-width:460px;margin:14px 0 18px}.new-reservation-box{border:0;background:#07528c;color:#fff;border-radius:16px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:850;cursor:pointer}.new-reservation-box strong{background:#fff;color:#07528c;min-width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.mini-new{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e8eef2;padding:11px 0}.mini-new div{display:grid;gap:3px}.mini-new span{font-size:12px;color:#687f91}.reservation-list{display:grid;gap:14px}.reservation-modern{background:#fff;border:1px solid #dce7ef;border-left:5px solid #0b6ca8;border-radius:18px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;box-shadow:0 8px 24px rgba(6,58,101,.05);scroll-margin-top:100px}.reservation-modern.modified{border-left-color:#d98b16}.reservation-modern.focus-res{outline:3px solid rgba(11,108,168,.25)}.reservation-topline{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.reservation-modern h3{margin:9px 0 12px}.reservation-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.reservation-facts span{background:#f4f8fb;border-radius:10px;padding:9px 10px;font-size:13px;min-width:0}.reservation-facts b{display:block;font-size:11px;color:#6c8191;margin-bottom:3px}.reservation-actions{display:flex;gap:7px;flex-wrap:wrap;align-content:flex-start;max-width:340px}.new-badge{background:#ffe5e8!important;color:#a51f2f!important}.changed-badge{background:#fff0d8!important;color:#8b5700!important}.notification-list{display:grid;gap:12px}.notification-card{background:#fff;border:1px solid #dce7ef;border-radius:16px;padding:15px;display:flex;gap:16px;justify-content:space-between;align-items:center}.notification-card.unseen{border-left:5px solid #d52027;background:#fffafb}.notification-main p{margin:5px 0;color:#536d80}.notification-main small{color:#8395a3}.user-reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.user-res-card{background:#fff;border:1px solid #dce7ef;border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(6,58,101,.05)}.user-res-top{display:flex;justify-content:space-between;gap:10px}.user-res-top h3{margin:5px 0 12px}.danger-panel{border-left:5px solid #d52027}.cal-day{font-family:inherit;text-align:left;cursor:default}.cal-day.has-res{cursor:pointer}.full-mobile{width:max-content}
.gm-style .gm-style-iw-c{padding:0!important;border-radius:14px!important;max-width:330px!important}.gm-style .gm-style-iw-d{overflow:hidden!important;max-height:none!important}.gm-style .gm-ui-hover-effect{top:0!important;right:0!important}.port-popup,.berth-popup{box-sizing:border-box;padding:13px 13px 12px}.port-popup .choose,.berth-popup .select{border:0;cursor:pointer;text-decoration:none}.filter-strip input,.search-type-row input{width:auto}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(3,1fr)}.reservation-modern{grid-template-columns:1fr}.reservation-actions{max-width:none}.reservation-facts{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.compact-list a{grid-template-columns:1fr}.user-reservation-grid{grid-template-columns:1fr}.reservation-facts{grid-template-columns:1fr 1fr}.notification-card{align-items:flex-start;flex-direction:column}.notification-card .actions{width:100%}.reservation-modern{padding:14px}.reservation-actions{width:100%}.reservation-actions .btn,.reservation-actions form,.reservation-actions form button{flex:1 1 auto}.full-mobile{width:100%}.gm-style .gm-style-iw-c{max-width:300px!important}.port-popup,.berth-popup{width:270px!important;max-width:270px!important;padding:11px}.port-popup .mini-grid,.berth-popup .facts{grid-template-columns:1fr 1fr}.port-popup .mini-grid span,.berth-popup .fact{padding:6px;font-size:10.5px}.berth-popup h3,.port-popup h3{font-size:14px}.berth-popup .status{margin-bottom:6px;font-size:10px}.berth-popup .select,.port-popup .choose{padding:9px;font-size:12px}.map-user{height:500px}}
@media(max-width:520px){.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:28px}.reservation-facts{grid-template-columns:1fr 1fr;gap:6px}.reservation-facts span{font-size:11.5px;padding:8px}.reservation-actions{display:grid;grid-template-columns:1fr 1fr}.reservation-actions form,.reservation-actions form button,.reservation-actions .btn{width:100%;box-sizing:border-box;text-align:center}.user-res-card{padding:14px}.user-res-top{align-items:flex-start}.calendar-grid{overflow-x:auto}.cal-head,.cal-day{min-width:42px}.filter-strip{align-items:stretch}.filter-strip b{width:100%}.search-type-row label,.filter-strip label{flex:1 1 auto}.gm-style .gm-style-iw-c{max-width:286px!important}.port-popup,.berth-popup{width:254px!important;max-width:254px!important}}
/* V8 booking confirmation, port profiles, desktop admin and mobile menu */
@media(max-width:820px){
  .profile-menu-btn{background:#fff!important;border:1px solid #d7e5ef!important;box-shadow:0 8px 22px rgba(5,58,101,.12)!important}
  .profile-menu-btn span{background:#07528c!important}
  .user-sidebar{background:#fff!important;border:1px solid #d7e5ef!important;color:#07528c!important}
  .user-sidebar a{color:#07528c!important;background:#fff!important}
  .user-sidebar a:hover,.user-sidebar a:focus{background:#eef6fb!important;color:#063a65!important}
  .user-sidebar .mobile-logout{border-top:1px solid #d7e5ef!important}
}
.booking-confirm-page{padding-bottom:28px}.booking-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-card{margin:0}.summary-lines{display:grid;gap:9px}.summary-lines>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e8eff4}.summary-lines>div:last-child{border-bottom:0}.summary-lines span{font-size:12px;color:#718596}.summary-lines b{text-align:right;color:#123d5b}.boat-summary-row{display:flex;gap:14px;align-items:flex-start}.boat-summary-row img{width:104px;height:82px;object-fit:cover;border-radius:12px;border:1px solid #dce7ef}.grow{flex:1}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.service-option{display:flex;gap:10px;align-items:center;border:1px solid #dce7ef;border-radius:13px;padding:12px;background:#f8fbfd;cursor:pointer}.service-option input{width:auto}.service-option span{display:grid;gap:2px}.service-option small{color:#6b8090}.empty-inline{padding:12px;border-radius:12px;background:#f5f8fa;color:#647b8b}.booking-bottom-card{margin-top:18px;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;position:sticky;bottom:12px;z-index:20;border:1px solid #ccdce7;box-shadow:0 14px 34px rgba(5,58,101,.14)}.policy-link{border:0;background:transparent;padding:0;text-align:left;color:#07528c;display:grid;gap:3px;cursor:pointer}.policy-link strong{font-size:12px}.price-breakdown{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.price-breakdown span{font-size:12px;color:#667f90}.price-breakdown b{color:#153d59}.price-breakdown .total{font-size:16px;color:#153d59}.price-breakdown .total b{font-size:22px;color:#07528c}.pay-book-btn{min-width:190px}.policy-modal{max-width:520px!important}.policy-amount{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eef6fb;border-radius:14px;padding:14px;margin:14px 0}.policy-amount span{font-size:13px;color:#60788a}.policy-amount strong{color:#07528c;font-size:20px}
.port-selector-panel{margin-bottom:16px}.port-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.port-profile-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid #dce7ef;border-radius:16px;background:#fff;text-decoration:none;color:#173e5a;box-shadow:0 6px 20px rgba(5,58,101,.04)}.port-profile-card:hover,.port-profile-card.selected{border-color:#0b6ca8;background:#f2f8fc}.port-profile-card .port-icon{width:42px;height:42px;border-radius:12px;background:#eaf4fa;display:grid;place-items:center;font-size:20px}.port-profile-card span:nth-child(2){display:grid;gap:3px}.port-profile-card small{color:#728899}.port-profile-card strong{font-size:12px;color:#07528c}.port-profile{margin-bottom:16px}.port-edit-inline{margin-top:14px}.port-profile details summary{cursor:pointer;list-style:none;width:max-content}
.admin-wide{max-width:1700px!important;width:100%!important}.admin-wide .card{border-radius:18px}.admin-wide .reservation-modern{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.admin-wide .reservation-actions{justify-content:flex-end}.admin-wide .calendar-grid{width:100%}.admin-wide .cal-day{min-height:96px}.cal-day.full-day{background:#fff0f1!important;border-color:#efb8bd!important}.cal-day.full-day .n{color:#b2232c}.move-calendar-panel{margin:18px 0;border:1px solid #dce7ef;border-radius:16px;padding:14px;background:#f8fbfd}.move-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.move-day{border:1px solid #d6e4ec;border-radius:10px;padding:9px 5px;background:#fff;display:grid;gap:2px;text-align:center;cursor:pointer}.move-day b{font-size:15px}.move-day small{font-size:10px}.move-day.available{background:#e9f8f0;border-color:#91d5b1;color:#17623a}.move-day.unavailable{background:#fff0f1;border-color:#efb8bd;color:#a6242d;cursor:not-allowed}
@media(min-width:1100px){.sidebar-layout{grid-template-columns:250px minmax(0,1fr)}.sidebar-layout>.container{max-width:none;width:100%;padding-left:28px;padding-right:28px}.stat-grid{grid-template-columns:repeat(5,minmax(160px,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}}
@media(max-width:1000px){.booking-confirm-grid{grid-template-columns:1fr}.port-card-grid{grid-template-columns:1fr 1fr}.booking-bottom-card{grid-template-columns:1fr 1fr}.policy-link{grid-column:1/-1}}
@media(max-width:820px){.booking-confirm-page{padding-bottom:12px}.booking-bottom-card{position:static;grid-template-columns:1fr;gap:12px}.price-breakdown{justify-content:space-between}.pay-book-btn{width:100%}.service-options{grid-template-columns:1fr}.port-card-grid{grid-template-columns:1fr}.summary-lines>div{align-items:flex-start}.summary-lines b{max-width:60%;overflow-wrap:anywhere}.move-availability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-wide{padding-left:12px!important;padding-right:12px!important}}
@media(max-width:480px){.boat-summary-row{display:grid}.boat-summary-row img{width:100%;height:150px}.price-breakdown{display:grid;grid-template-columns:1fr 1fr}.price-breakdown .total{grid-column:1/-1}.move-availability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V11 navigation, centered map popups, Places autocomplete, move calendar */
.admin-sidebar a{display:flex!important;align-items:center;gap:10px}.admin-sidebar .nav-ico{width:22px;text-align:center;color:inherit;font-weight:800}.admin-sidebar .nav-sub{padding-left:28px!important;font-size:13px}.admin-sidebar .nav-logout{color:#ef5350!important;margin-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.map-popup-centered,.popup-centered{text-align:center!important;min-width:0!important}.map-popup-logo,.popup-logo{display:block;width:54px;height:54px;object-fit:contain;margin:0 auto 6px;border-radius:12px;background:#fff}.map-popup-kicker,.popup-kicker{font-size:9px;letter-spacing:.12em;font-weight:900;color:#7890a2;margin-bottom:4px}.map-popup-centered h3,.popup-centered h3{text-align:center!important;margin:0 0 6px!important}.map-popup-centered p,.popup-centered p{text-align:center!important}.map-popup-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.map-popup-stats.three{grid-template-columns:repeat(3,1fr)}.map-popup-stats span{display:grid;gap:2px;padding:7px 5px;border-radius:9px;background:#f2f7fa}.map-popup-stats small{font-size:9px;color:#758a99}.gm-style .gm-style-iw-c{border-radius:18px!important}.gm-style .gm-style-iw-d{overflow:hidden!important}.pac-container{z-index:3000!important;border-radius:12px!important;margin-top:5px!important;box-shadow:0 12px 30px rgba(5,58,101,.18)!important;border:1px solid #d7e4ed!important}.pac-item{padding:8px 10px!important;font-size:13px!important}.pac-item-query{font-size:14px!important;color:#164765!important}.move-day.selected{outline:3px solid #07528c!important;outline-offset:2px;background:#dff3ff!important;color:#063f67!important}.reservation-edit-info{margin-top:16px}.move-save-btn{margin-top:16px;min-width:210px}
@media(max-width:640px){.map-popup-logo,.popup-logo{width:46px;height:46px}.map-popup-centered,.popup-centered{max-width:254px!important;width:254px!important}.map-popup-stats span{padding:5px 4px}.map-popup-centered p,.popup-centered p{font-size:11px!important;margin:4px 0!important}.gm-style .gm-style-iw-c{max-width:280px!important}.pac-container{max-width:calc(100vw - 24px)!important}}

/* V12 monochrome navigation + multi-berth reservation planner */
.admin-sidebar .nav-ico{display:inline-flex!important;align-items:center;justify-content:center;width:22px;height:22px;color:inherit!important;flex:0 0 22px}.admin-sidebar .nav-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-sidebar a{color:#d9e6f2!important}.admin-sidebar a:hover{color:#fff!important}.admin-sidebar .nav-logout{color:#ef5350!important}.secure-btn{background:#e8f1fb!important;color:#07528c!important;border:1px solid #bfd7eb!important}.secure-panel,.move-workspace{margin:18px 0}.secure-list{display:grid;gap:10px;margin-top:14px}.secure-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto;gap:14px;align-items:center;border:1px solid #dae6ee;border-radius:14px;padding:14px;background:#fbfdff}.secure-row>div{display:grid;gap:4px}.secure-row span,.secure-row small{color:#6d8292;font-size:12px}.secure-row em{font-style:normal;color:#aa6c00;font-size:11px;font-weight:800}.move-workspace #moveMonth{margin:8px 0 14px;padding:10px;border:1px solid #cadbe6;border-radius:10px}.move-plan-card{margin-top:14px;border:1px solid #d7e4ec;border-radius:15px;padding:14px;background:#f8fbfd}.move-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.move-plan-head span{font-size:12px;color:#667f90}.move-plan-segments{display:grid;gap:7px}.move-plan-segments>div,.segment-route>div{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e0e9ef}.move-plan-segments span,.segment-route span{font-size:11px;color:#6b8292}.move-confirm-form{margin-top:14px}.route-badge{background:#fff0d8!important;color:#9a6100!important}.secured-badge{background:#e5f6ee!important;color:#126743!important}.reservation-modern.multi-location{border-left:5px solid #e5a21a}.segment-route{display:grid;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #e2eaf0}.day-filter-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px;padding:12px 14px;background:#eaf4fb;border-radius:12px;color:#174b70}.reservation-alert-stack .new-reservation-box span:before{content:' ';display:inline-block;width:16px;height:16px;margin-right:7px;vertical-align:-3px;border:2px solid currentColor;border-radius:8px 8px 5px 5px}
@media(max-width:820px){.secure-row{grid-template-columns:1fr}.move-plan-head,.move-plan-segments>div,.segment-route>div{align-items:flex-start;flex-direction:column}.move-workspace .move-availability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V13 calendar, ports, autocomplete and test tools */
.month-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.month-nav .month-title{font-weight:800;color:#0a4d7d;min-width:150px;text-align:center}.month-nav a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;border:1px solid #d7e4ec;background:#fff;color:#075f99;text-decoration:none;font-size:20px;font-weight:800}.calendar-grid.pretty{gap:8px}.calendar-grid.pretty .cal-head{font-weight:800;color:#526f82;text-align:center;padding:8px}.calendar-grid.pretty .cal-day{min-height:96px;border-radius:15px;border:1px solid #dfe9ef;background:#fff;padding:10px;text-align:left;transition:.15s}.calendar-grid.pretty .cal-day:hover{border-color:#8fb9d4;transform:translateY(-1px)}.calendar-grid.pretty .cal-day.has-res{background:#eefaf4;border-color:#a9dfc4}.calendar-grid.pretty .cal-day.full-day{background:#fff0f1;border-color:#edbec2}.calendar-grid.pretty .cal-day .n{font-weight:900;color:#154c70}.move-calendar-shell{border:1px solid #dbe7ee;border-radius:18px;padding:14px;background:#fbfdfe}.move-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.move-calendar-head button{width:42px;height:42px;border-radius:12px;border:1px solid #d5e3eb;background:#fff;color:#075f99;font-size:20px}.move-calendar-title{font-weight:900;color:#0a4d7d}.move-weekdays,.move-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.move-weekdays span{text-align:center;font-size:12px;font-weight:800;color:#738a9a;padding:6px}.move-day{min-height:66px;border:1px solid #dfe8ee;border-radius:12px;background:#f5f7f8;color:#587083;padding:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.move-day.single-ok{background:#eaf9f1;border-color:#8fd3b1;color:#11633e}.move-day.multi-ok{background:#f2faef;border-color:#acd99b;color:#426d27}.move-day.no{background:#fff1f2;border-color:#efc1c5;color:#9e2630}.move-day.selected{box-shadow:0 0 0 3px rgba(7,95,153,.22);border-color:#075f99}.move-day.in-range{outline:2px solid rgba(7,95,153,.16)}.move-day.change-day:after{content:'IZMJENA';font-size:8px;font-weight:900;background:#075f99;color:#fff;border-radius:999px;padding:2px 5px}.move-day small{font-size:9px;line-height:1.1;font-weight:800}.move-summary{margin-top:14px;border:1px solid #dce8ef;border-radius:16px;padding:14px;background:#fff}.port-list-one{display:grid;grid-template-columns:1fr!important;gap:14px}.port-list-one .port-admin-card{width:100%}.port-list-one .port-card-info{grid-template-columns:1.35fr 1fr .7fr}.map-infowindow.centered{text-align:center;min-width:245px;max-width:290px}.map-infowindow.centered .iw-logo{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #dce7ef;padding:4px;margin:0 auto 7px;display:block}.map-infowindow.centered .iw-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.map-infowindow.centered .iw-facts span{background:#f2f7fa;border-radius:10px;padding:7px;font-size:11px}.lookup-box{position:relative}.lookup-results{position:absolute;z-index:40;left:0;right:0;top:100%;background:#fff;border:1px solid #d5e2ea;border-radius:12px;box-shadow:0 14px 30px rgba(5,55,90,.16);max-height:260px;overflow:auto}.lookup-results button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px 12px;border-bottom:1px solid #edf2f5}.lookup-results button:hover{background:#f2f8fb}.test-map{height:420px;border-radius:16px;border:1px solid #d7e4ec;background:#d9edf7}.test-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.test-badge{display:inline-block;background:#eef6fb;color:#07528c;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.marine-route-note{font-size:12px;color:#5f7889;margin-top:7px}.port-logo-pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
@media(max-width:720px){.port-list-one .port-card-info{grid-template-columns:1fr}.calendar-grid.pretty{gap:5px}.calendar-grid.pretty .cal-day{min-height:72px;padding:7px}.move-weekdays,.move-availability-grid{gap:4px}.move-day{min-height:58px;padding:5px}.move-day small{font-size:8px}.month-nav{width:100%;justify-content:center}.test-card{grid-template-columns:1fr}}

/* V14 popup polish */
.map-popup-centered,.popup-centered{box-sizing:border-box!important;padding:12px 14px 10px!important;margin:0 auto!important;text-align:center!important;line-height:1.3}.map-popup-logo,.popup-logo{width:72px!important;height:72px!important;object-fit:contain!important;margin:0 auto 9px!important;border-radius:14px!important}.gm-style .gm-style-iw-c{padding:8px!important;max-width:340px!important}.gm-style .gm-style-iw-d{padding:0!important;max-height:none!important;overflow:hidden!important}.map-popup-stats span,.popup-centered .mini-grid span,.berth-popup .fact{padding:9px 7px!important}.duplicate-action{background:#edf5fb!important;color:#07528c!important;border:1px solid #b8d4e7!important}.duplicate-action:hover{background:#dceefa!important}.berth-actions form{display:inline-flex;margin:0}
@media(max-width:640px){.map-popup-centered,.popup-centered{width:260px!important;max-width:260px!important;padding:10px 12px 8px!important}.map-popup-logo,.popup-logo{width:62px!important;height:62px!important}.gm-style .gm-style-iw-c{max-width:286px!important}.popup-centered h3,.map-popup-centered h3{font-size:16px!important;margin-bottom:8px!important}}

/* V15 users, images and profile */
.user-admin-grid{display:grid;gap:12px;margin-top:18px}.user-admin-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #d9e5ed;border-radius:16px;background:#fff}.user-admin-main{display:flex;align-items:center;gap:14px;min-width:0}.user-admin-card h3{margin:0 0 4px}.user-admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.avatar-lg{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}.avatar-fallback{display:grid;place-items:center;background:#e8f2f9;color:#07528c;font-weight:900}.mini-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.mini-stats span{font-size:12px;background:#f0f6fa;padding:5px 8px;border-radius:999px}.impersonation-back{background:#fff3d7!important;color:#805d00!important;font-weight:900}.image-drop{min-height:112px;border:2px dashed #a7c2d5;border-radius:15px;display:grid;place-items:center;text-align:center;padding:18px;cursor:pointer;background:#f8fbfd}.image-drop.drag{border-color:#07528c;background:#eef7fc}.image-drop input{display:none}.image-drop span{display:grid;gap:4px}.image-drop small{color:#738796}.crop-shell{margin-top:10px}.crop-stage{height:210px;border-radius:16px;overflow:hidden;background:#e9f0f5;touch-action:none;cursor:grab;position:relative}.crop-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;pointer-events:none;transform-origin:center}.boat-photo-frame{width:94px;height:68px;border-radius:12px;overflow:hidden;background:#edf4f8;flex:0 0 auto}.boat-photo-positioned{width:100%;height:100%;object-fit:cover;object-position:var(--px) var(--py);transform:scale(var(--pz));transform-origin:var(--px) var(--py)}.profile-photo-editor{display:flex;gap:15px;align-items:center;margin-bottom:16px}.profile-avatar-xl{width:86px;height:86px;border-radius:50%;overflow:hidden;background:#e8f2f9;color:#07528c;display:grid;place-items:center;font-size:25px;font-weight:900;flex:0 0 auto}.profile-avatar-xl img{width:100%;height:100%;object-fit:cover}.popup-centered .choose,.popup-centered .select{display:block;margin-left:auto!important;margin-right:auto!important;text-align:center}.popup-centered{box-sizing:border-box}.popup-centered .mini-grid,.popup-centered .facts{text-align:left}.popup-centered h3{text-align:center}.popup-kicker{text-align:center}.muted{color:#718595;font-size:13px}@media(max-width:720px){.user-admin-card{align-items:flex-start;flex-direction:column}.user-admin-actions{width:100%}.user-admin-actions .btn,.user-admin-actions form,.user-admin-actions form button{flex:1}.profile-photo-editor{align-items:flex-start;flex-direction:column}.crop-stage{height:180px}}

/* V16 booking/location planner */
.secure-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0 16px}.secure-toolbar label{margin-right:auto;font-weight:800}.secure-row-v2{grid-template-columns:auto 1.3fr 1fr auto auto}.secure-check{display:grid;place-items:center}.secure-route-preview{grid-column:2/-1;display:grid;gap:7px;padding:10px 0}.secure-route-preview[hidden]{display:none}.secure-route-preview>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;background:#f3f8fb;border-radius:10px}.port-chooser{margin-top:14px}.port-alpha-list{display:grid;gap:8px;margin-top:10px}.port-alpha-item{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;align-items:center;border:1px solid #d9e5ed;background:#fff;border-radius:12px;padding:12px;text-align:left}.port-alpha-item b{color:#124d73}.port-alpha-item span{color:#6d8291}.port-alpha-item em{font-style:normal;font-size:12px;font-weight:900}.port-alpha-item.available{border-left:4px solid #19a86d}.port-alpha-item.unavailable{border-left:4px solid #d52027}.alt-periods{margin-top:9px;display:flex;gap:5px;flex-wrap:wrap}.alt-periods small{width:100%;color:#728797}.alt-period{border:1px solid #c8dbe7;background:#f4f9fc;color:#07528c;border-radius:999px;padding:5px 8px;font-size:11px}.multi-location-warning{background:#fff5dc;border:1px solid #efd594;color:#74530a;border-radius:12px;padding:10px;margin-top:8px;font-size:12px;font-weight:800}
@media(max-width:780px){.secure-row-v2{grid-template-columns:auto 1fr}.secure-row-v2>button{grid-column:2}.secure-route-preview{grid-column:1/-1}.secure-route-preview>div{flex-direction:column}.port-alpha-item{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr!important}}

/* V19 instant availability planner */
.manual-availability{margin:16px 0;display:grid;gap:12px}.manual-status{border-radius:14px;padding:13px 15px;display:grid;gap:3px}.manual-status.ok{background:#eaf8f1;border:1px solid #bfe7d2;color:#086540}.manual-status.multi{background:#fff6dc;border:1px solid #ecd694;color:#7b5900}.manual-status.no{background:#fff0f1;border:1px solid #efc4c8;color:#9b2029}.manual-options,.manual-alt-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manual-option,.manual-alt{border:1px solid #d5e2eb;background:#fff;border-radius:12px;padding:11px 12px;text-align:left;color:#17384f;cursor:pointer}.manual-option:hover,.manual-alt:hover{border-color:#07528c;background:#f1f8fc}.manual-option b,.manual-option span,.manual-alt b,.manual-alt span{display:block}.manual-option span,.manual-alt span{font-size:12px;color:#6b8191;margin-top:4px}.manual-plan-preview{display:grid;gap:7px}.manual-plan-preview>div,.manual-mini-plan{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 11px;background:#fff8e5;border:1px solid #eddba6;border-radius:10px;text-align:left}.manual-plan-preview span,.manual-mini-plan small{font-size:11px;color:#745e25}.manual-selected{min-height:46px;border:1px solid #d8e5ed;border-radius:10px;padding:10px 12px;background:#f8fbfd}.manual-boat-chooser{display:grid;gap:8px}.manual-boat-chooser>b{margin-bottom:4px}@media(max-width:720px){.manual-options,.manual-alt-list{grid-template-columns:1fr}.manual-plan-preview>div,.manual-mini-plan{display:grid}.map-alert-box{max-height:none;overflow:visible}.conflict-actions{max-height:none;overflow:visible}}
/* V28 multi-tenant + manual reservation modes */
.manual-mode-tabs{display:flex;gap:8px;padding:8px;background:#f4f8fc;border:1px solid #dce7f1;border-radius:14px;margin:0 0 18px}.manual-mode-tabs a{flex:1;text-align:center;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:800;color:#1769aa}.manual-mode-tabs a.active{background:#fff;box-shadow:0 2px 10px rgba(19,62,96,.08);color:#0d4f83}.quick-secondary{opacity:.72}.authority-grid{display:grid;gap:14px}.authority-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.worker-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e7eef5}.worker-row:last-child{border-bottom:0}
@media(max-width:760px){.authority-card,.worker-row{align-items:flex-start;flex-direction:column}.manual-mode-tabs{flex-direction:column}}
/* V44 Live Port */
.live-berths{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:18px}.live-berth{display:grid;gap:6px;padding:16px;border-radius:16px;text-decoration:none;color:#17384f;border:1px solid #d9e5ed;background:#fff}.live-berth b{font-size:20px}.live-berth span{font-size:11px;font-weight:900;letter-spacing:.08em}.live-berth small{color:#6d8291}.live-berth.free{border-left:6px solid #19a86d;background:#f0fbf6}.live-berth.occupied{border-left:6px solid #d52027;background:#fff5f5}.live-berth.blocked{border-left:6px solid #697b88;background:#f3f5f6}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:11px;border-bottom:1px solid #e4edf3;text-align:left;white-space:nowrap}

/* V46 - akcije u popupu veza */
.map-popup-actions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:10px}.map-popup-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:9px 10px;background:#07528c;color:#fff;font-weight:800;font-size:12px}.map-popup-actions a+ a{background:#eef6fb;color:#07528c;border:1px solid #c9dce8}

/* V47 popup action alignment */
.map-popup-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;justify-content:center!important;align-items:stretch!important;max-width:280px!important;margin:12px auto 0!important}.map-popup-actions a{min-height:38px!important;text-align:center!important;padding:9px 12px!important}.map-popup-actions a:first-child{background:#08744b!important}.map-popup-actions a:last-child{background:#eef6fb!important;color:#07528c!important;border:1px solid #c9dce8!important}@media(max-width:560px){.map-popup-actions{grid-template-columns:1fr!important;max-width:220px!important}}

/* V60: admin navigacija ostaje fiksna dok se skrola samo sadržaj stranice. */
@media(min-width:821px){.sidebar-layout>.admin-sidebar{position:sticky;top:66px;height:calc(100vh - 66px);align-self:start;overflow:hidden}.sidebar-layout>main{min-width:0}}


/* V66 - Google Maps popupovi: puni sadržaj bez odrezivanja */
.gm-style .gm-style-iw-c{max-width:min(390px,calc(100vw - 28px))!important;max-height:calc(100vh - 110px)!important;padding:0!important;overflow:visible!important;border-radius:16px!important}
.gm-style .gm-style-iw-d{max-height:calc(100vh - 145px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 14px 12px 10px!important;box-sizing:border-box!important}
.map-popup-centered{width:340px!important;max-width:calc(100vw - 58px)!important;box-sizing:border-box!important;padding:8px 8px 10px!important;overflow:visible!important}
.map-popup-centered .map-popup-logo{width:54px!important;height:54px!important;margin-bottom:5px!important}
.map-popup-centered .map-popup-kicker{font-size:10px!important;margin-bottom:2px!important}
.map-popup-centered h3{font-size:18px!important;margin:2px 0 7px!important}
.map-popup-centered .map-popup-stats{gap:5px!important;margin-top:6px!important}
.map-popup-centered .map-popup-stats span{padding:6px 5px!important}
.popup-occupied-status{margin:7px 0!important;padding:7px 10px!important;border-radius:9px;background:#ffe8ea;color:#a31524;font-weight:950;text-align:center;letter-spacing:.04em}
.popup-reservation-card{background:#f7fafc;border:1px solid #e0e8ee;border-radius:10px;padding:9px 10px;margin:8px 0;text-align:left;font-size:12px;line-height:1.4}
.popup-reservation-link{display:flex!important;align-items:center;justify-content:center;width:100%;box-sizing:border-box;margin:8px 0 10px!important;padding:10px 12px!important;border-radius:10px!important;background:#15803d!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;text-align:center!important}
.popup-selected-period{margin:8px 0;padding:8px 10px;border-radius:9px;background:#f3f7fa;font-size:12px;line-height:1.35;text-align:left}
.popup-alt-title{margin:10px 0 6px;font-size:12px;font-weight:900;color:#254c66;text-align:left}
.map-popup-centered .popup-alt-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:0!important;max-width:none!important}
.map-popup-centered .popup-alt-actions button{width:100%!important;min-height:44px;border:1px solid #c9dce8!important;border-radius:10px!important;padding:8px 10px!important;background:#eef6fb!important;color:#07528c!important;font-weight:850!important;text-align:left!important;cursor:pointer!important}
.map-popup-centered .popup-alt-actions button:hover{background:#dff0fa!important;border-color:#8bbbd7!important}
.map-popup-centered .popup-alt-actions button span{font-size:11px!important;font-weight:700!important;color:#4f6c7f!important}
.map-popup-centered .live-popup-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;max-width:none!important;margin:9px 0 0!important}
.map-popup-centered .live-popup-actions a{width:100%!important;box-sizing:border-box!important}
@media(max-width:640px){.gm-style .gm-style-iw-c{max-width:calc(100vw - 18px)!important;max-height:calc(100vh - 80px)!important}.gm-style .gm-style-iw-d{max-height:calc(100vh - 118px)!important;padding:8px 10px 10px 8px!important}.map-popup-centered{width:300px!important;max-width:calc(100vw - 44px)!important}.map-popup-centered .map-popup-logo{width:46px!important;height:46px!important}}

/* V68 paired berth + popup polish */
.map-edit-berth-btn{background:#0d6eaa!important;color:#fff!important;border-color:#0d6eaa!important}.map-popup-centered{max-height:none!important}.gm-style .gm-style-iw-d{overscroll-behavior:contain!important}.boat-stencil-overlay{user-select:none;-webkit-user-select:none}.popup-paired-label{margin:6px 0;padding:6px 8px;border-radius:9px;background:#f3eaff;color:#6231a0;font-size:11px;font-weight:850;text-align:center}

/* V138 user confirmation/profile/phone polish */
.user-res-card{transition:background .35s,border-color .35s,box-shadow .35s}.user-res-card.just-confirmed{background:rgba(32,217,139,.13);border:2px solid #16a66a;box-shadow:0 0 0 4px rgba(32,217,139,.14)}
.reservation-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn.gps{background:#0b6ca8;color:#fff}
.payment-success-overlay{position:fixed;inset:0;background:rgba(4,18,30,.55);z-index:9999;display:grid;place-items:center;padding:18px}.payment-success-box{width:min(480px,100%);background:#fff;border-radius:22px;padding:28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.28)}.success-check{width:64px;height:64px;border-radius:50%;margin:0 auto 13px;display:grid;place-items:center;background:#dff9ec;color:#087148;font-size:34px;font-weight:950}.payment-success-box h2{margin:0 0 8px}.payment-success-box p{color:#62798b;line-height:1.55}.payment-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.port-chat-card,.port-chat-card .chat,.port-chat-card .chat-messages{background:#fff!important}.port-chat-card .chat-messages{border-top:1px solid #e2e9ef}.port-chat-card .bubble{background:#f2f6f9}.port-chat-card .bubble.mine{background:#e8f4ff}
.phone-combo{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px}.phone-combo select,.phone-combo input{width:100%;padding:12px;border:1px solid #ccd8e2;border-radius:11px;background:#fff;font:inherit;min-width:0}
.profile-crop-shell{margin-top:10px}.profile-crop-stage{width:min(260px,100%);aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#e9f0f5;touch-action:none;cursor:grab;position:relative;margin:0 auto 12px}.profile-crop-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;pointer-events:none;transform-origin:center}.profile-crop-shell>label{display:block;margin-top:8px}.profile-crop-shell input[type=range]{width:100%}
@media(max-width:560px){.payment-success-actions{grid-template-columns:1fr}.reservation-card-actions{display:grid;grid-template-columns:1fr 1fr}.reservation-card-actions .btn{width:100%;padding:10px 8px;font-size:12px}.phone-combo{grid-template-columns:118px minmax(0,1fr)}.payment-success-box{padding:22px 16px}.profile-crop-stage{width:210px}}

/* V139 image editors / help popup / booking hold */
.image-editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.image-editor-toolbar .btn{min-width:92px}.crop-stage,.profile-crop-stage{background:#e9f0f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%23dce7ed' d='M0 0h12v12H0zm12 12h12v12H12z'/%3E%3C/svg%3E");box-shadow:inset 0 0 0 1px #c9d8e2}.crop-stage img,.profile-crop-stage img{will-change:transform,object-position}.help-modal-list{display:grid;gap:10px;margin-top:12px}.help-modal-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid #d9e7ee;border-radius:14px;background:#f8fbfd}.help-modal-icon{font-size:25px;text-align:center}.help-modal-item .btn{grid-column:1/-1;width:100%;box-sizing:border-box;text-align:center}.hold-countdown{position:sticky;top:8px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;margin-bottom:14px;border:1px solid #f0c36a;border-radius:14px;background:#fff8df;color:#6b4b00}.hold-countdown strong{font-size:20px;white-space:nowrap}.hold-countdown.expiring{border-color:#d94a4a;background:#fff0f0;color:#8d1d1d}.terms-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:12px;border:1px solid #dbe6ed;border-radius:12px;background:#f8fbfd}.terms-check input{margin-top:3px}.payment-success-overlay{background:#fff!important}.payment-success-box{box-shadow:none!important;border:0!important}.payment-success-overlay .payment-success-box{max-width:520px}
@media(max-width:560px){.image-editor-toolbar{display:grid;grid-template-columns:1fr 1fr}.image-editor-toolbar .btn{width:100%;min-width:0}.hold-countdown{align-items:flex-start;flex-direction:column}.hold-countdown strong{font-size:24px}.help-modal-item{grid-template-columns:38px minmax(0,1fr)}}

/* V140 profile persistence / hold offset / shared help icons */
.saved-profile-preview{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:12px;border:1px solid #dce7ef;border-radius:14px;background:#f8fbfd}.saved-profile-preview>span{font-size:13px;font-weight:800;color:#49677d}.saved-profile-avatar{width:78px;height:78px;border-radius:50%;overflow:hidden;background:#e8f2f9;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px #c7d9e5}.saved-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.help-modal-icon img{width:40px;height:40px;border-radius:10px;display:block;object-fit:cover}.hold-countdown{top:74px!important;z-index:19!important;scroll-margin-top:82px}.booking-confirm-page .hold-countdown{box-shadow:0 8px 24px rgba(95,68,0,.12)}
@media(max-width:820px){.hold-countdown{top:74px!important}.saved-profile-preview{align-items:flex-start;flex-direction:column}.saved-profile-avatar{width:88px;height:88px}}

/* V141 modern profile-photo editor + modern boat cards */
.profile-photo-field{margin-bottom:22px}.modern-avatar-editor{display:grid;justify-items:center;gap:10px;padding:18px;border:1px solid #dbe7ee;border-radius:20px;background:linear-gradient(180deg,#fbfdff 0%,#f5f9fc 100%)}.avatar-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.avatar-edit-stage{width:220px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;position:relative;background:#eaf2f7;box-shadow:0 0 0 5px #fff,0 0 0 6px #cbdbe5,0 12px 30px rgba(17,56,82,.13);touch-action:none;cursor:grab;user-select:none;outline:none}.avatar-edit-stage:focus-visible{box-shadow:0 0 0 5px #fff,0 0 0 8px rgba(7,82,140,.25),0 12px 30px rgba(17,56,82,.13)}.avatar-edit-stage:active{cursor:grabbing}.avatar-edit-stage>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;pointer-events:none;user-select:none;will-change:transform,object-position}.avatar-empty-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:7px;color:#577486;background:radial-gradient(circle at 50% 38%,#fff 0%,#e8f1f6 72%)}.avatar-camera{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#07528c;color:#fff;font-size:28px;line-height:1}.avatar-edit-badge{position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(7,82,140,.92);color:#fff;font-size:11px;font-weight:900;letter-spacing:.02em;pointer-events:none}.avatar-editor-help{text-align:center;font-size:12px;color:#6f8493;max-width:330px}.avatar-editor-controls{width:min(420px,100%);display:grid;grid-template-columns:42px minmax(120px,1fr) 42px;gap:8px;align-items:center}.avatar-editor-controls input[type=range]{width:100%;accent-color:#07528c}.avatar-round-btn{width:42px;height:42px;border:1px solid #cedce5;border-radius:50%;background:#fff;color:#07528c;font-size:22px;font-weight:800;cursor:pointer}.avatar-center-btn,.avatar-change-btn{grid-column:auto}.avatar-center-btn{grid-column:1/3}.avatar-change-btn{grid-column:3/4;white-space:nowrap;min-width:122px;justify-self:end}.boats-list-card{min-width:0}.boats-count{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:999px;background:#eef6fb;color:#07528c;font-weight:900}.boats-modern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.boat-modern-card{min-width:0;border:1px solid #dbe6ed;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(22,58,82,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.boat-modern-photo{height:176px;overflow:hidden;position:relative;background:#edf4f8}.boat-modern-photo>.boat-photo-positioned{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--px) var(--py);transform:scale(var(--pz));transform-origin:var(--px) var(--py)}.boat-modern-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#f6fafc,#e8f2f7)}.boat-modern-placeholder img{width:68px;height:108px;object-fit:contain;opacity:.75}.boat-type-pill{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.93);color:#17394e;font-size:11px;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.09)}.boat-modern-body{padding:16px}.boat-modern-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px}.boat-modern-title h3{margin:0;font-size:18px;line-height:1.2}.boat-modern-title span{font-size:11px;font-weight:800;color:#60798a;background:#f2f6f9;border-radius:8px;padding:5px 7px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boat-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.boat-spec-grid>div{padding:9px 7px;border-radius:12px;background:#f7fafc;text-align:center}.boat-spec-grid small{display:block;color:#78909f;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.boat-spec-grid b{display:block;color:#17394e;font-size:13px;margin-top:2px}.boat-modern-actions{display:flex;gap:8px;align-items:center}.boat-modern-actions .btn{flex:1;text-align:center}.boat-modern-actions form{margin:0}.ghost-danger{background:#fff!important}.boat-row{border:1px solid #e0e9ef!important;border-radius:14px!important;padding:12px 14px!important;margin-bottom:10px!important;background:#fff!important;box-shadow:0 5px 16px rgba(18,54,78,.04)}
@media (hover:hover) and (pointer:fine){.boat-modern-card:hover{transform:translateY(-2px);border-color:#bed4e2;box-shadow:0 14px 32px rgba(22,58,82,.1)}}
@media(max-width:920px){.boats-modern-grid{grid-template-columns:1fr}.boat-modern-photo{height:210px}}
@media(max-width:560px){.modern-avatar-editor{padding:16px 10px}.avatar-edit-stage{width:min(72vw,230px)}.avatar-editor-controls{grid-template-columns:42px minmax(0,1fr) 42px}.avatar-center-btn{grid-column:1/2}.avatar-change-btn{grid-column:2/4;width:100%;min-width:0}.boat-modern-photo{height:180px}.boat-modern-body{padding:14px}.boat-modern-actions{align-items:stretch}.boat-modern-actions .btn{min-height:42px;display:grid;place-items:center}}

/* V142 user settings / no profile photo */
.user-sidebar .user-logout-red,.topbar .user-logout-red{color:#c62828!important;font-weight:900!important}.user-sidebar .user-logout-red{border-top:1px solid #eadada;margin-top:8px}.user-sidebar .user-logout-red:hover,.topbar .user-logout-red:hover{color:#991b1b!important;background:#fff1f1!important}
.settings-page{max-width:980px}.settings-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:2px 0 16px}.settings-title h1{margin:3px 0 4px}.settings-title p{margin:0;color:#6a8190}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:6px;background:#eef4f8;border:1px solid #dbe7ee;border-radius:16px;margin-bottom:18px}.settings-tabs a{flex:1;min-width:130px;text-align:center;text-decoration:none;padding:12px 16px;border-radius:11px;color:#49677a;font-weight:850}.settings-tabs a.active{background:#fff;color:#07528c;box-shadow:0 4px 14px rgba(20,57,80,.08)}.settings-panel{max-width:none}.settings-panel>h2{margin-bottom:4px}.settings-payment-stack{display:grid;gap:18px}.saved-card-modern{display:flex;gap:14px;align-items:center;padding:16px;margin:14px 0 18px;border:1px solid #cfe1eb;border-radius:16px;background:linear-gradient(135deg,#f8fbfd,#eef6fa)}.saved-card-chip{width:44px;height:32px;border-radius:8px;background:linear-gradient(135deg,#d7b45f,#f2dc9b);flex:0 0 auto}.saved-card-modern div:last-child{display:grid;gap:2px}.saved-card-modern small,.saved-card-modern span{color:#6d8492}.saved-card-modern b{font-size:17px;color:#17394e}.transaction-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.transaction-head h2{margin:2px 0 0}.transaction-search{width:min(380px,100%)}.transaction-search input{width:100%;box-sizing:border-box}.transaction-list{display:grid;gap:10px}.transaction-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 15px;border:1px solid #dfe8ee;border-radius:15px;background:#fff}.transaction-main{display:grid;gap:3px;min-width:0}.transaction-main b{color:#17394e}.transaction-main span{color:#456579;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-main small{color:#8194a0}.transaction-side{display:grid;justify-items:end;gap:5px;flex:0 0 auto}.transaction-side strong{font-size:17px;color:#17394e}.transaction-side a{font-size:12px;font-weight:800;color:#07528c}.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.language-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dbe7ee;border-radius:16px;background:#fff;cursor:pointer}.language-card.active{border-color:#9cc4dc;background:#f4faff}.language-card.disabled{opacity:.58;cursor:not-allowed}.language-card input{width:18px;height:18px}.language-flag{font-size:28px}.language-card span:last-child{display:grid;gap:2px}.language-card small{color:#718795}
@media(max-width:700px){.settings-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.settings-tabs a{min-width:0;padding:11px 6px;font-size:13px}.transaction-head{align-items:stretch;flex-direction:column}.transaction-search{width:100%}.transaction-row{align-items:flex-start}.transaction-main span{white-space:normal}.language-options{grid-template-columns:1fr}}
@media(max-width:480px){.transaction-row{display:grid}.transaction-side{grid-template-columns:auto auto;justify-items:start;align-items:center}.transaction-side a{grid-column:1/-1}.settings-page{padding-left:12px!important;padding-right:12px!important}}

/* V144 user settings, localized status, grouped reservations and desktop navigation */
.badge{width:max-content;max-width:100%;text-align:center;white-space:nowrap;line-height:1.1}
.user-sidebar .user-nav-main{display:grid;gap:5px}.user-sidebar a{display:flex!important;align-items:center;gap:11px}.user-nav-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:inherit}.user-nav-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.user-nav-logout{color:#e83b3b!important}.user-nav-logout .user-nav-ico{color:inherit}
.settings-tabs{background:transparent;border:0;padding:0;gap:12px}.settings-tabs a{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #dce8ef;background:#fff;box-shadow:0 7px 20px rgba(18,54,78,.045);padding:14px 15px}.settings-tabs a>span:last-child{display:grid;gap:2px}.settings-tabs a b{font-size:14px}.settings-tabs a small{font-size:11px;color:#78909f;font-weight:650}.settings-tabs a.active{border-color:#9dc8df;background:#f8fcff;box-shadow:0 8px 22px rgba(7,82,140,.08)}.settings-tab-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef6fb;color:#07528c;font-size:19px;font-weight:900;flex:0 0 40px}.settings-tabs a.active .settings-tab-icon{background:#07528c;color:#fff}
.transaction-panel{overflow:hidden}.transaction-search-modern{position:relative;display:flex;align-items:center;margin:14px 0 18px;border:1px solid #cfdde6;border-radius:16px;background:#f8fbfd;box-shadow:inset 0 1px 0 #fff;transition:border-color .18s,box-shadow .18s,background .18s}.transaction-search-modern:focus-within{background:#fff;border-color:#7cb4d3;box-shadow:0 0 0 4px rgba(7,82,140,.08)}.transaction-search-modern input{width:100%;border:0!important;outline:0!important;background:transparent!important;padding:14px 44px 14px 46px!important;font:inherit}.transaction-search-icon{position:absolute;left:15px;display:grid;place-items:center;color:#668397}.transaction-search-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.transaction-search-modern button{position:absolute;right:9px;width:32px;height:32px;border:0;border-radius:50%;background:#eaf1f5;color:#527083;font-size:20px;cursor:pointer;opacity:0;pointer-events:none}.transaction-search-modern button.visible{opacity:1;pointer-events:auto}.transaction-row{background:linear-gradient(180deg,#fff,#fbfdfe)}.transaction-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.transaction-actions a{padding:6px 9px;border-radius:9px;background:#eef6fb}.transaction-actions .transaction-download{background:#07528c;color:#fff!important}
.reservation-period-section{margin:0 0 28px}.reservation-period-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px}.reservation-period-head h2{margin:0;font-size:20px}.reservation-period-head p{margin:4px 0 0;color:#718695;font-size:13px}.reservation-period-count{min-width:34px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:999px;background:#eaf3f8;color:#07528c;font-weight:900}.period-empty{border:1px dashed #cfdee7;border-radius:16px;background:rgba(255,255,255,.65)}
@media(min-width:821px){.sidebar-layout>.user-sidebar{position:sticky;top:66px;height:calc(100vh - 66px);align-self:start;display:flex!important;flex-direction:column;overflow:hidden}.user-sidebar .user-nav-main{flex:1}.user-sidebar .user-nav-logout{margin-top:auto!important;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}.user-sidebar a{color:#d9e6f2!important}.user-sidebar a:hover,.user-sidebar a:focus{color:#fff!important;background:#123756!important}.user-sidebar .user-nav-logout{color:#ff6666!important}.user-sidebar .user-nav-logout:hover{background:rgba(211,47,47,.13)!important;color:#ff8a8a!important}}
@media(max-width:820px){.settings-tabs{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.settings-tabs a{width:100%;min-width:0!important;padding:13px 14px!important}.settings-tabs a small{display:block!important}.user-sidebar .user-nav-main{display:grid}.user-sidebar .user-nav-logout{border-top:1px solid #e4edf2!important;margin-top:8px!important}.transaction-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.transaction-side{justify-items:end}.transaction-actions{display:grid;grid-template-columns:1fr;gap:6px;width:100%}.transaction-actions a{text-align:center}.reservation-period-section{margin-bottom:24px}.reservation-period-head{align-items:flex-start}}
@media(max-width:520px){.transaction-row{grid-template-columns:1fr}.transaction-side{justify-items:start;width:100%}.transaction-actions{grid-template-columns:1fr 1fr}.user-res-top .badge{flex:0 0 auto;max-width:130px}}


/* V145 reservation status pill + compact user navigation + payment card icon */
.user-res-top{align-items:flex-start!important}
.user-res-top .badge{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:28px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-align:center!important;
  flex:0 0 auto!important;
}
.settings-payment-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:821px){
  .user-sidebar .user-nav-main{
    flex:0 0 auto!important;
    display:grid!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    gap:4px!important;
  }
  .user-sidebar .user-nav-main a{margin-bottom:0!important;padding:11px 12px!important}
  .user-sidebar .user-nav-logout{margin-top:auto!important}
}

/* V146 - stable mobile settings width and unified language panel */
.settings-page,.settings-page *{box-sizing:border-box}
.settings-page{min-width:0;width:100%;overflow-x:hidden}
.settings-tabs,.settings-panel,.settings-payment-stack,.language-options{min-width:0;width:100%;max-width:100%}
.settings-tabs a,.language-card{min-width:0;max-width:100%}
.settings-tabs a>span:last-child,.language-card>span:last-child{min-width:0}
.language-card b,.language-card small{overflow-wrap:anywhere}

@media(max-width:820px){
  .settings-page{padding-left:14px!important;padding-right:14px!important;max-width:100%!important}
  .settings-title{width:100%;max-width:100%;margin-bottom:14px}
  .settings-tabs{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .settings-tabs a{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:13px 14px!important;margin:0!important}
  .settings-panel{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;padding:18px!important;overflow:hidden}
  .settings-payment-stack{width:100%!important;max-width:100%!important;min-width:0!important}
  .language-options{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:16px 0!important}
  .language-card{display:grid!important;grid-template-columns:20px 40px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:14px!important;margin:0!important;border-radius:14px!important;overflow:hidden}
  .language-card input{width:18px!important;height:18px!important;margin:0!important}
  .language-flag{font-size:25px!important;line-height:1!important;width:40px!important;text-align:center!important}
  .language-card>span:last-child{display:grid!important;gap:2px!important;min-width:0!important;text-align:left!important}
  .language-card b{font-size:15px!important;line-height:1.2!important}
  .language-card small{font-size:12px!important;line-height:1.25!important;white-space:normal!important}
  .settings-panel .btn{max-width:100%}
}

/* V148 - admin/worker mobile sandwich navigation */
.admin-mobile-menu-btn{display:none;border:0;cursor:pointer}
@media(max-width:820px){
  .topbar{padding-right:72px}
  .topbar .top-actions{display:none}
  .sidebar-layout{display:block!important;min-height:calc(100vh - 66px)}
  .admin-mobile-menu-btn{display:block;position:fixed;right:14px;top:11px;z-index:95;width:44px;height:44px;border-radius:12px;background:#07528c;padding:10px;box-shadow:0 8px 22px rgba(6,58,101,.22)}
  .admin-mobile-menu-btn span{display:block;height:2px;background:#fff;border-radius:2px;margin:5px 1px;transition:.18s}
  .admin-mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .admin-mobile-menu-btn.open span:nth-child(2){opacity:0}
  .admin-mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sidebar-layout>.admin-sidebar,.admin-sidebar{display:none!important;position:fixed!important;top:64px!important;right:12px!important;left:auto!important;width:min(320px,calc(100% - 24px))!important;height:auto!important;max-height:calc(100vh - 78px)!important;overflow-y:auto!important;z-index:90!important;padding:12px!important;border-radius:16px!important;background:linear-gradient(180deg,#0b4e78,#063352)!important;box-shadow:0 22px 60px rgba(0,0,0,.30)!important}
  .sidebar-layout>.admin-sidebar.open,.admin-sidebar.open{display:flex!important;flex-direction:column!important;gap:3px!important}
  .admin-sidebar a{display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;margin:0!important;padding:11px 12px!important;border-radius:10px!important;white-space:normal!important}
  .admin-sidebar .nav-sub{padding-left:34px!important}
  .admin-sidebar .nav-logout{margin-top:8px!important;border-top:1px solid rgba(255,255,255,.15)!important;padding-top:13px!important;color:#ff6b6b!important}
  .container.admin-wide{width:100%!important;max-width:none!important;padding:14px!important}
}

/* V179 - desktop admin sidebar: scrollable navigation with logout always visible */
@media(min-width:821px){
  .sidebar-layout>.admin-sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding-bottom:0!important;
  }
  .sidebar-layout>.admin-sidebar .nav-logout{
    position:sticky!important;
    bottom:0!important;
    z-index:5!important;
    margin-top:18px!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
    background:#052b4a!important;
    box-shadow:0 -10px 18px rgba(5,43,74,.92)!important;
  }
}


/* V181 - native Android app mobile polish */
@media(max-width:820px){
  html.lucka-native-app,body.lucka-native-app{background:#f5f9fc!important}
  body.lucka-native-app .topbar{
    min-height:72px!important;height:72px!important;
    padding:8px 72px 8px 14px!important;
    background:#fff!important;
    border-bottom:1px solid #dce8f0!important;
  }
  body.lucka-native-app .brand-logo img{height:48px!important;width:60px!important}
  body.lucka-native-app .admin-mobile-menu-btn,
  body.lucka-native-app .user-mobile-menu-btn{
    top:14px!important;background:#fff!important;border:1px solid #d5e4ee!important;
    box-shadow:0 7px 20px rgba(6,58,101,.12)!important;
  }
  body.lucka-native-app .admin-mobile-menu-btn span,
  body.lucka-native-app .user-mobile-menu-btn span{background:#07528c!important}
  body.lucka-native-app .sidebar-layout>.admin-sidebar,
  body.lucka-native-app .admin-sidebar,
  body.lucka-native-app .sidebar-layout>.user-sidebar,
  body.lucka-native-app .user-sidebar{
    top:76px!important;max-height:calc(100dvh - 90px)!important;
    background:#fff!important;color:#07528c!important;
    border:1px solid #d8e5ee!important;box-shadow:0 22px 60px rgba(7,52,84,.20)!important;
  }
  body.lucka-native-app .admin-sidebar a,
  body.lucka-native-app .user-sidebar a{color:#07528c!important;background:#fff!important}
  body.lucka-native-app .admin-sidebar a:hover,
  body.lucka-native-app .admin-sidebar a:focus,
  body.lucka-native-app .user-sidebar a:hover,
  body.lucka-native-app .user-sidebar a:focus{color:#063f6a!important;background:#edf6fc!important}
  body.lucka-native-app .admin-sidebar .nav-ico,
  body.lucka-native-app .user-sidebar .user-nav-ico{color:#07528c!important}
  body.lucka-native-app .admin-sidebar .nav-logout,
  body.lucka-native-app .user-sidebar .user-nav-logout{color:#d93636!important;border-top:1px solid #dce8ef!important}

  body.auth-body.lucka-native-app{min-height:100dvh!important;display:block!important;padding:22px 18px 34px!important;background:linear-gradient(180deg,#eef7fc 0,#fff 42%,#f6f9fc 100%)!important}
  body.auth-body.lucka-native-app .auth-shell{width:100%!important;max-width:480px!important;margin:0 auto!important}
  body.auth-body.lucka-native-app .auth-brand{display:flex!important;justify-content:center!important;margin:8px 0 24px!important;color:#07528c!important;font-size:20px!important}
  body.auth-body.lucka-native-app .auth-brand img{width:78px!important;height:78px!important;object-fit:contain!important}
  body.auth-body.lucka-native-app .auth-brand span{display:none!important}
  body.auth-body.lucka-native-app .auth-card{padding:24px 18px!important;border-radius:22px!important;border:1px solid #dbe8f0!important;box-shadow:0 14px 36px rgba(6,58,101,.10)!important}
  body.auth-body.lucka-native-app .auth-card h1{font-size:27px!important;text-align:center!important;color:#0b466f!important}
  body.auth-body.lucka-native-app .auth-card .eyebrow{text-align:center!important;color:#0b5f96!important}
  body.auth-body.lucka-native-app .auth-card .lead{text-align:center!important;font-size:14px!important;line-height:1.5!important}
  body.auth-body.lucka-native-app .field input,
  body.auth-body.lucka-native-app .field select{min-height:52px!important;border-radius:14px!important;border-color:#cbdde9!important;background:#fbfdff!important;font-size:16px!important}
  body.auth-body.lucka-native-app .btn.wide{min-height:54px!important;border-radius:15px!important;background:#0b5f96!important;color:#fff!important;font-size:16px!important;box-shadow:0 10px 24px rgba(11,95,150,.18)!important}
  body.auth-body.lucka-native-app .auth-foot{font-size:14px!important}
}

/* V183 - Android app header: compact, below system status bar and aligned */
@media(max-width:820px){
  body.lucka-native-app .topbar{
    box-sizing:border-box!important;
    height:76px!important;
    min-height:76px!important;
    padding:10px 72px 10px 14px!important;
    align-items:center!important;
  }
  body.lucka-native-app .brand-logo{height:56px!important;display:flex!important;align-items:center!important}
  body.lucka-native-app .brand-logo img{height:48px!important;width:60px!important;object-fit:contain!important}
  body.lucka-native-app .admin-mobile-menu-btn,
  body.lucka-native-app .user-mobile-menu-btn,
  body.lucka-native-app .profile-menu-btn{
    top:16px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
  }
  body.lucka-native-app .sidebar-layout>.admin-sidebar,
  body.lucka-native-app .admin-sidebar,
  body.lucka-native-app .sidebar-layout>.user-sidebar,
  body.lucka-native-app .user-sidebar{
    top:80px!important;
    max-height:calc(100dvh - 94px)!important;
  }
  body.lucka-native-app .sidebar-layout{min-height:calc(100dvh - 76px)!important}
}

/* V184 - Android header fine alignment + notification center */
@media(max-width:820px){body.lucka-native-app .topbar{height:80px!important;min-height:80px!important;padding:14px 72px 8px 14px!important;align-items:center!important}body.lucka-native-app .brand-logo{height:58px!important;align-items:center!important}body.lucka-native-app .admin-mobile-menu-btn,body.lucka-native-app .user-mobile-menu-btn,body.lucka-native-app .profile-menu-btn{top:18px!important;right:14px!important}body.lucka-native-app .sidebar-layout>.admin-sidebar,body.lucka-native-app .admin-sidebar,body.lucka-native-app .sidebar-layout>.user-sidebar,body.lucka-native-app .user-sidebar{top:84px!important;max-height:calc(100dvh - 98px)!important}}
.notification-search{display:flex;gap:10px;margin:0 0 16px}.notification-search input{flex:1;min-width:0;padding:12px 14px;border:1px solid #cfdee8;border-radius:12px;font:inherit}.notification-focus{outline:3px solid rgba(31,145,255,.34);box-shadow:0 0 0 6px rgba(31,145,255,.08)}@media(max-width:620px){.notification-search{display:grid;grid-template-columns:1fr 1fr}.notification-search input{grid-column:1/-1}.notification-search .btn{width:100%}}

/* V186 - Android native safe-area tuning: lower header, lift bottom UI above system nav */
@media(max-width:820px){
  body.lucka-native-app{
    padding-bottom:max(72px, env(safe-area-inset-bottom, 0px))!important;
  }
  body.lucka-native-app .topbar{
    height:88px!important;
    min-height:88px!important;
    padding:20px 72px 8px 14px!important;
    align-items:center!important;
  }
  body.lucka-native-app .brand-logo{
    height:58px!important;
    display:flex!important;
    align-items:center!important;
  }
  body.lucka-native-app .brand-logo img{
    height:48px!important;
    width:60px!important;
    object-fit:contain!important;
  }
  body.lucka-native-app .admin-mobile-menu-btn,
  body.lucka-native-app .user-mobile-menu-btn,
  body.lucka-native-app .profile-menu-btn{
    top:24px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
  }
  body.lucka-native-app .sidebar-layout>.admin-sidebar,
  body.lucka-native-app .admin-sidebar,
  body.lucka-native-app .sidebar-layout>.user-sidebar,
  body.lucka-native-app .user-sidebar{
    top:92px!important;
    max-height:calc(100dvh - 92px - max(82px, env(safe-area-inset-bottom, 0px)))!important;
    padding-bottom:max(18px, env(safe-area-inset-bottom, 0px))!important;
  }
  body.lucka-native-app .sidebar-layout{
    min-height:calc(100dvh - 88px - max(72px, env(safe-area-inset-bottom, 0px)))!important;
  }
  body.lucka-native-app .container,
  body.lucka-native-app .container.admin-wide,
  body.lucka-native-app main{
    padding-bottom:max(88px, calc(env(safe-area-inset-bottom, 0px) + 24px))!important;
  }
  body.auth-body.lucka-native-app{
    padding-bottom:max(92px, calc(env(safe-area-inset-bottom, 0px) + 28px))!important;
  }
}

/* V187 - Android header additional safe top spacing; logo and menu remain aligned */
@media(max-width:820px){
  body.lucka-native-app .topbar{
    height:98px!important;
    min-height:98px!important;
    padding:30px 72px 10px 14px!important;
    align-items:center!important;
  }
  body.lucka-native-app .brand-logo{
    height:58px!important;
    display:flex!important;
    align-items:center!important;
  }
  body.lucka-native-app .brand-logo img{
    height:48px!important;
    width:60px!important;
    object-fit:contain!important;
  }
  body.lucka-native-app .admin-mobile-menu-btn,
  body.lucka-native-app .user-mobile-menu-btn,
  body.lucka-native-app .profile-menu-btn{
    top:32px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
  }
  body.lucka-native-app .sidebar-layout>.admin-sidebar,
  body.lucka-native-app .admin-sidebar,
  body.lucka-native-app .sidebar-layout>.user-sidebar,
  body.lucka-native-app .user-sidebar{
    top:102px!important;
    max-height:calc(100dvh - 102px - max(82px, env(safe-area-inset-bottom, 0px)))!important;
  }
  body.lucka-native-app .sidebar-layout{
    min-height:calc(100dvh - 98px - max(72px, env(safe-area-inset-bottom, 0px)))!important;
  }
}

/* V194 cancelled reservation focus */
.user-res-card.cancelled-focus{position:relative;background:rgba(239,68,68,.13)!important;border:2px solid #dc2626!important;box-shadow:0 0 0 4px rgba(220,38,38,.14)!important;transition:background .35s,border-color .35s,box-shadow .35s}.user-res-card.cancelled-focus:after{content:'';position:absolute;inset:0;border-radius:inherit;background:rgba(239,68,68,.07);pointer-events:none}


/* V195 native auth: clean white, centered and small-screen safe */
@media (max-width:820px){
  html.lucka-native-app, html:has(body.lucka-native-app.auth-body){background:#fff!important}
  body.auth-body.lucka-native-app{
    min-height:100dvh!important;
    background:#fff!important;
    padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.auth-body.lucka-native-app .auth-shell{
    width:100%!important;
    max-width:430px!important;
    margin:auto!important;
  }
  body.auth-body.lucka-native-app .auth-brand{display:none!important}
  body.auth-body.lucka-native-app .auth-card{
    width:100%!important;
    box-sizing:border-box!important;
    padding:22px 18px!important;
    margin:0!important;
    border:0!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 30px rgba(6,58,101,.09)!important;
  }
  body.auth-body.lucka-native-app .auth-card h1{font-size:25px!important;margin:6px 0 8px!important}
  body.auth-body.lucka-native-app .auth-card .lead{font-size:13px!important;line-height:1.4!important;margin-bottom:16px!important}
  body.auth-body.lucka-native-app .field{margin-bottom:12px!important}
  body.auth-body.lucka-native-app .field label{font-size:13px!important;margin-bottom:5px!important}
  body.auth-body.lucka-native-app .field input,
  body.auth-body.lucka-native-app .field select{min-height:48px!important;height:48px!important;font-size:16px!important}
  body.auth-body.lucka-native-app .phone-combo{grid-template-columns:118px minmax(0,1fr)!important;gap:7px!important}
  body.auth-body.lucka-native-app .grid.grid-2{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.auth-body.lucka-native-app .terms-check{font-size:12px!important;line-height:1.3!important;margin:10px 0 13px!important}
  body.auth-body.lucka-native-app .btn.wide{min-height:49px!important;font-size:15px!important}
  body.auth-body.lucka-native-app .auth-foot{margin-top:14px!important;font-size:13px!important}
}
@media (max-width:390px), (max-height:700px){
  body.auth-body.lucka-native-app{align-items:flex-start!important;padding-top:max(10px,env(safe-area-inset-top))!important}
  body.auth-body.lucka-native-app .auth-card{padding:15px 14px!important;border-radius:14px!important;box-shadow:none!important}
  body.auth-body.lucka-native-app .auth-card h1{font-size:22px!important}
  body.auth-body.lucka-native-app .auth-card .lead{font-size:12px!important;margin-bottom:10px!important}
  body.auth-body.lucka-native-app .field{margin-bottom:8px!important}
  body.auth-body.lucka-native-app .field input,
  body.auth-body.lucka-native-app .field select{min-height:44px!important;height:44px!important}
  body.auth-body.lucka-native-app .btn.wide{min-height:46px!important}
}
@media(max-width:350px){
  body.auth-body.lucka-native-app .grid.grid-2{grid-template-columns:1fr!important}
}

/* =========================================================
   mPORT V199 — clean white maritime-tech visual system
   Branding only: no workflow / map / booking logic changed.
   ========================================================= */
:root{
  --mport-navy:#07172c;--mport-navy-2:#0d2747;--mport-blue:#1267ff;--mport-cyan:#17c4e8;
  --mport-sky:#eef7ff;--mport-line:#dce8f4;--mport-text:#0b1d33;--mport-muted:#66788d;
  --mport-shadow:0 18px 50px rgba(7,23,44,.10);--mport-radius:20px;
}
body{color:var(--mport-text);background:#f7fbff}
a{transition:.18s ease}.btn{border-radius:12px;font-weight:750;letter-spacing:-.01em}
.btn.green,.mport-btn-primary{background:linear-gradient(135deg,var(--mport-blue),#168ce9)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(18,103,255,.22)!important}
.btn.green:hover,.mport-btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(18,103,255,.28)!important}
.mport-btn-secondary{background:#fff!important;color:var(--mport-navy)!important;border:1px solid #d8e4ef!important;box-shadow:none!important}
.card,.settings-panel{border:1px solid var(--mport-line)!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(7,23,44,.06)!important;background:#fff!important}
.eyebrow,.section-kicker{color:var(--mport-blue)!important;letter-spacing:.16em;font-weight:800}

/* wordmark */
.mport-brand{display:inline-flex;align-items:center;gap:.03em;color:var(--mport-navy);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:650;line-height:1;letter-spacing:.025em;white-space:nowrap}
.mport-brand .mport-m{font-weight:600;text-transform:lowercase}.mport-brand .mport-p,.mport-brand .mport-rt{font-weight:700}.mport-brand .mport-o{position:relative;display:inline-block;width:.82em;height:.82em;border-radius:50%;border:.12em solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(145deg,#1657ff,#167eff 50%,#1ac3e9) border-box;margin:0 .03em;box-sizing:border-box}
.mport-brand .mport-o:after{content:"";position:absolute;width:.19em;height:.19em;border-radius:50%;right:-.10em;top:-.10em;background:var(--mport-cyan);box-shadow:0 0 0 .04em #fff}
.mport-brand.header-logo{font-size:29px}.mport-brand.auth-logo{font-size:38px}.mport-brand.footer-logo{font-size:26px}.mport-brand.large{font-size:42px}.mport-brand.mini{font-size:19px}

/* global topbar / app chrome */
.mport-topbar,.topbar{background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--mport-line)!important;box-shadow:0 8px 24px rgba(7,23,44,.05)!important;backdrop-filter:blur(18px)}
.mport-top-brand{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px!important;text-decoration:none!important}.mport-top-brand small{font-size:10px;color:#7a8ca0;font-weight:700;letter-spacing:.08em;text-transform:uppercase;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions,.top-actions a{color:var(--mport-navy)!important}.top-user{font-weight:700}
.sidebar{background:#fff!important;border-right:1px solid var(--mport-line)!important;box-shadow:none!important}.sidebar a{border-radius:11px!important;color:#44566a!important;font-weight:680!important}.sidebar a:hover{background:#f1f7ff!important;color:var(--mport-blue)!important}.sidebar a.active,.sidebar a[aria-current="page"]{background:#edf5ff!important;color:var(--mport-blue)!important}.nav-ico,.user-nav-ico{color:currentColor!important}.nav-count{background:var(--mport-blue)!important;color:white!important}
.admin-mobile-menu-btn,.profile-menu-btn,.user-mobile-menu-btn{border:1px solid var(--mport-line)!important;background:#fff!important;box-shadow:0 8px 20px rgba(7,23,44,.08)!important}

/* language */
.mport-lang-switch{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:850;letter-spacing:.12em}.mport-lang-switch a{color:#8291a3;text-decoration:none;padding:5px 2px}.mport-lang-switch a.active{color:var(--mport-blue)}.mport-lang-switch span{width:1px;height:12px;background:#cfdbe7}.mport-global-lang{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;color:#7b8b9d;background:#fff;border-top:1px solid #edf2f7}.mport-lang-auto{font-size:11px;font-weight:800;color:#8494a6;text-decoration:none}.mport-lang-auto.active{color:var(--mport-blue)}
.language-options{gap:12px!important;flex-wrap:wrap}.language-card{min-width:150px;border:1px solid #dce7f2!important;border-radius:14px!important;background:#fff!important}.language-card.active{border-color:var(--mport-blue)!important;box-shadow:0 0 0 3px rgba(18,103,255,.09)!important}.language-card input{accent-color:var(--mport-blue)}.language-flag{font-style:normal;font-weight:850;color:var(--mport-blue)}

/* auth */
.auth-body{background:linear-gradient(180deg,#f8fbff 0,#fff 60%)!important}.mport-auth-brand{justify-content:center!important;margin-bottom:20px!important}.auth-card{border:1px solid var(--mport-line)!important;border-radius:24px!important;box-shadow:var(--mport-shadow)!important;background:#fff!important}.auth-card input,.auth-card select,.field input,.field select,.field textarea{border:1px solid #d8e4ef!important;border-radius:11px!important;background:#fbfdff!important}.auth-card input:focus,.auth-card select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#7aaeff!important;box-shadow:0 0 0 3px rgba(18,103,255,.09)!important;outline:none!important}

/* public landing */
.mport-landing{background:#fff!important}.mport-public-nav{height:82px!important;padding:0 clamp(22px,5vw,76px)!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(220,232,244,.85)!important;backdrop-filter:blur(18px);position:sticky!important;top:0;z-index:80}.mport-public-brand{text-decoration:none!important}.mport-public-brand .mport-brand{font-size:31px}.mport-public-nav .desktop-public-nav a{color:#496075!important;font-size:13px!important;font-weight:720!important}.mport-public-nav .desktop-public-nav a:hover{color:var(--mport-blue)!important}
.mport-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.95fr);align-items:center;gap:7vw;padding:88px clamp(24px,6vw,90px) 84px;overflow:hidden;position:relative;background:radial-gradient(circle at 83% 32%,rgba(23,196,232,.10),transparent 25%),radial-gradient(circle at 70% 55%,rgba(18,103,255,.08),transparent 32%),#fff}.mport-hero-copy{max-width:690px;position:relative;z-index:2}.mport-eyebrow{font-size:12px;font-weight:850;letter-spacing:.18em;color:var(--mport-blue);margin-bottom:18px}.mport-hero h1{font-size:clamp(48px,5.3vw,82px);line-height:.99;letter-spacing:-.055em;margin:0;color:var(--mport-navy);font-weight:790}.mport-hero h1 span{background:linear-gradient(110deg,var(--mport-blue),#20addf);-webkit-background-clip:text;background-clip:text;color:transparent}.mport-hero-copy>p{font-size:18px;line-height:1.68;color:#607386;max-width:650px;margin:28px 0 30px}.mport-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap}.mport-hero .btn.big{padding:15px 24px!important;min-width:145px}.mport-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;color:#65788c;font-size:12px;font-weight:700}.mport-trust span{display:flex;align-items:center;gap:8px}.mport-trust i{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--mport-blue),var(--mport-cyan));box-shadow:0 0 0 5px rgba(18,103,255,.08)}
.mport-hero-ui{position:relative;min-height:510px;display:flex;align-items:center;justify-content:center}.mport-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(18,103,255,.20),rgba(23,196,232,.07) 45%,transparent 70%);filter:blur(8px)}.mport-dashboard-mock{position:relative;width:min(100%,660px);background:rgba(255,255,255,.96);border:1px solid #d9e8f6;border-radius:25px;box-shadow:0 32px 80px rgba(7,38,75,.17);overflow:hidden;transform:perspective(1100px) rotateY(-4deg) rotateX(2deg)}.mock-top{height:58px;display:flex;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid #e5eef7}.mock-top>b{margin-left:auto;font-size:12px;color:#20364e}.mock-top em{font-style:normal;font-size:9px;font-weight:900;color:#14a577;background:#e7faf3;border-radius:20px;padding:6px 9px}.mock-map{height:330px;position:relative;overflow:hidden;background:linear-gradient(150deg,#dff5ff,#b7e2f7 50%,#d5eef8)}.mock-map:before{content:"";position:absolute;width:70%;height:52px;background:#e8edf1;left:-10%;top:85px;transform:rotate(-18deg);box-shadow:0 8px 18px rgba(22,65,90,.12)}.mock-water-line{position:absolute;border:1px solid rgba(255,255,255,.55);border-radius:50%;width:390px;height:130px;transform:rotate(-15deg)}.mock-water-line.l1{left:90px;top:40px}.mock-water-line.l2{left:170px;top:130px}.mock-berth{position:absolute;width:94px;height:35px;border:2px solid #27b886;background:rgba(40,190,140,.16);border-radius:5px;transform:rotate(-18deg)}.mock-berth i{position:absolute;width:7px;height:7px;border-radius:50%;background:#22b984;right:6px;top:5px}.mock-berth small{position:absolute;top:39px;font-size:9px;font-weight:800;color:#0b3551}.mock-berth.b1{left:150px;top:116px}.mock-berth.b2{left:237px;top:88px}.mock-berth.b3{left:322px;top:61px}.mock-berth.occupied{border-color:#ee6370;background:rgba(238,99,112,.16)}.mock-berth.occupied i{background:#ee6370}.mock-boat{position:absolute;left:265px;top:128px;color:#0d63db;font-size:38px;transform:rotate(-18deg)}.mock-live-card{position:absolute;right:18px;bottom:18px;width:215px;background:#fff;border-radius:15px;padding:15px;box-shadow:0 14px 35px rgba(6,49,80,.16);display:grid;gap:7px}.mock-live-card small{font-size:9px;letter-spacing:.1em;color:#8192a3}.mock-live-card strong{font-size:15px;color:#148f65}.mock-live-card span{font-size:10px;color:#75879a}.mock-live-card button{border:0;border-radius:9px;background:var(--mport-blue);color:#fff;padding:9px;font-size:10px;font-weight:800}.mock-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 14px;background:#fff}.mock-metrics div{text-align:center;border-right:1px solid #edf2f6}.mock-metrics div:last-child{border:0}.mock-metrics b{display:block;font-size:19px;color:#12304f}.mock-metrics span{font-size:9px;color:#7e8fa1}
.mport-logo-strip{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 28px;border-top:1px solid #edf2f6;border-bottom:1px solid #edf2f6;color:#8b9aab;font-size:10px;font-weight:850;letter-spacing:.12em}.mport-logo-strip i{width:4px;height:4px;border-radius:50%;background:#b4c5d4}
.mport-section{padding:100px clamp(24px,6vw,90px);background:#fff}.mport-section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:50px}.mport-section-head h2{font-size:clamp(36px,4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:0;color:var(--mport-navy)}.mport-section-head p{color:#6a7b8e;line-height:1.65;margin:0}.mport-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mport-feature-grid article{min-height:220px;padding:26px;border:1px solid var(--mport-line);border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff);position:relative;overflow:hidden}.mport-feature-grid .feature-big{grid-row:span 2;min-height:456px;background:linear-gradient(160deg,#f9fcff,#ecf6ff)}.feature-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf5ff;color:var(--mport-blue);font-size:20px;font-weight:900;margin-bottom:26px}.mport-feature-grid h3{font-size:20px;margin:0 0 10px;color:#102943}.mport-feature-grid p{font-size:14px;line-height:1.6;color:#6a7d90;margin:0}.feature-mini-map{position:absolute;left:25px;right:25px;bottom:24px;height:210px;border-radius:17px;background:linear-gradient(145deg,#dff5ff,#bde6f9);overflow:hidden}.feature-mini-map:before{content:"";position:absolute;left:-35px;top:72px;width:300px;height:42px;background:#f7f9fb;transform:rotate(-17deg)}.feature-mini-map span{position:absolute;width:72px;height:26px;border:2px solid #16a879;background:rgba(22,168,121,.15);transform:rotate(-17deg);border-radius:4px}.feature-mini-map span:nth-child(1){left:80px;top:67px}.feature-mini-map span:nth-child(2){left:144px;top:47px}.feature-mini-map span:nth-child(3){left:208px;top:28px}.feature-mini-map span:nth-child(4){left:270px;top:9px}
.mport-dark-section{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding:105px clamp(24px,7vw,110px);background:linear-gradient(135deg,#07172c,#0a2442);color:#fff;overflow:hidden}.mport-dark-section .mport-eyebrow{color:#3ac8ed}.mport-dark-copy h2{font-size:clamp(38px,4.4vw,62px);line-height:1.04;letter-spacing:-.045em;margin:0 0 22px}.mport-dark-copy>p{color:#aab9c8;line-height:1.7;max-width:650px}.dark-points{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:30px}.dark-points span{padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.045);font-size:12px;color:#dce7f1}.mport-phone{display:flex;justify-content:center;position:relative}.mport-phone:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(18,103,255,.4),transparent 65%);filter:blur(20px)}.phone-screen{position:relative;width:260px;min-height:505px;padding:30px 21px;border:8px solid #17293d;border-radius:40px;background:linear-gradient(180deg,#fbfdff,#edf6ff);box-shadow:0 38px 70px rgba(0,0,0,.36);color:var(--mport-navy)}.phone-logo{text-align:center;margin:10px 0 38px}.phone-screen h4{text-align:center;font-size:20px;margin:0 0 22px}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.phone-grid span{height:84px;border:1px solid #dce8f4;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:21px;color:var(--mport-blue)}.phone-grid b{display:block;font-size:10px;color:#324960;margin-top:-13px}.phone-status{margin-top:22px;border-radius:13px;background:#fff;border:1px solid #dce8f4;padding:13px;display:flex;align-items:center;gap:8px;font-size:10px}.phone-status i{width:8px;height:8px;background:#1eb984;border-radius:50%}.phone-status b{margin-left:auto;color:#1a9a70}
.mport-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:80px clamp(24px,7vw,110px);background:#fff}.mport-cta h2{font-size:clamp(33px,4vw,55px);line-height:1.05;letter-spacing:-.04em;max-width:820px;margin:24px 0 12px}.mport-cta p{color:#6d8093}.mport-footer{background:#f8fbff!important;color:#607286!important;border-top:1px solid var(--mport-line)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:28px clamp(24px,6vw,90px)!important}.mport-footer>div:first-child{display:flex;flex-direction:column;gap:6px}.mport-footer small{font-size:8px;letter-spacing:.18em;color:#7c8fa2}

@media(max-width:1000px){.mport-hero{grid-template-columns:1fr;padding-top:64px}.mport-hero-copy{max-width:780px}.mport-hero-ui{min-height:460px}.mport-dashboard-mock{transform:none}.mport-section-head{grid-template-columns:1fr;gap:20px}.mport-feature-grid{grid-template-columns:1fr 1fr}.mport-dark-section{grid-template-columns:1fr;gap:55px}.mport-phone{justify-content:flex-start}.mport-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:820px){.mport-public-nav{height:72px!important;padding:0 16px!important}.mport-public-brand .mport-brand{font-size:27px}.mport-hero{min-height:auto;padding:52px 18px 46px;gap:35px}.mport-hero h1{font-size:46px}.mport-hero-copy>p{font-size:15px}.mport-trust{gap:13px;flex-direction:column}.mport-hero-ui{min-height:370px}.mport-dashboard-mock{border-radius:18px}.mock-map{height:245px}.mock-live-card{width:170px}.mock-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.mock-metrics div{border:0}.mport-section{padding:66px 18px}.mport-section-head h2{font-size:39px}.mport-feature-grid{grid-template-columns:1fr}.mport-feature-grid .feature-big{grid-row:auto;min-height:410px}.mport-dark-section{padding:70px 18px}.dark-points{grid-template-columns:1fr}.mport-phone{justify-content:center}.mport-cta{padding:60px 18px}.mport-footer{padding:24px 18px!important;align-items:flex-start!important;flex-direction:column!important;gap:16px}.mport-global-lang{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
@media(max-width:480px){.mport-hero h1{font-size:40px}.mport-hero-ui{min-height:315px}.mock-live-card{right:10px;bottom:10px;width:150px;padding:11px}.mock-berth{transform:scale(.78) rotate(-18deg);transform-origin:left center}.mport-brand.large{font-size:34px}}


/* mPORT V200 landing polish + maritime data / communal modules */
.mport-public-nav .mport-registration-btn,.mport-public-nav .mport-btn-primary,.landing-mobile-menu .register-link{color:#fff!important}
.mock-map{background:linear-gradient(155deg,#dbf4ff 0%,#b9e7fb 44%,#9fd9f2 100%)}
.mock-map:before{display:none!important}.mock-quay{position:absolute;left:-80px;top:80px;width:410px;height:62px;background:linear-gradient(180deg,#f5f7f9,#dfe6ec);transform:rotate(-18deg);box-shadow:0 10px 24px rgba(22,65,90,.13);z-index:3}.mock-quay:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;background:#bac5cd}.mock-sea-label{position:absolute;right:16px;top:15px;font-size:8px;font-weight:850;letter-spacing:.12em;color:rgba(9,71,112,.5)}
.mock-berth{width:106px;height:43px;border-width:1.5px;background:rgba(255,255,255,.10);z-index:4}.mock-berth.b1{left:141px;top:128px}.mock-berth.b2{left:230px;top:100px}.mock-berth.b3{left:319px;top:72px}.mock-berth small{top:46px;color:#174e72;background:rgba(255,255,255,.72);padding:2px 5px;border-radius:5px}.mock-berth>i{display:none}.mock-vessel{position:absolute;left:17px;top:8px;width:68px;height:24px;border-radius:70% 10% 70% 10%/55% 15% 55% 15%;background:linear-gradient(90deg,#fff,#e9f2f7);box-shadow:0 3px 7px rgba(0,55,92,.18);transform:rotate(0deg)}.mock-vessel:before{content:"";position:absolute;left:19px;top:5px;width:26px;height:11px;border-radius:8px 8px 3px 3px;background:#0b6fd8}.mock-vessel.sail:before{width:2px;height:20px;top:-5px;left:33px;background:#31536f}.mock-vessel.sail:after{content:"";position:absolute;left:35px;top:-4px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;filter:drop-shadow(0 2px 2px rgba(0,0,0,.08))}.mock-vessel.rib{background:#163d5a}.mock-vessel.rib:before{background:#fff;width:30px;height:9px;left:18px;top:7px}.mock-ship-track{position:absolute;left:390px;top:188px;width:116px;height:58px;border-top:1px dashed rgba(13,99,219,.55);transform:rotate(-16deg);z-index:2}.mock-ship-track i{position:absolute;left:-2px;top:-6px;width:11px;height:11px;border-radius:50%;background:#1267ff;box-shadow:0 0 0 5px rgba(18,103,255,.12)}.mock-ship-track b,.mock-ship-track small{position:absolute;left:42px;transform:rotate(16deg);font-size:8px;color:#0d578f;white-space:nowrap}.mock-ship-track b{top:8px}.mock-ship-track small{top:23px}.mock-live-card{z-index:8}
.mport-feature-grid.expanded{grid-template-columns:repeat(3,1fr)}.mport-feature-grid.expanded article{min-height:230px}.feature-icon.live-dot{font-size:15px;color:#16a779}.feature-mini-map.sea-map{background:linear-gradient(145deg,#d8f4ff,#a9def6)}.feature-mini-map.sea-map:before{display:none}.fm-quay{position:absolute!important;left:-70px!important;top:65px!important;width:310px!important;height:38px!important;background:#f4f6f8!important;border:0!important;transform:rotate(-17deg)!important;border-radius:0!important;box-shadow:0 5px 12px rgba(13,64,91,.12)}.fm-boat{position:absolute!important;width:52px!important;height:16px!important;border:0!important;background:#fff!important;border-radius:70% 10% 70% 10%!important;transform:rotate(-17deg)!important;box-shadow:0 3px 6px rgba(7,63,96,.18)}.fm-boat:after{content:"";position:absolute;left:15px;top:4px;width:21px;height:7px;border-radius:5px;background:#1172df}.fm-boat.fb1{left:90px!important;top:102px!important}.fm-boat.fb2{left:145px!important;top:84px!important}.fm-boat.fb3{left:201px!important;top:67px!important}.fm-track{position:absolute!important;right:20px!important;bottom:30px!important;width:90px!important;height:1px!important;border:0!important;border-top:1px dashed #1267ff!important;background:none!important;transform:rotate(-12deg)!important}.fm-track:after{content:"";position:absolute;right:-2px;top:-4px;width:8px;height:8px;border-radius:50%;background:#1267ff}
.mport-communal{padding:100px clamp(24px,6vw,90px);display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;background:linear-gradient(180deg,#f8fbff,#fff)}.communal-copy h2,.mport-data-head h2{font-size:clamp(36px,4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:0 0 22px;color:var(--mport-navy)}.communal-copy>p,.mport-data-head>p{color:#65788c;line-height:1.7;font-size:16px}.communal-list{display:grid;gap:11px;margin-top:28px}.communal-list span{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #e7eef6;color:#334b62;font-size:14px}.communal-list b{font-size:10px;letter-spacing:.08em;color:var(--mport-blue);background:#edf5ff;padding:5px 7px;border-radius:7px}.communal-visual{min-height:480px;display:flex;align-items:center}.communal-map{position:relative;width:100%;height:430px;border-radius:26px;overflow:hidden;background:linear-gradient(155deg,#d9f4ff,#a9dcf3);box-shadow:0 26px 70px rgba(12,67,105,.15);border:1px solid #d7e8f5}.cm-quay{position:absolute;left:-80px;top:120px;width:620px;height:70px;background:#f2f5f7;transform:rotate(-11deg);box-shadow:0 8px 18px rgba(18,60,82,.12)}.cm-berth{position:absolute;width:125px;height:48px;border:1.5px solid #2da97e;background:rgba(255,255,255,.08);transform:rotate(-11deg);border-radius:5px}.cm-berth i{position:absolute;left:20px;top:10px;width:80px;height:25px;background:#fff;border-radius:70% 10% 70% 10%;box-shadow:0 3px 7px rgba(0,54,90,.18)}.cm-berth i:after{content:"";position:absolute;left:24px;top:6px;width:31px;height:11px;border-radius:6px;background:#176fd3}.cm-berth small{position:absolute;top:53px;color:#18516f;font-size:9px;font-weight:800}.cm-berth.c1{left:120px;top:181px}.cm-berth.c2{left:225px;top:161px}.cm-berth.c3{left:330px;top:141px}.cm-berth.c4{left:435px;top:121px}.cm-berth.absent{border-style:dashed;border-color:#7794a7}.cm-berth.absent i{opacity:.18}.cm-card{position:absolute;right:22px;bottom:22px;width:250px;background:#fff;border-radius:16px;padding:17px;box-shadow:0 16px 36px rgba(6,49,80,.16);display:grid;gap:7px}.cm-card small{font-size:9px;letter-spacing:.1em;color:#8293a4}.cm-card strong{font-size:22px;color:#10304e}.cm-card span,.cm-card em{font-size:11px;color:#6d8092;font-style:normal}.cm-card em{color:#188660;background:#eaf8f2;padding:7px 9px;border-radius:8px}
.mport-data-section{padding:100px clamp(24px,6vw,90px);background:#fff}.mport-data-head{max-width:880px}.data-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}.data-cards article{padding:28px;border:1px solid var(--mport-line);border-radius:20px;background:linear-gradient(180deg,#fff,#f9fcff);min-height:250px}.data-cards h3{font-size:20px;color:#102943;margin:0 0 10px}.data-cards p{font-size:14px;line-height:1.65;color:#6a7d90}.feature-badge{display:inline-flex;margin-top:14px;padding:7px 10px;border-radius:999px;background:#edf5ff;color:#1267ff;font-size:10px;font-weight:800;letter-spacing:.04em}.api-note{margin-top:18px;padding:14px 16px;border-radius:12px;background:#f6f9fc;color:#718397;font-size:12px;border:1px solid #e7eef5}.radar-icon{font-size:16px}
@media(max-width:1000px){.mport-communal{grid-template-columns:1fr;gap:32px}.communal-visual{min-height:400px}.data-cards{grid-template-columns:1fr 1fr}.mport-feature-grid.expanded{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.mport-feature-grid.expanded,.data-cards{grid-template-columns:1fr}.mport-communal,.mport-data-section{padding:66px 18px}.communal-visual{min-height:330px}.communal-map{height:330px;border-radius:20px}.cm-quay{top:88px;width:500px}.cm-berth{transform:scale(.72) rotate(-11deg);transform-origin:left top}.cm-berth.c1{left:58px;top:143px}.cm-berth.c2{left:132px;top:129px}.cm-berth.c3{left:205px;top:115px}.cm-berth.c4{left:278px;top:101px}.cm-card{right:12px;bottom:12px;width:205px;padding:13px}.mport-data-head h2,.communal-copy h2{font-size:39px}.mock-ship-track{left:290px;top:155px}}


/* mPORT V202 — official supplied logo + auth layout recovery */
.mport-brand-image{display:inline-flex!important;align-items:center!important;line-height:0!important;background:transparent!important;overflow:visible!important}
.mport-brand-image img{display:block!important;width:auto!important;max-width:none!important;object-fit:contain!important;background:#fff!important}
.mport-brand-image.header-logo img,.mport-public-brand .mport-brand-image img{height:48px!important}
.mport-brand-image.auth-logo img{height:74px!important}
.mport-brand-image.footer-logo img{height:44px!important}
.mport-brand-image.large img{height:86px!important}
.mport-brand-image.mini img{height:34px!important}
.auth-body{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:32px 18px!important;box-sizing:border-box!important;background:linear-gradient(180deg,#f8fbff 0%,#fff 70%)!important}
.auth-shell{width:min(620px,100%)!important;max-width:620px!important;margin:0 auto!important}
.auth-brand.mport-auth-brand{display:flex!important;width:100%!important;justify-content:center!important;align-items:center!important;margin:0 auto 22px!important;text-decoration:none!important}
.auth-card{width:100%!important;box-sizing:border-box!important;margin:0 auto!important;padding:34px!important;border:1px solid #dce8f4!important;border-radius:24px!important;background:#fff!important;box-shadow:0 22px 65px rgba(15,45,80,.10)!important}
.auth-card form{width:100%!important}.auth-card .field{width:100%!important}.auth-card input,.auth-card select{box-sizing:border-box!important;max-width:100%!important}
.auth-card .btn.wide{display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;background:linear-gradient(135deg,#1767ff,#1b9be8)!important;border:0!important}
.auth-card .btn.wide:hover{color:#fff!important}
@media(max-width:640px){.auth-body{align-items:flex-start!important;padding:18px 14px!important}.auth-card{padding:24px 18px!important}.mport-brand-image.auth-logo img{height:58px!important}.mport-brand-image.header-logo img,.mport-public-brand .mport-brand-image img{height:40px!important}}

/* mPORT V203 — code/layout correction, true vector logo, berth geometry fix */
.mport-brand-image{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;line-height:0!important;overflow:visible!important;background:transparent!important}
.mport-brand-image img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;background:transparent!important}
.mport-brand-image.header-logo,.mport-public-brand .mport-brand-image{width:176px!important;max-width:176px!important}
.mport-brand-image.auth-logo{width:280px!important;max-width:min(280px,82vw)!important}
.mport-brand-image.footer-logo{width:162px!important;max-width:162px!important}
.mport-brand-image.large{width:245px!important;max-width:min(245px,70vw)!important}
.mport-brand-image.mini{width:88px!important;max-width:88px!important}
.mport-public-brand{display:flex!important;align-items:center!important;min-width:176px!important}
.mock-top .mport-brand-image.mini{width:86px!important;max-width:86px!important}
.phone-logo .mport-brand-image.mini{width:112px!important;max-width:112px!important;margin:0 auto!important}
.mport-registration-btn,.mport-public-nav .mport-btn-primary,.landing-mobile-menu .register-link{color:#fff!important}

/* Hero demo: the quay stays on land; each berth projects FROM the quay INTO the water. */
.mock-map{isolation:isolate;background:linear-gradient(155deg,#d9f3ff 0%,#b5e5f9 48%,#9ed8f1 100%)!important}
.mock-quay{left:36px!important;top:45px!important;width:430px!important;height:56px!important;transform:rotate(-10deg)!important;transform-origin:left center!important;z-index:5!important;border-radius:4px!important;background:linear-gradient(180deg,#f8fafb 0%,#e2e8ed 100%)!important;box-shadow:0 7px 18px rgba(19,63,87,.16)!important}
.mock-quay:after{bottom:-5px!important;height:5px!important;background:#bcc8d1!important}
.mock-berth{width:48px!important;height:112px!important;transform:rotate(80deg)!important;transform-origin:50% 0!important;border:1.5px solid #22a97e!important;background:rgba(255,255,255,.10)!important;border-radius:5px!important;z-index:4!important;box-sizing:border-box!important}
.mock-berth.b1{left:150px!important;top:89px!important}
.mock-berth.b2{left:244px!important;top:73px!important}
.mock-berth.b3{left:338px!important;top:56px!important}
.mock-berth.occupied{border-color:#e96170!important;background:rgba(233,97,112,.12)!important}
.mock-berth small{top:auto!important;left:7px!important;bottom:-21px!important;transform:rotate(-80deg)!important;transform-origin:left center!important;background:rgba(255,255,255,.90)!important;color:#174e72!important;padding:2px 5px!important;border-radius:5px!important;white-space:nowrap!important}
.mock-vessel{left:8px!important;top:20px!important;width:30px!important;height:78px!important;transform:none!important;border-radius:48% 48% 42% 42%/15% 15% 55% 55%!important;background:linear-gradient(180deg,#fff,#edf4f8)!important;box-shadow:0 3px 8px rgba(0,55,92,.18)!important}
.mock-vessel:before{left:8px!important;top:24px!important;width:14px!important;height:28px!important;border-radius:8px 8px 4px 4px!important;background:#0b6fd8!important}
.mock-vessel.sail:before{left:14px!important;top:10px!important;width:2px!important;height:46px!important;background:#31536f!important}
.mock-vessel.sail:after{left:16px!important;top:11px!important;border-top:18px solid transparent!important;border-bottom:18px solid transparent!important;border-left:15px solid #fff!important}
.mock-vessel.rib{background:#153b57!important}.mock-vessel.rib:before{left:7px!important;top:28px!important;width:15px!important;height:21px!important;background:#fff!important}
.mock-water-line{z-index:1!important}.mock-ship-track{z-index:2!important}

/* Mini feature map follows the same physical rule. */
.feature-mini-map.sea-map .fm-quay{left:12px!important;top:28px!important;width:285px!important;height:34px!important;transform:rotate(-9deg)!important;z-index:5!important}
.feature-mini-map.sea-map .fm-boat{width:24px!important;height:62px!important;transform:rotate(81deg)!important;border-radius:48% 48% 42% 42%/15% 15% 55% 55%!important;z-index:4!important}
.feature-mini-map.sea-map .fm-boat:after{left:6px!important;top:21px!important;width:12px!important;height:18px!important}
.feature-mini-map.sea-map .fm-boat.fb1{left:92px!important;top:54px!important}.feature-mini-map.sea-map .fm-boat.fb2{left:151px!important;top:45px!important}.feature-mini-map.sea-map .fm-boat.fb3{left:210px!important;top:36px!important}

/* Communal berth demo: berths are perpendicular to the quay and entirely on sea side. */
.communal-map{isolation:isolate!important;background:linear-gradient(155deg,#d7f2ff,#a9def5)!important}
.cm-quay{left:18px!important;top:68px!important;width:610px!important;height:62px!important;transform:rotate(-8deg)!important;transform-origin:left center!important;z-index:5!important;background:linear-gradient(180deg,#f8fafb,#e1e7ec)!important}
.cm-quay:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;background:#bec9d1}
.cm-berth{width:52px!important;height:130px!important;transform:rotate(82deg)!important;transform-origin:50% 0!important;border-radius:4px!important;z-index:4!important;background:rgba(255,255,255,.08)!important}
.cm-berth.c1{left:112px!important;top:115px!important}.cm-berth.c2{left:230px!important;top:99px!important}.cm-berth.c3{left:348px!important;top:82px!important}.cm-berth.c4{left:466px!important;top:66px!important}
.cm-berth i{left:8px!important;top:18px!important;width:34px!important;height:94px!important;border-radius:48% 48% 42% 42%/15% 15% 55% 55%!important}
.cm-berth i:after{left:9px!important;top:29px!important;width:16px!important;height:31px!important;border-radius:7px!important}
.cm-berth small{top:auto!important;left:8px!important;bottom:-24px!important;transform:rotate(-82deg)!important;transform-origin:left center!important;white-space:nowrap!important;background:rgba(255,255,255,.88)!important;padding:2px 5px!important;border-radius:5px!important}
.cm-card{z-index:10!important}

/* Authentication pages: stable centered layout, no inherited landing widths. */
body.auth-body{min-height:100vh!important;display:grid!important;place-items:center!important;padding:28px 18px!important;background:linear-gradient(180deg,#f7fbff 0%,#fff 72%)!important;overflow-x:hidden!important}
body.auth-body .auth-shell{width:min(620px,100%)!important;max-width:620px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important}
body.auth-body .auth-brand.mport-auth-brand{display:flex!important;justify-content:center!important;width:100%!important;margin:0 0 22px!important}
body.auth-body .auth-card{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:34px!important;box-sizing:border-box!important;border:1px solid #dce8f4!important;border-radius:24px!important;background:#fff!important;box-shadow:0 22px 65px rgba(15,45,80,.10)!important}
body.auth-body .auth-card form,body.auth-body .auth-card .field,body.auth-body .auth-card .grid{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
body.auth-body .auth-card input,body.auth-body .auth-card select{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
body.auth-body .phone-combo{display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;gap:10px!important;width:100%!important}
body.auth-body .auth-card button[type="submit"],body.auth-body .auth-card .btn.wide{width:100%!important;color:#fff!important;background:linear-gradient(135deg,#1767ff,#1b9be8)!important;border:0!important}
@media(max-width:820px){
  .mport-brand-image.header-logo,.mport-public-brand .mport-brand-image{width:152px!important;max-width:152px!important}.mport-public-brand{min-width:152px!important}
  .mock-quay{left:10px!important;top:38px!important;width:335px!important;height:48px!important}.mock-berth{transform:scale(.78) rotate(80deg)!important;transform-origin:50% 0!important}.mock-berth.b1{left:103px!important;top:74px!important}.mock-berth.b2{left:178px!important;top:61px!important}.mock-berth.b3{left:253px!important;top:48px!important}
  .cm-quay{left:10px!important;top:52px!important;width:455px!important;height:52px!important}.cm-berth{transform:scale(.70) rotate(82deg)!important;transform-origin:50% 0!important}.cm-berth.c1{left:70px!important;top:93px!important}.cm-berth.c2{left:144px!important;top:83px!important}.cm-berth.c3{left:218px!important;top:72px!important}.cm-berth.c4{left:292px!important;top:62px!important}
}
@media(max-width:640px){body.auth-body{place-items:start center!important;padding:18px 14px!important}body.auth-body .auth-card{padding:24px 18px!important}body.auth-body .phone-combo{grid-template-columns:118px minmax(0,1fr)!important}.mport-brand-image.auth-logo{width:230px!important}}


/* mPORT V204 — AUTH + BERTH VISUAL HARD FIX */
html,body{margin:0}

/* Authentication: always centered on desktop, compact and centered on mobile. */
body.auth-body{
  min-height:100vh!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:32px 18px!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 72%)!important;
  overflow-x:hidden!important;
}
body.auth-body .auth-shell{
  width:100%!important;
  max-width:620px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.auth-body .mport-auth-brand{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0 auto 20px!important;
}
body.auth-body .mport-brand-image.auth-logo{width:270px!important;max-width:80vw!important}
body.auth-body .auth-card{
  width:100%!important;
  max-width:620px!important;
  margin:0 auto!important;
  padding:34px!important;
  box-sizing:border-box!important;
  border:1px solid #dce8f4!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 22px 65px rgba(15,45,80,.10)!important;
}
body.auth-body .auth-card form,body.auth-body .auth-card .field,body.auth-body .auth-card .grid{width:100%!important;box-sizing:border-box!important}
body.auth-body .auth-card input,body.auth-body .auth-card select,body.auth-body .auth-card textarea{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
body.auth-body .auth-card button[type="submit"]{width:100%!important;color:#fff!important}
@media(max-width:640px){
  body.auth-body{align-items:flex-start!important;padding:18px 14px!important}
  body.auth-body .auth-card{padding:24px 18px!important}
  body.auth-body .mport-brand-image.auth-logo{width:220px!important}
}

/* LANDING DEMO GEOMETRY — quay is land, all berth rectangles and vessels start at its sea edge. */
.mock-map{position:relative!important;overflow:hidden!important;background:linear-gradient(155deg,#d9f3ff 0%,#b7e6f9 48%,#9bd7ef 100%)!important}
.mock-quay{
  position:absolute!important;
  left:28px!important;right:28px!important;top:28px!important;
  width:auto!important;height:64px!important;
  transform:none!important;
  z-index:3!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,#fbfcfd 0%,#e7edf1 100%)!important;
  box-shadow:0 7px 18px rgba(19,63,87,.15)!important;
}
.mock-quay:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:-5px!important;height:5px!important;background:#bdc9d1!important}
.mock-berth{
  position:absolute!important;
  top:97px!important;
  width:86px!important;height:142px!important;
  transform:none!important;
  transform-origin:center!important;
  border:2px solid #24aa80!important;
  background:rgba(255,255,255,.08)!important;
  border-radius:7px!important;
  z-index:4!important;
  box-sizing:border-box!important;
}
.mock-berth.b1{left:76px!important}.mock-berth.b2{left:186px!important}.mock-berth.b3{left:296px!important}
.mock-berth.occupied{border-color:#e45b6b!important;background:rgba(228,91,107,.09)!important}
.mock-berth small{position:absolute!important;left:50%!important;bottom:-22px!important;top:auto!important;transform:translateX(-50%)!important;white-space:nowrap!important;background:#fff!important;color:#174e72!important;padding:2px 6px!important;border-radius:5px!important}
.mock-vessel{
  position:absolute!important;
  left:17px!important;top:19px!important;
  width:48px!important;height:106px!important;
  transform:none!important;
  border-radius:48% 48% 42% 42%/15% 15% 55% 55%!important;
  background:linear-gradient(180deg,#fff,#eef5f8)!important;
  box-shadow:0 3px 8px rgba(0,55,92,.18)!important;
}
.mock-vessel:before{left:13px!important;top:34px!important;width:22px!important;height:35px!important;border-radius:9px 9px 5px 5px!important;background:#0b6fd8!important}
.mock-vessel.sail:before{left:23px!important;top:16px!important;width:2px!important;height:60px!important;background:#31536f!important}
.mock-vessel.sail:after{left:25px!important;top:17px!important;border-top:23px solid transparent!important;border-bottom:23px solid transparent!important;border-left:19px solid #fff!important}
.mock-vessel.rib{background:#153b57!important}.mock-vessel.rib:before{left:13px!important;top:39px!important;width:22px!important;height:28px!important;background:#fff!important}
.mock-live-card{z-index:9!important}
.mock-water-line,.mock-ship-track{z-index:1!important}

/* Communal mock — same physical rule, no quay covering boats. */
.communal-map{position:relative!important;overflow:hidden!important;background:linear-gradient(155deg,#d8f2ff,#aae0f6)!important}
.cm-quay{
  position:absolute!important;
  left:30px!important;right:30px!important;top:34px!important;
  width:auto!important;height:66px!important;
  transform:none!important;
  z-index:3!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,#fbfcfd,#e4eaee)!important;
  box-shadow:0 7px 18px rgba(19,63,87,.13)!important;
}
.cm-quay:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:-5px!important;height:5px!important;background:#bec9d1!important}
.cm-berth{
  position:absolute!important;
  top:105px!important;
  width:92px!important;height:150px!important;
  transform:none!important;
  border:2px solid #24aa80!important;
  border-radius:7px!important;
  z-index:4!important;
  background:rgba(255,255,255,.08)!important;
  box-sizing:border-box!important;
}
.cm-berth.c1{left:56px!important}.cm-berth.c2{left:170px!important}.cm-berth.c3{left:284px!important}.cm-berth.c4{left:398px!important}
.cm-berth i{position:absolute!important;left:19px!important;top:18px!important;width:50px!important;height:112px!important;border-radius:48% 48% 42% 42%/15% 15% 55% 55%!important}
.cm-berth i:after{left:13px!important;top:37px!important;width:24px!important;height:37px!important;border-radius:8px!important}
.cm-berth small{position:absolute!important;left:50%!important;bottom:-24px!important;top:auto!important;transform:translateX(-50%)!important;white-space:nowrap!important;background:rgba(255,255,255,.94)!important;padding:2px 6px!important;border-radius:5px!important}
.cm-card{z-index:9!important}

@media(max-width:820px){
  .mock-quay{left:18px!important;right:18px!important;top:25px!important;height:56px!important}
  .mock-berth{top:86px!important;width:72px!important;height:128px!important}
  .mock-berth.b1{left:52px!important}.mock-berth.b2{left:140px!important}.mock-berth.b3{left:228px!important}
  .mock-vessel{left:14px!important;top:17px!important;width:40px!important;height:94px!important}
  .cm-quay{left:18px!important;right:18px!important;top:28px!important;height:56px!important}
  .cm-berth{top:89px!important;width:72px!important;height:132px!important}
  .cm-berth.c1{left:34px!important}.cm-berth.c2{left:118px!important}.cm-berth.c3{left:202px!important}.cm-berth.c4{left:286px!important}
  .cm-berth i{left:15px!important;top:16px!important;width:38px!important;height:96px!important}
}

/* V205 AUTH RECOVERY — visual-only rules; authentication markup/POST logic is V198. */
.auth-body{min-height:100vh;margin:0;}
.auth-body .auth-shell{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:32px 18px;box-sizing:border-box;}
.auth-body .auth-card{width:min(100%,620px);margin:0 auto;}
@media(max-width:700px){.auth-body .auth-shell{padding:18px 14px;align-items:center}.auth-body .auth-card{width:100%;}}


/* mPORT V206 — AUTH CENTER HARD FIX */
html:has(body.auth-body){height:100%;}
body.auth-body{
  width:100%!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  padding:24px 16px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
body.auth-body>.auth-shell{
  min-height:0!important;
  height:auto!important;
  width:min(620px,100%)!important;
  max-width:620px!important;
  margin:auto!important;
  padding:0!important;
  display:block!important;
  position:static!important;
  transform:none!important;
}
body.auth-body>.auth-shell>.auth-card{
  width:100%!important;
  max-width:620px!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
}
@media(max-width:700px){
 body.auth-body{padding:16px 12px!important;align-items:center!important;justify-content:center!important;}
 body.auth-body>.auth-shell{margin:auto!important;}
}

/* mPORT V207 — ADMIN VISUAL POLISH (layout only; no business logic changes) */
:root{
  --mport-admin-navy:#0a2342;
  --mport-admin-blue:#1976f3;
  --mport-admin-blue2:#18a7e8;
  --mport-admin-soft:#f5f9fd;
  --mport-admin-line:#dce8f2;
  --mport-admin-text:#17324a;
  --mport-admin-muted:#6c8194;
  --mport-admin-danger:#e5484d;
  --mport-admin-success:#159a68;
}

/* Header: compact brand, authority centered directly under it. */
.mport-topbar{
  height:68px!important;
  min-height:68px!important;
  padding:0 24px!important;
  background:#fff!important;
  color:var(--mport-admin-text)!important;
  border-bottom:1px solid var(--mport-admin-line)!important;
  box-shadow:0 1px 0 rgba(16,48,75,.02)!important;
}
.mport-top-brand{
  width:220px!important;
  min-width:220px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  margin:0!important;
  text-align:center!important;
}
.mport-top-brand .mport-brand-image.header-logo{
  width:170px!important;
  max-width:170px!important;
  margin:0 auto!important;
}
.mport-top-brand .mport-brand-image.header-logo img{width:100%!important;height:auto!important;display:block!important}
.mport-top-brand .authority-under-logo{
  display:block!important;
  width:100%!important;
  max-width:210px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.085em!important;
  color:#6d8396!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.mport-topbar .top-actions{display:flex!important;align-items:center!important;gap:10px!important;color:var(--mport-admin-text)!important}
.mport-topbar .top-user{font-weight:800!important;color:#132d47!important}
.mport-topbar .top-role{padding:5px 9px;border-radius:999px;background:#edf5ff;color:#1766c2;font-size:11px;font-weight:800}
.mport-topbar .top-logout{color:#677c8f!important;font-weight:700!important;padding:7px 9px!important;border-radius:9px!important}
.mport-topbar .top-logout:hover{background:#fff1f2!important;color:#c9363d!important}

/* Desktop sidebar: clean white SaaS navigation. */
@media(min-width:821px){
  .sidebar-layout{grid-template-columns:266px minmax(0,1fr)!important;min-height:calc(100vh - 68px)!important}
  .sidebar-layout>.admin-sidebar{
    top:68px!important;
    height:calc(100vh - 68px)!important;
    padding:14px 14px 18px!important;
    background:#fff!important;
    border-right:1px solid var(--mport-admin-line)!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
  }
  .admin-sidebar a{
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    color:#496176!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:11px!important;
    font-weight:720!important;
    line-height:1.2!important;
  }
  .admin-sidebar a:hover,.admin-sidebar a:focus{
    background:#f3f8ff!important;
    border-color:#e2ecf7!important;
    color:#155fbd!important;
  }
  .admin-sidebar .nav-sub{padding-left:35px!important;font-size:14px!important;color:#62788b!important}
  .admin-sidebar .nav-ico{width:22px!important;height:22px!important;flex:0 0 22px!important;color:#597187!important}
  .admin-sidebar a:hover .nav-ico{color:#1976f3!important}
  .admin-sidebar .nav-count{margin-left:auto!important;min-width:23px!important;height:23px!important;padding:0 7px!important;display:grid!important;place-items:center!important;background:#1976f3!important;color:#fff!important;border-radius:999px!important;font-size:11px!important}
  .sidebar-layout>.admin-sidebar .nav-logout{
    position:sticky!important;
    bottom:0!important;
    margin-top:auto!important;
    min-height:48px!important;
    padding:11px 13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    background:#fff7f7!important;
    color:#d93c43!important;
    border:1px solid #ffd9dc!important;
    border-radius:12px!important;
    box-shadow:0 -10px 20px rgba(255,255,255,.96)!important;
    text-align:center!important;
    font-weight:850!important;
  }
  .sidebar-layout>.admin-sidebar .nav-logout .nav-ico{color:#d93c43!important}
  .sidebar-layout>.admin-sidebar .nav-logout:hover{background:#ffedef!important;border-color:#ffc6cb!important;color:#bd2c34!important}
}

/* Main admin canvas and cards. */
body:not(.auth-body):not(.mport-landing){background:#f6f9fc!important;color:var(--mport-admin-text)!important}
.container.admin-wide{padding:22px 28px 36px!important;max-width:none!important}
.card,.reservation-modern,.calendar-card,.admin-res-card{border-color:#dce7ef!important;box-shadow:0 5px 20px rgba(29,68,97,.045)!important}
.card-head h1{color:#132d47!important;letter-spacing:-.02em!important}
.card-head p{color:#708496!important}

/* Unified action buttons. Keep semantic danger/success, but remove the old neon/green look. */
.btn{border-radius:10px!important;min-height:40px!important;padding:9px 14px!important;font-weight:780!important;box-shadow:none!important;transition:background .15s,border-color .15s,color .15s,transform .15s!important}
.btn:not(.red):not(.ghost):not(.green):not(.blue):not(.secure-btn):not(.moored-btn){background:linear-gradient(135deg,#176cf5,#1e96e8)!important;color:#fff!important}
.btn.blue{background:linear-gradient(135deg,#176cf5,#1e96e8)!important;color:#fff!important}
.btn.green{background:#e9f8f2!important;color:#0e7852!important;border:1px solid #c8ebdc!important}
.btn.green:hover{background:#dff4eb!important}
.btn.red{background:#fff0f1!important;color:#c8333b!important;border:1px solid #ffd0d4!important}
.btn.red:hover{background:#ffe5e7!important}
.btn.ghost{background:#f3f7fa!important;color:#466178!important;border:1px solid #dbe6ee!important}
.btn.ghost:hover{background:#eaf2f7!important;color:#243f56!important}
.btn.small{min-height:34px!important;padding:7px 11px!important;border-radius:9px!important;font-size:12px!important}
.moored-btn:not(:disabled){background:#e9f8f2!important;color:#0e7852!important;border:1px solid #c8ebdc!important}
.moored-btn:disabled{background:#edf2f5!important;color:#788b99!important;border:1px solid #dce5eb!important;opacity:1!important}
.secure-btn{background:#eef5ff!important;color:#1c65ba!important;border:1px solid #d2e4fb!important}

/* Reservation cards: cleaner hierarchy and less visual noise. */
.reservation-modern.admin-res-card{background:#fff!important;border:1px solid #dce7ef!important;border-left:4px solid #a7bac9!important;border-radius:15px!important}
.reservation-modern.admin-res-card.reservation-unseen{border-left-color:#1976f3!important;background:#fbfdff!important}
.reservation-modern .reservation-topline b{color:#102b45!important}
.reservation-modern .reservation-facts{color:#577085!important}
.reservation-modern .arrival-live-estimate{background:#f0faf6!important;border-color:#c8e9da!important;color:#15724e!important}
.moored-meta{background:#effaf5!important;border-color:#c9e9dc!important;color:#15724e!important}
.badge{font-weight:800!important}
.status-cancelled,.admin-status-badge.status-cancelled{background:#fff0f1!important;color:#c3333c!important}

/* Mobile: retain hamburger behaviour, but clean menu/logout and keep header balanced. */
@media(max-width:820px){
  .mport-topbar{height:72px!important;min-height:72px!important;padding:0 70px 0 14px!important}
  .mport-top-brand{width:auto!important;min-width:0!important;align-items:flex-start!important;text-align:left!important}
  .mport-top-brand .mport-brand-image.header-logo{width:145px!important;max-width:145px!important;margin:0!important}
  .mport-top-brand .authority-under-logo{text-align:left!important;max-width:165px!important;font-size:9px!important}
  .mport-topbar .top-actions{display:none!important}
  .sidebar-layout>.admin-sidebar,.admin-sidebar{background:#fff!important;border:1px solid var(--mport-admin-line)!important;color:#496176!important}
  .admin-sidebar a{color:#496176!important;background:#fff!important}
  .admin-sidebar a:hover,.admin-sidebar a:focus{background:#f3f8ff!important;color:#155fbd!important}
  .admin-sidebar .nav-logout{justify-content:center!important;background:#fff7f7!important;color:#d93c43!important;border:1px solid #ffd9dc!important;margin-top:9px!important;padding:12px!important}
  .admin-mobile-menu-btn{background:#fff!important;border:1px solid #d7e5ef!important;box-shadow:0 7px 20px rgba(20,63,91,.10)!important}
  .admin-mobile-menu-btn span{background:#174b73!important}
  .container.admin-wide{padding:14px 12px 28px!important}
}

/* mPORT V211 — LANDING BERTH GEOMETRY REFINEMENT
   Physical rule: quay/pier is land. Every berth starts at the sea-edge of the quay,
   vessel footprint remains fully in water and never runs underneath the quay. */
.mport-dashboard-mock .mock-map{
  min-height:350px!important;
  background:linear-gradient(180deg,#dff6ff 0%,#b9e9fa 46%,#9bdaf1 100%)!important;
}
.mport-dashboard-mock .mock-quay{
  left:34px!important;right:34px!important;top:34px!important;height:58px!important;
  border-radius:9px 9px 2px 2px!important;
  background:linear-gradient(180deg,#ffffff 0%,#eef2f5 100%)!important;
  box-shadow:0 8px 18px rgba(20,66,91,.13)!important;
  z-index:8!important;
}
.mport-dashboard-mock .mock-quay:after{
  bottom:-6px!important;height:6px!important;background:#b8c5cd!important;
  box-shadow:0 2px 0 rgba(75,108,124,.13)!important;
}
.mport-dashboard-mock .mock-berth{
  top:98px!important;width:88px!important;height:150px!important;
  border-width:2px!important;border-radius:0 0 9px 9px!important;
  background:rgba(255,255,255,.10)!important;
  z-index:5!important;
}
.mport-dashboard-mock .mock-berth.b1{left:78px!important}
.mport-dashboard-mock .mock-berth.b2{left:190px!important}
.mport-dashboard-mock .mock-berth.b3{left:302px!important}
.mport-dashboard-mock .mock-berth:before{
  content:""!important;position:absolute!important;left:50%!important;top:-7px!important;
  width:12px!important;height:7px!important;transform:translateX(-50%)!important;
  border-radius:3px 3px 0 0!important;background:#7f9dac!important;opacity:.65!important;
}
.mport-dashboard-mock .mock-vessel{
  left:18px!important;top:13px!important;width:48px!important;height:118px!important;
  clip-path:polygon(50% 0,76% 7%,91% 25%,94% 70%,77% 94%,50% 100%,23% 94%,6% 70%,9% 25%,24% 7%)!important;
  border-radius:0!important;
  z-index:2!important;
}
.mport-dashboard-mock .mock-vessel:before{top:39px!important}
.mport-dashboard-mock .mock-vessel.sail:before{top:20px!important;height:68px!important}
.mport-dashboard-mock .mock-vessel.sail:after{top:21px!important}
.mport-dashboard-mock .mock-vessel.rib:before{top:45px!important}
.mport-dashboard-mock .mock-berth small{bottom:-24px!important;z-index:6!important}

/* communal berths: flush with quay edge, all hulls fully below edge */
.communal-map .cm-quay{
  left:34px!important;right:34px!important;top:36px!important;height:60px!important;
  border-radius:9px 9px 2px 2px!important;z-index:8!important;
}
.communal-map .cm-quay:after{bottom:-6px!important;height:6px!important}
.communal-map .cm-berth{
  top:102px!important;width:96px!important;height:158px!important;
  border-radius:0 0 9px 9px!important;z-index:5!important;
}
.communal-map .cm-berth.c1{left:58px!important}.communal-map .cm-berth.c2{left:176px!important}.communal-map .cm-berth.c3{left:294px!important}.communal-map .cm-berth.c4{left:412px!important}
.communal-map .cm-berth:before{
  content:"";position:absolute;left:50%;top:-7px;width:12px;height:7px;
  transform:translateX(-50%);border-radius:3px 3px 0 0;background:#7f9dac;opacity:.65;
}
.communal-map .cm-berth i{
  left:20px!important;top:14px!important;width:52px!important;height:124px!important;
  clip-path:polygon(50% 0,76% 7%,91% 25%,94% 70%,77% 94%,50% 100%,23% 94%,6% 70%,9% 25%,24% 7%)!important;
  border-radius:0!important;
}
.communal-map .cm-berth i:after{top:43px!important}
.communal-map .cm-berth small{bottom:-25px!important;z-index:6!important}

/* mini feature map follows the same rule instead of drawing boats across the quay. */
.feature-mini-map.sea-map .fm-quay{
  left:22px!important;right:22px!important;width:auto!important;top:28px!important;height:38px!important;
  transform:none!important;border-radius:6px 6px 1px 1px!important;z-index:8!important;
  box-shadow:0 5px 11px rgba(17,63,88,.12)!important;
}
.feature-mini-map.sea-map .fm-quay:after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:#bdcbd3;
}
.feature-mini-map.sea-map .fm-boat{
  top:72px!important;width:28px!important;height:74px!important;transform:none!important;
  clip-path:polygon(50% 0,78% 9%,92% 28%,94% 70%,74% 94%,50% 100%,26% 94%,6% 70%,8% 28%,22% 9%)!important;
  border-radius:0!important;z-index:5!important;
}
.feature-mini-map.sea-map .fm-boat.fb1{left:82px!important;top:72px!important}
.feature-mini-map.sea-map .fm-boat.fb2{left:148px!important;top:72px!important}
.feature-mini-map.sea-map .fm-boat.fb3{left:214px!important;top:72px!important}
.feature-mini-map.sea-map .fm-boat:after{left:7px!important;top:27px!important;width:14px!important;height:20px!important}

@media(max-width:820px){
  .mport-dashboard-mock .mock-quay{left:20px!important;right:20px!important;top:26px!important;height:52px!important}
  .mport-dashboard-mock .mock-berth{top:84px!important;width:70px!important;height:132px!important}
  .mport-dashboard-mock .mock-berth.b1{left:46px!important}.mport-dashboard-mock .mock-berth.b2{left:132px!important}.mport-dashboard-mock .mock-berth.b3{left:218px!important}
  .mport-dashboard-mock .mock-vessel{left:14px!important;top:11px!important;width:38px!important;height:104px!important}
  .communal-map .cm-quay{left:20px!important;right:20px!important;top:28px!important;height:52px!important}
  .communal-map .cm-berth{top:86px!important;width:70px!important;height:136px!important}
  .communal-map .cm-berth.c1{left:30px!important}.communal-map .cm-berth.c2{left:112px!important}.communal-map .cm-berth.c3{left:194px!important}.communal-map .cm-berth.c4{left:276px!important}
  .communal-map .cm-berth i{left:14px!important;top:12px!important;width:38px!important;height:108px!important}
}

/* mPORT V212 — unified admin design system: buttons, popups, dialogs and cards */
:root{
  --mp-primary:#1976f3;
  --mp-primary-2:#22a7e8;
  --mp-navy:#0b2540;
  --mp-text:#17324a;
  --mp-muted:#6d8193;
  --mp-line:#dce8f2;
  --mp-soft:#f5f9fd;
  --mp-danger:#e5484d;
}

/* Admin actions: one consistent visual language. */
.sidebar-layout .btn,
.modal-card .btn,
.berth-popup .btn,
.port-popup .btn,
.map-infowindow .btn,
.map-alert-modal .btn,
.boat-photo-modal-card .btn,
.payment-success-box .btn{
  min-height:40px!important;
  border-radius:11px!important;
  padding:9px 15px!important;
  border:1px solid transparent!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  box-shadow:none!important;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease!important;
}
.sidebar-layout .btn:not(.red):not(.ghost):not(.danger-soft):not(.pv-danger),
.sidebar-layout .btn.green,
.sidebar-layout .btn.blue,
.modal-card .btn:not(.red):not(.ghost):not(.danger-soft):not(.pv-danger),
.berth-popup .btn:not(.red):not(.ghost):not(.danger-soft):not(.pv-danger),
.port-popup .btn:not(.red):not(.ghost):not(.danger-soft):not(.pv-danger),
.map-infowindow .btn:not(.red):not(.ghost):not(.danger-soft):not(.pv-danger){
  background:linear-gradient(135deg,var(--mp-primary),var(--mp-primary-2))!important;
  color:#fff!important;
  border-color:#1976f3!important;
}
.sidebar-layout .btn:hover,.modal-card .btn:hover,.berth-popup .btn:hover,.port-popup .btn:hover,.map-infowindow .btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(25,118,243,.16)!important;
}
.sidebar-layout .btn.ghost,.modal-card .btn.ghost,.berth-popup .btn.ghost,.port-popup .btn.ghost,.map-infowindow .btn.ghost{
  background:#fff!important;color:#38556d!important;border-color:#d7e4ee!important;
}
.sidebar-layout .btn.ghost:hover,.modal-card .btn.ghost:hover{background:#f5f9fd!important;color:#17324a!important}
.sidebar-layout .btn.red,.sidebar-layout .btn.danger-soft,.sidebar-layout .btn.pv-danger,
.modal-card .btn.red,.berth-popup .btn.red,.port-popup .btn.red,.map-infowindow .btn.red{
  background:#fff2f3!important;color:#c9333b!important;border-color:#ffd2d6!important;
}
.sidebar-layout .btn.red:hover,.modal-card .btn.red:hover{background:#ffe7e9!important;box-shadow:0 8px 18px rgba(229,72,77,.10)!important}
.sidebar-layout .btn.small,.modal-card .btn.small,.berth-popup .btn.small,.port-popup .btn.small{min-height:34px!important;padding:7px 11px!important;border-radius:9px!important}
.sidebar-layout .secure-btn{background:#edf5ff!important;color:#1765bd!important;border-color:#d4e5fa!important}
.sidebar-layout .moored-btn:not(:disabled){background:linear-gradient(135deg,var(--mp-primary),var(--mp-primary-2))!important;color:#fff!important;border-color:#1976f3!important}
.sidebar-layout .moored-btn:disabled{background:#edf2f6!important;color:#8495a4!important;border-color:#dce5eb!important}

/* Popup / modal family: same white SaaS card everywhere. */
.modal-backdrop,
.help-modal,
.moored-confirm-modal,
.boat-photo-modal,
.payment-success-overlay{
  background:rgba(8,31,52,.38)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
.modal-card,
.berth-popup,
.port-popup,
.map-infowindow,
.map-alert-modal,
.boat-photo-modal-card,
.payment-success-box,
.popup-reservation-card{
  background:#fff!important;
  color:var(--mp-text)!important;
  border:1px solid var(--mp-line)!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(11,37,64,.18)!important;
}
.modal-card,.boat-photo-modal-card,.payment-success-box{padding:22px!important}
.modal-card h1,.modal-card h2,.modal-card h3,.berth-popup h3,.port-popup h3,.map-infowindow h3,.payment-success-box h2{color:var(--mp-navy)!important;letter-spacing:-.025em!important}
.modal-card p,.berth-popup p,.port-popup p,.map-infowindow p,.popup-reservation-card p{color:var(--mp-muted)!important}
.modal-actions,.live-popup-actions,.map-popup-actions,.popup-alt-actions{gap:9px!important}
.modal-x,.modal-close{
  width:36px!important;height:36px!important;border-radius:10px!important;border:1px solid #dce7ef!important;
  background:#fff!important;color:#5e7487!important;display:grid!important;place-items:center!important;box-shadow:none!important;
}
.modal-x:hover,.modal-close:hover{background:#f3f7fa!important;color:#17324a!important}

/* Forms in admin and dialogs */
.sidebar-layout input:not([type="checkbox"]):not([type="radio"]),
.sidebar-layout select,.sidebar-layout textarea,
.modal-card input:not([type="checkbox"]):not([type="radio"]),.modal-card select,.modal-card textarea{
  border:1px solid #cfdeea!important;border-radius:11px!important;background:#fff!important;color:#17324a!important;box-shadow:none!important;
}
.sidebar-layout input:focus,.sidebar-layout select:focus,.sidebar-layout textarea:focus,
.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{
  outline:none!important;border-color:#65a9ff!important;box-shadow:0 0 0 3px rgba(25,118,243,.10)!important;
}

/* Status colors stay semantic, actions stay mPORT blue. */
.sidebar-layout .alert.success,.sidebar-layout .status-confirmed,.sidebar-layout .status-arrived{background:#eaf9f3!important;color:#11744f!important;border-color:#cbeade!important}
.sidebar-layout .alert.error,.sidebar-layout .status-cancelled,.sidebar-layout .status-no_show{background:#fff1f2!important;color:#c3333c!important;border-color:#ffd7da!important}

/* Header identity: organization label centered under logo without legacy authority terminology. */
.mport-top-brand .authority-under-logo{color:#6f8293!important;font-size:9.5px!important;letter-spacing:.09em!important;max-width:220px!important}

/* Consistent admin cards/tables */
.sidebar-layout main .card{border:1px solid var(--mp-line)!important;border-radius:16px!important;box-shadow:0 6px 22px rgba(15,53,80,.045)!important}
.sidebar-layout table th{color:#526b7f!important;background:#f7fafd!important;font-size:12px!important;text-transform:none!important}
.sidebar-layout table td{color:#29465d!important}

@media(max-width:820px){
  .modal-card,.boat-photo-modal-card,.payment-success-box{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;padding:18px!important;border-radius:16px!important}
  .modal-actions,.live-popup-actions,.map-popup-actions,.popup-alt-actions{display:grid!important;grid-template-columns:1fr!important}
  .modal-actions .btn,.live-popup-actions .btn,.map-popup-actions .btn,.popup-alt-actions .btn{width:100%!important}
}
