/* Istiraha — partner and admin pages */
:root{--abyss:#062A3A;--pool:#17A2C8;--lagoon:#0B7EA3;--foam:#EFF8FA;--sun:#FFC83D;--line:#D5E7EC;--muted:#4F6B76;--ok:#0A7A4B;--bad:#B42318;--warn:#8A5A00}
*{box-sizing:border-box}
body{margin:0;background:var(--foam);color:var(--abyss);font-family:Cairo,system-ui,sans-serif;font-size:15px;line-height:1.6}
a{color:var(--lagoon)}
.bar{background:var(--abyss);color:#fff;padding:14px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bar b{font-size:19px;display:block;line-height:1.2}.bar small{color:#9CC7D3}.bar a{color:#fff}.bar nav{margin-inline-start:auto;display:flex;gap:14px;flex-wrap:wrap}
main{max-width:1180px;margin:0 auto;padding:18px 16px 60px}
.card{background:#fff;border-radius:18px;padding:18px;margin-bottom:16px;border:1px solid var(--line)}
h2{font-size:19px;margin:0 0 10px}h3{font-size:16px;margin:16px 0 8px}
.en{color:var(--muted);font-size:13px;font-weight:400;margin-inline-start:6px}
.msg{background:#E3F6EE;color:var(--ok);padding:10px 14px;border-radius:12px;margin-bottom:14px;font-weight:700}
.alert{background:#FFF1CC;color:#5C3D00;padding:12px 16px;border-radius:12px;margin-bottom:14px;font-weight:700}
.small{font-size:13px;color:var(--muted)}
table{width:100%;border-collapse:collapse}td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:700}
.btn{border:0;border-radius:999px;padding:7px 16px;font:inherit;font-weight:700;cursor:pointer;background:var(--abyss);color:#fff;text-decoration:none;display:inline-block}
.btn:hover{background:var(--lagoon)}.btn.ok{background:var(--ok)}.btn.no{background:#fff;color:var(--bad);border:1px solid var(--bad)}.btn.ghost{background:#fff;color:var(--abyss);border:1px solid var(--line)}.btn.sun{background:var(--sun);color:var(--abyss)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--pool);outline-offset:2px}
form.inline{display:inline}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.kpi span{color:var(--muted);font-size:13px;font-weight:600}.kpi b{display:block;font-size:24px;line-height:1.3}
.kpi.warn{border-color:var(--sun);background:#FFFBEB}
.rows .row{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.rows .row:last-child{border:0}.rows .right{text-align:end;flex:none}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:1px 9px;border-radius:999px;background:#E6F1F5;color:var(--abyss)}.tag.ok{background:#E3F6EE;color:var(--ok)}.tag.bad{background:#FDECEC;color:var(--bad)}.tag.warn{background:#FFF1CC;color:var(--warn)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs a{padding:6px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--abyss);background:#fff;font-weight:600}.tabs a.on{background:var(--abyss);color:#fff;border-color:var(--abyss)}
.cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.day{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}.day.wk{background:#F6FBFC}.day .d{font-weight:700}.day .w{color:var(--muted);font-size:12px}
.day input[type=number]{width:64px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;font:inherit}.day .bk{font-size:12px;color:var(--muted)}.day.busy{background:#FDECEC}.day.ical{background:#E6F1F5}
input[type=url],input[type=text],input[type=number],input[type=email],input[type=password],select,textarea,.field input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--abyss);background:#fff;margin-top:3px}
textarea{min-height:80px}
.field{display:block;font-size:13px;color:var(--muted);font-weight:700;margin:10px 0}
.chk{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-weight:600}
.code{width:170px!important;font-size:26px!important;letter-spacing:.3em;text-align:center;font-weight:800}
.agree ol{padding-inline-start:22px}.agree li{margin-bottom:8px}
code{direction:ltr;display:inline-block;background:var(--foam);padding:2px 6px;border-radius:6px;word-break:break-all}
.balance{font-size:34px;font-weight:900;margin:4px 0 12px}.balance.neg{color:var(--bad)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 14px}label{display:block;font-size:13px;color:var(--muted);font-weight:700}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eee}
.pill.live,.pill.confirmed,.pill.paid{background:#E3F6EE;color:var(--ok)}.pill.pending,.pill.draft,.pill.unpaid{background:#FFF1CC;color:var(--warn)}.pill.declined,.pill.cancelled,.pill.hidden,.pill.paused{background:#FDECEC;color:var(--bad)}
.photos{display:flex;gap:10px;flex-wrap:wrap}.photos figure{margin:0;width:150px}.photos img{width:150px;height:100px;object-fit:cover;border-radius:10px;display:block}
details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff}summary{cursor:pointer;font-weight:700}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.charts .card{margin:0}
.chart{position:relative;height:260px}
.bars div{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:13px}.bars i{display:block;height:10px;border-radius:5px;background:var(--pool);min-width:2px}.bars span{min-width:110px}.bars b{margin-inline-start:auto}
.foot{text-align:center;margin-top:24px}
@media (max-width:640px){.rows .row{flex-direction:column}.rows .right{text-align:start}}
.kpi.live{border-color:#9FDCEB}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#0A7A4B;margin-inline-end:4px;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(10,122,75,.5)}100%{box-shadow:0 0 0 9px rgba(10,122,75,0)}}
table.heat{border-collapse:separate;border-spacing:2px;width:auto}table.heat td{width:30px;height:26px;text-align:center;font-size:11px;border-radius:4px;padding:0;border:0;color:#062A3A}table.heat th{font-size:11px;padding:2px 4px;border:0}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.msg.info{background:#FFF6DC;color:var(--warn)}
fieldset.ro{border:0;padding:0;margin:0;min-width:0}fieldset.ro .btn{display:none}
.perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:10px}
.perms fieldset{border:1px solid var(--line);border-radius:14px;padding:8px 14px 10px;margin:0}
.perms legend{font-weight:800;padding:0 6px}
label.chk{display:grid;grid-template-columns:18px 1fr;gap:4px 10px;align-items:start;font-weight:600;margin:8px 0;color:var(--abyss);font-size:14px}
label.chk input{width:18px;height:18px;margin:3px 0 0;padding:0}
label.chk small{display:block;color:var(--muted);font-size:13px;font-weight:600;text-align:start}
.media{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:10px 0}
.media figure{margin:0;background:#F4F8FA;border-radius:12px;padding:6px;font-size:13px}
.media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;margin-bottom:4px}
.media label{display:block}
#period .right label,#closed label{display:inline-flex;align-items:center;gap:6px;margin:4px 6px 4px 0}
#period input[type=date],#closed input[type=date],#closed select{padding:7px 10px;border:1px solid #D5E7EC;border-radius:10px;font:inherit}
#closed select{width:auto;margin-top:0}
/* Cairo, self-hosted (see site.css) */
@font-face{font-family:'Cairo';font-style:normal;font-display:swap;font-weight:200 1000;src:url(cairo-arabic-wght-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Cairo';font-style:normal;font-display:swap;font-weight:200 1000;src:url(cairo-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- owner pages: add a place, its units and prices */
body.owner main{max-width:920px}
.owner h1{font-size:26px;margin:0;line-height:1.3}
.owner .head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 16px;flex-wrap:wrap}
.owner .card h2{margin-top:18px}.owner .card h2:first-child,.owner .card h2:first-of-type{margin-top:0}
.owner .narrow{max-width:520px;margin:30px auto}.owner .lead{color:var(--muted);font-size:16px}
.owner .btn{min-height:44px;padding:9px 20px}.owner .btn.big{font-size:17px;padding:11px 26px}
.owner .btn[disabled]{opacity:.45;cursor:not-allowed}
.owner .field .opt{font-weight:400;color:var(--muted)}
.owner .field input,.owner .field select,.owner .field textarea{min-height:44px}
.owner .code{font-size:24px;letter-spacing:8px;text-align:center;max-width:220px}
.owner .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.owner .grid2 .wide{grid-column:1/-1}
.owner .note{background:#E6F1F5;border-radius:12px;padding:10px 14px;margin:0 0 12px}
.owner .check{display:flex;gap:8px;align-items:center;font-weight:700;margin:12px 0;grid-column:1/-1}
.owner .types{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.owner .type{position:relative;display:grid;justify-items:center;text-align:center;gap:2px;border:1.5px solid var(--line);border-radius:16px;padding:10px;cursor:pointer;background:#fff}
.owner .type input{position:absolute;opacity:0}.owner .type img{width:100%;max-width:120px;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.owner .type small{color:var(--muted)}.owner .type:has(input:checked){border-color:var(--abyss);box-shadow:0 0 0 3px rgba(23,162,200,.25)}
.owner .type:has(input:disabled){opacity:.4;cursor:not-allowed}.owner .type:has(input:focus-visible){outline:3px solid var(--pool);outline-offset:2px}
.owner .steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 14px;counter-reset:st;flex-wrap:wrap}
.owner .steps li{counter-increment:st;flex:1;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--muted);font-weight:700;font-size:14px}
.owner .steps li:before{content:counter(st) ". "}.owner .steps li.on{border-color:var(--abyss);color:var(--abyss)}.owner .steps li.done{color:var(--ok)}
.owner .place .ph b{font-size:19px}.owner .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.owner .units .unit{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;flex-wrap:wrap}
.owner .kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.owner .kind{display:grid;gap:6px;justify-items:center;text-align:center;border:1.5px dashed var(--line);border-radius:14px;padding:10px;text-decoration:none;color:var(--abyss);background:#fff}
.owner .kind:hover{border-color:var(--abyss);border-style:solid}.owner .kind img{width:100%;max-width:110px;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.owner .modes{display:grid;gap:8px}
.owner .mode{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;flex-wrap:wrap}
.owner .mode .price{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.owner .mode .price input{width:130px;margin:0}
.owner .mode:has(input[type=checkbox]:checked){border-color:var(--abyss);background:#F6FBFC}
.owner .days{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-weight:600;color:var(--abyss)}
.owner .empty{text-align:center;padding:34px 18px}
@media (max-width:640px){.owner .grid2{grid-template-columns:1fr}.owner .types{grid-template-columns:1fr 1fr}.owner h1{font-size:22px}}
.owner .field input[type=checkbox],.owner .check input,.owner .mode input[type=checkbox]{min-height:0;width:18px;height:18px;margin:0;flex:none}
details.local{margin:2px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#F6FBFC}details.local summary{cursor:pointer;font-weight:800}details.local[open] summary{margin-bottom:6px}
.kinds .kind small{display:block;color:var(--muted);font-size:12px;font-weight:600}
.owner .venue{display:none;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0 4px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#F6FBFC;font-weight:700}
.owner form:has(input[name=type][value=dayuse]:checked) .venue{display:flex}.owner .venue label{display:flex;gap:6px;align-items:center;font-weight:600}
.owner table.seasons{margin-top:6px}.owner table.seasons td{padding:4px 3px;border:0}.owner table.seasons input{margin:0}
@media (max-width:640px){.owner table.seasons th{font-size:11px}.owner table.seasons input{padding:7px 6px;font-size:13px}}
.owner-media figure{position:relative;display:grid;gap:2px}.owner-media figure.cover{outline:3px solid var(--sun);outline-offset:-1px}
.owner-media figure.cover:after{content:"صورة الواجهة";position:absolute;top:10px;inset-inline-start:10px;background:var(--sun);color:var(--abyss);font-weight:800;font-size:12px;padding:2px 8px;border-radius:999px}
.owner-media label{display:flex;gap:6px;align-items:center}
.preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin:0 0 12px}.preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.owner .place .thumb{float:inline-end;width:96px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-inline-start:12px}
.owner .steps li a{color:inherit}
.free-note{margin:0 0 14px;padding:12px 16px;border-radius:14px;background:#FFF7E0;border:1px solid #F3DFA6;color:#5A3E00;line-height:1.8}
.linkbtn.fake{background:none;border:0;padding:4px 0 0;color:var(--bad);font:inherit;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}
