:root{--white:#fff;--dark:#0f0f0f;--dark2:#1a1a1a;--mustard:#c8a96e;--border:#e0e0e0;--grey:#6b6b6b;--grey-l:#f7f6f4}
*{box-sizing:border-box}body{margin:0;background:var(--white);font-family:Montserrat,Arial,sans-serif;color:var(--dark);font-size:14px;line-height:1.6}
.appbar{background:var(--dark);color:#fff;min-height:58px;padding:12px 30px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;letter-spacing:.15em;font-size:19px}.brand span{color:var(--mustard)}.status{font-size:10px;letter-spacing:.1em;color:#dfd5be}
.layout{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:calc(100vh - 58px)}aside{background:var(--grey-l);border-right:1px solid var(--border);padding:32px 16px}
.eyebrow{font-size:10px;color:var(--grey);letter-spacing:.18em;text-transform:uppercase}
nav{display:grid;gap:5px;margin-top:17px}.nav{width:100%;border:0;background:transparent;text-align:left;font-family:inherit;font-size:13px;padding:10px 12px;cursor:pointer;color:var(--dark)}
.nav:hover,.nav.active{background:#fff;border-left:3px solid var(--mustard)}.aside-note{font-size:11px;color:var(--grey);margin-top:35px}
main{padding:36px;max-width:1200px;width:100%}h1{font-size:25px;font-weight:600;margin:6px 0 20px}h2{font-size:18px;font-weight:600;margin:0 0 20px}
.notice{background:#fffaf1;border-left:3px solid var(--mustard);padding:15px 20px;margin-bottom:28px;color:#625237}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cards article{border:1px solid var(--border);padding:21px}.cards small{display:block;color:var(--grey)}.cards strong{font-size:29px;font-weight:500}
.empty{border:1px dashed var(--border);padding:35px;text-align:center;color:var(--grey);margin-top:20px}.panel p{color:var(--grey)}
@media(max-width:750px){.layout{grid-template-columns:1fr}aside{padding:12px;overflow-x:auto}nav{display:flex;width:max-content;margin:0}.aside-note{display:none}main{padding:22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.status{font-size:8px}}
[hidden]{display:none!important}.auth-gate{max-width:460px;margin:64px auto;padding:30px;border:1px solid var(--border)}.auth-gate form,#tour-form{display:grid;gap:14px}.auth-gate label,#tour-form label{display:grid;gap:5px;color:var(--grey);font-size:12px}.auth-gate input,#tour-form input,#tour-form select{padding:11px;border:1px solid var(--border);font:inherit}.auth-gate button,#tour-form button{padding:11px;background:var(--dark);color:var(--white);border:0;cursor:pointer}.logout{float:right;background:transparent;border:1px solid var(--border);padding:7px 13px;cursor:pointer}.tour-row{border-bottom:1px solid var(--border);padding:14px 0}.tour-row small{display:block;color:var(--grey)}#auth-message,#tour-status{color:var(--rosso,#8a2b2b)}

#expense-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0 22px}#expense-form label,#finance-manager>label{display:grid;gap:6px;font-size:12px;color:var(--grey)}#expense-form input,#expense-form select,#finance-tour{width:100%;font:inherit;padding:10px;border:1px solid var(--border);background:var(--white)}#expense-form button{padding:12px;color:white;border:0;background:var(--dark);cursor:pointer}@media(max-width:750px){#expense-form{grid-template-columns:1fr}}

#booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}#booking-form label,#activities>label{display:grid;gap:6px;font-size:12px;color:var(--grey)}#booking-form input,#booking-form select,#booking-tour{font:inherit;padding:10px;width:100%;border:1px solid var(--border)}#booking-form fieldset{grid-column:1/-1;border:1px solid var(--border);padding:14px}#booking-participant-options{display:flex;flex-wrap:wrap;gap:12px}.booking-person{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important}.booking-person input{width:auto!important}#booking-form button{padding:12px;border:0;color:#fff;background:var(--dark);cursor:pointer}@media(max-width:750px){#booking-form{grid-template-columns:1fr}}

#expense-payment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 20px}#expense-payment-form label{display:grid;gap:6px;font-size:12px;color:var(--grey)}#expense-payment-form input,#expense-payment-form select{padding:10px;border:1px solid var(--border);font:inherit;min-width:0}#expense-payment-form button,#close-tour{padding:11px 14px;border:0;background:var(--dark);color:#fff;cursor:pointer}#close-tour:disabled{cursor:not-allowed;opacity:.45}@media(max-width:750px){#expense-payment-form{grid-template-columns:1fr}}

#fee-receipt-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 22px}#fee-receipt-form label{display:grid;gap:5px;font-size:12px;color:var(--grey)}#fee-receipt-form select,#fee-receipt-form input{padding:10px;font:inherit;border:1px solid var(--border);min-width:0}#fee-receipt-form button{padding:11px;border:0;background:var(--dark);color:white;cursor:pointer}@media(max-width:750px){#fee-receipt-form{grid-template-columns:1fr}}

#crm-search-form,#enrollment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}#crm-search-form label,#enrollment-form label{display:grid;gap:5px;color:var(--grey);font-size:12px}#crm-search-form input,#enrollment-form input,#enrollment-form select{padding:10px;font:inherit;border:1px solid var(--border);min-width:0}#crm-search-form button,#enrollment-form button{padding:11px;border:0;background:var(--dark);color:white;cursor:pointer}@media(max-width:750px){#crm-search-form,#enrollment-form{grid-template-columns:1fr}}

/* MGM Go operational forms */
#service-form,#vehicles-filter,#vehicle-form,#vehicle-reservation-form {
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0 24px;
}
#service-form label,#vehicles-filter label,#vehicle-form label,#vehicle-reservation-form label,
#service-participant,#statistics-tour {
 font-size:12px;
}
#service-form label,#vehicles-filter label,#vehicle-form label,#vehicle-reservation-form label {
 display:grid;gap:6px;color:var(--grey);
}
#service-form input,#service-form select,#service-form textarea,
#vehicle-form input,#vehicle-reservation-form input,#vehicle-reservation-form select,
#vehicles-filter input,#vehicle-select,#statistics-tour,#service-participant {
 display:block;width:100%;min-width:0;background:var(--white);border:1px solid var(--border);
 font:inherit;padding:11px;border-radius:2px;
}
#service-form .wide-field {grid-column:1/-1}
#service-form button,#vehicles-filter button,#vehicle-form button,#vehicle-reservation-form button {
 padding:12px;border:0;background:var(--dark);color:var(--white);font:inherit;cursor:pointer;
}
.cancel-vehicle,.confirm-booking{
 padding:8px 13px;background:transparent;border:1px solid var(--border);
 color:inherit;font:inherit;cursor:pointer;margin-top:10px;
}
button:disabled {opacity:.55;cursor:not-allowed}
@media(max-width:750px){
 #service-form,#vehicles-filter,#vehicle-form,#vehicle-reservation-form {grid-template-columns:1fr}
}

