*{box-sizing:border-box}body{margin:0;background:#f7f5ef;color:#263e38;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1200px;margin:auto;padding:0 28px 32px}nav{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dce0d7}a{color:inherit}nav a{text-decoration:none}nav>div{display:flex;align-items:center;gap:24px;font-size:13px}.brand{font-family:Georgia,serif;font-size:25px;font-weight:700}.active{border-bottom:2px solid #256450;padding-bottom:7px}header{padding:48px 0 28px}small{font-size:10px;font-weight:650;letter-spacing:1.4px;color:#7c806a}h1{font:44px/1.12 Georgia,serif;letter-spacing:-1px;margin:14px 0 18px}header p{max-width:610px;color:#708079;font-size:15px}h2{font:27px/1.2 Georgia,serif;margin:5px 0 10px}h3{font:23px/1.2 Georgia,serif;margin:8px 0 10px}.notice{background:#eee9db;padding:10px 15px;border-radius:8px;font-size:12px;color:#766e59}.filters{display:flex;align-items:end;gap:14px;margin:20px 0 30px;padding:20px;background:white;border:1px solid #dfe2d9;border-radius:12px}.filters label{flex:1;margin:0}.filters button{white-space:nowrap}label{display:block;color:#6a786e;font-size:12px;margin:12px 0}input,textarea{width:100%;display:block;border:1px solid #d4dcd1;background:white;border-radius:7px;padding:11px;color:#263e38;font:14px system-ui;margin-top:6px}textarea{resize:vertical}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #c0d6c3;outline-offset:2px}button,.button{font:600 13px system-ui;background:#245f4b;color:white;border:0;border-radius:7px;padding:13px 18px;cursor:pointer;display:inline-block;text-decoration:none}button:hover,.button:hover{background:#184a38}button:disabled{opacity:.48;cursor:default}.light{background:#eeeFE9;color:#405c4b}.light:hover{background:#dfe7dc}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 16px}.section-head>span{font-size:12px;color:#7e897a}#status,#message{font-size:13px;color:#686c50}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.room-card{background:white;border:1px solid #dfe2d9;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.photo{display:block;width:100%;padding:0;position:relative;height:180px;border-radius:0;background:#e4e8de;color:#7e897a;overflow:hidden}.photo:disabled{opacity:1}.photo img{width:100%;height:100%;object-fit:cover}.photo>span:not(.photo-empty){position:absolute;bottom:12px;right:12px;border-radius:5px;background:#ffffffdf;color:#335142;padding:5px 8px;font-size:10px}.photo-empty{font-size:12px;font-weight:400}.room-content{padding:20px;display:flex;flex:1;flex-direction:column}.room-content small{letter-spacing:1px}.capacity{font-size:12px;color:#788575;margin:0 0 12px}.description{font-size:13px;color:#718077;margin:0 0 22px;white-space:pre-line}.room-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.room-bottom strong{font-size:17px}.room-bottom span{display:block;font-size:11px;color:#8b9388}.availability{font-size:11px;color:#928d79;margin:12px 0 0}.free{color:#28734a}.sauna-card{margin-top:35px;padding:30px;background:#e5ecdf;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:25px}.sauna-card p{font-size:13px;color:#6c7c66;max-width:600px}.sauna-card .button{flex-shrink:0}footer{margin-top:40px;color:#8a9186;font-size:11px;border-top:1px solid #dce0d7;padding-top:20px}dialog{border:1px solid #d7ded1;border-radius:15px;padding:24px;width:min(540px,94vw);max-height:90vh;overflow:auto;color:#263e38}dialog::backdrop{background:#172d2666}dialog .section-head{margin-top:0}dialog h2{font-size:24px}.quote{background:#edf2e6;border:1px solid #d4dfca;border-radius:10px;padding:18px}.quote strong{display:block;font-size:28px}.quote small{letter-spacing:0;font-weight:400}#book>button{width:100%}.muted{font-size:12px;color:#7a8676}#error{color:#a83f32;font-size:13px}#gallery{width:min(900px,94vw)}#gallery-images img{width:100%;display:block;border-radius:8px;margin:15px 0}.admin-header{padding:32px 0 12px}.admin-header h1{font-size:36px}.box{padding:22px;background:#fff;border:1px solid #dfe2d9;border-radius:12px;margin:20px 0}#auth{max-width:440px;margin:30px auto}#settings{padding:0;border:0;margin:10px 0}.example{font-size:13px;color:#6c7966}.example summary{font-weight:650;cursor:pointer;color:#345743}.editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.editors .box{margin:0}.room-editor .section-head{margin:0 0 12px}.room-editor .section-head h3{font-size:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox{display:flex;align-items:center;gap:8px;color:#375b45}.checkbox input{width:auto;margin:0}.card-message{font-size:12px;color:#3e714f}.thumbs{display:flex;flex-wrap:wrap;gap:10px}.thumbs>div{width:90px}.thumbs img{width:90px;height:70px;object-fit:cover;border-radius:6px}.thumbs button{padding:6px;font-size:10px;width:100%}hr{border:0;border-top:1px solid #e5e8df;margin:20px 0}.calendar-scroll{overflow:auto}table{border-collapse:collapse;min-width:900px;width:100%;font-size:11px}th,td{padding:12px 8px;border:1px solid #e0e5dc;text-align:center;min-width:48px}th{background:#f4f6ef;font-weight:500}th:first-child{position:sticky;left:0;min-width:140px;text-align:left;z-index:1}.occupied{background:#cebd91;color:#4c431f}.vacant{background:#e3efdc;color:#4e7d40}.draft{background:#f0f0ec;color:#a4ab9e}.booking-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid #e0e5dc;font-size:13px}.booking-row p{margin:5px 0;color:#788172}[hidden]{display:none!important}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:38px}}@media(max-width:600px){main{padding:0 16px 24px}nav{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 0}.brand{font-size:23px}nav>div{gap:18px;font-size:12px}header{padding:28px 0 18px}h1{font-size:32px}.filters{flex-wrap:wrap;padding:14px;gap:10px}.filters label{flex:1 1 42%}.filters>button{width:100%}.cards,.editors{grid-template-columns:1fr}.section-head{align-items:flex-start}.section-head>span{max-width:140px;text-align:right}.photo{height:200px}.sauna-card{padding:22px;align-items:stretch;flex-direction:column;gap:12px}.box{padding:16px}.two{grid-template-columns:1fr 1fr}.booking-row{align-items:flex-start;flex-direction:column}}
.hotel-timeline-page header{padding:26px 0 15px}.hotel-timeline-page h1{font-size:34px;margin:10px 0}.hotel-timeline-page header p{margin:8px 0}.hotel-timeline-page .filters{margin:14px 0;padding:14px}.hotel-timeline-page .section-head{margin:18px 0 8px}.hotel-grid-wrap{overflow:auto;border:1px solid #dce3d5;border-radius:11px;background:#fff}.hotel-grid-row{display:grid;width:max-content;min-height:63px;border-bottom:1px solid #e1e7dd}.hotel-grid-row:last-child{border-bottom:0}.hotel-room-name{position:sticky;left:0;z-index:2;background:white;padding:10px 12px;border-right:1px solid #dce3d5;display:flex;flex-direction:column;justify-content:center}.room-details{padding:0;text-align:left;background:transparent;color:#294b3a;font-size:13px}.room-details:hover{background:transparent;text-decoration:underline}.hotel-room-name small{font-size:10px;letter-spacing:0;font-weight:400;margin-top:3px}.hotel-grid-head{min-height:48px;background:#f0f4e9;font-size:12px}.hotel-grid-head .hotel-room-name{background:#f0f4e9}.night-heading{padding:7px;text-align:center;color:#5e7560}.night-heading small{display:block;font-size:9px;letter-spacing:0;font-weight:400}.night{border-radius:0;border-right:1px solid #cadfbd;background:#e4f1db;color:#3e6636;font-size:11px;padding:5px;scroll-margin-left:195px;scroll-margin-right:8px}.night:hover{background:#cce3be}.night.chosen{background:#286a46;color:white;box-shadow:inset 0 -3px #a5cb8e}.night-gap{background:#f6f7f3;border-right:1px solid #e8ece1}.stay-selection{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#e2eed9;border:1px solid #b8d0a9;border-radius:10px;padding:13px 16px;margin:14px 0}.stay-selection strong,.stay-selection span,.stay-selection b{display:block}.stay-selection strong{font-size:16px;margin:3px 0}.stay-selection span{font-size:12px;color:#647854}.stay-selection b{font-size:24px;color:#245535;margin-top:5px}.selection-actions{display:flex;gap:8px}.hotel-timeline-page .sauna-card{padding:18px 22px;margin-top:22px}@media(max-width:600px){.hotel-timeline-page h1{font-size:27px}.hotel-grid-row{grid-template-columns:140px repeat(14,78px)!important;min-height:67px}.hotel-room-name{padding:9px}.night{scroll-margin-left:145px}.stay-selection{align-items:stretch;flex-direction:column;gap:10px}.selection-actions{justify-content:flex-end}.hotel-timeline-page .filters label{flex:1 1 40%}}

.night-preview{border-radius:0;border-right:1px solid #dddcc9;background:#eeeedd;color:#6c7154;font-size:11px;padding:5px}.night-preview:disabled{opacity:1;cursor:default}.night-preview:hover{background:#eeeedd}

.room-photo-preview{display:block;position:relative;width:100%;height:74px;padding:0;border-radius:6px;overflow:hidden;margin-bottom:7px;background:#e6eadd}.room-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}.room-photo-preview span{position:absolute;bottom:4px;right:4px;background:#ffffffea;color:#2a4a38;padding:2px 5px;border-radius:4px;font-size:9px}.room-photo-preview:hover{box-shadow:0 0 0 2px #8caf77}@media(max-width:600px){.room-photo-preview{height:62px}}

/* Sibirak: two clear services, separate management */
.sibir-nav{min-height:72px}.sibir-nav>span{font-size:12px;color:#73816b}.hotel-timeline-page .sibir-hero{padding:24px 0 14px}.hotel-timeline-page .sibir-hero h1{font-size:35px}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 18px}.service-choices>button{display:flex;align-items:center;gap:16px;text-align:left;padding:20px 24px;background:#fff;color:#345444;border:2px solid #dce3d5;border-radius:13px}.service-choices>button[aria-selected=true]{border-color:#28664b;background:#e5efde;box-shadow:0 3px 12px #183c1e0b}.service-choices b{display:block;font-family:Georgia,serif;font-size:25px;font-weight:500}.service-choices small{display:block;letter-spacing:0;font-size:12px;font-weight:400;color:#76806c;margin-top:5px}.service-symbol{font-size:34px;font-weight:400;line-height:1;color:#638554}.sibir-test{font-size:11px;background:transparent;padding:0;margin-bottom:18px;color:#88917f}#sauna-frame{width:100%;border:0;display:block;min-height:620px;background:#f7f5ef}#hotel-panel>.section-head{padding-top:5px}#hotel-panel .filters{margin-top:12px}.admin-sections{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.admin-sections button{background:white;color:#526c53;border:1px solid #d6dfcd;padding:12px 17px}.admin-sections button[aria-selected=true]{background:#285f49;color:#fff;border-color:#285f49}.room-editor{align-self:start}.editors{align-items:start}@media(max-width:600px){.sibir-nav{flex-direction:row;align-items:center;min-height:65px}.sibir-nav>span{max-width:125px;text-align:right;font-size:10px}.hotel-timeline-page .sibir-hero h1{font-size:28px}.service-choices{gap:9px}.service-choices>button{padding:13px 10px;gap:9px}.service-choices b{font-size:20px}.service-choices small{font-size:10px;line-height:1.4}.service-symbol{font-size:24px}.service-choices>button{align-items:flex-start}.admin-sections{display:grid;grid-template-columns:1fr 1fr}.admin-sections button{padding:11px 8px;font-size:12px}}

.guest-account{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:#73816b}.guest-account a{font-size:12px;font-weight:600;color:#285f49;text-decoration:underline}.sibir-nav>.guest-account{gap:4px}@media(max-width:600px){.guest-account{max-width:150px;text-align:right;font-size:10px}}

#back-to-admin{display:inline-block;padding:9px 12px;border:1px solid #b7cbb0;border-radius:7px;background:white;font-size:13px;text-decoration:none;font-weight:650}#guest-admin-login>[type=submit]{width:100%}#admin-login-error{color:#a73e31;font-size:13px}.guest-account #back-to-admin:hover{background:#e5efde}
#admin-login-dialog{overflow-x:hidden;padding:20px}#admin-login-dialog .section-head{display:block;margin:20px 0 12px}#admin-login-dialog h2{font-size:23px;overflow-wrap:anywhere}#admin-login-close{position:absolute;top:10px;right:10px;font-size:11px;padding:6px 8px}#admin-login-dialog input{min-width:0}

#sauna-admin-frame{width:100%;min-height:850px;border:0;display:block;background:#f7f5ef}

.call-guest{display:inline-block;background:#245f4b;color:white;text-decoration:none;border-radius:7px;padding:12px 15px;font-weight:600;white-space:nowrap}.call-guest:focus-visible{outline:3px solid #a2cbae;outline-offset:2px}
