*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1f2933}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#0f2740;color:white;padding:24px 18px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px}.brand strong,.brand span{display:block}.brand span{font-size:12px;opacity:.75;margin-top:3px}.brand-star{font-size:32px}.brand-star.large{font-size:52px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#dce7ef;text-decoration:none;padding:11px 12px;border-radius:8px}.sidebar nav a:hover{background:#173b5e;color:white}main{min-width:0}.topbar{background:white;padding:22px 28px;border-bottom:1px solid #dce2e8;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:25px}.topbar p{margin:5px 0 0;color:#607080}.top-actions{display:flex;gap:12px;align-items:center}.top-actions a{text-decoration:none;color:#12517d}.content{padding:28px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.card{background:white;border:1px solid #dfe5ea;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(16,42,67,.05)}.metric span{display:block;color:#627384;font-size:14px}.metric strong{display:block;font-size:30px;margin-top:10px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-header h2{margin:0}.button,button{background:#17679a;color:white;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e6ebef}th{font-size:13px;color:#566575;background:#f8fafb}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:grid;gap:7px;font-weight:600;font-size:14px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:10px;border:1px solid #bdc8d2;border-radius:7px;font:inherit}.form-grid textarea{min-height:100px}.wide{grid-column:1/-1}.form-actions{grid-column:1/-1}.alert{padding:12px 18px;margin:18px 28px 0;border-radius:8px}.alert.success{background:#e7f7ed;color:#216b3a}.alert.danger{background:#fde9e7;color:#922d26}.alert.warning{background:#fff3d6;color:#805c00}.login-page{min-height:100vh;display:grid;place-items:center;background:#0f2740;padding:20px}.login-card{width:min(420px,100%);background:white;border-radius:14px;padding:34px;display:grid;gap:16px;text-align:center}.login-card h1{margin:0}.login-card p{margin-top:-8px;color:#607080}.login-card label{text-align:left;display:grid;gap:6px;font-weight:600}.login-card input{padding:11px;border:1px solid #bdc8d2;border-radius:7px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.cards{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;gap:12px}.form-grid{grid-template-columns:1fr}.wide,.form-actions{grid-column:auto}}@media(max-width:560px){.cards{grid-template-columns:1fr}.content{padding:16px}.topbar{padding:18px;flex-direction:column}.top-actions{flex-wrap:wrap}.card{overflow-x:auto}}

.language-panel{margin-bottom:22px;padding:12px;background:rgba(255,255,255,.07);border-radius:9px}.language-panel>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:#c9d8e4}.language-buttons,.login-language,.dashboard-language{display:flex;gap:8px;align-items:center}.language-buttons a,.login-language a,.dashboard-language a{padding:7px 10px;border-radius:7px;text-decoration:none}.language-buttons a{color:#dce7ef;background:rgba(255,255,255,.06)}.language-buttons a.active{background:white;color:#0f2740}.dashboard-language{padding:6px 8px;background:#eef4f8;border-radius:8px}.dashboard-language span{font-size:13px;color:#526575}.dashboard-language a{color:#17679a}.dashboard-language a.active{background:#17679a;color:white}.login-language{justify-content:center}.login-language a{background:#edf3f7;color:#17679a}.login-language a.active{background:#17679a;color:white}

.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.detail-grid div{display:grid;gap:5px}.detail-grid span{font-size:13px;color:#627384}.detail-grid strong{font-size:18px}.form-grid small{font-weight:normal;color:#7a5c00;background:#fff6d9;padding:7px;border-radius:6px}
@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.detail-grid{grid-template-columns:1fr}}

