*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000)}.app{padding:16px;max-width:480px;margin:0 auto}.title{font-size:22px;font-weight:700;margin-bottom:4px}.subtitle{font-size:14px;color:var(--tg-theme-hint-color, #999999);margin-bottom:16px}.back-btn{background:none;border:none;color:var(--tg-theme-link-color, #2481cc);font-size:16px;cursor:pointer;padding:4px 0;margin-bottom:8px}.list{display:flex;flex-direction:column;margin-top:12px;border-radius:12px;overflow:hidden;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:none;background:none;color:var(--tg-theme-text-color, #000000);font-size:16px;cursor:pointer;text-align:left;transition:background-color .15s}.list-item:not(:last-child){border-bottom:.5px solid var(--tg-theme-hint-color, #cccccc33)}.list-item:active:not(:disabled){background-color:var(--tg-theme-bg-color, #e0e0e0)}.list-item.active{color:var(--tg-theme-link-color, #2481cc)}.list-item.disabled{opacity:.45;cursor:default}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.time-cell{padding:12px 0;border:none;border-radius:10px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);font-size:15px;font-weight:500;cursor:pointer;text-align:center;transition:background-color .15s}.time-cell:active:not(:disabled){background-color:var(--tg-theme-bg-color, #e0e0e0)}.time-cell.disabled{opacity:.35;cursor:default;text-decoration:line-through}.booked-label{font-size:13px;color:var(--tg-theme-hint-color, #999999)}.loading{text-align:center;padding:20px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.chevron{color:var(--tg-theme-hint-color, #999999);font-size:20px}.duration-end{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.checkmark{color:var(--tg-theme-link-color, #2481cc);font-size:18px;font-weight:700}.confirm-btn{margin-top:20px;width:100%;padding:14px;border:none;border-radius:12px;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:16px;font-weight:600;cursor:pointer}.confirm-btn:active{opacity:.85}.fallback-hint{margin-top:8px}.main-actions{display:flex;gap:10px;margin-top:24px}.action-btn{flex:1;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.action-btn:active{opacity:.85}.action-btn.primary{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.action-btn.secondary{background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-link-color, #2481cc)}.empty-msg{text-align:center;padding:20px;color:var(--tg-theme-hint-color, #999999);font-size:14px}.booking-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}.booking-item:not(:last-child){border-bottom:.5px solid var(--tg-theme-hint-color, #cccccc33)}.booking-info{display:flex;flex-direction:column;min-width:0}.booking-room{font-size:16px;font-weight:600}.booking-details{font-size:13px;color:var(--tg-theme-hint-color, #999999);margin-top:2px}.cancel-btn{flex-shrink:0;padding:6px 12px;border:none;border-radius:8px;background-color:#ff3b3020;color:#ff3b30;font-size:14px;font-weight:600;cursor:pointer}.cancel-btn:active:not(:disabled){opacity:.7}.cancel-btn:disabled{opacity:.45;cursor:default}.section-title{font-size:17px;font-weight:700;margin-top:28px;margin-bottom:4px}.today-group{margin-top:12px}.today-room-name{font-size:13px;font-weight:600;color:var(--tg-theme-hint-color, #999999);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;padding-left:4px}.today-item{display:flex;align-items:center;padding:10px 16px;gap:12px}.today-item:not(:last-child){border-bottom:.5px solid var(--tg-theme-hint-color, #cccccc33)}.today-time{font-size:15px;font-weight:600;flex-shrink:0;width:90px}.today-info{display:flex;flex-direction:column;min-width:0}.today-user{font-size:15px}.today-reason{font-size:13px;color:var(--tg-theme-hint-color, #999999)}.weekday-row{display:flex;gap:8px;margin-top:12px}.weekday-cell{flex:1;padding:12px 0;border:none;border-radius:10px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);font-size:15px;font-weight:500;cursor:pointer;text-align:center}.weekday-cell:active{background-color:var(--tg-theme-bg-color, #e0e0e0)}.recurring-badge{color:var(--tg-theme-link-color, #2481cc);font-weight:600}.add-room-form{display:flex;gap:8px;margin-top:16px}.add-room-input{flex:1;padding:12px 14px;border:none;border-radius:10px;background-color:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);font-size:15px;outline:none}.add-room-btn{flex-shrink:0;padding:12px 16px;border:none;border-radius:10px;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:15px;font-weight:600;cursor:pointer}.add-room-btn:active:not(:disabled){opacity:.85}.add-room-btn:disabled{opacity:.45;cursor:default}.report-link{display:block;text-align:center;margin-top:32px;font-size:13px;color:var(--tg-theme-hint-color, #999999);text-decoration:none}
