:root{font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;color:#17231d;background:#f4f7f2}*{box-sizing:border-box}body{margin:0}.shell{width:min(1200px,100%);margin:auto;padding:20px}header,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}h1,h2,p{margin-top:0}.eyebrow{color:#557261;font-weight:700;margin-bottom:4px}.card{background:#fff;border:1px solid #dce6df;border-radius:16px;padding:20px;box-shadow:0 8px 30px #1838230d}.login{max-width:440px;margin:40px auto}.property-choices{display:grid;gap:10px}form{display:grid;gap:16px}label{display:grid;gap:6px;font-weight:650}input,button{font:inherit;border-radius:10px;padding:11px 13px}input{border:1px solid #aebeb4;background:#fff}button{border:0;background:#22633e;color:#fff;font-weight:750;cursor:pointer}.secondary{background:#e3ece6;color:#204b33}.danger{background:#9b3027}.hint,.message{color:#607268}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid #e1e9e3;padding:10px;text-align:center}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:#fff}.slot{width:100%;background:#e3f4e8;color:#175c32}.slot.closed{background:#f4e7e5;color:#8c2f25}.bundles{margin-top:20px}.checks{display:flex;flex-wrap:wrap;gap:12px}.checks label,.inline{display:flex;align-items:center;gap:6px}.checks input,.inline input{width:auto}.actions,.bundle-row{display:flex;gap:10px;align-items:center}.bundle-row{border-top:1px solid #e1e9e3;padding:12px 0}.bundle-row div{flex:1}fieldset{border:1px solid #dce6df;border-radius:10px;padding:12px}@media(max-width:640px){.shell{padding:12px}.toolbar{align-items:flex-start;flex-direction:column}.card{padding:14px}.bundle-row{align-items:stretch;flex-direction:column}}

[hidden]{display:none!important}textarea,select{font:inherit;border:1px solid #aebeb4;border-radius:10px;background:#fff;padding:11px 13px}.availability-card{margin-bottom:20px;min-width:0}.availability-toolbar{align-items:flex-end}.availability-view-tabs{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:14px 0;background:#e7eee9;border-radius:12px}.availability-view-tabs button{min-height:44px;background:transparent;color:#4d6256}.availability-view-tabs button.active{background:#fff;color:#175c32;box-shadow:0 2px 8px #18382318}.availability-loading,.availability-empty{padding:24px;border:1px dashed #b9c8bf;border-radius:12px;text-align:center;color:#607268}.availability-daily{display:grid;gap:12px;min-width:0}.daily-date-separator{margin-top:10px;padding:10px 12px;border-top:1px solid #ccd9d1;color:#607268;font-weight:750}.availability-day-card{display:grid;grid-template-columns:minmax(150px,.75fr) repeat(auto-fit,minmax(210px,1fr));gap:10px;min-width:0;padding:12px;border:1px solid #dce6df;border-radius:14px;background:#fbfdfb}.availability-day-card.is-today{border-left:5px solid #2b754d;background:#f4faf6}.availability-day-heading{min-width:0;padding:5px}.availability-day-heading h3{margin:0 0 4px;font-size:17px}.day-summary,.missing-data{display:block;color:#607268;font-size:12px}.missing-data{margin-top:6px;color:#8b661d}.availability-room-row{display:grid;grid-template-rows:auto auto auto;gap:7px;align-content:start;min-width:0;padding:9px;border:1px solid #e2eae5;border-radius:11px;background:#fff}.room-label{min-width:0;font-weight:750;overflow-wrap:anywhere}.room-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:7px;align-items:stretch;min-width:0}.room-status-control{display:grid;grid-template-columns:1fr 1fr;min-width:0;border:1px solid #aebeb4;border-radius:10px;overflow:hidden}.room-status-control button{min-width:0;min-height:44px;border-radius:0;padding:8px 6px;background:#fff;color:#52655a;font-size:13px}.room-status-control .is-available{background:#dff3e6;color:#155e32}.room-status-control .is-closed{background:#f4e7e5;color:#8c2f25}.note-button{position:relative;min-width:76px;min-height:44px;padding:8px;background:#e8efe9;color:#28523a}.note-button.has-note{background:#fff1d8;color:#785315}.note-button.has-note:after{content:"";position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#d58a1e}.room-save-area{min-height:20px}.save-state{font-size:12px;font-weight:700}.save-state.saving{color:#80601d}.save-state.success{color:#237043}.save-state.failed{color:#9b3027}.retry-button{min-height:32px;padding:5px 9px;background:#9b3027}.availability-calendar{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;min-width:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-content:start;min-width:0;border:1px solid #d8e2dc;border-radius:13px;overflow:hidden;background:#fff}.calendar-weekday{padding:8px 3px;text-align:center;font-size:13px;font-weight:750;background:#edf3ef}.calendar-cell{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;min-height:86px;padding:7px;border-radius:0;border-top:1px solid #e1e9e4;border-right:1px solid #e1e9e4;background:#fff;color:#243b2e;text-align:left}.calendar-cell.is-empty{background:#f7f9f8}.calendar-cell.is-today{box-shadow:inset 0 0 0 3px #78ab8b}.calendar-cell.is-selected{background:#e5f2e9;box-shadow:inset 0 0 0 3px #28734b}.calendar-date{display:flex;justify-content:space-between;align-items:center;font-weight:800}.calendar-note-dot{width:8px;height:8px;border-radius:50%;background:#d58a1e}.calendar-count{font-size:11px;white-space:nowrap}.calendar-count.available{color:#237043}.calendar-count.closed{color:#96372e}.day-details{min-width:0;padding:13px;border:1px solid #d8e2dc;border-radius:13px;background:#fbfdfb}.day-details h3{margin:0 0 4px}.day-detail-rooms{display:grid;gap:9px}.day-details .availability-room-row{grid-template-columns:1fr}.note-editor{margin-top:14px;padding:15px;border:2px solid #8aab96;border-radius:14px;background:#f9fcfa;scroll-margin-bottom:20px}.note-editor-heading,.note-editor-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.note-editor-heading h3{margin:0}.note-editor textarea{width:100%;max-width:100%;resize:vertical}.note-editor-footer{margin-top:10px;align-items:center}.note-editor-footer .actions{justify-content:flex-end}.note-editor button:disabled{opacity:.6;cursor:wait}

@media(max-width:900px){.availability-day-card{grid-template-columns:minmax(130px,.7fr) repeat(2,minmax(200px,1fr))}.availability-calendar{grid-template-columns:1fr}.day-detail-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body,.shell,.card,#workspace{min-width:0;max-width:100%}.availability-toolbar label,.availability-toolbar input{width:100%}.availability-view-tabs{display:grid;width:100%}.availability-day-card{display:block;padding:10px}.availability-day-heading{padding:3px 3px 9px}.availability-room-row{grid-template-columns:minmax(82px,.75fr) minmax(0,1.6fr);grid-template-rows:auto auto;margin-top:8px;padding:8px}.room-label{align-self:center}.room-actions{grid-template-columns:minmax(0,1fr) 72px}.room-save-area{grid-column:1/-1}.room-status-control button,.note-button{min-height:44px}.calendar-weekday{font-size:11px;padding:6px 1px}.calendar-cell{min-height:66px;padding:4px 3px}.calendar-count{font-size:9px;overflow:hidden;text-overflow:ellipsis}.calendar-date{font-size:12px}.day-details{padding:10px}.day-detail-rooms{grid-template-columns:1fr}.note-editor{padding:12px}.note-editor-heading{align-items:flex-start}.note-editor-footer{align-items:stretch;flex-direction:column}.note-editor-footer .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.note-editor-footer button{min-height:44px}.actions{flex-wrap:wrap}}

/* Availability and pricing V1.1 */
.availability-day-card{display:block}.availability-inventory-grid{display:grid;grid-template-columns:repeat(var(--inventory-count,1),minmax(150px,1fr));gap:10px;min-width:0;overflow-x:auto}.availability-day-heading{padding-bottom:10px}.checks label{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid #d3dfd7;border-radius:10px;background:#f8fbf9;cursor:pointer}.checks input{width:22px;height:22px}.pricing-card{min-width:0;margin-bottom:20px}#roomPricing{min-width:0;width:100%;max-width:100%}.pricing-matrix-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid #dce6df;border-radius:12px}.pricing-matrix{min-width:720px}.pricing-matrix th:first-child{min-width:150px}.pricing-matrix input{width:100%;min-width:110px;text-align:right}.pricing-save-bar{display:flex;justify-content:flex-end;align-items:center;gap:14px}.pricing-save-bar .message{flex:1;margin:0}.pricing-save-bar button{min-height:46px}.pricing-save-bar button:disabled{opacity:.55;cursor:not-allowed}.monthly-inventory-controls{margin:12px 0;padding:12px;border:1px solid #b7cabd;border-radius:14px;background:#f4faf6}.monthly-inventory-heading{padding:5px 5px 10px;font-weight:800}.monthly-inventory-grid{display:grid;grid-template-columns:repeat(var(--inventory-count,1),minmax(150px,1fr));gap:10px;min-width:0;overflow-x:auto}.monthly-inventory-item{position:relative;display:grid;grid-template-rows:auto auto;gap:6px;align-content:start;min-width:150px;padding:9px;border:1px solid #d5e2da;border-radius:11px;background:#fff}.monthly-inventory-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.monthly-inventory-actions button{min-width:0;padding:8px 5px;white-space:nowrap}.monthly-inventory-item .save-state{min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monthly-inventory-hint{padding-bottom:5px;font-weight:650;color:#607268}
@media(max-width:900px){.availability-inventory-grid,.monthly-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.availability-inventory-grid,.monthly-inventory-grid{grid-template-columns:1fr;overflow-x:visible}.monthly-inventory-controls{padding:8px}.monthly-inventory-heading{padding:3px 3px 7px}.monthly-inventory-grid{gap:6px}.monthly-inventory-item{grid-template-columns:minmax(80px,1fr) minmax(150px,1.45fr);grid-template-rows:1fr;min-width:0;min-height:60px;padding:6px 7px 16px;align-items:center}.monthly-inventory-actions{gap:5px}.monthly-inventory-actions button{min-height:38px;padding:6px 4px}.monthly-inventory-item .save-state{position:absolute;left:7px;right:7px;bottom:1px;min-height:13px;font-size:11px}.availability-room-row{margin-top:0}.room-actions{grid-template-columns:minmax(0,1fr) 78px}.room-status-control button,.note-button{min-height:48px}.pricing-save-bar{align-items:stretch;flex-direction:column}.pricing-save-bar button{width:100%;min-height:48px}.note-editor-footer button{min-height:48px}}

/* Single availability toggle */
.room-status-control{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;overflow:visible}.status-text{font-size:13px;font-weight:750}.status-toggle{appearance:none;width:46px;height:26px;min-width:46px;padding:0;border:0;border-radius:999px;background:#824a45;position:relative;cursor:pointer}.status-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .15s ease}.status-toggle:checked{background:#2b754d}.status-toggle:checked:after{transform:translateX(20px)}
@media(max-width:640px){.room-status-control{min-height:44px}.status-toggle{width:46px}.availability-room-row{overflow:hidden}}

/* Explicit note and bundle details */
.calendar-note-action{font-size:10px;font-weight:700;color:#785315}.bundle-details{display:grid;gap:5px;min-width:0}.bundle-details span{overflow-wrap:anywhere}.bundle-name{font-size:1.05rem}
.room-details { display: grid; gap: 14px; margin-bottom: 18px; }
.room-detail-card { padding: 14px; border: 1px solid #d8ded9; border-radius: 10px; background: #f9fbf9; }
.room-detail-grid { display: grid; gap: 10px; }
.room-highlight-fields { display: grid; gap: 8px; margin: 12px 0; }
@media (min-width: 760px) { .room-details { grid-template-columns: repeat(2,minmax(0,1fr)); } .room-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
.other-settings>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.other-settings[open]>summary{margin-bottom:20px}.other-settings .profile-card,.other-settings .property-facts-card{padding-top:12px}.custom-reply-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:14px 0;border-top:1px solid #dce6df}.custom-reply-details{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.custom-reply-state{font-weight:700}.custom-reply-state.active{color:#176b45}.custom-reply-state.pending{color:#7a5a00}.custom-reply-state.expired,.custom-reply-state.disabled{color:#607268}@media(max-width:640px){.custom-reply-row{grid-template-columns:1fr 1fr}.custom-reply-details{grid-column:1/-1}}
.room-summary{display:grid;gap:5px;min-width:0}.day-price-button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 7px;align-items:center;width:100%;min-height:34px;padding:5px 7px;border:1px solid #dbe7df;border-radius:8px;background:#f6faf7;color:#214c34;text-align:left}.day-price-button:hover{background:#edf6f0}.day-price-button.has-override{border-color:#d59a37;background:#fff8e9}.day-price-caption{font-size:10px;font-weight:700;color:#607268}.day-price-value{justify-self:end;font-size:14px;color:#174f2e}
.price-editor{width:min(520px,calc(100% - 24px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:16px;box-shadow:0 18px 60px #13271b55}.price-editor::backdrop{background:#10261a88}.price-editor form{display:grid;gap:13px;padding:20px}.price-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.price-editor-heading h3{margin:0}.price-editor-current{margin:0;padding:11px;border-radius:10px;background:#edf5ef;font-weight:800;color:#214c34}.price-editor label{display:grid;gap:6px}.price-editor input{width:100%}.price-editor-actions{display:flex;justify-content:flex-end;gap:10px}.price-editor-actions button{min-height:44px}
@media(max-width:640px){.room-summary{align-self:stretch}.day-price-button{grid-template-columns:1fr;padding:5px 6px}.day-price-value{justify-self:start}.price-editor form{padding:15px}.price-editor-actions{display:grid;grid-template-columns:1fr 1fr}}
.other-settings-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.other-settings-heading h2{margin:0}.amenity-summary-row{display:block;min-width:180px}.bundle-amenity-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left}.bundle-amenity-summary strong{flex:0 0 auto;color:#245b3a}.price-editor select,.price-editor textarea{width:100%}.price-editor textarea{resize:vertical}
