
@import url("https://fonts.googleapis.com/css2?family=Noto+Nastaliq+Urdu:wght@500;700&display=swap");
:root{font-family:Tahoma,Arial,sans-serif;color:#1d2939;background:#f6f7f9;--guest:#1570ef;--guest-bg:#eff8ff;--apt:#7f56d9;--apt-bg:#f4f3ff;--dark:#050608;--dark2:#0f1115;--gold:#d4a017;--gold2:#f0c75e;--light:#f8f8f8}
*{box-sizing:border-box}body{margin:0}a{color:inherit}
body.public-page{background:#000;color:#f5f5f5}
.topbar{background:#102a43;color:#fff;padding:14px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar a{text-decoration:none;margin-right:18px}.topbar .muted{color:#b8c9d9;font-size:13px}.public-topbar{background:#030508;border-bottom:1px solid rgba(255,255,255,.08)}.brand-wrap{display:flex;align-items:center;gap:10px}.nav-user{font-size:13px;color:#d5e4f2;margin-left:10px}
.container{max-width:1180px;margin:0 auto;padding:24px 3vw 50px}.public-container{padding-top:18px}
.card,.month-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;box-shadow:0 3px 18px rgba(16,24,40,.04)}
.card-dark{background:#0c0d11;border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 60px rgba(0,0,0,.35)}
.public-hero{position:relative;overflow:hidden;min-height:360px;margin:0 0 28px;border-radius:18px}.public-hero-full{background:#000}.public-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.public-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.10),rgba(0,0,0,.40) 55%,rgba(0,0,0,.90))}.public-hero-content{position:relative;z-index:2;padding:36px 34px;display:flex;flex-direction:column;justify-content:end;min-height:360px}.public-hero h1{font-size:36px;margin:0;color:#fff}.public-hero-nastaliq{font-family:"IranNastaliq","Noto Nastaliq Urdu",serif;align-items:center;text-align:center;justify-content:center}.public-hero-nastaliq h1{font-family:inherit;font-size:48px;font-weight:700;line-height:2.15;text-shadow:0 3px 18px rgba(0,0,0,.85)}.hero-city{font-family:inherit;font-size:34px;line-height:1.8;color:#f6c453;text-shadow:0 2px 14px rgba(0,0,0,.9)}.header-title-image{width:min(900px,92%);height:auto;display:block;margin:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.8))}.public-form-heading{max-width:900px;margin:0 auto 14px;text-align:right}.public-form-heading h2{margin:0 0 6px;font-size:26px;color:#fff}.public-form-heading p{margin:0;color:#aeb5c2}
.public-form-wrap{max-width:980px;margin:0 auto}.public-form{background:#0f1115;border-color:rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.34)}
.public-form label,.public-form legend{color:#f1f3f5}.public-form input,.public-form select,.public-form textarea{background:#171a21;color:#fff;border:1px solid #303643}.public-form select{color-scheme:dark}.public-form select option{background:#fff!important;color:#111!important}.public-form input::placeholder,.public-form textarea::placeholder{color:#aeb5c2}.public-form .date-field{border-color:#303643}.gold-btn{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1f1400}.flex-toggle{padding-top:4px}.flexible-range{border:1px solid #303643;border-radius:14px;padding:16px;background:#0a0c10}.flexible-range-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;color:#fff}.flexible-range-head span{font-size:12px;color:#b6bdc8}.flexible-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-help{margin:10px 0 0;color:#aeb5c2;font-size:12px;line-height:1.8}.dark-notice{background:#101214;border-color:#3d4351;color:#f5f5f5}
.hero{max-width:800px;margin:15px auto 24px;text-align:center}.hero h1{font-size:32px;margin-bottom:8px}.hero p{color:#667085;line-height:1.9}
.form-grid{max-width:900px;margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.compact-form{max-width:none}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:14px}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;border:1px solid #d0d5dd;border-radius:9px;padding:11px;background:#fff}.wide{grid-column:1/-1}.date-field{border:1px solid #e4e7ec;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:8px}.date-field legend{padding:0 6px;color:#475467;font-size:13px}.actions{display:flex;justify-content:flex-start}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
button,.button-link{font:inherit;border:0;border-radius:9px;background:#0f766e;color:#fff;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#475467}.danger{background:#b42318}.small{padding:7px 10px;font-size:12px}.checkbox{flex-direction:row!important;align-items:center}.checkbox input{width:auto}.notice,.error{max-width:1100px;margin:0 auto 18px;padding:12px 16px;border-radius:10px}.notice{background:#ecfdf3;border:1px solid #abefc6}.error{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.login-wrap{min-height:70vh;display:grid;place-items:center}.login-card{width:min(400px,100%);padding:28px;display:flex;flex-direction:column;gap:15px}.login-card label{display:flex;flex-direction:column;gap:7px}.login-card input{padding:11px;border:1px solid #d0d5dd;border-radius:9px}
.admin-head,.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.admin-head h1,.page-title h1{margin:0 0 5px}.admin-head p,.page-title p{margin:0;color:#667085}.summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{background:#eef4ff;color:#3538cd;border-radius:99px;padding:9px 13px;text-decoration:none}
.calendar-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:#475467;margin:0 2px 14px}.calendar-legend>span{display:flex;gap:6px;align-items:center}.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-dot.guesthouse{background:var(--guest)}.legend-dot.apartment{background:var(--apt)}.mobile-hint{margin-right:auto;color:#667085}
.google-month{margin-bottom:22px;overflow:hidden}.month-title{padding:14px 16px;border-bottom:1px solid #eaecf0;display:flex;align-items:center;justify-content:space-between}.month-title h2{margin:0 0 4px;font-size:20px}.month-subtitle{font-size:12px;color:#667085}.week-head,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-head{background:#f9fafb;border-bottom:1px solid #eaecf0}.week-head span{text-align:center;padding:9px 2px;font-size:12px;color:#475467;border-left:1px solid #f0f1f3}.week-head .friday{color:#b42318}.cal-day{min-width:0;min-height:112px;border-left:1px solid #eaecf0;border-bottom:1px solid #eaecf0;background:#fff;position:relative;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .12s,box-shadow .12s}.cal-day[data-date]:hover{background:#f5f9ff;box-shadow:inset 0 0 0 1px #b2ccff}.cal-day[data-date]:focus{outline:2px solid #84adff;outline-offset:-2px}.cal-day.outside{background:#fafafa}.cal-day.today{background:#f8fbff}.cal-day.today .day-number{background:#175cd3;color:#fff}.day-number{position:absolute;top:6px;right:7px;display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;font-size:12px;font-weight:600}.day-events{position:relative;z-index:3;margin-top:35px;padding:0 4px 5px;display:flex;flex-direction:column;gap:3px;pointer-events:none}.cal-event{pointer-events:auto;width:100%;max-width:100%;padding:4px 6px;border-radius:5px;font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d2939;background:#f2f4f7;position:relative;z-index:4}.cal-event span{display:block;overflow:hidden;text-overflow:ellipsis}.cal-event.guesthouse{background:var(--guest-bg);color:#1849a9;border-right:3px solid var(--guest)}.cal-event.apartment{background:var(--apt-bg);color:#5925dc;border-right:3px solid var(--apt)}.cal-day.selecting{background:#eaf2ff!important;box-shadow:inset 0 0 0 2px #84adff}.modal{position:fixed;inset:0;background:rgba(16,24,40,.48);display:grid;place-items:center;padding:16px;z-index:30}.hidden{display:none!important}.modal-card{background:#fff;border-radius:16px;padding:24px;width:min(650px,100%);position:relative;max-height:92vh;overflow:auto}.close{position:absolute;left:12px;top:10px;background:transparent;color:#344054;font-size:26px;padding:4px 10px}.compact{padding:0;box-shadow:none;border:0}.selection-text{background:#f2f4f7;padding:10px 12px;border-radius:8px;color:#344054}.availability-hint{font-size:13px;color:#475467;line-height:1.8}.availability-hint .free{color:#067647}.availability-hint .busy{color:#b42318}.selection-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:25;background:#101828;color:#fff;border-radius:14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(520px,calc(100% - 24px));box-shadow:0 12px 30px rgba(16,24,40,.2)}.selection-bar div{display:flex;flex-direction:column;gap:2px}.selection-bar span{font-size:11px;color:#d0d5dd}
.table-wrap{overflow:auto}.requests{width:100%;border-collapse:collapse;min-width:900px}.requests th,.requests td{padding:12px;border-bottom:1px solid #eaecf0;text-align:right;vertical-align:top}.inline-actions{display:flex;flex-wrap:wrap;gap:6px}.inline-actions form{margin:0}.status{padding:5px 8px;border-radius:99px;font-size:12px;display:inline-block}.status.pending{background:#fffaeb}.status.approved{background:#ecfdf3}.status.rejected{background:#fef3f2}.tiny{font-size:11px;color:#667085;margin-top:6px}.inline-stack{display:flex;flex-direction:column;gap:8px}.inline-password{display:flex;gap:8px;flex-wrap:wrap}.inline-password input{min-width:160px;padding:8px;border:1px solid #d0d5dd;border-radius:8px}.panel-card{padding:22px}.notes-list{margin:0;padding-right:18px;line-height:2}
.version-badge{font-size:11px;line-height:1;background:#eaf2ff;color:#175cd3;border:1px solid #b2ccff;border-radius:99px;padding:5px 8px;direction:ltr}.selection-console{position:sticky;top:8px;z-index:20;margin:0 0 14px;background:#101828;color:#fff;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(16,24,40,.18)}.selection-item{display:flex;align-items:center;gap:8px;white-space:nowrap}.selection-item span{font-size:12px;color:#d0d5dd}.selection-item strong{min-width:86px;font-size:14px}.selection-sep{color:#98a2b3}.selection-confirm{background:#12b76a;padding:8px 18px}.selection-confirm:disabled{background:#475467;color:#98a2b3;cursor:not-allowed}.selection-hint{font-size:12px;color:#d0d5dd;margin-right:auto;line-height:1.7}.cal-day.selecting{background:#dbeafe!important;box-shadow:inset 0 0 0 2px #2e90fa}.cal-day[data-date]{touch-action:manipulation}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}.nav-user{display:none}}
@media(max-width:700px){.selection-console{position:sticky;top:6px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:10px}.selection-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.selection-sep{display:none}.selection-hint{grid-column:1/-1;margin:0}.selection-confirm{grid-row:1;grid-column:3;align-self:stretch}.topbar{align-items:flex-start;flex-direction:column;padding:12px 16px}.topbar nav{display:flex;flex-wrap:wrap;gap:10px}.topbar a{margin:0}.container{padding:16px 8px 42px}.form-grid{grid-template-columns:1fr;padding:16px}.wide{grid-column:1}.admin-head,.page-title{align-items:flex-start;flex-direction:column}.public-hero{min-height:230px;border-radius:12px}.public-hero-content{min-height:230px;padding:22px 16px}.public-hero-nastaliq h1{font-size:32px;line-height:2}.hero-city{font-size:25px}.flexible-range-grid{grid-template-columns:1fr}.admin-head{margin-bottom:12px}.admin-head h1{font-size:24px}.summary{width:100%}.summary .pill,.summary .button-link{flex:1;text-align:center;padding:9px 8px}.calendar-legend{gap:12px;padding:0 4px}.mobile-hint{width:100%;margin:0}.month-card{border-radius:12px}.month-title{padding:11px 12px}.month-title h2{font-size:17px}.month-subtitle{display:none}.week-head span{font-size:10px;padding:7px 0;overflow:hidden;white-space:nowrap}.cal-day{min-height:76px}.day-number{top:4px;right:4px;min-width:22px;height:22px;font-size:11px}.day-events{margin-top:29px;padding:0 2px 3px;gap:2px}.cal-event{font-size:9px;padding:3px 3px;border-radius:4px;border-right-width:2px!important}.cal-event span{max-width:100%}.selection-bar{bottom:10px}.modal{align-items:end;padding:0}.modal-card{width:100%;border-radius:18px 18px 0 0;padding:20px 16px;max-height:90vh}.date-field{grid-template-columns:1fr 1.5fr 1.1fr}}
@media(max-width:410px){.week-head span{font-size:9px}.cal-day{min-height:69px}.cal-event{font-size:8px}.day-events{padding-left:1px;padding-right:1px}}
