:root{
  --brand:#1c6d95;
  --brand-dark:#0f3448;
  --brand-soft:#e8f4f8;
  --ink:#102431;
  --muted:#728391;
  --line:#d7e6ee;
  --bg:#f5f9fb;
  --card:#ffffff;
  --gray:#616162;
  --gold:#c89952;
  --green:#16a36a;
  --red:#d94a4a;
  --shadow:0 22px 70px rgba(16,36,49,.10);
  --radius:28px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Cairo,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}
a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit}img{max-width:100%}
.top-nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(255,255,255,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;color:var(--brand-dark)}.brand img{height:44px;max-width:190px}.brand span{font-size:14px;color:var(--muted);direction:ltr}
.nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-actions>a:not(.btn){padding:12px 14px;border-radius:16px;color:#405565;font-weight:800}.nav-actions>a:not(.btn):hover{background:var(--brand-soft);color:var(--brand)}
.user-pill{background:#f0f6f9;border:1px solid var(--line);padding:10px 14px;border-radius:999px;color:var(--brand-dark);font-weight:800}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:18px;padding:12px 18px;font-weight:900;font-size:14px;transition:.2s ease;border:1px solid transparent;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 15px 35px rgba(28,109,149,.24)}.btn-primary:hover{background:#155c80}.btn-soft{background:var(--brand-soft);color:#0f5678;border-color:#d5ebf2}.btn-ghost{background:#fff;color:var(--brand-dark);border-color:var(--line)}.btn-lg{padding:16px 24px;border-radius:20px;font-size:16px}.full{width:100%}.icon-btn{width:42px;height:42px;border:0;border-radius:14px;background:#eef6f9;color:var(--ink);font-size:24px;cursor:pointer}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);color:var(--brand);font-weight:900;border-radius:999px;padding:8px 14px;font-size:13px;letter-spacing:.4px}.hero-shell{padding:38px 34px 60px}.hero-panel{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f0f9fc 55%,#e3f3f8 100%);border:1px solid var(--line);border-radius:38px;padding:56px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-copy h1{font-size:56px;line-height:1.18;margin:18px 0;color:var(--brand-dark);max-width:760px}.hero-copy p{font-size:20px;line-height:1.9;color:#5b6f7e;max-width:760px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-visual{position:relative;min-height:430px}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-1{width:260px;height:260px;background:rgba(28,109,149,.15);top:10px;right:20px}.orb-2{width:180px;height:180px;background:rgba(200,153,82,.18);bottom:30px;left:10px}.dashboard-preview{position:absolute;inset:40px 20px 20px 30px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border:1px solid #d2e7ef;border-radius:32px;box-shadow:0 25px 80px rgba(16,36,49,.15);padding:28px}.preview-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;color:var(--brand-dark);font-weight:900}.preview-top img{height:52px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.preview-grid div{background:#f4fafc;border:1px solid var(--line);border-radius:22px;padding:20px}.preview-grid strong{display:block;font-size:32px;color:var(--brand-dark)}.preview-grid span{color:var(--muted);font-weight:800}.preview-table{display:grid;grid-template-columns:1.2fr .8fr .7fr;gap:12px}.preview-table span{height:18px;background:linear-gradient(90deg,#d9edf3,#f5fbfd);border-radius:99px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.module-card{display:block;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 14px 45px rgba(16,36,49,.06);transition:.2s ease}.module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.module-card.active{border-color:#b5dce8;background:linear-gradient(180deg,#fff,#f3fbfd)}.module-icon{width:58px;height:58px;border-radius:20px;background:var(--brand-soft);display:grid;place-items:center;font-size:26px;margin-bottom:18px}.module-card h3{font-size:24px;margin:0 0 10px}.module-card p{color:var(--muted);line-height:1.8;margin:0}.muted{opacity:.85}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top right,rgba(28,109,149,.16),transparent 36%),var(--bg)}.login-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:38px}.login-logo{display:block;text-align:center;margin-bottom:24px}.login-logo img{height:70px}.login-card h1{font-size:34px;margin:14px 0 10px}.login-card p{color:var(--muted);line-height:1.8}.form-stack{display:grid;gap:16px;margin-top:22px}.form-stack label,.manual-grid label{display:grid;gap:8px;color:#314b5d;font-weight:900}.form-stack input,.manual-grid input,.manual-grid select,.manual-grid textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);background:#fbfdfe;border-radius:18px;padding:15px 16px;font-size:16px;color:var(--ink);outline:none}.form-stack input:focus,.manual-grid input:focus,.manual-grid select:focus,.manual-grid textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.demo-access{margin-top:20px;background:#f7fbfd;border:1px dashed #b8dce9;border-radius:20px;padding:16px;display:grid;gap:6px;color:var(--muted)}.demo-access strong{color:var(--brand-dark)}
.dashboard-shell{padding:34px}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title-row h1{font-size:42px;line-height:1.2;margin:12px 0 8px;color:var(--brand-dark)}.page-title-row p{color:var(--muted);font-size:18px;margin:0}.title-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 12px 40px rgba(16,36,49,.055);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:-38px auto auto -38px;width:110px;height:110px;background:var(--brand-soft);border-radius:50%}.stat-card span{position:relative;color:#6b7e8b;font-weight:900}.stat-card strong{position:relative;display:block;font-size:42px;margin:16px 0 8px;color:var(--ink);direction:ltr;text-align:right}.stat-card small{position:relative;color:var(--muted);font-weight:700}.stat-card.warning:before{background:#fff4dc}.stat-card.warning strong{color:#a06a13}.work-grid.single{display:block}.panel{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 15px 50px rgba(16,36,49,.07);overflow:hidden}.panel-head{padding:24px 26px;border-bottom:1px solid var(--line)}.panel-head.split{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h2{margin:0 0 6px;font-size:26px;color:var(--brand-dark)}.panel-head p{margin:0;color:var(--muted);line-height:1.7}.panel-actions{display:flex;gap:10px;flex-wrap:wrap}.file-btn{position:relative;overflow:hidden}.toolbar{padding:20px 26px;display:grid;grid-template-columns:1fr 190px 190px;gap:12px}.table-wrap{overflow:auto;padding:0 26px 26px}.data-table{width:100%;border-collapse:separate;border-spacing:0 12px;min-width:980px}.data-table th{color:#637a8b;font-size:14px;text-align:right;padding:0 14px 8px;font-weight:900}.data-table td{background:#fbfdfe;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 14px;vertical-align:middle;font-weight:700}.data-table td:first-child{border-radius:18px 0 0 18px;border-left:1px solid var(--line)}.data-table td:last-child{border-radius:0 18px 18px 0;border-right:1px solid var(--line)}.asset-name{display:grid;gap:3px}.asset-name strong{font-size:16px;color:var(--ink)}.asset-name small{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;font-weight:900;font-size:13px}.status-pill.ok{background:#dff8ed;color:#08774b}.status-pill.warn{background:#fff1cf;color:#a06a13}.status-pill.danger{background:#ffe1e1;color:#bd2626}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 12px;cursor:pointer;font-weight:900;color:var(--brand-dark)}.mini-btn:hover{background:var(--brand-soft)}.qr-mini{width:50px;height:50px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.qr-mini canvas,.qr-mini img{width:100%!important;height:100%!important}.empty-state{text-align:center;color:var(--muted);padding:34px!important;font-size:17px}.modal{position:fixed;inset:0;background:rgba(16,36,49,.42);display:grid;place-items:center;padding:20px;z-index:50}.modal[hidden]{display:none}.modal-card{width:min(780px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:30px;border:1px solid var(--line);box-shadow:0 30px 110px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;color:var(--brand-dark)}.manual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:24px}.manual-grid .wide{grid-column:1/-1}.manual-grid textarea{min-height:100px;resize:vertical}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px}.category-card{background:#fbfdfe;border:1px solid var(--line);border-radius:24px;padding:22px;display:grid;gap:10px}.category-card.inactive{opacity:.64}.category-card .top{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-card .icon{width:54px;height:54px;border-radius:18px;background:var(--brand-soft);display:grid;place-items:center;font-size:25px}.category-card h3{margin:0;font-size:20px}.category-card p{margin:0;color:var(--muted);line-height:1.6}.category-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.category-metrics div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px}.category-metrics strong{display:block;font-size:22px;color:var(--brand-dark)}.category-metrics span{font-size:12px;color:var(--muted);font-weight:900}.toast{position:fixed;bottom:22px;right:22px;background:#102431;color:#fff;padding:14px 18px;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:100;max-width:420px;line-height:1.6;font-weight:800}.toast.error{background:#b93232}.toast.success{background:#08774b}
.public-page{background:radial-gradient(circle at top right,rgba(28,109,149,.18),transparent 36%),#f5f9fb}.public-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.public-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:32px}.public-logo{height:74px;display:block;margin:0 auto 24px}.public-card h1{text-align:center;color:var(--brand-dark);font-size:34px;margin:18px 0 8px}.public-card>p{text-align:center;color:var(--muted);font-size:18px}.public-card>.status-pill{margin:0 auto;display:flex;width:max-content}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.details-grid div{background:#f7fbfd;border:1px solid var(--line);border-radius:18px;padding:16px}.details-grid .wide{grid-column:1/-1}.details-grid span{display:block;color:var(--muted);font-weight:900;font-size:13px;margin-bottom:7px}.details-grid strong{font-size:18px;color:var(--ink);line-height:1.7}.loading{opacity:.55;pointer-events:none}
@media (max-width:1050px){.hero-panel{grid-template-columns:1fr;padding:36px}.stats-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.hero-copy h1{font-size:42px}.toolbar{grid-template-columns:1fr}.panel-head.split,.page-title-row{flex-direction:column}.top-nav{height:auto;align-items:flex-start;gap:16px;padding:18px;flex-direction:column}.nav-actions{width:100%}.dashboard-shell{padding:20px}}
@media (max-width:640px){.stats-grid,.category-grid,.details-grid,.manual-grid{grid-template-columns:1fr}.manual-grid .wide,.details-grid .wide{grid-column:auto}.hero-shell{padding:18px}.hero-panel{padding:24px;border-radius:26px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:16px}.hero-visual{display:none}.login-card{padding:24px}.page-title-row h1{font-size:31px}.stat-card strong{font-size:34px}}

/* ===== V3 refinements: real ERP interface polish ===== */
.refined-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f4fafc 54%,#eef7fa 100%)}
.logo-stage{min-height:430px;position:relative;display:grid;place-items:center;perspective:900px;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(28,109,149,.16),transparent 34%)}
.logo-stage:after{content:"";position:absolute;inset:44px;border:1px solid rgba(28,109,149,.14);border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.04));pointer-events:none}
.logo-halo{position:absolute;border-radius:999px;filter:blur(2px);animation:floatHalo 7s ease-in-out infinite;opacity:.86}
.halo-one{width:230px;height:230px;background:rgba(28,109,149,.13);top:26px;right:26px}.halo-two{width:160px;height:160px;background:rgba(200,153,82,.2);bottom:34px;left:34px;animation-delay:-2.5s}
.floating-logo-card{position:relative;z-index:3;width:min(390px,86%);min-height:270px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border:1px solid #cfe6ee;border-radius:38px;box-shadow:0 35px 90px rgba(16,36,49,.17);display:grid;place-items:center;text-align:center;padding:34px;transition:transform .18s ease-out;transform-style:preserve-3d}
.floating-logo-card:before{content:"";position:absolute;inset:14px;border:1px dashed rgba(28,109,149,.2);border-radius:28px}.floating-logo-card img{width:230px;max-width:100%;filter:drop-shadow(0 20px 26px rgba(16,36,49,.12))}.floating-logo-card span{color:var(--brand-dark);font-weight:900;letter-spacing:.03em;font-size:14px;text-transform:uppercase}.floating-logo-card>*{position:relative;z-index:2}@keyframes floatHalo{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-16px) scale(1.04)}}
.login-note{background:#fff8e8;border:1px solid #f3d79c;border-radius:18px;padding:14px 16px;margin:16px 0;color:#8a6014;font-weight:800;line-height:1.7}.demo-access{display:none!important}.compact-title{align-items:center}.inventory-panel{overflow:visible}.advanced-toolbar{grid-template-columns:minmax(280px,1fr) 230px 230px;align-items:end;background:linear-gradient(180deg,#fff,#fbfdfe);border-bottom:1px solid var(--line)}.search-field,.filter-widget{display:grid;gap:8px}.search-field span,.filter-widget>span{font-size:13px;color:#6b7e8b;font-weight:900}.search-field input{height:58px;border-radius:19px;background:#fff}.filter-widget{position:relative}.filter-trigger{height:58px;border:1px solid var(--line);background:#fff;border-radius:19px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:inherit;font-size:16px;color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 8px 28px rgba(16,36,49,.035)}.filter-trigger:hover,.filter-trigger:focus{border-color:#9bcddd;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.filter-trigger i{font-style:normal;color:#6b7e8b}.filter-menu{position:absolute;z-index:40;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #cde4ec;border-radius:20px;box-shadow:0 22px 60px rgba(16,36,49,.16);padding:8px;display:grid;gap:5px}.filter-option{border:0;background:transparent;text-align:right;font-family:inherit;font-size:15px;font-weight:800;color:var(--ink);padding:12px 13px;border-radius:14px;cursor:pointer}.filter-option:hover,.filter-option.active{background:var(--brand-soft);color:var(--brand-dark)}
.premium-table-wrap{overflow:visible}.premium-table{min-width:1080px;border-spacing:0 14px}.premium-table th{font-size:13px;color:#6b7e8b;letter-spacing:0}.premium-table .asset-row{filter:drop-shadow(0 12px 28px rgba(16,36,49,.045))}.premium-table td{background:#fff!important;border-color:#dcebf1!important;padding:18px 16px!important}.premium-table td:first-child{border-radius:0 22px 22px 0!important;border-right:1px solid #dcebf1!important;border-left:0!important}.premium-table td:last-child{border-radius:22px 0 0 22px!important;border-left:1px solid #dcebf1!important;border-right:0!important}.asset-main-cell{min-width:250px}.asset-name strong{font-size:18px;color:#102431}.asset-name small{color:#82919a;font-weight:800}.stacked-meta{display:grid;gap:4px;min-width:96px}.stacked-meta strong{font-size:16px;color:#102431;direction:ltr;text-align:right}.stacked-meta span{font-size:12px;color:#7d8d98;font-weight:800}.qr-action{display:flex;align-items:center;gap:10px}.qr-mini{width:58px;height:58px;border-radius:14px}.clean-actions{justify-content:flex-start}.mini-btn{transition:.18s ease}.mini-btn:hover{transform:translateY(-1px)}.danger-lite{color:#b93232;border-color:#f2c8c8}.danger-lite:hover{background:#fff0f0}.status-dropdown{position:relative;display:inline-block}.status-control{border:0;cursor:pointer;font-family:inherit;gap:7px}.status-control i{font-style:normal;opacity:.72}.status-menu{position:absolute;z-index:45;top:calc(100% + 8px);right:0;min-width:190px;background:#fff;border:1px solid #cde4ec;border-radius:18px;padding:8px;box-shadow:0 22px 60px rgba(16,36,49,.18);display:grid;gap:5px}.status-option{border:0;background:transparent;border-radius:13px;padding:11px 12px;text-align:right;font-family:inherit;font-size:14px;color:var(--ink);font-weight:900;cursor:pointer;display:flex;align-items:center;gap:8px}.status-option:hover,.status-option.active{background:#f2fafc;color:var(--brand-dark)}.status-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.status-dot.ok{background:#0b9a61}.status-dot.warn{background:#c58b2b}.status-dot.danger{background:#cf3434}.status-pill.danger{background:#ffe1e1;color:#b92323}.status-pill.warn{background:#fff1cf;color:#a06a13}.status-pill.ok{background:#dff8ed;color:#08774b}.manual-grid select{appearance:none;background:#fbfdfe}.status-admin-panel{margin-bottom:24px;overflow:visible}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form input{height:54px;border:1px solid var(--line);background:#fbfdfe;border-radius:18px;padding:0 16px;font-family:inherit;font-size:15px;min-width:230px;outline:none}.inline-form input:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.status-admin-list{padding:20px 24px;display:flex;gap:10px;flex-wrap:wrap}.status-admin-item{display:flex;align-items:center;gap:10px;background:#fbfdfe;border:1px solid var(--line);border-radius:18px;padding:10px 12px}.status-admin-item small{color:#798b98;font-weight:900}.category-card.clickable{cursor:pointer;text-decoration:none;color:inherit}.category-card.clickable:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(16,36,49,.12);border-color:#b4ddea}.category-card.clickable:after{content:"فتح الوحدة";display:inline-flex;width:max-content;margin-top:5px;background:var(--brand);color:#fff;border-radius:999px;padding:8px 13px;font-weight:900;font-size:13px}.top-nav .nav-actions>a{font-weight:900}.public-card .status-pill.danger{display:flex;width:max-content}
@media (max-width:1050px){.advanced-toolbar{grid-template-columns:1fr}.premium-table-wrap{overflow:auto}.logo-stage{min-height:320px}.floating-logo-card{min-height:220px}.floating-logo-card img{width:190px}}
@media (max-width:640px){.inline-form{width:100%}.inline-form input{width:100%;min-width:0}.premium-table{min-width:980px}.floating-logo-card{border-radius:28px}.logo-stage{min-height:270px}.refined-hero .hero-visual{display:grid}}


/* v4 fix: keep all custom dropdowns closed until user clicks */
.filter-menu[hidden],
.status-menu[hidden],
.modal[hidden],
.toast[hidden] {
  display: none !important;
}
.filter-widget .filter-menu:not([hidden]),
.status-dropdown .status-menu:not([hidden]) {
  display: grid;
}

/* ===== V5: cleaned landing/backoffice + admin password management ===== */
.single-module{grid-template-columns:minmax(320px,560px);justify-content:start}
.single-module .module-card{min-height:210px}
.credentials-admin-panel{margin-bottom:24px;overflow:visible}
.password-form select,
.inline-form select{height:54px;border:1px solid var(--line);background:#fbfdfe;border-radius:18px;padding:0 16px;font-family:inherit;font-size:15px;min-width:230px;outline:none;color:var(--ink);font-weight:800;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7e8b 50%),linear-gradient(135deg,#6b7e8b 50%,transparent 50%);background-position:calc(100% - 19px) 24px,calc(100% - 13px) 24px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.inline-form select:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}
.credentials-admin-panel .panel-head{align-items:flex-start}
.credentials-admin-panel .inline-form{max-width:980px;justify-content:flex-start}
.category-grid.single-only{grid-template-columns:minmax(320px,520px);justify-content:start}
.category-card.single-category-card{min-height:260px;background:linear-gradient(180deg,#fff,#f7fcfd)}
.category-card.single-category-card h3{font-size:24px;color:var(--brand-dark)}
@media (max-width:1050px){.single-module,.category-grid.single-only{grid-template-columns:1fr}.password-form select,.inline-form select{width:100%;min-width:0}.credentials-admin-panel .inline-form{width:100%}}


/* ===== V6: RTL landing/admin layout + password tab page ===== */
.single-module{justify-content:start}
.single-module .module-card{text-align:right}
.category-grid.single-only{justify-content:start}
.passwords-title-row{margin-bottom:24px}
.password-admin-page{overflow:visible}
.password-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:20px;padding:24px}
.password-card{background:linear-gradient(180deg,#fff,#f7fcfd);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 14px 45px rgba(16,36,49,.055)}
.password-card-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.password-icon{width:56px;height:56px;border-radius:19px;background:var(--brand-soft);display:grid;place-items:center;font-size:25px;flex:0 0 auto}
.password-card h3{margin:0 0 6px;color:var(--brand-dark);font-size:23px}
.password-card p{margin:0;color:var(--muted);font-weight:700;line-height:1.7}
.password-card-form{display:grid;gap:15px}
.password-card-form label{display:grid;gap:8px;color:#314b5d;font-weight:900}
.password-card-form input{height:56px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:0 16px;font-family:inherit;font-size:15px;outline:none}
.password-card-form input:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}
@media (max-width:900px){.password-cards-grid{grid-template-columns:1fr}.single-module,.category-grid.single-only{grid-template-columns:1fr}}


/* ===== V7: make row status dropdown overlay above following rows ===== */
.premium-table .asset-row{
  position:relative;
  z-index:1;
}
.premium-table .asset-row.dropdown-open{
  z-index:999;
}
.premium-table .asset-row.dropdown-open td{
  position:relative;
  z-index:2;
}
.status-dropdown.is-open{
  z-index:1000;
}
.status-dropdown.is-open .status-menu{
  z-index:1001;
}

/* ===== V9: status dropdown portal + PDF-style single PNG QR cards ===== */
.premium-table .status-cell{
  position:relative!important;
  z-index:60!important;
}
.premium-table .qr-cell{
  position:relative!important;
  z-index:1!important;
}
.premium-table .asset-row.dropdown-open .status-cell{
  z-index:100000!important;
}
.status-menu.status-menu-floating{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  min-width:180px!important;
  width:190px!important;
  z-index:999999!important;
  box-shadow:0 26px 80px rgba(16,36,49,.22)!important;
}

/* ===== V10: QR scan review approval restricted to Fire user ===== */
.status-stack{display:grid;gap:7px;justify-items:start}
.review-meta{display:inline-flex;align-items:center;width:max-content;max-width:190px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;line-height:1.2;white-space:nowrap}
.review-approved{background:#eaf8f1;color:#08774b;border:1px solid #ccefe0}
.review-pending{background:#fff8e8;color:#a06a13;border:1px solid #f3d79c}
.review-state strong{font-size:16px!important;color:var(--brand-dark)!important}
.review-panel{margin-top:18px;border:1px solid #cde4ec;background:linear-gradient(180deg,#fff,#f5fbfd);border-radius:24px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 35px rgba(16,36,49,.055)}
.review-panel h2{margin:0 0 6px;font-size:21px;color:var(--brand-dark)}
.review-panel p{margin:0;color:var(--muted);line-height:1.8;font-weight:700}
.review-panel .btn{flex:0 0 auto}
.review-locked{display:inline-flex;align-items:center;background:#fff8e8;border:1px solid #f3d79c;color:#8a6014;border-radius:18px;padding:13px 16px;font-weight:900;line-height:1.6}
@media (max-width:760px){.review-panel{display:grid}.review-panel .btn{width:100%}.review-meta{max-width:160px}}

/* ===== V11: QR scan 10-point safety checklist approval ===== */
.review-checklist-panel{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
}
.review-checklist-panel .review-intro{min-width:0}
.inspection-form{
  grid-column:1 / -1;
  margin-top:18px;
  border:1px solid #cde4ec;
  background:#fff;
  border-radius:24px;
  padding:18px;
  box-shadow:0 18px 55px rgba(16,36,49,.07);
}
.inspection-form[hidden]{display:none!important}
.inspection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:12px}
.inspection-head h3{margin:0;color:var(--brand-dark);font-size:22px}
.inspection-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.8;max-width:520px}
.inspection-list{list-style:none;counter-reset:checkitem;display:grid;gap:10px;margin:0;padding:0}
.inspection-item{counter-increment:checkitem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;background:#f8fcfd;border:1px solid #dcebf1;border-radius:18px;padding:13px 14px;transition:.18s ease}
.inspection-item:before{content:counter(checkitem);width:34px;height:34px;border-radius:13px;background:var(--brand-soft);color:var(--brand-dark);font-weight:900;display:grid;place-items:center;grid-column:2;grid-row:1;align-self:start}
.inspection-item p{grid-column:1;grid-row:1;margin:0;color:#183647;font-weight:800;line-height:1.75;font-size:14px;text-align:right}
.inspection-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px}
.inspection-choice{width:44px;height:44px;border-radius:15px;border:1px solid var(--line);background:#fff;font-size:22px;font-weight:900;line-height:1;cursor:pointer;transition:.16s ease;display:grid;place-items:center;box-shadow:0 8px 20px rgba(16,36,49,.045)}
.inspection-choice.pass{color:#0b8f5a;border-color:#bfe8d8;background:#f2fcf7}
.inspection-choice.fail{color:#c83131;border-color:#f0c3c3;background:#fff6f6}
.inspection-choice:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(16,36,49,.09)}
.inspection-choice.pass.selected{background:#10a66c;color:#fff;border-color:#10a66c;box-shadow:0 12px 30px rgba(16,166,108,.22)}
.inspection-choice.fail.selected{background:#d93b3b;color:#fff;border-color:#d93b3b;box-shadow:0 12px 30px rgba(217,59,59,.2)}
.inspection-choice:disabled{cursor:not-allowed;opacity:.78;transform:none}
.inspection-progress{margin-top:14px;background:#eef8fb;border:1px solid #d2e8ef;color:var(--brand-dark);border-radius:16px;padding:12px 14px;font-weight:900;text-align:center}
.inspection-submit-row{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:14px}
.inspection-submit-row .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.review-state em{display:block;margin-top:8px;color:#607584;font-style:normal;font-weight:900;background:#eef8fb;border:1px solid #d5eaf1;width:max-content;max-width:100%;border-radius:999px;padding:7px 12px;font-size:13px}
@media (max-width:760px){
  .review-checklist-panel{grid-template-columns:1fr}
  .inspection-head{display:grid}
  .inspection-item{grid-template-columns:34px minmax(0,1fr);align-items:start}
  .inspection-item:before{grid-column:1;grid-row:1}
  .inspection-item p{grid-column:2;grid-row:1}
  .inspection-actions{grid-column:1 / -1;grid-row:2;justify-content:flex-start;padding-top:6px}
}
/* V11 layout correction */
.inspection-item{grid-template-columns:34px minmax(0,1fr) auto!important}
.inspection-item:before{grid-column:1!important;grid-row:1!important}
.inspection-item p{grid-column:2!important;grid-row:1!important}
.inspection-actions{grid-column:3!important;grid-row:1!important}
@media (max-width:760px){.inspection-actions{grid-column:2!important;grid-row:2!important}}

/* ===== V13: separated Fire Entry / QR Checker + Backoffice reports/users ===== */
.rtl-start{justify-content:start!important;direction:rtl}.backoffice-system-grid{grid-template-columns:minmax(320px,560px)}
.user-create-form{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;padding:0 24px 24px;align-items:end}.user-create-form label,.user-password-form label,.inspection-notes-label{display:grid;gap:8px;color:#314b5d;font-weight:900}.user-create-form input,.user-create-form select,.user-password-form input,.inspection-notes-label textarea{border:1px solid var(--line);background:#fff;border-radius:18px;padding:0 16px;font-family:inherit;font-size:15px;outline:none}.user-create-form input,.user-create-form select,.user-password-form input{height:56px}.inspection-notes-label textarea{min-height:110px;padding:14px 16px;resize:vertical}.user-create-form input:focus,.user-create-form select:focus,.user-password-form input:focus,.inspection-notes-label textarea:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.users-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px;padding:24px}.user-admin-card{background:linear-gradient(180deg,#fff,#f8fcfd);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 35px rgba(16,36,49,.055);display:grid;gap:14px}.user-admin-head{display:flex;align-items:center;gap:12px}.user-avatar{width:50px;height:50px;border-radius:17px;background:var(--brand-soft);color:var(--brand-dark);display:grid;place-items:center;font-weight:900;font-size:22px;flex:0 0 auto}.user-admin-head h3{margin:0;color:var(--brand-dark);font-size:18px}.user-admin-head p{margin:2px 0 0;color:var(--muted);font-weight:800;direction:ltr;text-align:right}.role-badge{margin-inline-start:auto;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;background:#eef8fb;color:var(--brand-dark);white-space:nowrap}.role-badge.admin{background:#fff1cf;color:#9a650e}.role-badge.fire_entry{background:#e7f4fb;color:#0c6386}.role-badge.fire_checker{background:#eaf8f1;color:#08774b}.user-password-form{display:grid;gap:10px}.system-user-note{color:#7f909b;font-weight:900;text-align:center}.full{width:100%;justify-content:center}.report-table-wrap{overflow:auto;padding:0 24px 24px}.report-table{min-width:1100px}.report-table th{background:#f4fafc;color:#617684;font-weight:900}.report-table td{vertical-align:middle}.location-link{direction:ltr;display:inline-flex;background:#eef8fb;border:1px solid #d2e8ef;border-radius:999px;padding:7px 10px;color:var(--brand-dark);font-weight:900;text-decoration:none;white-space:nowrap}.location-link:hover{background:#e0f3f8}.muted{color:#8a9ba7;font-weight:800}.review-log-list{display:grid;gap:16px;padding:24px}.review-log-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#f8fcfd);padding:18px;box-shadow:0 12px 35px rgba(16,36,49,.055)}.review-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.review-log-head h3{margin:0;color:var(--brand-dark);font-size:21px}.review-log-head p{margin:5px 0 0;color:var(--muted);font-weight:800}.score-badge{width:64px;height:64px;border-radius:22px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 12px 25px rgba(28,109,149,.22);flex:0 0 auto}.review-log-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.review-log-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#607584;font-weight:800}.review-log-location{margin-bottom:10px}.review-note{background:#fff8e8;border:1px solid #f3d79c;border-radius:16px;padding:12px 14px;color:#7c5a16;font-weight:800;line-height:1.8;margin-bottom:10px}.review-check-details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.review-check-details summary{cursor:pointer;color:var(--brand-dark);font-weight:900}.review-check-details ol{display:grid;gap:8px;margin:12px 0 0;padding:0 22px 0 0}.review-check-details li{padding:9px 11px;border-radius:14px;font-weight:800;line-height:1.7}.review-check-details li.pass{background:#eefbf4;color:#08774b}.review-check-details li.fail{background:#fff0f0;color:#b92323}.review-check-details li b{float:left;margin-right:12px}.location-capture{display:flex;align-items:center;gap:10px;background:#eef8fb;border:1px solid #d2e8ef;border-radius:18px;padding:12px 14px;margin-bottom:14px;color:#304a5b;font-weight:800;line-height:1.7}.location-capture strong{background:#fff;color:var(--brand-dark);border-radius:999px;padding:5px 10px}.inspection-notes-label{margin-top:14px}.review-meta.review-approved{max-width:260px;white-space:normal;text-align:center;justify-content:center}.public-page .review-panel{align-items:start}.fire-assets-report-panel,.fire-review-log-panel,.users-admin-panel,.users-list-panel{margin-top:24px}
@media (max-width:1100px){.user-create-form,.users-grid{grid-template-columns:1fr 1fr}.backoffice-system-grid{grid-template-columns:1fr}.report-table-wrap{padding:0 14px 18px}}
@media (max-width:720px){.user-create-form,.users-grid{grid-template-columns:1fr}.review-log-head{display:grid}.score-badge{width:56px;height:56px}.review-log-meta{display:grid}.location-capture{display:grid}.user-create-form{padding:0 16px 18px}.users-grid,.review-log-list{padding:16px}.report-table{min-width:980px}}

/* V14 refinements */
.fire-report-cards{display:grid;gap:14px;padding:0 24px 24px}
.fire-report-card{background:linear-gradient(180deg,#fff,#f8fcfd);border:1px solid var(--line);border-radius:24px;padding:18px 20px;box-shadow:0 12px 35px rgba(16,36,49,.055);display:grid;gap:14px}
.fire-report-main{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}
.fire-report-main .status-pill{margin-inline-start:auto;white-space:nowrap}
.report-icon{width:52px;height:52px;border-radius:18px;background:var(--brand-soft);display:grid;place-items:center;font-size:25px;flex:0 0 auto}
.asset-name-block h3{margin:0;color:var(--brand-dark);font-size:20px;line-height:1.35}
.asset-name-block p{margin:4px 0 0;color:var(--muted);font-weight:800;line-height:1.6}
.fire-report-info{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
.fire-report-info>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;min-height:78px;display:grid;align-content:center;gap:4px}
.fire-report-info span,.fire-report-location>span{color:#6d8290;font-weight:900;font-size:13px}
.fire-report-info strong{color:var(--ink);font-weight:900;font-size:16px;word-break:break-word}
.fire-report-info small{color:var(--muted);font-weight:800;line-height:1.5}
.fire-report-location{background:#eef8fb;border:1px solid #d2e8ef;border-radius:18px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.location-capture{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.location-capture small{grid-column:1/-1;color:#6d8290;font-weight:800;line-height:1.8;background:#fff;border:1px dashed #cfe4ec;border-radius:14px;padding:10px 12px}
.location-capture.is-success{background:#eefbf4;border-color:#bfe9d2;color:#08774b}
.location-capture.is-error{background:#fff7e9;border-color:#f0d49c;color:#7a5912}
.location-capture.is-loading{background:#eef8fb;border-color:#cde4ec}
.location-retry-btn{background:#fff;color:var(--brand-dark);white-space:nowrap}
.public-page .review-panel:not(:has(.inspection-form)){justify-content:center;text-align:center}
@media (max-width:900px){.fire-report-info{grid-template-columns:repeat(2,minmax(140px,1fr))}.fire-report-main{align-items:flex-start}.fire-report-main .status-pill{margin-inline-start:0}}
@media (max-width:620px){.fire-report-cards{padding:0 14px 18px}.fire-report-info{grid-template-columns:1fr}.fire-report-main{display:grid}.location-capture{grid-template-columns:1fr}.fire-report-location{display:grid}}

/* ===== V15: Security Gate System ===== */
.home-modules{grid-template-columns:repeat(2,minmax(280px,1fr));justify-content:end;direction:rtl}.security-card .module-icon{background:#eef8fb}.security-title-row{align-items:center}.security-main-actions{gap:12px}.security-panel{margin-top:24px}.security-table-wrap{overflow:auto;padding:0 24px 24px}.security-table{min-width:980px}.security-table th{background:#f4fafc;color:#617684;font-weight:900}.security-table td{vertical-align:middle}.ltr-text{direction:ltr;text-align:inherit;unicode-bidi:plaintext}.visit-qr-actions{display:flex;gap:8px;flex-wrap:wrap}.wide-modal{width:min(1100px,94vw)}.security-entry-grid,.checkout-grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);gap:20px;padding:20px}.camera-box{background:#f7fbfd;border:1px solid var(--line);border-radius:24px;padding:16px;display:grid;gap:14px}.camera-frame{position:relative;min-height:360px;background:#102331;border-radius:22px;overflow:hidden;display:grid;place-items:center}.camera-frame video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.id-scan-guide{position:absolute;inset:42px;border:3px solid rgba(255,255,255,.84);border-radius:24px;box-shadow:0 0 0 999px rgba(0,0,0,.28);display:grid;place-items:end center;padding-bottom:14px;color:#fff;font-weight:900;text-shadow:0 2px 7px rgba(0,0,0,.5)}.qr-frame:after{content:"";position:absolute;inset:70px;border:3px solid rgba(255,255,255,.9);border-radius:24px}.qr-scan-line{position:absolute;left:16%;right:16%;height:3px;background:#72e0ff;box-shadow:0 0 18px rgba(114,224,255,.85);animation:qrScanLine 2.2s ease-in-out infinite}@keyframes qrScanLine{0%{top:22%}50%{top:76%}100%{top:22%}}.camera-actions,.visitor-actions{display:flex;gap:10px;flex-wrap:wrap}.camera-note,.form-hint{margin:0;color:#657b89;font-weight:800;line-height:1.8}.visitor-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;display:grid;gap:14px;align-content:start}.visitor-form label{display:grid;gap:8px;color:#314b5d;font-weight:900}.visitor-form input{height:58px;border:1px solid var(--line);border-radius:18px;padding:0 16px;font-family:inherit;font-size:16px;background:#fbfdfe;outline:none}.visitor-form input:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.checkout-result{min-height:78px}.checkout-success,.checkout-error{border-radius:18px;padding:14px;line-height:1.8;font-weight:900}.checkout-success{background:#eaf8f1;color:#08774b;border:1px solid #bfe9d2}.checkout-error{background:#fff0f0;color:#b92323;border:1px solid #f0c3c3}.security-report-cards{display:grid;gap:14px;padding:0 24px 24px}.security-report-card{background:linear-gradient(180deg,#fff,#f8fcfd);border:1px solid var(--line);border-radius:24px;padding:18px 20px;box-shadow:0 12px 35px rgba(16,36,49,.055);display:grid;gap:14px}.security-report-card.is-inside{border-color:#f0d49c;background:linear-gradient(180deg,#fff,#fffaf0)}.security-report-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.security-report-head h3{margin:0;color:var(--brand-dark);font-size:20px}.security-report-head p{margin:4px 0 0;color:var(--muted);font-weight:900}.security-report-head .status-pill{margin-inline-start:auto;white-space:nowrap}.security-report-info{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px}.security-report-info>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;display:grid;align-content:center;gap:4px;min-height:76px}.security-report-info span{color:#6d8290;font-weight:900;font-size:13px}.security-report-info strong{color:var(--ink);font-weight:900;font-size:15px;word-break:break-word}.role-badge.security_gate{background:#eef8fb;color:#0b6688}
@media(max-width:1100px){.security-entry-grid,.checkout-grid{grid-template-columns:1fr}.security-report-info{grid-template-columns:repeat(3,minmax(130px,1fr))}.home-modules{grid-template-columns:1fr}}
@media(max-width:720px){.security-entry-grid,.checkout-grid{padding:14px}.camera-frame{min-height:300px}.security-table-wrap,.security-report-cards{padding:0 14px 18px}.security-report-info{grid-template-columns:1fr}.security-report-head{display:grid}.security-report-head .status-pill{margin-inline-start:0}.home-modules{grid-template-columns:1fr}}

/* V16 security refinements */
.security-main-actions{justify-content:flex-start}.id-card-camera{min-height:390px}.id-card-camera .id-scan-guide{inset:auto;left:7%;right:7%;top:50%;height:58%;transform:translateY(-50%);border-radius:26px;border-width:3px;aspect-ratio:1.58/1;margin:auto;box-shadow:0 0 0 999px rgba(0,0,0,.34),0 0 35px rgba(114,224,255,.18);place-items:end center;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 18%,transparent 82%,rgba(255,255,255,.16));}
.id-card-camera .id-scan-guide:before{content:"";position:absolute;inset:12px;border:1px dashed rgba(255,255,255,.55);border-radius:18px;pointer-events:none}.id-card-camera .id-scan-guide span{position:relative;background:rgba(12,47,61,.78);padding:8px 14px;border-radius:999px;margin-bottom:12px}.security-public .checkout-success-card{background:#eaf8f1;border:1px solid #bfe9d2;border-radius:22px;padding:16px 18px;color:#08774b;font-weight:900;text-align:center;line-height:1.9;margin:18px 0}.security-public .checkout-warn-card{background:#fff8e8;border:1px solid #f3d79c;border-radius:22px;padding:16px 18px;color:#7c5a16;font-weight:900;text-align:center;line-height:1.9;margin:18px 0}.security-public .done-mark{width:78px;height:78px;border-radius:28px;background:#dff8ed;color:#08774b;display:grid;place-items:center;margin:0 auto 12px;font-size:38px;font-weight:900}.security-public .login-note{background:#eef8fb;border:1px solid #d2e8ef;border-radius:18px;padding:12px 14px}.time-ampm{direction:ltr;unicode-bidi:plaintext;display:inline-block}
@media(max-width:720px){.id-card-camera{min-height:330px}.id-card-camera .id-scan-guide{left:4%;right:4%;height:52%}}

/* V17 security history + ID scan refinements */
.security-history-groups{display:grid;gap:18px;padding:0 24px 24px}
.history-day-card{background:linear-gradient(180deg,#fff,#f8fcfd);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(16,36,49,.055)}
.history-day-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfdfe}
.history-day-head h3{margin:0;color:var(--brand-dark);font-size:21px;font-weight:900}
.history-day-head p{margin:6px 0 0;color:var(--muted);font-weight:800}
.history-date-key{background:#eef8fb;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-weight:900;color:#1c6d95;white-space:nowrap}
.compact-history-table{padding:0;overflow:auto}.compact-history-table .security-table{min-width:940px;margin:0}.compact-history-table .security-table td,.compact-history-table .security-table th{padding-top:14px;padding-bottom:14px}
.scan-mode-hints{display:grid;gap:8px}.scan-mode-hints span{display:block;border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px 12px;color:#617684;font-weight:900;line-height:1.6}.scan-mode-hints span.active{background:#eaf7fb;color:#0a6689;border-color:#c8e4ee}
.id-card-camera .id-scan-guide span{background:rgba(16,35,49,.72);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 14px}
@media(max-width:720px){.security-history-groups{padding:0 14px 18px}.history-day-head{display:grid}.history-date-key{width:max-content}}


/* V18 security history accordion */
.history-day-toggle{width:100%;border:0;cursor:pointer;text-align:inherit;font-family:inherit;color:inherit}
.history-day-toggle:hover{background:#f4fafc}
.history-day-toggle:focus-visible{outline:3px solid rgba(28,109,149,.18);outline-offset:-3px}
.history-day-title{flex:1;text-align:right}
.history-arrow{width:42px;height:42px;border-radius:16px;background:#eef8fb;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-dark);font-size:25px;font-weight:900;transition:transform .2s ease,background .2s ease;flex:0 0 auto}
.history-day-card.is-open .history-arrow{transform:rotate(180deg);background:#dff2f8}
.history-day-body{border-top:1px solid var(--line);background:#fff}
.history-day-body[hidden]{display:none!important}
.history-day-card.is-collapsed{overflow:hidden}
.history-day-card.is-collapsed .history-day-head{border-bottom:0}
@media(max-width:720px){.history-arrow{width:38px;height:38px}.history-day-title{text-align:right}.history-day-toggle{align-items:start}}


/* V24 clean mobile card camera UI */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.camera-modal-head{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}
.camera-modal-head h2{margin:0;font-size:26px;color:var(--brand-dark)}
.camera-close-top{font-size:17px!important;padding:13px 22px!important;min-height:52px;white-space:nowrap}
.camera-box-clean{padding:14px;background:#f7fbfd}
.camera-box-clean .id-card-camera{width:100%;min-height:0!important;aspect-ratio:4/3;max-height:62vh;border-radius:26px;background:#061a24}
.camera-box-clean .id-card-camera .id-scan-guide{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;width:min(88%,620px)!important;height:auto!important;aspect-ratio:1.586/1!important;transform:translate(-50%,-50%)!important;border:3px solid rgba(255,255,255,.94)!important;border-radius:24px!important;background:transparent!important;box-shadow:0 0 0 999px rgba(0,0,0,.34),0 0 34px rgba(114,224,255,.18)!important;padding:0!important;margin:0!important;display:block!important}
.camera-box-clean .id-card-camera .id-scan-guide:before{content:"";position:absolute;inset:11px;border:1px dashed rgba(255,255,255,.56);border-radius:16px;pointer-events:none}
.camera-box-clean .id-card-camera .id-scan-guide:after{content:none!important}
.camera-box-clean .id-card-camera .id-scan-guide span{display:none!important}
@media(max-width:720px){
  .wide-modal{width:min(100%,96vw)}
  .camera-modal-head{padding:14px 16px;align-items:center}
  .camera-modal-head h2{font-size:22px}
  .camera-close-top{font-size:16px!important;padding:12px 18px!important;min-height:48px}
  .security-entry-grid{grid-template-columns:1fr!important;padding:12px!important}
  .camera-box-clean{padding:10px}
  .camera-box-clean .id-card-camera{aspect-ratio:3/4;max-height:58vh;border-radius:22px}
  .camera-box-clean .id-card-camera .id-scan-guide{width:90%!important;border-radius:20px!important}
}


/* V25 extraction retry + backoffice daily security history */
.camera-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.camera-retry-wide{width:100%;min-height:58px;font-size:18px!important;padding:14px 22px!important;border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal}
.camera-retry-wide:disabled{opacity:.62;cursor:wait}
.security-report-day-list{display:grid;gap:14px;padding:18px 20px 20px;background:#f9fcfd}
.backoffice-history-day .history-day-head{cursor:pointer}
.backoffice-history-day .history-day-title{min-width:0}
.backoffice-history-day .history-date-key{margin-inline-start:auto}
@media(max-width:720px){
  .camera-modal-head{align-items:flex-start}
  .camera-head-actions{width:auto;display:block}
  .camera-close-top{width:auto;padding:12px 18px!important;font-size:16px!important;white-space:nowrap}
  .camera-retry-wide{min-height:60px;font-size:18px!important;padding:15px 18px!important;border-radius:18px}
  .security-report-day-list{padding:14px}
  .backoffice-history-day .history-day-head{grid-template-columns:auto 1fr;display:grid}
  .backoffice-history-day .history-date-key{grid-column:2;margin-inline-start:0;width:max-content}
}

/* ===== V27: security vehicle categories, notes, filters and full ID display ===== */
.visitor-form select,
.visitor-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:18px;
  padding:0 16px;
  font-family:inherit;
  font-size:16px;
  color:var(--ink);
  background:#fbfdfe;
  outline:none;
}
.visitor-form select{height:58px;cursor:pointer}
.visitor-form textarea{min-height:110px;padding:14px 16px;resize:vertical;line-height:1.8}
.visitor-form select:focus,
.visitor-form textarea:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}
.visitor-notes-label{grid-column:1/-1}
.vehicle-type-pill{display:inline-flex;align-items:center;width:max-content;max-width:180px;padding:8px 12px;border-radius:999px;background:#eef8fb;border:1px solid #d2e8ef;color:var(--brand-dark);font-weight:900;white-space:nowrap}
.national-id-input,
.national-id-value,
.numeric-value{
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:isolate!important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:.35px;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
}
.national-id-input{font-size:17px!important;font-weight:800}
.security-table{min-width:1180px}
.security-table td:nth-child(2),.security-table th:nth-child(2){min-width:155px}
.security-table td:nth-child(4),.security-table th:nth-child(4){min-width:145px}
.security-report-filter-panel{margin-bottom:22px}
.security-report-filter-row{padding:20px 24px;display:flex;align-items:end;gap:18px;flex-wrap:wrap}
.security-report-filter-row label{display:grid;gap:9px;color:#314b5d;font-weight:900;min-width:min(340px,100%)}
.security-report-filter-row select{height:58px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:0 16px;font-family:inherit;font-size:16px;color:var(--ink);outline:none;cursor:pointer}
.security-report-filter-row select:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}
.filter-summary{min-height:58px;display:flex;align-items:center;background:#eef8fb;border:1px solid #d2e8ef;border-radius:18px;padding:0 16px;color:var(--brand-dark);font-weight:900;line-height:1.6}
.security-report-actions{align-items:center}
.security-report-info{grid-template-columns:repeat(4,minmax(150px,1fr))}
.security-note-cell{grid-column:span 2}
.security-note-cell strong{white-space:normal!important;line-height:1.7}
@media(max-width:900px){
  .security-report-info{grid-template-columns:repeat(2,minmax(140px,1fr))}
  .security-note-cell{grid-column:1/-1}
}
@media(max-width:620px){
  .security-report-filter-row{padding:16px;display:grid}
  .security-report-filter-row label{min-width:0}
  .filter-summary{min-height:auto;padding:13px 14px}
  .security-report-info{grid-template-columns:1fr}
  .security-note-cell{grid-column:auto}
  .vehicle-type-pill{max-width:none;white-space:normal;text-align:center}
}


/* ===== V28: visitor document type selector ===== */
.document-choice-modal .document-choice-card{width:min(760px,calc(100vw - 28px));padding:0;overflow:hidden}
.document-choice-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--line)}
.document-choice-head h2{margin:4px 0 6px;color:var(--brand-dark);font-size:30px}
.document-choice-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.75}
.document-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
.document-type-option{appearance:none;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f4fafc);border-radius:26px;padding:26px 22px;min-height:230px;font-family:inherit;color:var(--ink);cursor:pointer;display:grid;justify-items:center;align-content:center;gap:12px;text-align:center;transition:.2s ease;box-shadow:0 14px 36px rgba(16,36,49,.06)}
.document-type-option:hover,.document-type-option:focus-visible{transform:translateY(-4px);border-color:#83bed3;box-shadow:0 20px 44px rgba(28,109,149,.14);outline:none}
.document-type-icon{width:82px;height:82px;border-radius:26px;background:#e8f5fa;color:#1c6d95;display:grid;place-items:center;font-size:42px;box-shadow:inset 0 0 0 1px #d4e9f0}.document-type-icon svg{width:52px;height:52px;display:block}
.document-type-option strong{font-size:24px;color:var(--brand-dark)}
.document-type-option small{font-size:14px;line-height:1.8;color:var(--muted);font-weight:800}
@media(max-width:720px){
  .document-choice-head{padding:18px;align-items:flex-start}
  .document-choice-head h2{font-size:25px}
  .document-type-grid{grid-template-columns:1fr;padding:16px;gap:14px}
  .document-type-option{min-height:175px;padding:20px}
  .document-type-icon{width:70px;height:70px;font-size:36px;border-radius:22px}
  .document-type-option strong{font-size:21px}
}

/* ===== V31: national ID front/back + full document data ===== */
.document-scan-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 14px;border:1px solid #d5e7ee;background:#fff;border-radius:17px;color:var(--brand-dark)}
.document-scan-progress small{font-weight:800;color:var(--muted);line-height:1.5;text-align:start}
.scan-step-badge{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 13px;border-radius:999px;background:#e7f5fa;border:1px solid #cee7f0;font-weight:1000;white-space:nowrap}
.scan-status-text{min-height:24px;margin:10px 4px 0;color:#496374;font-weight:850;line-height:1.65;text-align:center}
.camera-bottom-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.camera-next-side{width:100%;min-height:60px;border-radius:18px;font-size:18px!important}
.document-details-panel{grid-column:1/-1;border:1px solid #d3e6ed;border-radius:24px;background:linear-gradient(180deg,#f9fdfe,#f0f8fb);padding:18px;margin:4px 0 10px}
.document-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.document-details-head h3{margin:0 0 5px;color:var(--brand-dark);font-size:21px}
.document-details-head p{margin:0;color:var(--muted);font-size:13px;font-weight:750;line-height:1.6}
.details-count{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #d0e5ed;color:var(--brand-dark);font-weight:950;white-space:nowrap}
.document-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.document-details-grid label{display:grid;gap:7px;color:#38566a;font-size:13px;font-weight:900}
.document-details-grid input{width:100%;height:52px;border:1px solid #d1e3ea;border-radius:15px;background:#fff;padding:0 13px;font:inherit;color:var(--ink);outline:none}
.document-details-grid input:focus{border-color:#88bfd3;box-shadow:0 0 0 4px rgba(28,109,149,.08)}
.document-details-grid input[readonly]{background:#edf6f9;color:#607786}
.details-wide{grid-column:1/-1}
.security-document-details{margin-top:16px;border:1px solid #d2e5ec;border-radius:18px;background:#f8fcfd;overflow:hidden}
.security-document-details summary{cursor:pointer;list-style:none;padding:14px 16px;color:var(--brand-dark);font-weight:1000;display:flex;justify-content:space-between;gap:12px;align-items:center}
.security-document-details summary::-webkit-details-marker{display:none}
.security-document-details summary small{color:var(--muted);font-weight:800}
.security-document-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.security-document-details-grid>div{border:1px solid #d9e8ed;border-radius:14px;background:#fff;padding:11px;display:grid;gap:5px;min-width:0}
.security-document-details-grid span{font-size:12px;color:var(--muted);font-weight:850}
.security-document-details-grid strong{font-size:14px;color:var(--ink);line-height:1.55;overflow-wrap:anywhere}
.raw-document-fields{border-top:1px solid #dbe9ee;padding:14px 16px 16px;background:#fff}
.raw-document-fields h4{margin:0 0 10px;color:var(--brand-dark)}
.raw-document-fields ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.raw-document-fields li{display:grid;gap:4px;border:1px solid #e1ebef;border-radius:12px;padding:9px 11px;min-width:0}
.raw-document-fields li span{font-size:11px;color:var(--muted);font-weight:850}
.raw-document-fields li b{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:820px){
  .document-scan-progress{display:grid;justify-items:start}
  .document-details-grid{grid-template-columns:1fr}
  .details-wide{grid-column:auto}
  .security-document-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .raw-document-fields ul{grid-template-columns:1fr}
}
@media(max-width:560px){
  .document-details-panel{padding:14px;border-radius:19px}
  .document-details-head{display:grid}
  .details-count{min-width:0;width:max-content}
  .security-document-details-grid{grid-template-columns:1fr;padding:0 12px 12px}
  .security-document-details summary{align-items:flex-start;flex-direction:column}
}

/* V32: complete document-data view */
.all-extracted-fields{margin-top:14px;border:1px solid #d2e5ec;border-radius:18px;background:#fff;overflow:hidden}
.all-extracted-fields[hidden]{display:none!important}
.all-extracted-fields summary{cursor:pointer;list-style:none;padding:14px 16px;color:var(--brand-dark);font-weight:950;display:flex;justify-content:space-between;gap:12px;align-items:center}
.all-extracted-fields summary::-webkit-details-marker{display:none}
.all-extracted-fields summary small{color:var(--muted);font-weight:800}
.all-extracted-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.extracted-field-card{min-width:0;border:1px solid #dceaf0;border-radius:14px;background:#f8fcfd;padding:11px 12px;display:grid;gap:5px}
.extracted-field-card span{color:#657c8b;font-size:12px;font-weight:900;display:flex;justify-content:space-between;gap:8px;align-items:center}
.extracted-field-card span small{background:#eaf5f9;border-radius:999px;padding:3px 7px;color:#176b8c;white-space:nowrap}
.extracted-field-card strong{color:var(--ink);font-size:14px;line-height:1.65;overflow-wrap:anywhere;white-space:normal}
.raw-document-fields li span small{display:inline-flex;margin-inline-start:6px;padding:2px 6px;border-radius:999px;background:#eaf5f9;color:#176b8c;font-size:10px}
@media(max-width:720px){.all-extracted-fields-grid{grid-template-columns:1fr}.all-extracted-fields summary{align-items:flex-start;flex-direction:column}}
/* V34: simplified document data panels */
.compact-document-details{padding:16px 18px}
.simple-document-head{margin-bottom:12px;display:block}
.simple-document-head h3{margin:0;color:var(--brand-dark);font-size:20px}
.document-details-grid label[hidden]{display:none!important}


/* V35: the Egyptian driving licence is scanned from the front only. */
.camera-next-side[hidden]{display:none!important}


/* V40: independent security Excel exports */
.security-filter-excel-btn[hidden]{display:none!important}
.security-filter-excel-btn{min-height:58px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center}
.history-day-head-with-export{padding:0;align-items:stretch;gap:0}
.history-day-head-with-export>.history-day-toggle{flex:1;min-width:0;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent}
.history-day-head-with-export>.day-excel-btn{margin:14px 14px 14px 0;align-self:center;min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto}
@media(max-width:720px){
  .security-filter-excel-btn{width:100%}
  .history-day-head-with-export{display:grid!important;grid-template-columns:1fr}
  .history-day-head-with-export>.history-day-toggle{display:grid;grid-template-columns:auto 1fr;padding:16px;align-items:start}
  .history-day-head-with-export>.history-day-toggle .history-date-key{grid-column:2;margin-inline-start:0;width:max-content}
  .history-day-head-with-export>.day-excel-btn{margin:0 16px 16px;width:calc(100% - 32px);white-space:normal}
}

/* V41 Restaurant Reservation System */
.home-modules{grid-template-columns:repeat(3,minmax(240px,1fr));}.restaurant-card .module-icon{background:#fff3df}.restaurant-standalone{background:#f3f7fb;min-height:100vh}.restaurant-guest-shell{min-height:100vh;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 20% 10%,rgba(200,153,82,.18),transparent 34%),radial-gradient(circle at 80% 0,rgba(11,47,87,.14),transparent 38%),#f4f8fb}.restaurant-phone-frame{width:min(390px,94vw);height:min(845px,96vh);background:#fff;border:10px solid #0b2f57;border-radius:44px;box-shadow:0 30px 90px rgba(11,47,87,.22);overflow:hidden;position:relative;display:grid;grid-template-rows:34px 1fr}.restaurant-phone-status{display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#0b2f57;font-weight:900;font-size:13px;background:#fff}.guest-app-root{height:100%;min-height:0;position:relative;display:grid;grid-template-rows:1fr auto;background:#fff}.guest-screen{overflow:auto;padding:20px 18px 84px;height:100%;}.guest-language-screen{min-height:100%;margin:-20px -18px -84px;padding:48px 22px 36px;display:grid;align-content:center;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(7,39,74,.96),rgba(11,47,87,.78)),radial-gradient(circle at center,#c89952,transparent 30%),linear-gradient(160deg,#0b2f57,#061c36)}.guest-logo{width:170px;max-width:70%;margin:0 auto 26px;filter:brightness(0) invert(1) drop-shadow(0 8px 20px rgba(0,0,0,.2))}.guest-language-screen h1{margin:0 0 6px;font-size:28px}.guest-language-screen p{margin:0 0 22px;color:rgba(255,255,255,.86);font-weight:800}.language-list{display:grid;gap:12px}.language-btn{height:44px;border:1px solid rgba(255,255,255,.45);border-radius:10px;background:rgba(255,255,255,.95);color:#0b2f57;font-family:inherit;font-weight:900;cursor:pointer}.language-btn.active,.language-btn:hover{background:#c89952;color:#fff}.guest-login-screen{display:grid;align-content:center;min-height:100%;position:relative}.ghost-back{width:38px;height:38px;border:1px solid #dfeaf0;background:#fff;border-radius:14px;color:#0b2f57;font-size:28px;font-weight:900;display:grid;place-items:center;cursor:pointer}.guest-login-screen h1,.guest-screen-head h1{font-size:28px;color:#0b2f57;margin:16px 0 6px}.guest-login-screen p{color:#687b8a;font-weight:800}.guest-form{display:grid;gap:14px;margin-top:22px}.guest-form.compact{margin-top:8px}.guest-form label{display:grid;gap:7px;color:#21384b;font-weight:900;font-size:13px}.guest-form input,.guest-form select{border:1px solid #dbe8ee;background:#fbfdfe;border-radius:12px;height:45px;padding:0 12px;font-family:inherit;font-weight:800;color:#0e2236;outline:none}.guest-form input:focus,.guest-form select:focus{border-color:#8bc6da;box-shadow:0 0 0 4px rgba(28,109,149,.08)}.guest-primary,.guest-secondary{height:48px;border-radius:12px;border:1px solid transparent;font-family:inherit;font-weight:900;cursor:pointer}.guest-primary{background:#0b2f57;color:#fff;box-shadow:0 12px 22px rgba(11,47,87,.16)}.guest-secondary{background:#fff;color:#0b2f57;border-color:#cddde7}.guest-help{text-align:center;margin-top:20px;color:#7a8d9a!important;font-size:13px}.guest-home-head,.guest-screen-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.guest-home-head small{display:block;color:#768a98;font-weight:900}.guest-home-head h2{margin:0;color:#0b2f57;font-size:20px}.avatar-dot{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#fff,#eaf4fa);border:2px solid #e0eef4;position:relative}.avatar-dot:after{content:"";position:absolute;inset:12px 13px 10px;border-radius:50%;background:#0b2f57;box-shadow:0 16px 0 5px #0b2f57}.guest-stay-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border:1px solid #dfeaf0;border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(11,47,87,.06)}.guest-stay-card div,.guest-mini-stats div{display:grid;gap:3px}.guest-stay-card span,.guest-mini-stats span,.success-card span{color:#768a98;font-size:12px;font-weight:900}.guest-stay-card strong,.guest-mini-stats strong,.success-card strong{color:#102331;font-weight:900}.guest-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.guest-mini-stats div{background:#edf9f2;border:1px solid #cfeede;border-radius:14px;padding:12px;text-align:center}.guest-green-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eaf8f1,#f6fcf8);border:1px solid #cfeede;border-radius:16px;padding:13px;margin-bottom:13px}.guest-green-card span{font-size:28px}.guest-green-card small{display:block;color:#668077;font-weight:900}.guest-green-card strong{color:#08774b;font-size:19px}.guest-warning{background:#fff7e8;border:1px solid #f3d79c;color:#805d18;border-radius:14px;padding:12px;margin-bottom:12px;font-weight:900;line-height:1.7}.guest-bottom-nav{position:absolute;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid #e2edf2;display:grid;grid-template-columns:repeat(5,1fr);height:70px;backdrop-filter:blur(12px)}.guest-bottom-nav button{border:0;background:transparent;color:#5a6f7e;font-family:inherit;font-weight:900;display:grid;place-items:center;gap:2px;font-size:18px;cursor:pointer}.guest-bottom-nav button span{font-size:10px}.guest-bottom-nav button.active{color:#0b2f57}.restaurant-list{display:grid;gap:12px}.guest-restaurant-card{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;text-align:start;background:#fff;border:1px solid #dfeaf0;border-radius:16px;padding:10px;box-shadow:0 8px 24px rgba(11,47,87,.06);font-family:inherit;cursor:pointer}.guest-restaurant-card:disabled{opacity:.72;cursor:not-allowed}.restaurant-photo{width:94px;height:76px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rest-color,#0b2f57),#111);font-size:32px;color:#fff;box-shadow:inset 0 -24px 45px rgba(255,255,255,.12)}.restaurant-photo.tiny{width:58px;height:58px;font-size:24px;flex:0 0 auto}.restaurant-info{display:grid;gap:4px}.restaurant-info strong{font-size:15px;color:#0b2f57}.restaurant-info small,.restaurant-info em{color:#647888;font-style:normal;font-weight:800;font-size:12px}.restaurant-info b{font-size:12px}.restaurant-info b.available{color:#08774b}.restaurant-info b.full,.restaurant-info b.closed{color:#b92323}.check-block{border:1px solid #e0ebf0;border-radius:13px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.check-block strong{grid-column:1/-1;color:#0b2f57}.check-block label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800}.check-block input{width:auto;height:auto}.paid-prompt-screen,.booking-success-screen,.green-intro-screen{text-align:center;display:grid;align-content:center;min-height:100%;gap:12px}.paid-icon,.success-check,.green-leaf{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:38px}.paid-icon{background:#fff5e2}.success-check{background:#dff8ed;color:#08774b;font-weight:900}.green-leaf{background:#eaf8f1}.paid-fee{font-size:26px;font-weight:900;color:#0b2f57;background:#f7fbfd;border:1px solid #dfeaf0;border-radius:15px;padding:12px}.success-card{border:1px solid #dfeaf0;border-radius:16px;padding:14px;text-align:start;display:grid;grid-template-columns:1fr 1fr;gap:10px}.success-qr{width:148px;height:148px;margin:0 auto;border:1px solid #dfeaf0;border-radius:16px}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-mini-card{display:grid;grid-template-columns:58px 1fr 54px;gap:10px;align-items:center;border:1px solid #dfeaf0;border-radius:16px;padding:10px;margin-bottom:10px}.booking-mini-card strong,.booking-mini-card small,.booking-mini-card em{display:block}.booking-mini-card strong{color:#0b2f57}.booking-mini-card small,.booking-mini-card em{color:#667b8a;font-style:normal;font-size:12px;font-weight:800}.booking-mini-card img{width:54px;height:54px}.booking-mini-card button{grid-column:1/-1;border:1px solid #f0c3c3;background:#fff0f0;color:#b92323;border-radius:10px;height:36px;font-weight:900}.allergy-badge{display:inline-flex;background:#fff1cf;color:#a06a13;border-radius:999px;padding:2px 6px;font-size:10px}.empty-guest,.guest-loading{padding:28px;text-align:center;color:#718594;font-weight:900}.green-total{background:linear-gradient(135deg,#07843f,#0b6b37);color:#fff;border-radius:18px;padding:22px;text-align:center}.green-total strong{display:block;font-size:48px;line-height:1}.green-level{border:1px solid #dfeaf0;border-radius:16px;padding:14px;margin:12px 0}.green-level div{height:7px;background:#edf2f5;border-radius:99px;overflow:hidden;margin-top:9px}.green-level i{display:block;height:100%;background:#08774b}.green-rule,.reward-row{display:flex;align-items:center;justify-content:space-between;border:1px solid #dfeaf0;border-radius:13px;padding:11px 12px;margin-bottom:8px;font-weight:900}.green-rule b{color:#08774b}.green-rule.muted b{color:#9aa9b2}.reward-row.ready{background:#eaf8f1;border-color:#cfeede}.reward-row span{background:#0b2f57;color:#fff;border-radius:10px;padding:5px 8px}.restaurant-public-page{background:#f4f8fb}.restaurant-booking-public{min-height:100vh;display:grid;place-items:center;padding:24px}.booking-public-card{width:min(520px,100%);background:#fff;border:1px solid #dfeaf0;border-radius:28px;box-shadow:0 20px 70px rgba(11,47,87,.12);padding:28px;text-align:center}.booking-public-logo{height:72px;margin-bottom:16px}.booking-public-status{display:inline-flex;border-radius:999px;padding:7px 12px;font-weight:900;background:#eaf8f1;color:#08774b}.booking-public-status.cancelled{background:#fff0f0;color:#b92323}.booking-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.booking-public-grid div{background:#f8fbfd;border:1px solid #dfeaf0;border-radius:14px;padding:12px}.booking-public-grid span{display:block;color:#728795;font-weight:900}.booking-public-qr{width:180px;height:180px;border:1px solid #dfeaf0;border-radius:18px}.allergy-public-alert{background:#fff1cf;border:1px solid #f3d79c;color:#805d18;border-radius:14px;padding:12px;margin:12px 0;font-weight:900}.booking-public-error{color:#b92323;background:#fff0f0;border:1px solid #f0c3c3;border-radius:16px;padding:18px;font-weight:900}.restaurant-admin-layout{min-height:calc(100vh - 84px);display:grid;grid-template-columns:270px 1fr;background:#f4f7fb;direction:rtl}.restaurant-side-nav{background:#082b52;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:84px;height:calc(100vh - 84px)}.restaurant-side-logo{display:block;text-align:center;margin-bottom:20px}.restaurant-side-logo img{height:76px;filter:brightness(0) invert(1)}.restaurant-side-nav button{display:flex;justify-content:space-between;align-items:center;border:0;border-radius:13px;background:transparent;color:#fff;padding:13px 14px;font-family:inherit;font-weight:900;cursor:pointer;text-align:right}.restaurant-side-nav button:hover,.restaurant-side-nav button.active{background:#1c62ad}.restaurant-admin-main{min-width:0;padding:28px}.restaurant-admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.restaurant-admin-topbar h1{margin:0 0 6px;color:#0b2f57;font-size:32px}.restaurant-admin-topbar p{margin:0;color:#6d8291;font-weight:800}.restaurant-admin-user{background:#fff;border:1px solid #dfeaf0;border-radius:18px;padding:13px 16px;display:grid;text-align:left}.restaurant-admin-user span{color:#6f8492;font-weight:800}.restaurant-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin-bottom:18px}.restaurant-stat-card{background:#fff;border:1px solid #dfeaf0;border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(11,47,87,.055)}.restaurant-stat-card span{color:#6d8291;font-weight:900}.restaurant-stat-card strong{display:block;color:#0b2f57;font-size:30px;margin:10px 0}.restaurant-stat-card small{color:#7b8f9c;font-weight:800}.restaurant-admin-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.restaurant-admin-card{background:#fff;border:1px solid #dfeaf0;border-radius:22px;box-shadow:0 10px 34px rgba(11,47,87,.06);padding:20px;margin-bottom:18px;overflow:hidden}.restaurant-admin-card h2{margin:0 0 12px;color:#0b2f57}.restaurant-admin-card p{color:#657a89;font-weight:800;line-height:1.8}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head input,.card-head select,.reservation-filters input,.reservation-filters select,.restaurant-admin-table select{border:1px solid #dfeaf0;border-radius:12px;height:40px;padding:0 10px;font-family:inherit}.occupancy-bars{display:grid;gap:12px}.occupancy-bars div{display:grid;grid-template-columns:1fr 52px;gap:10px;align-items:center}.occupancy-bars i{grid-column:1/-1;height:10px;border-radius:99px;background:#edf2f5;overflow:hidden}.occupancy-bars em{display:block;height:100%;background:#16875a}.waste-row{display:flex;align-items:center;justify-content:space-between;border:1px solid #dfeaf0;border-radius:13px;padding:11px;margin-bottom:8px;font-weight:900}.green-big{margin-top:12px;background:#eaf8f1;color:#08774b;border-radius:14px;padding:16px;text-align:center;font-weight:900}.restaurant-table-wrap{overflow:auto}.restaurant-admin-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0 10px}.restaurant-admin-table th{text-align:right;color:#657a89;font-size:13px;padding:0 12px}.restaurant-admin-table td{background:#fbfdfe;border-top:1px solid #dfeaf0;border-bottom:1px solid #dfeaf0;padding:12px;vertical-align:middle;font-weight:800}.restaurant-admin-table td:first-child{border-right:1px solid #dfeaf0;border-radius:0 14px 14px 0}.restaurant-admin-table td:last-child{border-left:1px solid #dfeaf0;border-radius:14px 0 0 14px}.restaurant-admin-table small{display:block;color:#7b8e9a;margin-top:3px}.has-allergy td{background:#fffaf0}.paid-pill{display:inline-flex;background:#eaf8f1;color:#08774b;border-radius:999px;padding:3px 7px;margin-inline-start:5px}.allergy-alert{display:inline-flex;background:#fff1cf;color:#a06a13;border-radius:999px;padding:4px 8px;margin-inline-end:6px}.restaurant-import-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.restaurant-import-form input{border:1px dashed #bdd2dd;border-radius:14px;padding:14px;background:#fbfdfe}.import-template,.report-note{background:#f6fbfd;border:1px solid #dfeaf0;border-radius:14px;padding:14px;color:#657a89;font-weight:800;margin-top:14px}.restaurant-edit-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.restaurant-edit-form label{display:grid;gap:6px;color:#344b5c;font-weight:900}.restaurant-edit-form input,.restaurant-edit-form select{border:1px solid #dfeaf0;border-radius:12px;height:42px;padding:0 10px;font-family:inherit}.restaurant-edit-form button{align-self:end}.check-inline{display:flex!important;align-items:center;gap:8px}.check-inline input{width:auto;height:auto}.closed-days{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fbfdfe;border:1px solid #dfeaf0;border-radius:14px;padding:10px}.closed-days label{display:flex!important;align-items:center;gap:5px}.closed-days input{width:auto;height:auto}.restaurant-list-admin{display:grid;gap:10px}.restaurant-admin-item{display:grid;grid-template-columns:76px 1fr auto auto;gap:12px;align-items:center;border:1px solid #dfeaf0;border-radius:16px;padding:10px}.restaurant-admin-item .restaurant-photo{width:76px;height:58px;font-size:24px}.restaurant-admin-item strong,.restaurant-admin-item small,.restaurant-admin-item em{display:block}.restaurant-admin-item strong{color:#0b2f57}.restaurant-admin-item small,.restaurant-admin-item em{color:#6e8391;font-style:normal;font-weight:800}.mini-btn.danger{color:#b92323}.reservation-filters{display:flex;gap:8px;flex-wrap:wrap}.green-help{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.green-help div{border:1px solid #dfeaf0;border-radius:14px;padding:14px;text-align:center;font-weight:900}.green-help b{display:block;color:#08774b}.report-buttons{display:flex;gap:10px;flex-wrap:wrap}.audit-list{display:grid;gap:10px}.audit-list div{border:1px solid #dfeaf0;border-radius:14px;padding:12px;background:#fbfdfe}.audit-list b,.audit-list span,.audit-list small{display:block}.audit-list b{color:#0b2f57}.audit-list span{color:#344b5c;font-weight:800}.audit-list small{color:#7b8f9c;font-weight:800}.restaurant-admin-loading,.restaurant-admin-error,.empty-admin{background:#fff;border:1px solid #dfeaf0;border-radius:18px;padding:28px;text-align:center;color:#647987;font-weight:900}.restaurant-admin-error{color:#b92323;background:#fff0f0;border-color:#f0c3c3}
@media (max-width:1100px){.restaurant-stats-grid{grid-template-columns:repeat(3,1fr)}.restaurant-admin-grid.two{grid-template-columns:1fr}.restaurant-edit-form{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){.home-modules{grid-template-columns:1fr}.restaurant-admin-layout{grid-template-columns:1fr}.restaurant-side-nav{position:static;height:auto;display:grid;grid-template-columns:repeat(2,1fr)}.restaurant-side-logo{grid-column:1/-1}.restaurant-admin-main{padding:18px}.restaurant-stats-grid{grid-template-columns:1fr 1fr}.restaurant-admin-topbar{display:block}.restaurant-edit-form{grid-template-columns:1fr}.restaurant-admin-item{grid-template-columns:62px 1fr}.restaurant-admin-item button{grid-column:1/-1}.green-help{grid-template-columns:1fr}}@media (max-width:560px){.restaurant-phone-frame{width:100vw;height:100vh;border-radius:0;border:0}.restaurant-guest-shell{padding:0}.restaurant-stats-grid{grid-template-columns:1fr}.booking-public-grid{grid-template-columns:1fr}}

/* V43 - Guest mobile app UX cleanup */
body.page-restaurant-guest,
body.page-restaurant-guest *{
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
  box-sizing:border-box;
}
body.page-restaurant-guest{
  background:#062a52!important;
  overscroll-behavior:none;
  touch-action:manipulation;
}
body.page-restaurant-guest button,
body.page-restaurant-guest a,
body.page-restaurant-guest input,
body.page-restaurant-guest select,
body.page-restaurant-guest textarea{
  touch-action:manipulation;
}
body.page-restaurant-guest input,
body.page-restaurant-guest select,
body.page-restaurant-guest textarea{
  font-size:16px!important;
}
.page-restaurant-guest .restaurant-guest-shell{
  min-height:100svh;
  padding:0!important;
  background:#062a52!important;
}
.page-restaurant-guest .restaurant-phone-frame{
  grid-template-rows:1fr!important;
  width:min(390px,100vw);
  height:min(845px,100svh);
  background:#062a52!important;
  border-color:#062a52;
}
.page-restaurant-guest .restaurant-phone-status{
  display:none!important;
}
.page-restaurant-guest .guest-app-root{
  height:100%;
  background:#f6fafc!important;
}
.page-restaurant-guest .guest-screen{
  background:#f6fafc;
  padding:22px 18px 88px;
  scrollbar-width:none;
}
.page-restaurant-guest .guest-screen::-webkit-scrollbar{
  display:none;
}
.page-restaurant-guest .guest-screen-language{
  padding:0!important;
  background:#062a52!important;
}
.page-restaurant-guest .guest-language-screen{
  min-height:100%;
  margin:0!important;
  padding:56px 24px 42px;
  background:#062a52!important;
  background-image:radial-gradient(circle at 18% 18%,rgba(200,153,82,.22),transparent 34%),linear-gradient(160deg,#062a52,#061b36)!important;
}
.page-restaurant-guest .guest-logo{
  width:178px;
  margin-bottom:30px;
}
.page-restaurant-guest .language-list{
  gap:12px;
}
.page-restaurant-guest .language-btn{
  min-height:46px;
  height:auto;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}
.page-restaurant-guest .guest-screen-login{
  background:#f6fafc;
}
.page-restaurant-guest .guest-login-screen{
  min-height:100%;
  padding-top:8px;
}
.page-restaurant-guest .ghost-back{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(11,47,87,.10);
  background:linear-gradient(180deg,#fff,#f4f8fb);
  color:#0b2f57;
  font-size:0;
  box-shadow:0 10px 24px rgba(11,47,87,.10);
  position:relative;
}
.page-restaurant-guest .ghost-back:before{
  content:"";
  width:10px;
  height:10px;
  border-top:3px solid currentColor;
  border-left:3px solid currentColor;
  transform:rotate(-45deg);
  display:block;
}
.page-restaurant-guest [dir="rtl"] .ghost-back:before{
  transform:rotate(135deg);
}
.page-restaurant-guest .guest-screen-head{
  margin-bottom:18px;
}
.page-restaurant-guest .guest-screen-head h1,
.page-restaurant-guest .guest-login-screen h1{
  font-size:25px;
  line-height:1.25;
}
.page-restaurant-guest .guest-form input,
.page-restaurant-guest .guest-form select{
  min-height:48px;
  border-radius:14px;
  background:#fff;
}
.page-restaurant-guest .guest-primary,
.page-restaurant-guest .guest-secondary{
  min-height:50px;
  border-radius:14px;
}
.page-restaurant-guest .guest-bottom-nav{
  grid-template-columns:repeat(4,1fr)!important;
  height:74px;
  border-radius:22px 22px 0 0;
  box-shadow:0 -14px 32px rgba(11,47,87,.10);
}
.page-restaurant-guest .guest-bottom-nav button{
  font-size:20px;
}
.page-restaurant-guest .guest-bottom-nav button span{
  font-size:11px;
}
.page-restaurant-guest .guest-more-screen{
  display:grid;
  gap:14px;
}
.page-restaurant-guest .more-profile-card,
.page-restaurant-guest .more-card{
  background:#fff;
  border:1px solid #dfeaf0;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(11,47,87,.06);
  padding:16px;
}
.page-restaurant-guest .more-profile-card{
  display:flex;
  align-items:center;
  gap:12px;
}
.page-restaurant-guest .avatar-dot.small{
  width:44px;
  height:44px;
  flex:0 0 auto;
}
.page-restaurant-guest .avatar-dot.small:after{
  inset:11px 12px 9px;
  box-shadow:0 15px 0 4px #0b2f57;
}
.page-restaurant-guest .more-profile-card small,
.page-restaurant-guest .more-card-title small{
  display:block;
  color:#768a98;
  font-weight:900;
}
.page-restaurant-guest .more-profile-card strong,
.page-restaurant-guest .more-card-title strong{
  display:block;
  color:#0b2f57;
  font-weight:900;
  font-size:18px;
}
.page-restaurant-guest .more-profile-card span{
  color:#42596b;
  font-weight:800;
}
.page-restaurant-guest .more-card-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.page-restaurant-guest .more-card-title>span{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#edf5ff;
  color:#0b2f57;
  font-size:22px;
  font-weight:900;
}
.page-restaurant-guest .more-language-list .language-btn{
  background:#f8fbfd;
  color:#0b2f57;
  border-color:#dfeaf0;
  box-shadow:none;
}
.page-restaurant-guest .more-language-list .language-btn.active{
  background:#0b2f57;
  color:#fff;
  border-color:#0b2f57;
}
.page-restaurant-guest .logout-wide{
  color:#b92323;
  border-color:#f0c3c3;
  background:#fff;
}
@media (max-width:560px){
  .page-restaurant-guest .restaurant-phone-frame{
    width:100vw;
    height:100svh;
    border:0;
    border-radius:0;
  }
}

/* ===== V45 guest mobile polish: clean avatar + premium back button ===== */
.page-restaurant-guest{
  -webkit-tap-highlight-color:transparent;
}
.page-restaurant-guest .guest-home-head,
.page-restaurant-guest .guest-screen-head{
  align-items:center;
}
.page-restaurant-guest .avatar-dot{
  width:52px!important;
  height:52px!important;
  min-width:52px;
  border-radius:999px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6fafc 100%)!important;
  border:1.5px solid #d9e8ef!important;
  box-shadow:0 12px 28px rgba(11,47,87,.10), inset 0 1px 0 rgba(255,255,255,.95)!important;
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
}
.page-restaurant-guest .avatar-dot:before{
  content:""!important;
  position:absolute!important;
  width:16px!important;
  height:16px!important;
  left:50%!important;
  top:12px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#0e3a69,#062a52)!important;
  box-shadow:none!important;
}
.page-restaurant-guest .avatar-dot:after{
  content:""!important;
  position:absolute!important;
  width:28px!important;
  height:18px!important;
  left:50%!important;
  bottom:10px!important;
  inset:auto auto 10px 50%!important;
  transform:translateX(-50%)!important;
  border-radius:18px 18px 12px 12px!important;
  background:linear-gradient(180deg,#0e3a69,#062a52)!important;
  box-shadow:none!important;
}
.page-restaurant-guest .avatar-dot.small{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
}
.page-restaurant-guest .avatar-dot.small:before{
  width:14px!important;
  height:14px!important;
  top:10px!important;
}
.page-restaurant-guest .avatar-dot.small:after{
  width:25px!important;
  height:16px!important;
  bottom:8px!important;
  inset:auto auto 8px 50%!important;
}
.page-restaurant-guest .ghost-back{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:999px!important;
  border:1px solid #dfeaf0!important;
  background:linear-gradient(180deg,#ffffff,#f7fbfd)!important;
  color:#0b2f57!important;
  box-shadow:0 12px 28px rgba(11,47,87,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  flex:0 0 46px!important;
}
.page-restaurant-guest .ghost-back:before{
  content:""!important;
  width:12px!important;
  height:12px!important;
  border:solid currentColor!important;
  border-width:0 3px 3px 0!important;
  display:block!important;
  transform:rotate(135deg)!important;
  margin:0!important;
}
.page-restaurant-guest [dir="rtl"] .ghost-back:before{
  transform:rotate(-45deg)!important;
}
.page-restaurant-guest .ghost-back:hover{
  background:#fff!important;
  transform:translateY(-1px);
}
.page-restaurant-guest .ghost-back:active{
  transform:scale(.96);
  box-shadow:0 8px 20px rgba(11,47,87,.10), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.page-restaurant-guest .guest-login-screen .ghost-back{
  justify-self:start;
  margin-bottom:22px;
}
.page-restaurant-guest .guest-screen-head .ghost-back{
  margin:0;
}

/* ===== V47 standalone restaurant updates ===== */
.restaurant-edit-form textarea{
  border:1px solid #dfeaf0;
  border-radius:12px;
  min-height:96px;
  padding:10px;
  font-family:inherit;
  font-weight:800;
  resize:vertical;
}
.restaurant-edit-form .slots-label{
  grid-column:1/-1;
}
.restaurant-edit-form .slots-label small{
  color:#6d8291;
  font-weight:800;
}
.restaurant-photo-img{
  width:76px;
  height:58px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid #dfeaf0;
  box-shadow:0 8px 18px rgba(11,47,87,.08);
}
.page-restaurant-guest .restaurant-photo.has-img{
  background:#eef5f9!important;
  overflow:hidden;
  padding:0;
}
.page-restaurant-guest .restaurant-photo.has-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-restaurant-guest .guest-info-note{
  background:#edf7ff;
  border:1px solid #d2e9f8;
  color:#0b2f57;
  border-radius:14px;
  padding:11px 12px;
  margin-bottom:12px;
  font-weight:900;
  line-height:1.6;
  font-size:12px;
}
.page-restaurant-guest .guest-form small{
  color:#6f8492;
  font-weight:800;
  font-size:11px;
}
.page-restaurant-guest .green-welcome-popup{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:18px;
  background:linear-gradient(180deg,#f6fafc,#eef7f3);
}
.page-restaurant-guest .green-welcome-card{
  width:100%;
  max-width:340px;
  min-height:50%;
  border:1px solid #cfeede;
  border-radius:26px;
  background:#fff;
  box-shadow:0 24px 70px rgba(11,47,87,.14);
  padding:24px 22px;
  display:grid;
  align-content:center;
  gap:12px;
  text-align:start;
}
.page-restaurant-guest .green-welcome-card h1{
  margin:0;
  color:#08774b;
  font-size:25px;
  text-align:center;
}
.page-restaurant-guest .green-welcome-card p{
  margin:0;
  color:#344b5c;
  font-weight:850;
  line-height:1.65;
}
.page-restaurant-guest .green-welcome-card ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.page-restaurant-guest .green-welcome-card li{
  border:1px solid #dfeaf0;
  border-radius:13px;
  padding:9px 10px;
  background:#fbfdfe;
  font-weight:900;
  color:#0b2f57;
}
.page-restaurant-guest .green-welcome-card small{
  text-align:center;
  color:#6d8291;
  font-weight:900;
}
.page-restaurant-guest .booking-card-expanded{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.page-restaurant-guest .booking-row-main{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:10px;
  align-items:center;
}
.page-restaurant-guest .booking-card-expanded .booking-qr-large{
  width:156px!important;
  height:156px!important;
  max-width:100%;
  justify-self:center;
  border:1px solid #dfeaf0;
  border-radius:16px;
  background:#fff;
  padding:4px;
}
.page-restaurant-guest .booking-card-expanded button{
  grid-column:auto!important;
}
.btn-success{background:#16875a!important;color:#fff!important;border-color:#16875a!important;}

/* ===== V48 time slot clock builder ===== */
.restaurant-edit-form .time-slots-builder{
  grid-column:1/-1;
  border:1px solid #dfeaf0;
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.restaurant-edit-form .slot-builder-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.restaurant-edit-form .slot-builder-head strong{
  color:#0b2f57;
  font-size:16px;
  font-weight:900;
}
.restaurant-edit-form .time-slots-list{
  display:grid;
  gap:10px;
}
.restaurant-edit-form .time-slot-row{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  align-items:end;
  gap:10px;
  padding:10px;
  border:1px solid #e5eef3;
  border-radius:14px;
  background:#f8fcfe;
}
.restaurant-edit-form .time-slot-row label{
  display:grid;
  gap:6px;
  color:#6d8291;
  font-weight:900;
}
.restaurant-edit-form .time-slot-row input[type="time"],
.restaurant-edit-form .time-slot-row .slot-time-select{
  direction:ltr;
  text-align:center;
  font-size:15px;
  font-weight:900;
  color:#0b2f57;
  min-height:44px;
  cursor:pointer;
  background:#fff;
  border:1px solid #dfeaf0;
  border-radius:12px;
}
.restaurant-edit-form .time-slot-row .slot-time-select{
  appearance:auto;
  padding:0 10px;
}
.restaurant-edit-form .time-slots-builder small{
  display:block;
  margin-top:10px;
  color:#6d8291;
  font-weight:800;
  line-height:1.7;
}
@media (max-width:700px){
  .restaurant-edit-form .time-slot-row{
    grid-template-columns:1fr;
  }
}


/* V49 Green Points custom selectors */
.green-admin-card{overflow:visible}
.green-rate-form{display:grid;gap:18px;margin-top:18px}
.green-picker-block{background:#f8fbfd;border:1px solid #dfeaf0;border-radius:20px;padding:16px;display:grid;gap:14px}
.green-picker-title{display:flex;align-items:center;gap:12px;color:#0b2f57;font-weight:900}
.green-picker-title>span{width:34px;height:34px;border-radius:12px;background:#eaf4fb;color:#0b2f57;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d7e8f0}
.green-picker-title strong{display:block;font-size:17px}
.green-picker-title small{display:block;color:#728795;font-size:12px;margin-top:2px}
.green-reservation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:320px;overflow:auto;padding-inline-end:4px}
.green-rating-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}
.green-choice-card{appearance:none;border:1px solid #dfeaf0;background:#fff;border-radius:18px;padding:14px;text-align:inherit;font-family:inherit;color:#20384b;font-weight:900;cursor:pointer;display:grid;gap:5px;position:relative;box-shadow:0 8px 20px rgba(11,47,87,.04);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.green-choice-card:hover{transform:translateY(-1px);border-color:#a9cedd;box-shadow:0 14px 28px rgba(11,47,87,.08)}
.green-choice-card.active{border-color:#20789d;background:linear-gradient(180deg,#f2fbff,#fff);box-shadow:0 0 0 4px rgba(32,120,157,.12),0 14px 30px rgba(11,47,87,.09)}
.green-choice-card.active:after{content:"✓";position:absolute;top:10px;left:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#20789d;color:#fff;font-size:14px;font-weight:900}
.green-choice-card .choice-icon{width:42px;height:42px;border-radius:14px;background:#eef8fb;display:grid;place-items:center;font-size:22px;margin-bottom:2px}
.green-choice-card strong{color:#0b2f57;font-size:16px}
.green-choice-card small,.green-choice-card em{color:#6e8391;font-style:normal;font-size:12px;font-weight:800;line-height:1.5}
.green-choice-card b{color:#08774b;font-size:14px}
.green-choice-card.muted b{color:#8b9ba7}
.allergy-alert.compact{width:max-content;margin:4px 0 0 0;font-size:11px}
.green-submit-btn{justify-self:end;min-width:230px;height:52px;border-radius:16px}
.green-submit-btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:850px){.green-rating-grid{grid-template-columns:1fr}.green-reservation-grid{grid-template-columns:1fr}.green-submit-btn{width:100%;justify-self:stretch}}
.check-inline small{color:#7b8f9c;font-size:12px;font-weight:800;margin-inline-start:4px}

/* V55 restaurant client updates */
.companion-block{border:1px solid #d9e7f1;border-radius:16px;padding:12px;background:#f7fbff;display:flex;flex-direction:column;gap:10px}.companion-block>strong{font-size:13px;color:#0b2f57}.radio-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.radio-row label{display:flex!important;align-items:center;gap:6px;margin:0!important;background:#fff;border:1px solid #dce8f1;border-radius:999px;padding:8px 14px;font-weight:700}.companion-block input[hidden]{display:none!important}.companion-block input[name="companion_room"]{width:100%;border:1px solid #dce8f1;border-radius:12px;padding:12px;background:#fff}.entitlement-rules-box{grid-column:1/-1;border:1px solid #dce8f1;border-radius:18px;background:#f8fbfd;padding:14px;display:flex;flex-direction:column;gap:12px}.entitlement-rules-list{display:flex;flex-direction:column;gap:12px}.entitlement-rule-row{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px;border:1px solid #dce8f1;border-radius:16px;background:#fff;padding:12px}.entitlement-rule-row .entitlement-restaurants{grid-column:1/-1}.entitlement-rule-row [data-remove-rule]{justify-self:flex-start}.muted-help{color:#6a7b8f;font-weight:700;font-size:13px;margin:0}.report-filter-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.report-filter-form .report-buttons{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.restaurant-admin-table td small.paid-pill{display:inline-flex;margin-inline-start:6px;background:#dff8ec;color:#067042;border-radius:999px;padding:2px 8px;font-weight:800}@media(max-width:900px){.entitlement-rule-row,.report-filter-form{grid-template-columns:1fr}}


/* v61: visible restaurant save result + no native reload behavior */
.restaurant-save-status {
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 800;
  line-height: 1.7;
  margin-top: 4px;
  border: 1px solid rgba(12, 31, 56, 0.12);
  background: rgba(12, 31, 56, 0.05);
  color: #1f2937;
}
.restaurant-save-status[hidden] { display: none !important; }
.restaurant-save-status.working { background: #fff7ed; border-color: #fdba74; color: #9a3412; }
.restaurant-save-status.ok { background: #ecfdf5; border-color: #86efac; color: #166534; }
.restaurant-save-status.error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }


/* Restaurant V62 guest/admin polish */
.guest-form input[readonly].readonly-count{background:#f7fbfd;color:#0b2f57;font-weight:900;cursor:not-allowed;opacity:1;}
.guest-form input[name="companion_room"]{direction:ltr;text-align:center;font-weight:900;letter-spacing:1px;}
.restaurant-admin-table .mini-btn.delete-res-btn,.mini-btn.delete-res-btn{background:#fff0f0;border-color:#f0b7b7;color:#b92323;}
.restaurant-admin-table .mini-btn.delete-res-btn:hover,.mini-btn.delete-res-btn:hover{background:#b92323;color:#fff;border-color:#b92323;}