#tour-edit-form,#team-search-form,#team-assign-form{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0 24px;
}
#tour-edit-form label,#team-search-form label,#team-assign-form label{
 display:grid;gap:6px;color:var(--grey);font-size:12px;
}
#tour-edit-form input,#tour-edit-form select,#team-search-form input,#team-assign-form input,#team-assign-form select,
.participant-state{
 font:inherit;width:100%;min-width:0;border:1px solid var(--border);padding:10px;background:var(--white);
}
#tour-edit-form button,#team-search-form button,#team-assign-form button,.remove-team{
 border:0;background:var(--dark);color:var(--white);font:inherit;padding:12px;cursor:pointer;
}
.remove-team{margin-top:10px;padding:8px 12px;background:transparent;border:1px solid var(--border);color:inherit}
#expense-allocation-options{grid-column:1/-1;border:1px solid var(--border);padding:12px}
#expense-people-options{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:750px){
 #tour-edit-form,#team-search-form,#team-assign-form{grid-template-columns:1fr}
}

#booking-doc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}
#booking-doc-form label,#booking-doc-manager>label{display:grid;gap:6px;color:var(--grey);font-size:12px}
#booking-doc-form input,#booking-doc-form select,#booking-doc-select{
 display:block;font:inherit;width:100%;min-width:0;border:1px solid var(--border);padding:10px;background:var(--white)
}
#booking-doc-form button,.open-private-document{padding:10px 14px;border:1px solid var(--border);
 background:var(--dark);color:var(--white);cursor:pointer;font:inherit}
.open-private-document{margin-top:9px}
@media(max-width:750px){#booking-doc-form{grid-template-columns:1fr}}

#refund-receipt-form,#refund-payment-form{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:13px 0 22px;
}
#refund-receipt-form label,#refund-payment-form label{display:grid;gap:6px;font-size:12px;color:var(--grey)}
#refund-receipt-form input,#refund-receipt-form select,#refund-payment-form input,#refund-payment-form select{
 font:inherit;border:1px solid var(--border);padding:10px;min-width:0;background:var(--white);
}
#refund-receipt-form button,#refund-payment-form button{
 padding:11px;border:1px solid var(--border);background:var(--dark);color:var(--white);cursor:pointer;
}
@media(max-width:750px){#refund-receipt-form,#refund-payment-form{grid-template-columns:1fr}}
