*{box-sizing:border-box}body{margin:0;background:#f4f7f6;color:#152e2c;font:15px system-ui,sans-serif;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{background:#102c2c;color:#d9e8e3;padding:26px 16px;display:flex;flex-direction:column;gap:16px}.brand{font-size:26px;font-weight:750;letter-spacing:-1px;padding:0 8px}.brand b{color:#81dec2}.brand span{font-size:11px;letter-spacing:1px;margin-left:8px;color:#81dec2}.property{border:1px solid #37514f;background:#1c3837;border-radius:10px;padding:12px;font-weight:650}.property small{display:block;padding-left:22px;color:#a9c3be;font-weight:400}.label,header,.eyebrow{letter-spacing:1.4px;font-size:11px;font-weight:750}.label{color:#9bb3ae;margin:10px 8px 0}nav{display:grid;gap:6px}nav button{text-align:left;background:none;color:inherit;border:0}nav .active{background:#2b514a;color:#a0f2d5}.demo{margin-top:auto;font-size:12px;color:#a5cfc2;padding:10px}header{height:66px;background:white;border-bottom:1px solid #e0e9e5;display:flex;align-items:center;justify-content:space-between;padding:0 32px}i{font-style:normal;border-radius:50%;padding:9px;background:#d9eee6}article{padding:28px 32px;max-width:1500px;margin:auto}.hero{background:linear-gradient(115deg,#123e39,#226654);color:white;padding:28px 30px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.hero p{color:#c9e4db;margin-bottom:0}.eyebrow{color:#9de1c9}h1{font-size:32px;letter-spacing:-1px;margin:6px 0}h2{font-size:19px;margin:0 0 14px}.cards,.columns{display:grid;gap:14px;margin:18px 0}.cards{grid-template-columns:repeat(4,1fr)}.columns{grid-template-columns:1.25fr 1fr}.card,.panel{background:white;border:1px solid #dde7e3;border-radius:13px;padding:17px}.card strong{display:block;font-size:26px;margin-top:8px}.muted{color:#526c66}.panel{margin-bottom:14px;min-width:0}.scroll{overflow:auto}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #edf1ef}.badge{display:inline-block;background:#def1e8;color:#175943;padding:4px 8px;border-radius:20px;font-size:12px;white-space:nowrap}button{cursor:pointer;border:1px solid #d9e6df;background:white;border-radius:8px;padding:9px 12px;color:#174b3f;font:600 13px system-ui}button:hover{filter:brightness(.94)}.primary{background:#12624e;color:white;border-color:transparent}.hero .primary{background:#b3f0d9;color:#113d32}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th,td{padding:11px 9px;border-bottom:1px solid #e8efeb}th{font-size:12px;color:#526c66}td button{margin:2px}dialog{border:0;border-radius:15px;width:min(92vw,460px);padding:25px;color:#152e2c}dialog::backdrop{background:#102c2c99}label{display:grid;gap:5px;margin:10px 0;font-weight:600}input,select{font:inherit;padding:9px;border:1px solid #c8d9d3;border-radius:7px;width:100%}footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.occupied{background:#ddf2e9;color:#175943}.empty{padding:14px 0;color:#526c66}@media(max-width:850px){body{display:block}aside{gap:9px;padding:12px}.property,.label,.demo{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}article,header{padding:16px}.cards{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:480px){.hero{display:block}.hero button{margin-top:14px}}
.toolbar{display:flex;gap:6px;align-items:center}.toolbar a{margin-left:8px;color:#175943;text-decoration:none;letter-spacing:0}.toolbar button[aria-pressed=true]{background:#d9eee6}.property button{margin-top:8px}.space-list{margin-top:18px}.space-list .row{min-height:52px}.busy{pointer-events:none;opacity:.65}.hero h1{overflow-wrap:anywhere}@media(max-width:850px){.property{display:block}.property button{margin-top:0;margin-left:8px}}
body.public-page{display:block;background:#f4f7f5}body.public-page aside{display:none}.wordmark{font-size:23px;letter-spacing:-.6px;color:#103d35;text-decoration:none}.wordmark b{font-size:11px;color:#17634f;margin-left:4px}.landing-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,6vw,94px);align-items:center;background:#103b34;border-radius:24px;color:white;padding:clamp(22px,5vw,76px);min-height:445px}.landing-hero h1{font-size:clamp(36px,5.5vw,76px);line-height:1.02;letter-spacing:-.06em;max-width:660px;margin:18px 0}.landing-hero p{font-size:18px;line-height:1.6;color:#c9e4db;max-width:560px}.landing-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.cta{display:inline-block;border-radius:8px;text-decoration:none;padding:10px 15px;font-weight:650}.landing-actions .primary{background:#b3f0d9;color:#113d32}.landing-preview{background:#f8fcfa;color:#143a32;padding:22px;border-radius:18px;box-shadow:0 15px 45px #071c1a66}.landing-preview .eyebrow{color:#17634f}.landing-preview h2{margin-top:9px}.preview-total{background:#e4f3eb;border-radius:12px;padding:16px;display:grid;gap:4px}.preview-total strong{font-size:36px}.landing-features{margin:36px 0}.landing-features .cards{grid-template-columns:repeat(3,1fr)}.landing-features p{color:#526c66;line-height:1.55}.feature-number{color:#12624e;font-weight:750}.form-lines{display:grid;gap:8px}.invoice-line{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:6px;align-items:end}.invoice-line label{font-size:12px}textarea{font:inherit;padding:9px;border:1px solid #c8d9d3;border-radius:7px;width:100%}dialog:has(.form-lines){width:min(94vw,650px)}@media(max-width:760px){.landing-hero,.landing-features .cards{grid-template-columns:1fr}.landing-hero{min-height:0}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}}
.connect-link{color:#b3f0d9}.connect-link:hover{text-decoration:underline}.connectivity{margin:48px 0 28px;scroll-margin-top:24px}.connect-head{max-width:720px;margin-bottom:24px}.connect-head .eyebrow{color:#12624e}.connect-head h2{font-size:clamp(28px,4vw,50px);letter-spacing:-.04em;line-height:1.08;margin:9px 0 14px}.connect-head p,.connect-card p{color:#496661;line-height:1.55;margin-bottom:0}.connect-brands{display:grid;grid-template-columns:1fr 1fr;gap:16px}.connect-card{padding:clamp(15px,2vw,25px);border:1px solid #dce9e3;border-radius:18px;background:#fff}.connect-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.connect-card-title h3{margin:0;font-size:18px}.proposed{background:#edf0fb;color:#404d77}.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;list-style:none;padding:0;margin:18px 0 0}.brand-grid li{min-height:85px;display:grid;align-content:center;justify-items:center;gap:7px;padding:8px;border:1px solid #e4ece8;border-radius:10px;font-size:12px;font-weight:700}.brand-grid img{width:100%;max-width:100px;height:32px;object-fit:contain}.connect-workflow{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.45fr);gap:clamp(16px,4vw,54px);margin-top:18px;padding:clamp(18px,4vw,44px);background:linear-gradient(115deg,#123d36,#1d594e);border-radius:20px;color:#fff;align-items:center}.sync-steps h3{font-size:24px;margin:0 0 15px;letter-spacing:-.02em}.sync-steps ol{list-style:none;counter-reset:sync;padding:0;margin:0}.sync-steps li{counter-increment:sync;display:flex;align-items:flex-start;gap:9px;margin:12px 0}.sync-steps li::before{content:counter(sync);display:grid;place-items:center;background:#b3f0d9;color:#123d36;font-weight:700;width:24px;height:24px;border-radius:50%;flex:none}.sync-steps p{color:#daece6;line-height:1.45;margin:3px 0}.sync-steps .sync-timing{margin-top:18px;font-size:13px}.sync-figure{margin:0;background:#fff;color:#152e2c;border-radius:14px;padding:clamp(12px,2.5vw,24px);min-width:0;box-shadow:0 14px 38px #092d2566}.sync-figure figcaption{font-weight:750;margin:0 0 12px}.sync-figure figcaption span{color:#12624e}.sync-calendar th,.sync-calendar td{padding:7px 5px;text-align:center}.sync-calendar th:first-child{text-align:left}.sync-calendar thead strong{display:block;color:#152e2c}.sync-cell{display:grid;place-items:center;height:27px;min-width:18px;border-radius:5px;font-weight:750}.sync-cell.open,.sync-dot.open{background:#f1f4f3;border:1px solid #dae4df}.sync-cell.block,.sync-dot.block{background:#dce3fb}.sync-cell.local,.sync-dot.local{background:#b8e8d6}.sync-cell.check,.sync-dot.check{background:#ffdfa5;color:#603b00}.sync-legend{display:flex;flex-wrap:wrap;gap:7px 13px;list-style:none;padding:0;margin:12px 0 0;font-size:11px}.sync-legend li{display:flex;align-items:center;gap:5px}.sync-dot{height:11px;width:11px;border-radius:3px}@media(max-width:850px){.connect-brands,.connect-workflow{grid-template-columns:1fr}}
.reservation-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.reservation-details div{min-width:0;border-bottom:1px solid #e8efeb;padding-bottom:6px}.reservation-details dt{color:#526c66;font-size:12px}.reservation-details dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.reservation-readonly #save{display:none}
.komorotel-card{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding:9px;border:1px solid #e4ece8;border-radius:10px;color:#152e2c;text-decoration:none}.komorotel-card img{object-fit:contain;border-radius:6px}.komorotel-card small{display:block;color:#526c66}.komorotel-card .badge{margin-left:auto}.komorotel-card:hover strong{text-decoration:underline}
.site-footer{display:block;background:#101716;color:#f2f6f3;margin:50px 0 0;padding:clamp(22px,4vw,48px);border-radius:18px}.site-footer-inner{display:grid;grid-template-columns:minmax(145px,1fr) 4fr;gap:clamp(18px,4vw,56px)}.site-footer .wordmark{color:#fff}.site-footer .wordmark b{color:#a2e2cf}.site-footer-brand p{color:#b8c5bf;font-size:13px;max-width:180px}.site-footer nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;overflow:visible}.site-footer nav h2{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#a6b8b0;margin:6px 0 15px}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}.site-footer a,.site-footer nav button{color:inherit;text-decoration:none}.site-footer nav button{padding:0;border:0;background:none;font:inherit;white-space:normal}.site-footer a:hover,.site-footer nav button:hover{text-decoration:underline}.footer-language{display:inline-flex;align-items:center;gap:6px;border:1px solid #5d6965;border-radius:7px;padding:0 8px}.footer-language select{border:0;color:#fff;background:#101716;padding:6px 0}.site-footer-bottom{border-top:1px solid #42514c;color:#b8c5bf;font-size:12px;margin-top:30px;padding-top:14px}@media(max-width:900px){.site-footer-inner{grid-template-columns:1fr}.site-footer nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.site-footer nav{grid-template-columns:1fr}}
.currency-section{display:grid;grid-template-columns:1fr 1.6fr;align-items:center;gap:clamp(16px,4vw,48px);padding:clamp(20px,4vw,40px);margin:36px 0;border-radius:18px;border:1px solid #dce9e3;background:#e7f3ee}.currency-section .eyebrow{color:#12624e}.currency-section h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;margin:8px 0}.currency-section p,.currency-form small{color:#496661}.currency-form{background:white;border-radius:12px;padding:16px}.currency-fields{display:grid;grid-template-columns:1fr 1.4fr auto 1.4fr;gap:8px;align-items:end}.currency-swap{margin-bottom:10px}.currency-result{display:block;font-weight:750;margin:10px 0;overflow-wrap:anywhere}.currency-form small{display:block}@media(max-width:850px){.currency-section{grid-template-columns:1fr}}@media(max-width:560px){.currency-fields{grid-template-columns:1fr auto 1fr}.currency-fields label:first-child{grid-column:1/-1}}
.contact-section{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(20px,6vw,84px);margin:48px 0;padding:clamp(20px,5vw,56px);border:1px solid #dce9e3;border-radius:20px;background:#fff}.contact-intro .eyebrow{color:#12624e}.contact-intro h2{font-size:clamp(30px,5vw,61px);line-height:1.02;letter-spacing:-.045em;margin:14px 0}.contact-intro p,.contact-note{color:#496661;line-height:1.55}.contact-intro ul{list-style:none;padding:0;margin:25px 0}.contact-intro li{margin:12px 0}.contact-intro li::before{content:'✓';color:#12624e;font-weight:800;margin-right:10px}.contact-form label{margin:0 0 10px}.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form button{width:100%;padding:13px}.contact-note,.contact-status{font-size:13px}.contact-status{font-weight:700;color:#12624e}#fields details{padding:8px 0;border-bottom:1px solid #dce9e3}#fields summary{cursor:pointer;font-weight:650}@media(max-width:750px){.contact-section{grid-template-columns:1fr}}@media(max-width:420px){.contact-pair{grid-template-columns:1fr;gap:0}}
.stay-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.stay-tabs button[aria-pressed=true]{background:#12624e;color:white;border-color:transparent}.movement-date{width:min(230px,100%);margin-bottom:14px}
.movement-filters{display:flex;flex-wrap:wrap;gap:12px}.corporate-choice{display:flex;align-items:center}.corporate-choice input{width:auto}
.calendar-drop{min-height:34px;min-width:44px;display:flex;align-items:center;gap:4px}.calendar-drop button[draggable=true]{cursor:grab}.calendar-drop button[draggable=true]:active{cursor:grabbing}
.stats-cards{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.stats-bars{height:120px;display:flex;align-items:stretch;gap:2px;border-bottom:1px solid #d9e6df;background:linear-gradient(to top,#edf4f1 1px,transparent 1px) 0 0/100% 25%}.stats-bar{flex:1;display:flex;align-items:end;min-width:0}.stats-bar span{width:100%;background:#34866f;border-radius:2px 2px 0 0}.stats-bar:hover{background:#d9eee6}
.trust-section{background:#eaf4ef;border-radius:20px;padding:clamp(16px,4vw,42px)}.trust-section h3{margin:0 0 10px}.trust-methods{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0}.trust-methods li{padding:7px 9px;border:1px solid #e4ece8;border-radius:8px;font-size:12px;font-weight:700}.trust-link{display:inline-block;margin-top:16px;color:#12624e;font-weight:650}
.cleaning-indicator{display:inline-flex;align-items:center;gap:6px}.cleaning-dot{width:10px;height:10px;border-radius:50%;background:#8b9692;display:inline-block;flex:none}.cleaning-dot.dirty{background:#c52535}.cleaning-dot.clean{background:#1765c2}.cleaning-dot.inspected{background:#12824f}.cleaning-text{font-size:12px}.calendar-drop{vertical-align:middle}table:has(.calendar-drop) .cleaning-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.timeline-scroll{overflow:auto;border:1px solid #dce9e3;border-radius:9px;max-height:65vh}.timeline-grid{width:max-content}.timeline-row{display:grid;grid-template-columns:clamp(105px,16vw,190px) var(--timeline-width);min-height:45px;border-bottom:1px solid #e8efeb}.timeline-row:last-child{border-bottom:0}.timeline-room{position:sticky;left:0;z-index:2;background:white;border-right:1px solid #dce9e3;padding:8px;display:flex;gap:6px;align-items:center;font-weight:650;overflow-wrap:anywhere}.timeline-room .cleaning-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.timeline-header{position:sticky;top:0;z-index:3;background:#f2f7f5}.timeline-header .timeline-room{background:#f2f7f5}.timeline-dates{display:grid;grid-auto-flow:column;grid-auto-columns:var(--timeline-day)}.timeline-dates span{padding:10px 4px;text-align:center;border-right:1px solid #e0ebe6;font-size:12px;white-space:nowrap}.timeline-dates .timeline-today{background:#d4eee3;color:#145946;font-weight:750}.timeline-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-day) - 1px),#edf1ef calc(var(--timeline-day) - 1px),#edf1ef var(--timeline-day))}.timeline-bar{position:absolute;top:6px;height:32px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 8px;border-radius:6px;font-size:12px;text-align:left}.timeline-stay{background:#caebdf;color:#124e3f;border-color:#a8dcca}.timeline-stay[draggable=true]{cursor:grab}.timeline-external{background:#e7eafb;color:#4a557a;pointer-events:none}
.timeline-room-button{min-width:0;padding:3px 0;border:0;background:transparent;text-align:left;overflow-wrap:anywhere}.timeline-room-button:hover{text-decoration:underline}
.timeline-track{cursor:crosshair}.timeline-track button{cursor:pointer}
.availability-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.availability-form label{flex:1 1 145px;margin:0}.availability-form button{min-height:40px}.availability-form+.scroll{margin-top:12px}
.pricing-steps{display:grid;gap:12px;padding-left:24px}.pricing-steps p{margin:5px 0}.pricing-steps li{padding:8px 10px;background:#f0f7f4;border-radius:8px}#pricing-status{margin-top:16px}#pricing-status button{margin-top:8px}
.refined-hero h1{font-size:clamp(34px,4.6vw,64px)}.landing-sample{display:grid;grid-template-columns:60px repeat(5,minmax(0,1fr));grid-template-rows:28px repeat(2,36px);gap:3px;align-items:center;text-align:center;background:#edf5f1;border-radius:10px;padding:8px}.landing-sample button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px;background:#c7ecdd;border-color:#a6d8c4}.landing-sample b:nth-of-type(1){grid-row:2;grid-column:1}.landing-sample b:nth-of-type(2){grid-row:3;grid-column:1}.landing-sample button:first-of-type{grid-row:2;grid-column:2/5}.landing-sample button:last-of-type{grid-row:3;grid-column:3/7}.landing-faq{margin:32px 0}.landing-faq details{padding:14px 16px;border:1px solid #dce9e3;border-radius:8px;margin:8px 0;background:#fff}.landing-faq summary{cursor:pointer;font-weight:650}.landing-faq details p{color:#496661}
.timeline-dates .timeline-today{background:#bde8ff;color:#123e59}.timeline-track::before{content:'';position:absolute;inset-block:0;left:var(--timeline-today-left,-100px);width:var(--timeline-day);background:#dff3ff;border-inline:1px solid #bde8ff;box-sizing:border-box;pointer-events:none}
dialog:has(.timeline-summary){position:fixed;inset:0 0 0 auto;margin:0;width:min(100vw,480px);height:100dvh;max-height:100dvh;box-sizing:border-box;border-radius:12px 0 0 12px;overflow:auto}dialog:has(.timeline-summary)::backdrop{background:#102c2c45}.timeline-summary{padding:14px;border:1px solid #dce9e3;border-radius:10px;background:#f4faf7}.timeline-summary h3{margin:0 0 8px}.timeline-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.timeline-summary-actions p{margin:0}.timeline-full-details{margin-top:16px}.timeline-full-details summary{cursor:pointer;font-weight:650;margin-bottom:12px}
.timeline-category{min-height:30px;background:#eaf2ef}.timeline-category .timeline-room{background:#eaf2ef;font-size:12px}.timeline-category small{color:#4c635c}.timeline-in-house{background:#dce9fb;border-color:#b1caed;color:#193e6d}.timeline-completed{background:#edf0ef;border-color:#d1dbd7;color:#40514c}.timeline-legend{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.timeline-legend span{display:flex;align-items:center;gap:5px}.timeline-legend i{display:inline-block;width:12px;height:12px;border:1px solid #aebfba;border-radius:3px}.timeline-dates span{overflow:hidden;text-overflow:ellipsis}
@media(min-width:851px){body.planning-page{grid-template-columns:196px minmax(0,1fr)}}.planning-page #app{max-width:none;padding:14px clamp(10px,2vw,24px)}.planning-page #app>.hero{padding:13px 18px}.planning-page .hero h1{font-size:clamp(22px,3vw,32px);margin:3px 0}.planning-page .hero p{margin:0}.planning-page .timeline-scroll{height:clamp(300px,calc(100dvh - 205px),850px);max-height:none}.planning-page .timeline-row{min-height:39px}.planning-page .timeline-category{min-height:25px}.planning-page .timeline-bar{top:4px;height:30px}.planning-page .movement-date{margin:5px 0}.planning-page .timeline-legend{margin:5px 0}.planning-page .timeline-legend+p{margin:5px 0 9px}
.reservation-billing{margin:14px 0;padding:12px;border:1px solid #dce9e3;border-radius:9px;background:#f6faf8}.reservation-billing h3{margin:0 0 8px}.reservation-billing .timeline-summary-actions,.reservation-billing details{margin-top:10px}.reservation-billing summary{cursor:pointer}
.checkin-row{padding:8px 0;border-bottom:1px solid #e0ebe6}.checkin-row p{margin:4px 0}.checkin-warning{color:#912f1c;font-weight:650}
.timeline-track::before{width:var(--timeline-today-width,var(--timeline-day))}.timeline-grid[style*="--timeline-today-left"] .timeline-track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-day) - 1px),#edf1ef calc(var(--timeline-day) - 1px),#edf1ef var(--timeline-day)) left/var(--timeline-today-left) 100% no-repeat,repeating-linear-gradient(to right,transparent 0,transparent calc(var(--timeline-day) - 1px),#edf1ef calc(var(--timeline-day) - 1px),#edf1ef var(--timeline-day)) right/calc(var(--timeline-width) - var(--timeline-after-today)) 100% no-repeat}

@media(min-width:851px){body:not(.public-page)>aside{position:sticky;top:0;align-self:start;height:100dvh;overflow-y:auto}}
.komori-account{max-width:560px;margin:22px auto;padding:clamp(16px,4vw,34px)}.komori-account h1{margin-top:0}.komori-account .stay-tabs{margin:18px 0}.account-status{color:#912f1c}

/* KOMOR Lagon */
:root{--lagon-night:#081626;--lagon-blue:#10273b;--lagon-mint:#43e0c2;--lagon-sky:#bae9ff;--lagon-paper:#f5fafc;--lagon-ink:#142b40}
body{background:var(--lagon-paper);color:var(--lagon-ink)}
body>aside{background:var(--lagon-night);color:#d3e7f3;border-right:1px solid #203b51}
body>aside .property{background:#10273b;border-color:#29465e}
body>aside .brand b,body>aside .brand span{color:var(--lagon-mint)}
body>aside nav .active{background:#12384b;color:#baf8ea}
body>aside nav button:hover{background:#163149}
body>main>header{border-color:#d9e7ef}
.public-page #app>.refined-hero{position:relative;overflow:hidden;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);background:radial-gradient(ellipse at 88% 10%,#164b5b 0,transparent 62%),linear-gradient(135deg,#081626,#11283d);border:1px solid #233f56;border-radius:24px;padding:clamp(22px,5vw,64px);gap:clamp(22px,4vw,60px);min-height:440px}
.refined-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#a0eaff12 1px,transparent 1px),linear-gradient(90deg,#a0eaff12 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent 25%,#000)}
.refined-hero .eyebrow,.lagon-flow .eyebrow{color:var(--lagon-mint)}
.refined-hero h1{max-width:650px;line-height:1.02;font-size:clamp(34px,4.5vw,64px)}
.refined-hero p{color:#c9dce9}
.refined-hero .landing-actions .primary{background:var(--lagon-mint);color:var(--lagon-night)}
.lagon-preview{min-width:0;border:1px solid #87b8d059;border-radius:16px;background:#102237;box-shadow:0 20px 55px #030c15a0;overflow:hidden}
.lagon-preview-top,.lagon-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;color:#c3d6e4;font-size:11px}
.lagon-preview-top{border-bottom:1px solid #42637e70}.lagon-window-dots{display:flex;gap:5px}.lagon-window-dots i,.lagon-preview-foot i{display:inline-block;width:7px;height:7px;padding:0;border-radius:50%;background:var(--lagon-mint)}.lagon-window-dots i+ i{background:#6794b6}
.lagon-preview-body{padding:clamp(10px,2vw,20px)}.lagon-preview-body h2{margin:6px 0 12px;color:white}.lagon-preview-foot{padding:12px 0 0}.lagon-preview-foot i{margin-right:5px}
.lagon-calendar{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(100px,1.6fr) repeat(3,minmax(0,1fr));grid-template-rows:24px repeat(3,33px);align-items:stretch;gap:3px;background:#081626;border-radius:10px;padding:7px;color:#d3e7f3;font-size:11px}
.lagon-calendar>span,.lagon-calendar>b{display:grid;place-items:center}.lagon-calendar .lagon-today{color:#082338;background:var(--lagon-sky);border-radius:4px;font-weight:750}
.lagon-calendar button{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:3px;font-size:11px;color:#0e3141;background:#bde9e4;border-color:#9ed4d2}
.lagon-calendar .lagon-before{grid-row:2;grid-column:2}.lagon-calendar .lagon-after{grid-row:2;grid-column:4/6}.lagon-split{grid-row:2;grid-column:3;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;background:var(--lagon-sky);border-radius:6px}.lagon-split button:first-child{background:#e6f1fc}
.lagon-calendar .lagon-second{grid-row:3;grid-column:3/6;background:#a7eadb}.lagon-calendar .lagon-suite-label{grid-row:4;grid-column:1}.lagon-calendar .lagon-suite{grid-row:4;grid-column:4/7;background:#c4d9f6}
.lagon-features{margin:44px 0}.lagon-features>.eyebrow,.lagon-features .feature-number{color:#176356}.lagon-features>h2{font-size:clamp(26px,3vw,38px);margin-top:7px}.lagon-features .card{border-color:#d7e5ef;box-shadow:0 8px 24px #16364c0a;display:flex;flex-direction:column}.lagon-features .card>button{align-self:flex-start;margin-top:12px}
.lagon-feature-preview{margin-top:auto;background:#f1f7fa;border:1px solid #deebf3;border-radius:9px;padding:6px 10px}.lagon-feature-preview>div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;font-size:12px}.lagon-feature-preview>div+div{border-top:1px solid #dbe8f1}.lagon-feature-preview strong{color:#13594d;text-align:right}
.lagon-flow{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:clamp(16px,3vw,30px);background:var(--lagon-night);color:white;border-radius:14px}.lagon-flow h3{margin:6px 0;font-size:24px}.lagon-flow p{color:#c3d6e4;margin:6px 0}.lagon-flow ol{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:7px;padding:0;list-style:none;counter-reset:step}.lagon-flow li{background:#18374d;border:1px solid #3f6179;border-radius:8px;padding:10px;font-size:12px}.lagon-flow li:before{counter-increment:step;content:'0' counter(step);display:block;color:var(--lagon-mint);font-weight:700;margin-bottom:5px}
body.account-page{background:radial-gradient(ellipse at 15% 35%,#174c58,transparent 50%),var(--lagon-night)}.account-page #app{padding-top:clamp(16px,5vh,58px)}.account-page .komori-account{border-radius:18px;box-shadow:0 20px 55px #0005}.account-page .komori-account h1{color:var(--lagon-ink)}
@media(max-width:830px){.public-page #app>.refined-hero,.lagon-flow{grid-template-columns:1fr}.public-page #app>.refined-hero{min-height:0}}
@media(max-width:390px){.lagon-calendar{grid-template-columns:28px minmax(0,1fr) minmax(82px,1.65fr) repeat(3,minmax(0,1fr));gap:2px}.lagon-calendar button{font-size:10px}.lagon-flow ol{grid-template-columns:1fr}}
.lagon-calendar>b:nth-of-type(1){grid-row:2;grid-column:1}.lagon-calendar>b:nth-of-type(2){grid-row:3;grid-column:1}
.one-vision{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:clamp(16px,4vw,42px);align-items:center;padding:clamp(16px,4vw,36px);margin:38px 0}.one-vision img{width:100%;height:auto;display:block;border-radius:10px}.one-vision .eyebrow{color:#176356}.one-vision h2{margin:7px 0}.one-vision p{color:#496661}@media(max-width:600px){.one-vision{grid-template-columns:1fr}.one-vision img{max-width:200px}}

.komori-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.ovh-signature{display:inline-flex;align-items:center;gap:4px;border:1px solid #c3d8d2;border-radius:6px;padding:2px 5px;background:#fff;color:#143d35;font-size:10px;font-weight:700;text-decoration:none}
.ovh-signature img{display:block;object-fit:contain}
@media(max-width:380px){.komori-brand{gap:5px}.komori-brand .wordmark{font-size:19px}}

.ovh-page{max-width:1100px;margin:auto;padding:24px clamp(12px,4vw,40px)}
.ovh-page>a{display:inline-block;margin-bottom:20px;color:inherit}
.ovh-hero{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);align-items:center;gap:clamp(22px,5vw,64px);padding:clamp(20px,5vw,52px);background:#fff;border-radius:20px;color:#132c43}
.ovh-hero img{display:block;width:100%;height:auto}
.ovh-hero p{max-width:62ch;line-height:1.65}
.ovh-hero h1{font-size:clamp(28px,5vw,52px);line-height:1.08;margin:8px 0 14px}
.ovh-slogan{font-weight:750}
.ovh-sections{max-width:760px;margin:clamp(22px,5vw,48px) auto 0}
.ovh-sections section{padding:20px 0;border-bottom:1px solid #d9e7ef}
.ovh-sections section p:last-child{line-height:1.65;margin-bottom:0}
@media(max-width:650px){.ovh-hero{grid-template-columns:1fr;gap:14px}.ovh-hero img{max-width:220px}}
.ovh-page-footer{margin:30px 0 12px;font-size:13px}

.landing-page>main>header,.one-vision-page>main>header{position:sticky;top:0;z-index:20}
.ovh-header-brand{display:inline-flex;align-items:center;gap:8px;color:#132c43;font-size:clamp(11px,2.7vw,16px);letter-spacing:0;text-decoration:none}
.ovh-header-brand img{width:clamp(32px,9vw,54px);height:auto;flex-shrink:0}

.landing-page #app [id]{scroll-margin-top:76px}

.vitrine-nav{display:flex;gap:clamp(8px,2vw,24px);align-items:center;letter-spacing:0}
.vitrine-nav details{position:relative}
.vitrine-nav summary{cursor:pointer;padding:10px 2px;font-size:13px}
.vitrine-nav ul{display:none;position:absolute;top:100%;left:0;min-width:205px;margin:0;padding:8px;list-style:none;background:white;border:1px solid #d9e7ef;border-radius:10px;box-shadow:0 10px 25px #132c4320}
.vitrine-nav details[open]>ul{display:block}
@media(hover:hover){.vitrine-nav details:hover::details-content{content-visibility:visible}.vitrine-nav details:hover>ul{display:block}}
.vitrine-nav a{display:block;padding:9px;color:#132c43;text-decoration:none}
.vitrine-nav a:hover,.vitrine-nav a:focus-visible{background:#edf5f3}
.topic-page{padding:clamp(22px,5vw,52px);line-height:1.65}
.topic-page h1{font-size:clamp(28px,5vw,46px);line-height:1.15}
@media(max-width:850px){
 .landing-page>main>header{height:auto;min-height:66px;flex-wrap:wrap;padding:8px 12px}
 .vitrine-nav{order:3;width:100%;justify-content:space-between}
 .vitrine-nav details:nth-last-child(-n+2)>ul{left:auto;right:0}
 .vitrine-nav summary{font-size:11px}
 .landing-page #app [id]{scroll-margin-top:108px}
}

.university{max-width:860px;line-height:1.6}
.university-guide{margin:12px 0;padding:0 18px}
.university-guide summary{cursor:pointer;padding:14px 0}
.university-guide summary span{display:block;font-size:.85em}
.university-guide>div{padding-bottom:18px}
.university-guide li+li{margin-top:8px}

@media(max-width:1024px){
 body:not(.public-page){grid-template-columns:190px minmax(0,1fr)}
 main,.cards>*,.columns>*,.row>*{min-width:0}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .columns{grid-template-columns:minmax(0,1fr)}
 .toolbar,.row{flex-wrap:wrap}
}
@media(max-width:850px){
 body:not(.public-page)>aside{position:sticky;top:0;z-index:10}
 body:not(.public-page)>aside nav{gap:6px;overscroll-behavior-inline:contain;padding-bottom:4px}
 body:not(.public-page)>aside nav button{flex:none;min-height:42px}
 body:not(.public-page)>main>header,.public-page>main>header{height:auto;min-height:66px;gap:6px;flex-wrap:wrap;padding:8px 12px}
 .landing-page .vitrine-nav{overflow:visible;gap:4px;flex-wrap:wrap}
 .vitrine-nav summary{min-height:40px;display:list-item}
 .vitrine-nav ul{z-index:1}
 .scroll,.timeline-scroll{overscroll-behavior-inline:contain}
 .planning-page .timeline-scroll{height:clamp(200px,57dvh,500px)}
 dialog{max-height:calc(100dvh - 20px);overflow:auto}
}
@media(max-width:480px){
 #app{padding:12px}
 .card,.panel{padding:12px}
 .university-guide{padding:0 12px}
 .card strong{font-size:clamp(16px,5vw,24px);overflow-wrap:anywhere}
 input,select,textarea{font-size:16px;min-width:0}
 .toolbar button,.toolbar a{min-height:40px;display:inline-flex;align-items:center}
 .vitrine-nav ul{min-width:0;width:min(205px,62vw)}
 .vitrine-nav details:nth-child(3)>ul{right:0;left:auto}
}

.overview{display:grid;gap:16px}
.overview-metrics,.overview-grid{display:grid;gap:16px}
.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.overview-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.overview-grid>.panel{margin:0}
.overview-metric{display:grid;justify-items:start;align-content:start;gap:7px;text-align:left;padding:16px;border-radius:14px;border-color:#dde7e3}
.overview-metric strong{font-size:clamp(19px,2.4vw,29px);line-height:1.2;overflow-wrap:anywhere;color:#132e38}
.overview-metric small{color:#526c66}
.overview-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e3f4f8;color:#17596c;font-size:18px}
.overview-chart{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:6px;overflow-x:auto;padding:8px 0}
.overview-day{text-align:center;display:grid;grid-template-rows:minmax(32px,auto) 95px auto;gap:6px;font-size:11px;align-items:end}
.overview-day strong{overflow-wrap:anywhere}
.overview-track{height:100%;display:flex;align-items:end;justify-content:center;background:repeating-linear-gradient(to top,#e5efef 0 1px,transparent 1px 25%)}
.overview-track span{width:55%;background:#2083a0;border-radius:5px 5px 0 0}
.overview-track span.negative{background:#a45449}
.overview-capacity{font-size:32px;color:#132e38}
.overview progress{width:100%;height:14px;accent-color:#2083a0}
@media(max-width:1000px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.overview,.overview-metrics,.overview-grid{gap:9px}.overview-metric{padding:11px}}

.country-chart{list-style:none;padding:0;margin:16px 0;display:grid;gap:14px}
.country-chart li>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 12px;margin-bottom:5px}
.country-chart li>div span{color:#526c66;font-size:.88em}
.country-chart-track{display:block;height:9px;border-radius:8px;background:#e5efef}
.country-chart-track span{display:block;height:100%;border-radius:inherit;background:#2083a0}

.timeline-controls{display:flex;align-items:end;flex-wrap:wrap;gap:6px 10px;margin:6px 0}
.timeline-controls label{flex:1 1 140px;min-width:0;max-width:240px;margin:0;font-size:13px}
.timeline-controls button{min-height:39px}

@media(pointer:fine){
 .timeline-dates,.timeline-track{cursor:grab;user-select:none}
 .timeline-scroll.timeline-panning *{cursor:grabbing}
}

.timeline-option{background:#fff0c9;border-color:#b77a16;color:#583807}
.workflow-copy{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}

.planning-page #app>.hero{display:none}
.planning-page .timeline-scroll{height:clamp(340px,calc(100dvh - 220px),1100px)}
.planning-page .timeline-row{min-height:35px}
.planning-page .timeline-bar{top:4px;height:27px;border-radius:4px;font-weight:500}
.timeline-neutral{background:#d5d6df80;border-color:#8f949e;color:#343b45}
.timeline-action-today{background:#b8e1f7;border-color:#478bae;color:#163d54}
@media(max-width:850px){.planning-page .timeline-scroll{height:62dvh;min-height:260px}}

.reservation-manage{position:sticky;top:0;padding:6px 0 12px;background:white;z-index:2}
.reservation-manage button{width:100%;min-height:40px}
.reservation-page-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:18px}
.reservation-page-head h1{margin:4px 0;font-size:26px;overflow-wrap:anywhere}
.reservation-page-head p{margin:4px 0}
.reservation-page-nav{display:flex;flex-wrap:wrap;gap:16px;border-bottom:1px solid #d8e3e1;padding:10px 0;margin-bottom:18px}
.reservation-page-nav a{color:#175943;text-decoration:none;padding:6px 0}
.reservation-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.reservation-page .panel{scroll-margin-top:15px}
.reservation-page-grid button{margin:3px 4px 3px 0}
@media(max-width:850px){.reservation-page-grid{grid-template-columns:minmax(0,1fr)}}

.reservation-overview-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}
.reservation-overview-head h2{margin:0}.reservation-overview-head p{margin:6px 0}
.reservation-overview-head label{margin:0}
.reservation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}
.reservation-card{min-width:0;background:#fff;border:1px solid #dce5e5;border-radius:12px;padding:18px;display:flex;flex-direction:column}
.reservation-card-pending{border-top:3px solid #478bae}
.reservation-card header{height:auto;min-height:0;padding:0;border:0;gap:8px;flex-wrap:wrap;letter-spacing:0;background:transparent}
.reservation-card-name{border:0;padding:0;text-align:left;font-size:18px;overflow-wrap:anywhere;background:transparent}
.reservation-card-room{font-weight:650}
.reservation-card p{margin:10px 0}
.reservation-card dl{margin:8px 0;font-size:13px}
.reservation-card dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:5px 0;border-bottom:1px solid #edf1f1}
.reservation-card dt{color:#526c66}.reservation-card dd{margin:0;overflow-wrap:anywhere}
.reservation-card-note{font-size:12px;max-height:5.5em;overflow:auto}
.reservation-card footer{padding-top:12px;flex-wrap:wrap;justify-content:flex-start;margin-top:auto}

.organization-logo{display:block;width:160px;height:100px;object-fit:contain;margin:10px 0}
.property-logo{display:block;max-width:120px;max-height:64px;object-fit:contain;background:white;border-radius:6px;margin-bottom:8px}
.organization-checklist{list-style:none;padding:0;display:grid;gap:8px}
.organization-checklist li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f1}

.made-in-comoros{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(18px,4vw,48px);padding:clamp(20px,4vw,40px);margin:28px 0;border-left:4px solid #249b73;border-radius:12px;background:#e8f3ee;color:#173c33}
.made-in-comoros h2{font-size:clamp(24px,3vw,36px);line-height:1.15;margin:10px 0}
.made-in-comoros p{margin:0 0 14px;line-height:1.65}
.made-in-comoros a{color:inherit;font-weight:650}
@media(max-width:700px){.made-in-comoros{grid-template-columns:1fr}}
