@font-face{font-family:NotoNaskhArabic;src:url('/fonts/NotoNaskhArabic-variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--ink:#163d39;--muted:#60716a;--line:#dbe3dc;--accent:#217360}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#faf9f5;color:var(--ink);font:18px/1.8 NotoNaskhArabic,Tahoma,sans-serif}header,main,footer{width:min(1080px,calc(100% - 40px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);gap:18px}a{color:var(--ink);text-decoration:none}.brand{font-size:25px;font-weight:700}main{padding:50px 0;min-height:75vh}.auth-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.eyebrow{color:var(--accent);font-weight:700;font-size:16px}h1{font-size:44px;line-height:1.5;margin:12px 0 20px}h2{font-size:26px;margin:8px 0}p{margin:0 0 16px}aside p,aside li,.muted{color:var(--muted)}aside ul{padding-inline-start:24px;line-height:2.4}.card{background:white;border:1px solid var(--line);padding:30px;border-radius:18px;box-shadow:0 12px 40px #163d3905}.tabs{display:flex;border-bottom:1px solid var(--line);gap:12px;padding-bottom:18px;margin-bottom:24px}.tabs button{flex:1;border:0;background:#f2f5f0;padding:10px}.tabs [aria-pressed=true]{background:var(--ink);color:white}button,input,select{font:inherit;border-radius:8px}button{cursor:pointer;border:1px solid var(--line);padding:9px 20px;background:white;color:var(--ink)}button:disabled{opacity:.65;cursor:wait}label{display:block;margin:14px 0 5px;font-weight:700}input,select{display:block;width:100%;padding:10px 13px;border:1px solid #bacac0;background:#fff;color:var(--ink);min-height:48px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible{outline:3px solid #b47b33;outline-offset:4px}.primary{display:block;width:100%;background:var(--ink);color:white;margin-top:24px}.primary:hover{background:var(--accent)}.hint{font-size:14px;color:var(--muted);margin-top:6px}#message{background:#fff0ea;border:1px solid #e5b9a9;color:#823819;padding:14px 20px;border-radius:10px}.shop-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.shop-heading h1{margin:4px 0}#business-select{max-width:380px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.stat p{font-size:16px;color:var(--muted);margin:0}.stat strong{display:block;font-size:29px;margin-top:10px}.welcome{box-shadow:none}footer{padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:15px}@media(max-width:720px){.auth-layout{grid-template-columns:1fr;gap:20px}.auth-layout aside ul{display:none}h1{font-size:32px}.card{padding:22px}main{padding-top:28px}.stats{grid-template-columns:1fr 1fr}.shop-heading{align-items:flex-start}.tabs{gap:5px}.tabs button{font-size:16px;padding:8px}header{font-size:15px}}@media(max-width:420px){.stats{grid-template-columns:1fr}}

/* Authentication's shared form rows are defined in auth.css. */
.auth-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; }
.auth-layout > aside { padding-block-start: 64px; }
.auth-layout > .card { min-width: 0; }
.tabs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.tabs button { min-height: 54px; padding-inline: 8px; }
@media (max-width: 720px) {
  .auth-layout { grid-template-columns: minmax(0, 1fr); }
  .auth-layout > aside { padding-block-start: 0; }
}

/* Labels remain available to assistive technology; hints sit inside the fields. */
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.auth-forms input::placeholder { color: #65786f; opacity: 1; text-align: right; }
.auth-forms input { transition: border-color 160ms ease, box-shadow 160ms ease; }
.auth-forms input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #21736012; }
@media (prefers-reduced-motion: reduce) { .auth-forms input { transition: none; } }

/* Inventory screens are independent of the authentication layout. */
.inventory-summary { margin-block: 36px; }
.balance-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 14px; }
.balance-card { padding: 18px 22px; border: 1px solid #cdded1; background: #eef4ec; border-radius: 12px; }
.balance-card strong { display: block; font-size: 28px; }
.balance-card p { margin: 0; color: var(--muted); }
.inventory-heading,.inventory-actions,.dialog-heading,.search-row,.inline-control,.pagination { display:flex; align-items:center; gap:12px; }
.inventory-heading,.dialog-heading { justify-content:space-between; }
.inventory-heading h2 { margin:0; }.inventory-heading .eyebrow { margin:0; }
.inventory-panel { margin-block:30px; }.inventory-actions { flex-wrap:wrap; }
.accent { color:white; background:var(--ink); }.search-row { margin-block:24px 12px; }.search-row input { flex:1; min-width:0; }
.search-row button,.inline-control button { white-space:nowrap; }.inline-control select { min-width:0; }
.table-scroll { overflow-x:auto; }table { width:100%; border-collapse:collapse; text-align:start; font-size:16px; }
th,td { padding:16px 12px; text-align:start; border-bottom:1px solid var(--line); vertical-align:middle; }
th { background:#f5f7f2; font-weight:700; white-space:nowrap; }td small { display:block; color:var(--muted); }
.cell-actions { display:flex; gap:8px; }.cell-actions button { font-size:14px; padding:6px 12px; white-space:nowrap; }
.pagination { justify-content:center; margin-top:22px; } .pagination button:disabled { cursor:default; }
dialog { width:min(620px,calc(100% - 24px)); max-height:90dvh; overflow:auto; border:1px solid var(--line); border-radius:18px; padding:28px; color:var(--ink); background:#fff; }
dialog::backdrop { background:#132c2866; backdrop-filter:blur(3px); }
.dialog-heading { margin-bottom:12px; }.dialog-heading h2 { margin:0; }.dialog-heading button { padding:2px 12px; font-size:26px; }
dialog input:not([type=checkbox]),dialog select { margin-top:12px; }dialog label + input,dialog label + select { margin-top:4px!important; }
.form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; }.form-grid .full { grid-column:1/-1; }
.conversion-preview { background:#eef4ec; padding:12px 16px; border-radius:8px; color:var(--ink); margin-block:16px 0; min-height:48px; }
.unit-examples { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }.unit-examples button { font-size:14px; padding:5px 12px; }
.check-row { display:flex; align-items:center; gap:12px; font-weight:400; }.check-row input { width:20px; height:20px; min-height:20px; margin:0; accent-color:var(--accent); }
.form-error { background:#fff0ea; border:1px solid #e5b9a9; padding:12px; color:#823819; border-radius:8px; }
.history-entry { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }.history-entry small { color:var(--muted); display:block; }
@media(max-width:720px) { .inventory-heading { align-items:flex-start; flex-direction:column; }.inventory-panel { padding:18px; }.search-row { flex-wrap:wrap; }.search-row input { flex-basis:100%; }.form-grid { grid-template-columns:minmax(0,1fr); }dialog { padding:20px; }.balance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.balance-card { padding:14px; }.balance-card strong { font-size:23px; } }
.shop-heading > div { min-width:0; }
#account-email { overflow-wrap:anywhere; }
#logout { flex-shrink:0; white-space:nowrap; }
.table-scroll { max-width:100%; min-width:0; }
.table-scroll table { min-width:850px; }
#message.success { background:#edf5ec; border-color:#bcd5bb; color:#245836; }
@media(max-width:720px) { .shop-heading { flex-wrap:wrap; }.shop-heading > div { flex:1 1 220px; }.stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.stat { min-width:0; padding:16px; }.stat strong { font-size:24px; }.balance-card { min-width:0; overflow-wrap:anywhere; } }

/* Personal identity and tenant branding have separate, scoped settings. */
.shop-identity,.account-actions { display:flex; align-items:center; gap:16px; }
.shop-identity > div { min-width:0; }.account-actions { flex-wrap:wrap; }
#open-profile { display:flex; gap:10px; align-items:center; }
.profile-picture,.brand-picture { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; overflow:hidden; color:#25584a; background:#edf3ec; border:1px solid #d5e2d5; font-weight:700; }
.profile-picture { border-radius:50%; }.brand-picture { border-radius:16px; }
.profile-picture img,.brand-picture img { display:block; width:100%; height:100%; }
.profile-picture img { object-fit:cover; }.brand-picture img { object-fit:contain; padding:5px; }
.tiny { width:30px; height:30px; font-size:16px; }.small { width:64px; height:64px; font-size:30px; }.large { width:100px; height:100px; font-size:42px; }
#profile-dialog { width:min(740px,calc(100% - 24px)); height:min(820px,90dvh); scrollbar-width:none; }
.profile-tabs { display:flex; gap:6px; background:#f3f5ef; border-radius:12px; padding:5px; margin-block:20px; }
.profile-tabs button { flex:1; padding:10px 8px; border:0; background:transparent; font-size:16px; }
.profile-tabs button[aria-pressed=true] { background:white; box-shadow:0 2px 7px #173c2910; color:#25604b; }
.profile-intro h3 { margin:0; }.profile-intro p { margin-top:6px; }
.image-editor { display:flex; align-items:center; gap:22px; background:#fafbf8; border:1px solid var(--line); border-radius:14px; padding:20px; margin-block:20px 24px; }
.image-editor > div { min-width:0; flex:1; }.image-editor input[type=file] { font-size:14px; padding:8px; min-height:0; max-width:100%; background:white; }
.image-actions { display:flex; flex-wrap:wrap; gap:8px; }.image-actions button { padding:5px 12px; font-size:15px; }
#profile-dialog textarea { font:inherit; color:inherit; border:1px solid var(--line); border-radius:9px; width:100%; padding:12px 14px; resize:vertical; margin-top:12px; }
#profile-dialog input::placeholder,#profile-dialog textarea::placeholder { text-align:right; color:#65786f; opacity:1; }
#profile-dialog input[readonly] { background:#f5f6f2; color:#647369; }
#profile-status { padding:12px 16px; border-radius:9px; background:#fff0ea; color:#823819; }
#profile-status.success { background:#edf5ec; color:#245836; }
#profile-dialog :disabled { opacity:.55; cursor:default; }
@media(max-width:540px) { .image-editor { align-items:flex-start; gap:12px; padding:12px; }.large { width:68px; height:68px; }.profile-tabs button { font-size:14px; }.small { width:48px; height:48px; }.shop-identity { gap:12px; } }
#profile-dialog .profile-toolbar { position:sticky; top:-28px; z-index:2; background:white; padding-top:12px; border-bottom:1px solid var(--line); }
#profile-dialog .profile-toolbar .profile-tabs { margin-bottom:14px; }
#profile-dialog .profile-intro { margin-top:20px; }
.selected-filename { font-size:14px; overflow-wrap:anywhere; color:var(--muted); margin-block:8px; }
.image-editor label { margin-top:0; margin-bottom:10px; }
@media(max-width:720px) { #profile-dialog .profile-toolbar { top:-20px; } }

#profile-dialog::-webkit-scrollbar { display:none; }
