@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--forest-950:#0b211d;--forest-900:#102c27;--forest-800:#173c35;--forest-700:#215449;--forest-600:#2b6b5d;--forest-100:#e8f1ee;--forest-50:#f3f7f5;--sand-100:#f5f0e7;--sand-200:#e8dec9;--gold:#bd9555;--gold-light:#dbc18e;--ink:#152925;--muted:#6a7a76;--white:#fff;--line:#dce5e2;--danger:#a54343;--warning:#9b6b12;--success:#1e7658;--radius:18px;--shadow-sm:0 5px 20px rgba(10,35,30,.06);--shadow-lg:0 25px 80px rgba(10,35,30,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f8f7;color:var(--ink);font-family:"DM Sans","Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}a{color:inherit}.site-header{position:relative;z-index:10;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);background:rgba(255,255,255,.96);border-bottom:1px solid rgba(20,55,48,.1);box-shadow:0 1px 0 #fff}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:54px;height:54px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display",Georgia,serif;font-size:18px;letter-spacing:.01em}.brand small{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.language-switch select{width:auto;border:1px solid var(--line);border-radius:12px;padding:10px 35px 10px 13px;background:#fff;color:var(--forest-800);font-weight:700;cursor:pointer}.booking-page{min-height:calc(100vh - 82px);background:linear-gradient(180deg,var(--forest-950) 0 330px,#f6f8f7 330px)}.booking-intro{position:relative;overflow:hidden;text-align:center;padding:56px 20px 42px;color:#fff}.booking-intro:before,.booking-intro:after{content:"";position:absolute;border:1px solid rgba(219,193,142,.14);width:340px;height:340px;transform:rotate(45deg);border-radius:50px}.booking-intro:before{left:-230px;top:-150px}.booking-intro:after{right:-250px;bottom:-220px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before,.eyebrow:after{content:"";width:24px;height:1px;background:currentColor}.booking-intro h1{position:relative;font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1.08;margin:13px 0 8px}.booking-intro>p{position:relative;margin:0 auto 30px;color:#c9d9d5;font-size:16px}.progress{position:relative;display:flex;justify-content:center;align-items:center;gap:8px}.progress span{display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#aebfbb;font-size:12px}.progress span.active{background:#fff;border-color:#fff;color:var(--forest-900);box-shadow:0 8px 30px rgba(0,0,0,.18)}.progress b{font-weight:600}.booking-shell{position:relative;z-index:2;width:min(1160px,calc(100% - 32px));margin:0 auto 70px;display:grid;grid-template-columns:minmax(0,1fr) 335px;align-items:stretch;filter:drop-shadow(0 24px 55px rgba(12,39,34,.12))}.booking-card{background:#fff;padding:42px 46px;border-radius:var(--radius) 0 0 var(--radius)}.booking-aside{position:relative;overflow:hidden;background:linear-gradient(160deg,#eaf2ef,#f5f0e7);padding:38px 32px;border-left:1px solid #d7e2df;border-radius:0 var(--radius) var(--radius) 0}.booking-aside:after{content:"";position:absolute;right:-75px;bottom:-75px;width:180px;height:180px;border:28px solid rgba(189,149,85,.08);border-radius:50%}.aside-logo img{width:112px;height:68px;object-fit:contain}.booking-aside h2{font-family:"Playfair Display",Georgia,serif;font-size:29px;margin:22px 0 12px}.hours-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(29,80,70,.13);font-size:14px}.hours-row span{color:var(--muted)}.notice{display:flex;gap:12px;background:rgba(255,255,255,.8);padding:15px;border:1px solid rgba(255,255,255,.9);border-radius:13px;margin:24px 0;box-shadow:var(--shadow-sm)}.notice b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--forest-700);color:#fff}.notice p{margin:0;font-size:13px}.booking-aside ul{position:relative;padding-inline-start:19px;color:var(--muted);font-size:13px}.booking-aside li{margin:11px 0}.form-section{display:flex;gap:14px;align-items:center;margin-bottom:23px}.form-section h2{font-family:"Playfair Display",Georgia,serif;font-size:26px;line-height:1.2;margin:0}.form-section p{margin:4px 0 0;color:var(--muted);font-size:12px}.section-number{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid #d5e4df;border-radius:13px;background:var(--forest-50);color:var(--forest-700);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#314641}input,select,textarea{width:100%;border:1px solid #cedbd7;border-radius:11px;background:#fcfdfd;padding:13px 14px;color:var(--ink);outline:0;transition:.18s}input:hover,select:hover,textarea:hover{border-color:#aebfba}input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--forest-600);box-shadow:0 0 0 4px rgba(43,107,93,.1)}textarea{resize:vertical;min-height:105px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line) 10%,var(--line) 90%,transparent);margin:33px 0}.consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0}.consent input{width:17px;height:17px;accent-color:var(--forest-600);margin-top:3px}.consent span{font-weight:400;line-height:1.5;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:11px;padding:13px 19px;text-decoration:none;font-weight:700;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.primary{background:linear-gradient(135deg,var(--forest-700),var(--forest-600));color:#fff;box-shadow:0 10px 25px rgba(31,84,73,.2)}.primary:hover{background:linear-gradient(135deg,var(--forest-900),var(--forest-700))}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.secondary:hover{border-color:#aebfba;background:#fafcfc}.submit{width:100%;justify-content:space-between;padding:15px 19px}.privacy-note{text-align:center;color:#84918e;font-size:11px}.result{display:none;padding:13px 15px;border-radius:11px;font-size:13px}.result.show{display:block}.result.ok{background:#e7f5ef;color:var(--success);border:1px solid #c6e7da}.result.error{background:#fff0f0;color:var(--danger);border:1px solid #f0cccc}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(5,24,20,.72);backdrop-filter:blur(7px)}.modal[hidden]{display:none}.modal-card{position:relative;width:min(500px,100%);padding:42px;text-align:center;background:#fff;border-radius:22px;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;right:17px;top:12px;border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:50%;background:#e7f5ef;color:var(--success);font-size:27px;font-weight:700}.modal-card h2{font-family:"Playfair Display",Georgia,serif;font-size:31px}.calendar{margin:12px 0 20px;border:1px solid var(--line);background:#fff}.modal-card small{display:block;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:18px;padding:23px clamp(20px,5vw,76px);background:var(--forest-950);color:#adbfbb;font-size:12px}footer a{text-decoration:none;color:var(--gold-light)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 15%,rgba(189,149,85,.2),transparent 25%),radial-gradient(circle at 90% 90%,rgba(54,125,110,.25),transparent 30%),linear-gradient(145deg,var(--forest-950),#19453d)}.auth-card{width:min(440px,100%);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:42px;box-shadow:0 35px 100px rgba(3,20,16,.42)}.auth-brand{text-align:center}.auth-brand img{width:108px;height:76px;object-fit:contain}.auth-brand span{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;font-weight:700}.auth-card h1{font-family:"Playfair Display",Georgia,serif;font-size:34px;text-align:center;margin:16px 0 6px}.auth-card>p{text-align:center;color:var(--muted);font-size:13px}.auth-card label{display:block;margin:25px 0 18px}.auth-card .btn{width:100%;justify-content:space-between}.auth-error{padding:12px;border-radius:9px;background:#fff0f0;color:var(--danger);font-size:13px}.auth-back{margin:22px 0 0}.auth-back a{text-decoration:none}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:268px minmax(0,1fr);background:#f3f6f5}.admin-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--forest-950),#12352e);color:#fff;padding:28px 20px}.admin-sidebar .brand{color:#fff}.admin-sidebar .brand img{filter:drop-shadow(0 6px 12px rgba(0,0,0,.16))}.admin-sidebar nav{display:grid;gap:6px;margin-top:40px}.admin-sidebar nav button,.admin-sidebar nav a{position:relative;border:0;background:transparent;color:#aec1bc;text-align:left;padding:12px 14px;border-radius:10px;text-decoration:none;cursor:pointer;font-size:13px}.admin-sidebar nav button:before{content:"";position:absolute;left:0;top:25%;width:3px;height:50%;border-radius:4px;background:transparent}.admin-sidebar nav .active,.admin-sidebar nav button:hover,.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-sidebar nav button.active:before{background:var(--gold-light)}.admin-content{min-width:0;padding:36px clamp(20px,4vw,52px);overflow:auto}.admin-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.admin-top h1{font-family:"Playfair Display",Georgia,serif;font-size:36px;line-height:1.15;margin:0}.admin-top p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:9px;flex-wrap:wrap}.admin-panel{display:none;margin-top:26px}.admin-panel.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow-sm)}.stat:after{content:"";position:absolute;right:-15px;bottom:-22px;width:65px;height:65px;border-radius:50%;background:var(--forest-50)}.stat b{position:relative;z-index:1;display:block;font-family:"Playfair Display",serif;font-size:31px}.stat span{position:relative;z-index:1;color:var(--muted);font-size:12px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;min-width:1080px}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid #e9efed;vertical-align:top}.table th{position:sticky;top:0;background:#f8faf9;color:#778783;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.table td{font-size:13px}.table tr:hover td{background:#fbfcfc}.table a{color:var(--forest-700);text-decoration:none}.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf0ef;color:#64726f;font-size:10px;font-weight:700;text-transform:uppercase}.pill.pending{background:#fff1cf;color:var(--warning)}.pill.confirmed{background:#dff3ea;color:var(--success)}.pill.rejected{background:#f9e4e4;color:var(--danger)}.pill.proposed{background:#e7edf8;color:#425f94}.action-group{display:flex;gap:5px;flex-wrap:wrap}.mini{border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 8px;color:#40534f;font-size:11px;cursor:pointer}.mini:hover{border-color:var(--forest-600);color:var(--forest-700)}.panel-card{max-width:940px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:30px;box-shadow:var(--shadow-sm)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.closure-list{display:grid;gap:9px;margin-top:25px}.closure-list article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:#fbfcfc}.closure-list strong,.closure-list small{display:block}.closure-list small{margin-top:2px;color:var(--muted)}.template-help{margin:15px 0;padding:12px 14px;border-radius:10px;background:var(--forest-50);color:var(--muted);font-size:12px}dialog{border:0;border-radius:18px;padding:30px;box-shadow:var(--shadow-lg)}dialog::backdrop{background:rgba(5,24,20,.68);backdrop-filter:blur(4px)}dialog h3{font-family:"Playfair Display",serif;font-size:25px;margin-top:0}.dialog-actions{display:flex;gap:10px;margin-top:20px}[dir=rtl] .form-grid,[dir=rtl] .booking-card,[dir=rtl] .booking-aside{text-align:right}
@media(max-width:980px){.booking-shell{grid-template-columns:1fr}.booking-card{border-radius:var(--radius) var(--radius) 0 0}.booking-aside{border-left:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.admin-sidebar nav{display:flex;max-width:70%;margin:0;overflow:auto}.admin-sidebar nav button,.admin-sidebar nav a{white-space:nowrap}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-header{height:68px;padding-inline:16px}.brand img{width:43px;height:43px}.brand small{display:none}.booking-page{background:linear-gradient(180deg,var(--forest-950) 0 290px,#f6f8f7 290px)}.booking-intro{padding:38px 16px 31px}.booking-intro h1{font-size:37px}.progress b{display:none}.booking-shell{width:100%;margin-bottom:0;filter:none}.booking-card,.booking-aside{padding:27px 18px;border-radius:0}.form-grid,.settings-grid{grid-template-columns:1fr}.full{grid-column:auto}.form-section h2{font-size:23px}.modal-card{padding:34px 22px}.admin-sidebar{display:block}.admin-sidebar nav{max-width:100%;margin-top:14px}.admin-content{padding:24px 12px}.admin-top{align-items:flex-start;flex-direction:column}.admin-top h1{font-size:31px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:16px}.panel-card{padding:21px 16px}.auth-card{padding:34px 23px}footer{flex-direction:column;gap:7px}.closure-list article{align-items:flex-start}}@media(max-width:380px){.stats{grid-template-columns:1fr}.progress{gap:4px}.progress span{padding:7px 10px}}

