:root{color:#1d2730;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f6f8;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#284b63;border:0;border-radius:.45rem;padding:.7rem 1rem;font-weight:650}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;display:flex}.sidebar{color:#e9eef1;background:#18252f;flex-direction:column;flex:0 0 16rem;padding:1.25rem;display:flex}.brand{align-items:center;gap:.7rem;margin-bottom:2.25rem;font-size:1.05rem;font-weight:700;display:flex}.brand-mark{color:#19262f;letter-spacing:.04em;background:#bba577;border-radius:.45rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.8rem;font-weight:800;display:inline-flex}.sidebar nav{gap:.25rem;display:grid}.sidebar a{color:#bdc8cf;border-radius:.4rem;padding:.65rem .75rem;text-decoration:none}.sidebar a.active,.sidebar a:hover{color:#fff;background:#28414f}.main-content{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e2e6e9;justify-content:space-between;align-items:center;min-height:4.5rem;padding:.75rem 2rem;display:flex}.topbar select{color:#26343e;border:1px solid #ccd5db;border-radius:.4rem;padding:.5rem}.user-menu{align-items:center;gap:1rem;font-size:.9rem;display:flex}.text-button{color:#284b63;background:0 0;padding:.4rem}main:not(.login-page){max-width:75rem;margin:0 auto;padding:2.5rem 2rem}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-heading h1,.login-card h1,.info-card h2,.empty-state h2{color:#1d2730;margin:0}.page-heading p:not(.eyebrow),.info-card p,.empty-state p,.login-card>p{color:#61707c;line-height:1.55}.eyebrow{color:#8c7444;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.75rem;font-weight:750}.info-card,.empty-state{background:#fff;border:1px solid #e2e6e9;border-radius:.75rem;padding:1.5rem}.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.dashboard-cards h2{margin:.25rem 0;font-size:2rem}.setup-card{background:#fff;border:1px solid #e2e6e9;border-radius:.75rem;padding:1.5rem}.setup-card h2{margin:0}.setup-card>div>p{color:#61707c;line-height:1.55}.hotel-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.hotel-form label{gap:.4rem;font-size:.85rem;font-weight:650;display:grid}.hotel-form input,.hotel-form select,.hotel-form textarea{color:#26343e;resize:vertical;border:1px solid #c9d2d8;border-radius:.4rem;padding:.65rem}.full-width{grid-column:1/-1}.form-success{color:#216c46;margin:0;font-size:.9rem}.room-type-form-card{margin-top:1.5rem}.translation-fieldset{border:1px solid #dbe2e6;border-radius:.5rem;gap:.75rem;margin:0;padding:1rem;display:grid}.translation-fieldset legend{color:#8c7444;padding:0 .3rem;font-size:.8rem;font-weight:700}.annual-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.annual-date-range fieldset{border:1px solid #dbe2e6;border-radius:.5rem;margin:0;padding:1rem}.annual-date-range legend{color:#8c7444;padding:0 .3rem;font-size:.8rem;font-weight:700}.annual-date-picker{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:.75rem;display:grid}.field-help{color:#61707c;font-size:.8rem;font-weight:400;line-height:1.4}.checkbox-label{grid-column:1/-1;justify-self:start;align-items:center;width:fit-content;display:flex!important}.checkbox-label input{width:auto}.form-actions{justify-content:flex-end;gap:.75rem;display:flex}.price-row{border-top:1px solid #edf0f2;grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) minmax(10rem,1fr);align-items:end;gap:1rem;padding:1rem 0;display:grid}.price-row strong{padding-bottom:.7rem}.secondary-button{color:#284b63;background:#e8edef}.empty-state{text-align:center;min-height:16rem;padding-top:4rem}.filter-bar{background:#fff;border:1px solid #e2e6e9;border-radius:.75rem;align-items:end;gap:1rem;margin-bottom:1.25rem;padding:1rem;display:flex}.filter-bar label{gap:.4rem;font-size:.85rem;font-weight:650;display:grid}.filter-bar input{color:#26343e;border:1px solid #c9d2d8;border-radius:.4rem;padding:.6rem}.table-container{background:#fff;border:1px solid #e2e6e9;border-radius:.75rem;overflow-x:auto}.view-switcher{gap:.75rem;margin:0 0 1.25rem;display:flex}.availability-calendar{background:#fff;border:1px solid #e2e6e9;border-radius:.75rem;padding:1.5rem}.calendar-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-toolbar h2{margin:0}.calendar-toolbar p{color:#61707c;margin:.45rem 0 0;line-height:1.5}.calendar-navigation{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.availability-grid{min-width:52rem;overflow:auto}.availability-grid-row{grid-template-columns:minmax(10rem,1.4fr) repeat(7,minmax(5.5rem,1fr));display:grid}.availability-grid-row>div{border-bottom:1px solid #edf0f2;border-right:1px solid #edf0f2;min-height:4.25rem;padding:.75rem}.availability-grid-row>div:last-child{border-right:0}.availability-grid-heading>div{color:#61707c;letter-spacing:.05em;text-transform:uppercase;min-height:auto;font-size:.75rem;font-weight:700}.availability-grid-heading strong{color:#1d2730;letter-spacing:normal;text-transform:none;margin-top:.25rem;font-size:.85rem;display:block}.calendar-room{gap:.25rem;display:grid}.calendar-room span{color:#61707c;font-size:.8rem}.availability-cell{margin:.45rem;min-height:3.3rem!important;padding:0!important}.availability-grid .availability-cell{cursor:pointer}.availability-grid .availability-cell:hover{box-shadow:inset 0 0 0 2px #284b63}.availability-free{background:#b8dfc8}.availability-booked{background:#df6c63}.availability-maintenance{background:#fff3d9}.availability-unavailable{background:#e8edef}.calendar-legend{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.calendar-legend span{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.calendar-legend i{border-radius:.2rem;width:1rem;height:1rem;margin:0;display:inline-block;min-height:auto!important}.calendar-block-form{border-top:1px solid #e2e6e9;margin-top:1.5rem;padding-top:1.5rem}.calendar-block-form h3{margin:0}.danger-button{background:#9b2921;margin-right:auto}.assignment-line{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.assignment-form{gap:1rem;max-width:38rem;margin-top:1.5rem;display:grid}.narrow-card{max-width:38rem}.assignment-form h2,.assignment-form p{margin:0}.assignment-form p{color:#61707c}.assignment-form label{gap:.4rem;font-size:.85rem;font-weight:650;display:grid}.assignment-form select,.assignment-form input{color:#26343e;border:1px solid #c9d2d8;border-radius:.4rem;padding:.65rem}.reservation-actions{flex-wrap:wrap;gap:.5rem;display:flex}table{border-collapse:collapse;width:100%;min-width:44rem}th,td{text-align:left;border-bottom:1px solid #edf0f2;padding:1rem}th{color:#61707c;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}tbody tr:last-child td{border-bottom:0}.table-subtext{color:#61707c;margin-top:.25rem;font-size:.85rem;display:block}.status{border-radius:999px;padding:.3rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.status-positive{color:#216c46;background:#e4f4eb}.status-warning{color:#865b00;background:#fff3d9}.status-negative{color:#9b2921;background:#f9e4e3}.status-neutral{color:#405563;background:#e8edef}.login-page{background:linear-gradient(135deg,#f5f6f8 0%,#e6ebed 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #e1e5e8;border-radius:.85rem;width:100%;max-width:25rem;padding:2rem;box-shadow:0 1rem 3rem #14252f1a}.login-card .brand-mark{margin-bottom:1.25rem}.login-card form{text-align:left;gap:1rem;margin-top:1.75rem;display:grid}.login-card label{gap:.45rem;font-size:.9rem;font-weight:650;display:grid}.login-card input{border:1px solid #c9d2d8;border-radius:.4rem;padding:.7rem}.login-card input:focus,.topbar select:focus{outline-offset:1px;outline:3px solid #bba57759}.form-error{color:#b42318;margin:0;font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=48rem){.app-shell{display:block}.sidebar{padding:1rem}.sidebar .brand{margin-bottom:1rem}.sidebar nav{display:flex;overflow-x:auto}.sidebar a{white-space:nowrap}.topbar,main:not(.login-page){padding-left:1rem;padding-right:1rem}.filter-bar,.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-navigation{justify-content:flex-start}.hotel-form,.annual-date-range{grid-template-columns:1fr}}
