:root{--ink:#06232b;--muted:#758582;--line:#e1e8e2;--paper:#f7f8f4;--white:#fffefa;--aqua:#25d8c8;--aqua-dark:#078e88;--coral:#ff604d;--font:'DM Sans','Noto Sans Arabic',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #0cbab0;outline-offset:2px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.admin-login{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;background:#fffefa}.login-art{min-height:100svh;background:linear-gradient(160deg,#082b36,#126f79 53%,#31c6b7);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(25px,6vw,85px);color:#fff;isolation:isolate}.login-art:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,27,34,.32),transparent)}.login-sun{position:absolute;z-index:-2;width:360px;height:360px;top:17%;right:22%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff1b5,#ffd166 55%,#fa9c69);box-shadow:0 0 150px rgba(255,209,102,.21);animation:sun 9s ease-in-out infinite alternate}.login-wave{position:absolute;z-index:-1;bottom:-19%;left:-15%;width:140%;height:54%;border-radius:50% 52% 0 0;background:linear-gradient(180deg,rgba(82,231,204,.4),rgba(2,52,65,.95));transform:rotate(-6deg);animation:wave 12s ease-in-out infinite alternate}.login-wave:after{content:"";position:absolute;inset:20px 0 25px;border-top:1px solid rgba(255,255,255,.27);border-radius:50%}.login-brand{display:flex;align-items:center;gap:11px}.login-logo{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.58);border-radius:50%;color:var(--aqua);font-size:28px}.login-brand span:last-child{display:grid;line-height:1.3}.login-brand b{font-size:15px}.login-brand small{font-size:9px;color:rgba(255,255,255,.64);letter-spacing:.12em}.login-caption{max-width:550px;margin:0 0 3vh}.login-caption>small{font-size:9px;letter-spacing:.24em;color:var(--aqua)}.login-caption h1{font-size:clamp(48px,7vw,92px);line-height:1.02;letter-spacing:-.08em;margin:17px 0}.login-caption h1 em{font-style:normal;color:var(--aqua)}.login-caption p{color:rgba(255,255,255,.7);font-size:13px;max-width:350px}.login-mark{font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.58)}.login-form{width:min(400px,75%);align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:stretch}.admin-eyebrow{display:flex;align-items:center;gap:8px;color:#118d84;font-size:9px;letter-spacing:.08em}.admin-eyebrow>span:first-child{width:20px;height:1px;background:currentColor}.login-form h2{font-size:36px;letter-spacing:-.06em;margin:17px 0 2px}.login-form>p{font-size:12px;color:#73817d;margin:0 0 31px}.login-form label{font-size:10px;color:#435956;margin-bottom:7px}.login-form input{height:49px;border:1px solid #dce4dd;border-radius:11px;padding:0 13px;font-size:14px;margin-bottom:14px}.admin-button{border:0;border-radius:10px;min-height:43px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:10px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.admin-button:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(7,61,63,.12)}.admin-button.primary{background:var(--ink);color:#fff}.admin-button.primary:hover{background:#0b716f}.admin-button.secondary{background:#e3f7f3;color:#147f79;border:1px solid #c8eae3}.admin-button b{font-size:15px}.login-form .admin-button{height:49px;justify-content:space-between;padding:0 17px;font-size:11px}.admin-error{font-size:10px;color:#c44436;min-height:18px;margin-top:8px}.login-home{font-size:10px;color:#758582;margin-top:18px}.admin-app{min-height:100svh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;align-self:start;height:100svh;padding:25px 17px 19px;background:#06232b;color:#fff;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:10px;padding:0 8px 27px;border-bottom:1px solid rgba(255,255,255,.12)}.side-logo{width:39px;height:39px;border:1px solid rgba(255,255,255,.42);color:var(--aqua);border-radius:50%;display:grid;place-items:center;font-size:25px}.side-brand span:last-child{display:grid;line-height:1.25}.side-brand b{font-size:13px}.side-brand small{font-size:8px;letter-spacing:.19em;color:rgba(255,255,255,.48)}.side-section-label{margin:25px 11px 9px;color:rgba(255,255,255,.38);font-size:9px}.side-nav{display:grid;gap:5px}.side-nav button{border:0;background:transparent;color:rgba(255,255,255,.65);border-radius:9px;text-align:right;min-height:42px;padding:0 11px;display:flex;align-items:center;gap:11px;font-size:10px;transition:background .2s,color .2s}.side-nav button span{font-size:16px;width:21px;text-align:center}.side-nav button:hover,.side-nav button.active{background:rgba(37,216,200,.13);color:#5df2dc}.sidebar-bottom{margin-top:auto;display:grid;gap:12px}.side-status{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:11px}.side-status i{width:7px;height:7px;border-radius:50%;background:#23d494;box-shadow:0 0 0 4px rgba(35,212,148,.1)}.side-status span{display:grid}.side-status b{font-size:9px}.side-status small{font-size:8px;color:rgba(255,255,255,.47)}.sidebar-bottom>a,.sidebar-bottom>button{border:0;background:transparent;color:rgba(255,255,255,.65);display:flex;justify-content:space-between;padding:5px 10px;text-align:right;font-size:9px}.sidebar-bottom>a:hover,.sidebar-bottom>button:hover{color:var(--aqua)}.admin-main{min-width:0}.admin-topbar{height:87px;padding:0 clamp(23px,4vw,60px);display:flex;align-items:center;justify-content:space-between;background:#fffefa;border-bottom:1px solid var(--line)}.admin-topbar>div:first-child>small{font-size:9px;color:#84908c}.admin-topbar h1{font-size:21px;margin:2px 0 0;letter-spacing:-.04em}.admin-profile{display:flex;align-items:center;gap:9px}.admin-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d8f8f0;color:#0d827b;font-size:10px;font-weight:700}.admin-profile>span:last-child{display:grid}.admin-profile b{font-size:10px}.admin-profile small{font-size:8px;color:#84918d}.admin-content{padding:26px clamp(20px,4vw,60px) 55px;max-width:1440px;margin:auto}.admin-tab{display:none}.admin-tab.active{display:block}.welcome-panel{min-height:225px;border-radius:19px;background:#d7f9f0;position:relative;overflow:hidden;padding:32px;display:flex;align-items:center;isolation:isolate}.welcome-panel>div:first-child{position:relative;z-index:2;max-width:520px}.welcome-panel h2{font-size:35px;letter-spacing:-.07em;margin:10px 0 6px}.welcome-panel h2 em{font-style:normal;color:#07998f}.welcome-panel p{font-size:11px;color:#5e7772;margin:0}.welcome-art{position:absolute;z-index:-1;inset:0 55% 0 0;overflow:hidden;background:linear-gradient(160deg,transparent,rgba(29,196,182,.2))}.welcome-sun{position:absolute;right:20%;top:-58px;width:190px;height:190px;border-radius:50%;background:#ffd166;box-shadow:0 0 0 24px rgba(255,209,102,.13),0 0 0 54px rgba(255,209,102,.09)}.welcome-wave{position:absolute;left:-35%;bottom:-63%;width:160%;height:120%;border-radius:50%;background:linear-gradient(180deg,#44d4c0,#11909c);transform:rotate(-13deg)}.welcome-star{position:absolute;top:22px;left:25px;font-size:31px;color:#ff604d;animation:spin 20s linear infinite}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:17px 0 24px}.stat-card{position:relative;min-height:130px;background:#fffefa;border:1px solid #ebeee8;border-radius:15px;padding:18px 20px;display:grid;align-content:start}.stat-label{font-size:9px;color:#798782}.stat-card>b{font-size:31px;line-height:1.15;margin:10px 0 3px;letter-spacing:-.04em}.stat-card small{font-size:8px;color:#9aa49f}.stat-icon{position:absolute;top:16px;left:17px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:15px}.stat-icon.coral{background:#fff0e9;color:#ec7959}.stat-icon.aqua{background:#e2fbf5;color:#139f91}.stat-icon.lilac{background:#f0eeff;color:#786bbb}.panel{background:#fffefa;border:1px solid #e9eee8;border-radius:15px;padding:23px;margin-top:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.panel-heading h2{font-size:17px;letter-spacing:-.04em;margin:5px 0 0}.panel-heading p{font-size:9px;color:#82908b;margin:4px 0 0}.admin-link{border:0;background:transparent;color:#078c84;font-size:9px;font-weight:700}.admin-link b{margin-inline-start:7px;font-size:14px}.reservation-list{display:grid;gap:9px}.reservation-item{border:1px solid #e6ece6;border-radius:12px;overflow:hidden}.reservation-summary{display:grid;grid-template-columns:1.25fr 1fr 1fr .9fr auto;align-items:center;gap:12px;padding:13px 15px}.reservation-person{display:grid}.reservation-person strong{font-size:10px}.reservation-person small,.reservation-info small{font-size:8px;color:#82908b}.reservation-info{display:grid;font-size:9px}.status-pill{display:inline-flex;width:max-content;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;background:#fff2d7;color:#957017;font-size:8px;font-weight:700}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.confirmed{background:#def7eb;color:#138368}.status-pill.rejected,.status-pill.cancelled{background:#ffebe8;color:#c64b3b}.reservation-expand{width:29px;height:29px;border:1px solid #e1e8e1;border-radius:50%;background:transparent;color:#74827d}.reservation-detail-panel{border-top:1px solid #e6ece6;padding:16px;background:#fafbf8}.reservation-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.reservation-controls label,.admin-form-grid label,.blackout-form label{display:grid;gap:5px;font-size:9px;color:#586c68}.reservation-controls input,.reservation-controls select,.reservation-controls textarea,.admin-form-grid input,.admin-form-grid textarea,.admin-form-grid select,.blackout-form input,.blackout-form select{width:100%;min-width:0;border:1px solid #dce5de;border-radius:8px;background:#fff;padding:9px 10px;color:var(--ink);font-size:10px;outline:0}.reservation-controls textarea{min-height:53px;resize:vertical}.reservation-controls .wide{grid-column:1/-1}.reservation-actions{display:flex;align-items:center;gap:9px;margin-top:11px}.reservation-actions .admin-error{margin:0}.section-top{margin-bottom:18px}.chalet-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.admin-chalet-card{background:#fffefa;border:1px solid #e5ebe4;border-radius:13px;overflow:hidden}.admin-chalet-media{height:125px;background:linear-gradient(140deg,#9fe5d8,#128691);position:relative}.admin-chalet-media img,.admin-chalet-media video{width:100%;height:100%;object-fit:cover}.admin-chalet-media span{position:absolute;top:9px;right:9px;background:rgba(255,255,255,.9);border-radius:99px;padding:4px 8px;font-size:8px}.admin-chalet-copy{padding:12px}.admin-chalet-copy h3{font-size:12px;margin:0 0 4px}.admin-chalet-copy p{font-size:8px;color:#7e8d89;margin:0 0 11px}.admin-chalet-actions{display:flex;justify-content:space-between;align-items:center}.admin-chalet-actions button{border:1px solid #dce4dd;background:transparent;color:#3e6965;padding:6px 9px;border-radius:7px;font-size:8px}.admin-chalet-actions button.danger{color:#bc4c42;border-color:#f0d7d1}.chalet-editor{margin:18px 0}.icon-close{border:0;background:#f2f5f1;width:32px;height:32px;border-radius:50%;font-size:21px;color:#647470}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-form-grid .full{grid-column:1/-1}.admin-form-grid input,.admin-form-grid textarea{font-size:10px}.admin-form-grid textarea{resize:vertical;min-height:70px}.admin-form-grid input[type=checkbox],.check-row input{width:auto}.extras-editor,.media-editor{border-top:1px solid var(--line);padding-top:16px}.inline-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.inline-heading>b{font-size:10px}.inline-heading small{font-size:8px;color:#89948f}.extra-row{display:grid;grid-template-columns:1fr 1fr 100px 95px 30px;gap:8px;margin-bottom:8px;align-items:center}.extra-row input,.extra-row select{width:100%;border:1px solid #dce5de;border-radius:7px;padding:8px;font-size:9px}.extra-remove{height:30px;width:30px;border:0;border-radius:50%;background:#fff0ed;color:#bb5648}.upload-drop{min-height:105px;border:1px dashed #9ccbc2;border-radius:12px;background:#f3fcf8;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:2px;position:relative;cursor:pointer;color:#167e75!important}.upload-drop>span{font-size:22px;color:#1eb5a6}.upload-drop>b{font-size:10px}.upload-drop>small{font-size:8px;color:#82908b}.upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.media-thumb{position:relative;width:90px;height:70px;border-radius:9px;overflow:hidden;background:#e4f6f1}.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover}.media-thumb button{position:absolute;top:4px;left:4px;width:20px;height:20px;border:0;border-radius:50%;background:#fff;color:#bc5546;font-size:13px}.check-row{display:flex!important;flex-direction:row;align-items:center;gap:8px}.check-row input{accent-color:#078e88}.check-row span{font-size:9px;color:#566b66}.editor-actions{display:flex;align-items:center;gap:12px;margin-top:19px}.editor-actions .admin-error{margin:0}.blackout-panel{margin-top:21px}.blackout-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr auto;align-items:end;gap:8px}.blackout-form input,.blackout-form select{min-height:37px}.blackout-list{display:grid;gap:6px;margin-top:13px}.blackout-row{display:flex;align-items:center;gap:12px;background:#f7f9f5;padding:9px 11px;border-radius:9px;font-size:9px}.blackout-row span:nth-child(2){color:#798984;flex:1}.blackout-row button{border:0;background:transparent;color:#bb5548;font-size:13px}.reservation-filters{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}.reservation-filters button{border:1px solid #dfe6df;border-radius:99px;background:#fffefa;color:#73827e;padding:8px 13px;font-size:9px}.reservation-filters button.active{border-color:#0c9890;background:#dff8f2;color:#107d76;font-weight:700}.settings-form{margin:0}.settings-section{display:flex;align-items:flex-start;gap:13px;border-top:1px solid var(--line);padding:21px 0 15px;margin-top:7px}.settings-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e1faf3;color:#078e88;font-size:9px;font-weight:700;flex-shrink:0}.settings-section h3{font-size:11px;margin:0}.settings-section p{font-size:8px;color:#83918c;margin:3px 0 0}.hero-media-current{margin:8px 0}.hero-media-current img,.hero-media-current video{max-width:260px;max-height:140px;border-radius:10px;object-fit:cover;display:block}.toast{position:fixed;z-index:60;bottom:18px;left:20px;padding:11px 15px;border-radius:10px;background:#06232b;color:#fff;font-size:10px;box-shadow:0 9px 26px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);transition:all .25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}
@keyframes wave{to{transform:translateY(-15px) rotate(-2deg)}}@keyframes sun{to{transform:scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.admin-app{grid-template-columns:205px 1fr}.sidebar{padding-inline:12px}.reservation-summary{grid-template-columns:1.1fr 1fr 1fr auto}.reservation-summary .reservation-info:nth-of-type(3){display:none}.chalet-admin-grid{grid-template-columns:repeat(2,1fr)}.blackout-form{grid-template-columns:1fr 1fr 1fr}.blackout-form #blackout-note{grid-column:1/3}.blackout-form button{grid-column:3}.extra-row{grid-template-columns:1fr 1fr 90px 80px 28px}}
@media(max-width:740px){.admin-login{grid-template-columns:1fr}.login-art{min-height:36svh;padding:20px 25px}.login-caption{margin:40px 0 5px}.login-caption h1{font-size:51px;margin:10px 0}.login-caption p{font-size:10px;margin:0}.login-sun{width:200px;height:200px;top:3%;right:7%}.login-mark{position:absolute;left:25px;bottom:21px}.login-form{width:min(400px,86%);padding:38px 0 50px}.admin-app{display:block}.sidebar{position:sticky;z-index:20;top:0;height:auto;padding:10px 14px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.side-brand{padding:0;border:0}.side-logo{width:34px;height:34px;font-size:22px}.side-brand b{font-size:11px}.side-brand small{font-size:7px}.side-section-label,.sidebar-bottom{display:none}.side-nav{display:flex;gap:2px}.side-nav button{width:36px;height:36px;min-height:36px;justify-content:center;padding:0;font-size:0}.side-nav button span{font-size:17px}.admin-topbar{height:68px;padding:0 17px}.admin-topbar>div:first-child>small{font-size:7px}.admin-topbar h1{font-size:16px}.admin-profile>span:last-child{display:none}.admin-content{padding:18px 13px 35px}.welcome-panel{min-height:180px;padding:20px}.welcome-panel h2{font-size:26px}.welcome-panel p{font-size:9px;max-width:235px}.welcome-art{inset-inline-start:52%;inset-inline-end:0}.welcome-sun{width:128px;height:128px;top:8px;right:8%}.stat-grid{gap:7px;margin:10px 0 15px}.stat-card{padding:12px;min-height:104px}.stat-label{font-size:8px}.stat-card>b{font-size:24px;margin:8px 0 2px}.stat-card small{font-size:7px}.stat-icon{top:10px;left:9px;width:23px;height:23px;font-size:12px}.panel{padding:15px;border-radius:12px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:8px}.reservation-summary{grid-template-columns:1fr auto;gap:4px 8px;padding:11px}.reservation-summary .reservation-person{grid-column:1}.reservation-summary .reservation-info:nth-of-type(2){grid-row:2}.reservation-summary .reservation-info:nth-of-type(3){display:grid;grid-column:1}.reservation-summary .status-pill{grid-column:2;grid-row:1}.reservation-summary .reservation-expand{grid-column:2;grid-row:2}.reservation-controls{grid-template-columns:1fr 1fr}.reservation-controls label.wide{grid-column:1/-1}.chalet-admin-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-chalet-media{height:92px}.admin-chalet-copy{padding:9px}.admin-chalet-copy h3{font-size:10px}.admin-chalet-copy p{font-size:7px}.admin-chalet-actions button{font-size:7px;padding:5px 6px}.admin-form-grid{gap:10px}.admin-form-grid label{font-size:8px}.admin-form-grid input,.admin-form-grid textarea{padding:8px;font-size:9px}.blackout-form{grid-template-columns:1fr 1fr}.blackout-form #blackout-note{grid-column:1/-1}.blackout-form button{grid-column:1/-1}.extra-row{grid-template-columns:1fr 1fr 75px 25px}.extra-row select:last-of-type{grid-column:2}.extra-row button{grid-column:4;grid-row:1}.settings-section{padding:15px 0 12px}.section-top{align-items:flex-start}.section-top>.admin-button{padding:0 10px;min-height:37px;font-size:8px}.toast{left:12px;right:12px;bottom:12px;text-align:center}}
@media(max-width:400px){.side-nav button{width:31px}.welcome-panel h2{font-size:22px}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .full{grid-column:auto}.chalet-admin-grid{grid-template-columns:1fr}.admin-chalet-media{height:140px}.reservation-details{grid-template-columns:1fr}.reservation-controls{grid-template-columns:1fr}.reservation-controls label.wide{grid-column:auto}}
.extra-row{grid-template-columns:1fr 1fr 1fr 90px 90px 30px}.empty-admin{border:1px dashed #dae5dd;background:#fafcf9;color:#7b8c86;padding:18px;border-radius:11px;font-size:9px;text-align:center}.guest-detail-lines{font-size:9px;color:#6e807a}.guest-detail-lines ul{margin:6px 0;padding-inline-start:18px;display:flex;gap:18px;flex-wrap:wrap}.guest-detail-lines p{color:#536b66}.map-frame{position:relative;z-index:3;width:min(73%,560px);height:370px;border:0;border-radius:17px;box-shadow:0 26px 70px rgba(3,40,47,.24)}.is-disabled{opacity:.52;pointer-events:none}
@media(max-width:1050px){.extra-row{grid-template-columns:1fr 1fr 1fr 85px 85px 28px}}
@media(max-width:740px){.extra-row{grid-template-columns:1fr 1fr 1fr 75px 70px 25px}}
@media(max-width:400px){.extra-row{grid-template-columns:1fr 1fr}.extra-row select{grid-column:auto}.extra-row button{grid-column:2;justify-self:end}.map-frame{width:84%;height:255px}}