.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;text-align:center;margin-bottom:20px}.calendar-toolbar h2{margin:0 0 6px}.button.secondary{background:#e8eef3;color:#174f72}.occupancy-bar{width:110px;height:8px;background:#e6ebef;border-radius:99px;overflow:hidden;margin-bottom:4px}.occupancy-bar span{display:block;height:100%;background:#17679a}.full-row{background:#fff0ee}.cancelled-row{opacity:.58;text-decoration:line-through}.danger-button{background:#a83232!important;color:white!important;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;display:inline-block}.stacked-label{display:grid;gap:8px;font-weight:600}.stacked-label textarea{padding:10px;border:1px solid #bdc8d2;border-radius:7px;font:inherit}.reservation-actions{margin-top:20px}.availability-table small{color:#627384}
@media(max-width:800px){.calendar-toolbar{gap:10px}.calendar-toolbar .button{font-size:12px;padding:8px}.availability-table{min-width:900px}}

.view-switch{display:flex;justify-content:center;gap:8px;margin-top:8px}.view-switch a{padding:6px 10px;border-radius:7px;background:#edf3f7;color:#17679a;text-decoration:none}.view-switch a.active{background:#17679a;color:white}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dbe3e9;border:1px solid #dbe3e9}.weekday-label{background:#eef3f6;padding:10px;text-align:center;font-weight:700;font-size:13px}.calendar-day{background:white;min-height:130px;padding:8px}.calendar-day.empty{background:#f6f8fa}.day-number{font-weight:700;margin-bottom:8px}.departure-chip{display:grid;gap:3px;background:#eef6fb;border-left:4px solid #17679a;padding:7px;border-radius:6px;margin-bottom:6px;font-size:12px}.departure-chip span,.departure-chip small{color:#5d6f7f}.notice-box{background:#eef6fb;border:1px solid #cfe1ed;border-radius:8px;padding:12px}
@media(max-width:900px){.month-grid{min-width:900px}.content{overflow-x:auto}}

.weekdays-panel{background:#f7fafc;border:1px solid #dbe3e9;border-radius:8px;padding:14px}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.checkbox-row label{display:flex;align-items:center;gap:5px;font-weight:normal}.inline-form{display:inline}.text-danger{background:none!important;color:#a83232!important;padding:0 0 0 8px}.departure-chip a{font-size:11px;color:#17679a;text-decoration:none}

.reservation-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:22px;align-items:start}.quote-panel{position:sticky;top:20px}.quote-panel h2{margin-top:0}.quote-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e7ecef}.quote-line span{color:#5f7181}.quote-line strong{white-space:nowrap}.total-line{font-size:20px;border-top:2px solid #173b5e;margin-top:8px}.due-line{background:#eef7fb;margin:10px -8px 0;padding:12px 8px;border-radius:8px}.full-width{width:100%;margin-top:18px}.quote-help{font-size:12px;color:#6d7d8b;line-height:1.5}
@media(max-width:1000px){.reservation-layout{grid-template-columns:1fr}.quote-panel{position:static}}

#rate-status.rate-found{background:#e7f7ed;border-color:#a6d8b6;color:#216b3a}

.form-section-title{margin:8px 0 0;padding-bottom:8px;border-bottom:1px solid #dfe5ea}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-card{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;padding:12px;border:1px solid #d8e1e8;border-radius:8px;background:#f8fafb}.check-card input{width:auto!important}.compact-rules{display:flex;flex-wrap:wrap;gap:5px}.compact-rules span{font-size:11px;background:#edf4f8;padding:4px 6px;border-radius:5px}.action-cell{white-space:nowrap}.link-button{background:none!important;color:#17679a!important;padding:0 0 0 8px!important}.inactive-row{opacity:.6}@media(max-width:700px){.checkbox-grid{grid-template-columns:1fr}}

.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#edf3f7}
.status-available{background:#e4f4e9;color:#176b35}.status-out_of_service,.status-blocked{background:#fae7e7;color:#9b2727}.status-maintenance{background:#fff2d5;color:#855b00}.status-crew_use{background:#e9e8f8;color:#48408b}
.unavailable-row{background:#faf4f4;color:#687784}.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{width:auto}
.quote-product{font-weight:700;font-size:15px;background:#eef6fb;padding:10px;border-radius:8px;margin-bottom:8px}.savings-line{color:#176b35}.third-line{background:#f8fbfd;margin:0 -5px;padding-left:5px;padding-right:5px}.sales-message{margin-top:14px;padding:11px;border-radius:8px;background:#e8f5eb;color:#176b35;font-weight:600;line-height:1.4}.rate-found{background:#e8f5eb!important;border-color:#b7dfc0!important}

.payment-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.action-metric{display:flex;align-items:center;justify-content:center}.payment-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#eef6fb}.payment-preview div{display:grid;gap:4px}.payment-preview span{font-size:12px;color:#607586}.payment-preview strong{font-size:18px}.negative-payment{background:#fff1f0;color:#8e2f2f}.payment-reservation-panel{margin-top:20px}
@media(max-width:900px){.payment-metrics,.payment-preview{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.payment-metrics,.payment-preview{grid-template-columns:1fr}}

.global-test-banner{position:sticky;top:0;z-index:1000;background:#b45f06;color:#fff;text-align:center;padding:9px 15px;font-weight:800;letter-spacing:.04em}
.test-mode-public{background:#b45f06;color:#fff;text-align:center;padding:10px;font-weight:800}
.button-group{display:flex;gap:10px;flex-wrap:wrap}.paypal-button{background:#0070ba!important}.copy-link-row{display:grid;grid-template-columns:1fr auto;gap:10px}.copy-link-row input{min-width:0}
.public-checkout-body{margin:0;min-height:100vh;background:#edf3f7;display:grid;align-items:center;padding:24px;font-family:Arial,sans-serif;color:#17364c}.public-checkout-card{width:min(640px,100%);box-sizing:border-box;margin:auto;background:#fff;padding:32px;border-radius:16px;box-shadow:0 12px 34px rgba(20,51,73,.16)}.checkout-brand{font-size:20px;color:#17679a;margin-bottom:20px}.checkout-summary{display:grid;gap:0;border:1px solid #dbe5eb;border-radius:10px;overflow:hidden;margin:22px 0}.checkout-summary>div{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:1px solid #e4ebef}.checkout-summary>div:last-child{border-bottom:0}.checkout-summary span{color:#607586}.checkout-amount{font-size:20px;background:#eef7fb}.success-checkout{text-align:center}.success-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#e4f4e9;color:#176b35;font-size:42px;margin:0 auto 18px}paypal-button{display:block;min-height:48px}
@media(max-width:640px){.copy-link-row{grid-template-columns:1fr}.public-checkout-card{padding:22px}.checkout-summary>div{display:grid;gap:5px}}
