/* Roobera brandbook layer (green #206609, IRANSans/Ubuntu, official logo). Loaded after roobera.css; removing its <link> restores the previous look. */

/* Fonts: Latin glyphs from Ubuntu; Persian from IRANSansX when its files are present, otherwise Vazirmatn. */
@font-face{font-family:RooberaLatin;src:url(/static/brand/ubuntu-400.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:RooberaLatin;src:url(/static/brand/ubuntu-500.woff2) format('woff2');font-weight:500 600;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:RooberaLatin;src:url(/static/brand/ubuntu-700.woff2) format('woff2');font-weight:700 900;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20AC,U+2122}
html:root body,html:root body :is(button,input,select,textarea){font-family:RooberaLatin,IRANSansX,Vazirmatn,Tahoma,sans-serif!important}
html:root body :is(code,kbd,pre,.mono){font-family:ui-monospace,monospace!important}

/* Tokens. Green scale from the brandbook: #9AF47C #5EED2E #39B610 · #206609 · #1A5107 #133B05 #0C2503.
   Status colours (warning #FDBA58, error #F16687) mark dots and borders; text uses darker shades of them for contrast. */
html:root{--rb-green:#206609;--rb-green-hover:#1A5107;--rb-green-press:#133B05;--rb-green-soft:#ebf2e8;--rb-ink:#231F20;--rb-warning:#FDBA58;--rb-error:#F16687;--rb-error-text:#a8203f;
 --rb-orange:var(--rb-green);--rb-orange-strong:var(--rb-green);--rb-orange-hover:var(--rb-green-hover);--rb-danger:var(--rb-error-text);
 --studio-bg:#f5f6f4;--studio-surface:#fff;--studio-elevated:#f8f9f7;--studio-ink:var(--rb-ink);--studio-muted:#5b615a;--studio-border:#e2e6e0;--studio-accent:var(--rb-green);--studio-soft:var(--rb-green-soft);--studio-positive:var(--rb-green);
 --pf-ground:#f5f6f4;--pf-surface:#fff;--pf-raised:#f8f9f7;--pf-ink:var(--rb-ink);--pf-muted:#5b615a;--pf-line:#e2e6e0;--pf-accent:var(--rb-green);
 --ui-bg:#f5f6f4;--ui-surface:#fff;--ui-ink:var(--rb-ink);--ui-muted:#5b615a;--ui-border:#e2e6e0;--ui-accent:var(--rb-green);--ui-accent-soft:var(--rb-green-soft);
 --teal:var(--rb-green);--teal-soft:var(--rb-green-soft)}
html[data-theme=dark]:root{--rb-green:#39B610;--rb-green-hover:#5EED2E;--rb-green-press:#9AF47C;--rb-green-soft:#14240f;--rb-error-text:#ff9fb3;
 --studio-bg:#0f120f;--studio-surface:#171b16;--studio-elevated:#1e231d;--studio-ink:#eef1ec;--studio-muted:#a6ada3;--studio-border:#2c332a;--studio-accent:#5EED2E;--studio-soft:#14240f;--studio-positive:#5EED2E;
 --pf-ground:#0f120f;--pf-surface:#171b16;--pf-raised:#1e231d;--pf-ink:#eef1ec;--pf-muted:#a6ada3;--pf-line:#2c332a;--pf-accent:#5EED2E;
 --ui-bg:#0f120f;--ui-surface:#171b16;--ui-ink:#eef1ec;--ui-muted:#a6ada3;--ui-border:#2c332a;--ui-accent:#5EED2E;--ui-accent-soft:#14240f;--teal:#39B610;--teal-soft:#14240f}
html body.studio-shell.user-portal{--studio-bg:#f5f6f4;--studio-surface:#fff;--studio-ink:var(--rb-ink);--studio-muted:#5b615a;--studio-border:#e2e6e0;--studio-accent:var(--rb-green);--studio-soft:var(--rb-green-soft)}
html[data-theme=dark] body.studio-shell.user-portal{--studio-bg:#0f120f;--studio-surface:#171b16;--studio-ink:#eef1ec;--studio-muted:#a6ada3;--studio-border:#2c332a;--studio-accent:#5EED2E;--studio-soft:#14240f}

/* Primary actions: brand green with white text (dark mode: light green with near-black text). */
html body :is(.primary,button.primary,a.primary),html body.studio-shell :is(button.primary,a.primary),html body.studio-shell.ui-refreshed :is(.primary,button.primary,a.primary){background:var(--rb-green)!important;border-color:var(--rb-green)!important;color:#fff!important;box-shadow:none!important}
html body :is(.primary,button.primary,a.primary):hover,html body.studio-shell.ui-refreshed :is(.primary,button.primary,a.primary):hover{background:var(--rb-green-hover)!important;border-color:var(--rb-green-hover)!important}
html body :is(.primary,button.primary,a.primary):active{background:var(--rb-green-press)!important}
html[data-theme=dark] body :is(.primary,button.primary,a.primary),html[data-theme=dark] body.studio-shell.ui-refreshed :is(.primary,button.primary,a.primary){color:#0C2503!important}
/* Sign-in and code screens style their main button separately */
html body.studio-shell.ui-refreshed :is(.lamp-login-panel,.otp-mode .lamp-login-panel) button.primary{background:var(--rb-green)!important;border-color:var(--rb-green)!important;color:#fff!important}
html body.studio-shell.ui-refreshed :is(.lamp-login-panel,.otp-mode .lamp-login-panel) button.primary:hover{background:var(--rb-green-hover)!important;border-color:var(--rb-green-hover)!important}
html[data-theme=dark] body.studio-shell.ui-refreshed :is(.lamp-login-panel,.otp-mode .lamp-login-panel) button.primary{color:#0C2503!important}

/* Hard-coded orange in older sheets */
html body .nav button.active{background:var(--rb-green-soft);color:var(--studio-accent)}
html body .active .nav-icon,html body :is(.tab:hover,.text-action,.text-action:hover){color:var(--studio-accent)}
html body :is(.tab.active,.tabs .tab.active,.tabs .tab.active:hover){color:var(--studio-accent)!important;border-color:var(--rb-green)!important;border-bottom-color:var(--rb-green)!important}
html body .tabs .tab:hover{color:var(--studio-accent);border-bottom-color:color-mix(in srgb,var(--rb-green) 45%,transparent)}
html body :is(.shield,.metric-icon,.security-symbol){background:var(--rb-green-soft);border-color:var(--rb-green);color:var(--studio-accent)}
html body .art-node{background:var(--rb-green);box-shadow:0 0 0 6px color-mix(in srgb,var(--rb-green) 12%,transparent)}
html body .meter span{background:var(--rb-green)}
html body :is(input,textarea,select):focus{border-color:var(--rb-green)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-green) 16%,transparent)!important}
html body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--rb-green)!important}
html body .tabs .tab:focus-visible{outline-color:var(--rb-green)!important}
html body.user-portal #notice:not(:empty){border-inline-start-color:var(--rb-green)}
html body.user-portal .portal-steps li[aria-current="step"]::before{background:var(--rb-green)}
html body.studio-shell.ui-refreshed td.health-bad{color:var(--rb-error-text)}
html body.studio-shell.ui-refreshed td.health-bad::before{background:var(--rb-error)}

/* Logo: Persian wordmark alone (the brandbook's preferred form); English wordmark in English; white versions on dark. */
html:root body img[src*="roobera-logo"]{content:url(/static/brand/wordmark-fa.svg);height:26px;width:auto}
html:root body.user-portal img[src*="roobera-logo"]{height:32px}
html[lang=en]:root body img[src*="roobera-logo"]{content:url(/static/brand/wordmark-en.svg);height:20px}
html[lang=en]:root body.user-portal img[src*="roobera-logo"]{height:24px}
html[data-theme=dark]:root body img[src*="roobera-logo"]{content:url(/static/brand/wordmark-fa-white.svg)}
html[data-theme=dark][lang=en]:root body img[src*="roobera-logo"]{content:url(/static/brand/wordmark-en-white.svg)}

/* Sign-in (option A, roobera-login.js): brandbook cover panel beside the form; the lamp is retired. */
html body.studio-shell .lamp-login-stage.rb-login :is(.lamp-login-heading,.lamp-scene){display:none!important}
html body.studio-shell.lamp-login-active .lamp-login-stage.rb-login:not(.otp-mode):not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"form brand";gap:0!important;padding:0!important;min-height:540px;border:1px solid var(--studio-border)!important;border-radius:22px!important;overflow:hidden;background:var(--studio-surface)!important;box-shadow:var(--rb-shadow)}
html body.studio-shell.lamp-login-active .lamp-login-stage.rb-login:not(.otp-mode):not([hidden]) .lamp-login-panel,html[data-theme] body.studio-shell.lamp-login-active .lamp-login-stage.rb-login:not(.otp-mode):not([hidden]) .lamp-login-panel,html body.studio-shell.lamp-login-active .portal-entry.rb-login:not(.otp-mode):not([hidden]) #signin{grid-area:form;justify-self:center;align-self:center;width:100%!important;max-width:460px;padding:48px 44px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.studio-shell .lamp-login-stage.rb-login.otp-mode .rb-login-brand,html body.studio-shell:not(.lamp-login-active) .rb-login-brand{display:none!important}
html body.studio-shell .rb-login-brand{grid-area:brand;position:relative;overflow:hidden;background:#E7D99C;min-height:100%}
html body.studio-shell .rb-login-stripes{position:absolute;inset:0;width:100%;height:100%}
html[dir=ltr] body.studio-shell .rb-login-stripes{transform:scaleX(-1)}
html body.studio-shell .rb-login-lockup{position:absolute;inset-inline-start:52px;bottom:48px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
html body.studio-shell .rb-login-logo{display:block;width:150px;height:195px;margin-bottom:18px;background:url(/static/brand/stacked.svg) no-repeat center bottom/contain}
html body.studio-shell .rb-login-lockup strong{font-size:20px;font-weight:700;color:#206609}
html body.studio-shell .rb-login-lockup small{font-size:14px;color:#5a5326}
html[data-theme=dark] body.studio-shell .rb-login-brand{background:#26231a}
html[data-theme=dark] body.studio-shell .rb-login-stripes{opacity:.8}
html[data-theme=dark] body.studio-shell .rb-login-logo{background-image:url(/static/brand/stacked-white.svg)}
html[data-theme=dark] body.studio-shell .rb-login-lockup strong{color:#E7D99C}
html[data-theme=dark] body.studio-shell .rb-login-lockup small{color:#c9c2a2}
@media(max-width:800px){
 html body.studio-shell.lamp-login-active .lamp-login-stage.rb-login:not(.otp-mode):not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"brand" "form";min-height:0;width:calc(100% - 24px)!important;margin:16px auto!important}
 html body.studio-shell .rb-login-brand{min-height:150px}
 html body.studio-shell .rb-login-stripes path:nth-child(2){display:none}
 html body.studio-shell .rb-login-lockup{bottom:22px;inset-inline-start:24px;flex-direction:row;align-items:flex-end;gap:14px}
 html body.studio-shell .rb-login-logo{width:72px;height:94px;margin:0}
 html body.studio-shell .rb-login-lockup strong{font-size:16px}
 html body.studio-shell .rb-login-lockup small{display:none}
 html body.studio-shell.lamp-login-active .lamp-login-stage.rb-login:not(.otp-mode):not([hidden]) .lamp-login-panel{padding:28px 22px!important}
}

/* Admin sidebar: official wordmark instead of the "ROOBERA" text label and shield icon (the text stays for screen readers). */
html body.studio-shell .studio-workspace-icon{display:none!important}
html body.studio-shell .studio-workspace strong{width:78px;height:28px;margin-bottom:4px;font-size:0!important;color:transparent;background:url(/static/brand/wordmark-fa.svg) no-repeat right center/contain}
html[dir=ltr] body.studio-shell .studio-workspace strong{background-position:left center}
html[lang=en] body.studio-shell .studio-workspace strong{width:92px;height:20px;background-image:url(/static/brand/wordmark-en.svg)}
html[data-theme=dark] body.studio-shell .studio-workspace strong{background-image:url(/static/brand/wordmark-fa-white.svg)}
html[data-theme=dark][lang=en] body.studio-shell .studio-workspace strong{background-image:url(/static/brand/wordmark-en-white.svg)}

/* First-time setup wizard (roobera-setup.js) inside the sign-in card */
html body.studio-shell #signin.rb-setup-on>:not(.rb-setup){display:none!important}
html body.studio-shell .rb-setup h2{font-size:21px;font-weight:800;margin:0 0 8px;color:var(--studio-ink)}
html body.studio-shell .rb-setup-help{font-size:14px;line-height:1.9;color:var(--studio-muted);margin:0 0 16px}
html body.studio-shell .rb-setup-help b{color:var(--studio-ink);font-family:RooberaLatin,sans-serif;letter-spacing:.04em}
html body.studio-shell .rb-setup-steps{list-style:none;margin:0 0 22px;padding:0;display:flex;align-items:center;gap:0;counter-reset:s}
html body.studio-shell .rb-setup-steps li{display:flex;align-items:center;gap:8px;flex:1;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--studio-muted);position:relative}
html body.studio-shell .rb-setup-steps li:not(:last-child)::after{content:'';flex:1;height:2px;margin-inline:8px;background:var(--studio-border);border-radius:2px}
html body.studio-shell .rb-setup-steps li.done::after{background:var(--rb-green)}
html body.studio-shell .rb-setup-steps b{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--studio-border);background:var(--studio-surface);font-size:13px}
html body.studio-shell .rb-setup-steps li.on{color:var(--studio-ink)}
html body.studio-shell .rb-setup-steps li.on b{border-color:var(--rb-green);color:var(--rb-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--rb-green) 14%,transparent)}
html body.studio-shell .rb-setup-steps li.done b{background:var(--rb-green);border-color:var(--rb-green);color:#fff}
html body.studio-shell .rb-setup-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
html body.studio-shell .rb-setup-form label input{flex:none}
html body.studio-shell .rb-setup-form label{flex:1 1 180px;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--studio-ink)}
html body.studio-shell .rb-setup-form input{flex:1 1 160px;width:100%;height:48px!important;min-height:0!important;max-height:48px;font-size:22px!important;letter-spacing:.35em;text-align:center;font-weight:700;font-family:RooberaLatin,ui-monospace,monospace!important}
html body.studio-shell .rb-setup-form button.primary{height:48px;padding:0 20px}
html body.studio-shell .rb-setup-row{margin-top:10px}
html body.studio-shell :is(.rb-setup-resend,.rb-setup-cancel){background:none!important;border:0!important;padding:4px 0!important;color:var(--studio-accent);font-size:13px;font-weight:600;cursor:pointer;box-shadow:none!important;min-height:0!important}
html body.studio-shell :is(.rb-setup-resend,.rb-setup-cancel):disabled{color:var(--studio-muted);cursor:default}
html body.studio-shell .rb-setup-cancel{display:block;margin-top:14px;color:var(--studio-muted)}
html body.studio-shell .rb-setup-note{font-size:12.5px;color:var(--studio-muted);margin:12px 0 0}
html body.studio-shell .rb-setup-msg{min-height:20px;margin:12px 0 0;font-size:13px;font-weight:600;color:var(--rb-error-text)}
html body.studio-shell .rb-setup-msg.ok{color:var(--rb-green)}
html body.studio-shell .rb-setup-ga{margin:0;padding:0;list-style:none;counter-reset:g;display:grid;gap:14px}
html body.studio-shell .rb-setup-ga>li{counter-increment:g;display:grid;gap:8px;padding-inline-start:36px;position:relative;font-size:14px;line-height:1.8;color:var(--studio-ink)}
html body.studio-shell .rb-setup-ga>li::before{content:counter(g);position:absolute;inset-inline-start:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--rb-green-soft);color:var(--studio-accent);display:grid;place-items:center;font-size:12px;font-weight:800}
html body.studio-shell .rb-setup-stores{display:flex;gap:8px;flex-wrap:wrap}
html body.studio-shell .rb-setup-stores a{font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;border:1px solid var(--studio-border);color:var(--studio-ink);text-decoration:none}
html body.studio-shell .rb-setup-qr{width:168px;height:168px;padding:8px;background:#fff;border:1px solid var(--studio-border);border-radius:12px}
html body.studio-shell .rb-setup-ga details summary{font-size:12.5px;color:var(--studio-accent);cursor:pointer}
html body.studio-shell .rb-setup-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
html body.studio-shell .rb-setup-key code{padding:6px 10px;border-radius:8px;background:var(--studio-elevated);border:1px solid var(--studio-border);font-size:13px;word-break:break-all}
html body.studio-shell .rb-setup-done{text-align:center;padding:12px 0}
html body.studio-shell .rb-setup-check{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:800;color:#fff;background:var(--rb-green);box-shadow:0 0 0 10px var(--rb-green-soft)}
html body.studio-shell .rb-setup-done button.primary{min-width:200px;height:48px}
html body.studio-shell .rb-guide-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--studio-accent);text-decoration:none}
html body.studio-shell .rb-guide-link::before{content:'▶';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--rb-green);color:#fff;font-size:9px}
html body.studio-shell #signin.rb-setup-on .rb-guide-link{display:none}
html body.studio-shell #signin .rb-setup input{border:1px solid var(--studio-border)!important;outline:0!important}
html body.studio-shell #signin .rb-setup input:focus{border-color:var(--rb-green)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-green) 16%,transparent)!important}
html body.studio-shell .rb-setup bdi{white-space:nowrap;font-weight:700}
/* Setup wizard: field and button stacked full width, same height (matches the sign-in form) */
html body.studio-shell #signin .rb-setup .rb-setup-form{display:flex;flex-direction:column;align-items:stretch;gap:10px}
html body.studio-shell #signin .rb-setup .rb-setup-form label{flex:none;gap:8px}
html body.studio-shell #signin .rb-setup .rb-setup-form input{flex:none;width:100%;height:50px!important;max-height:50px}
html body.studio-shell #signin .rb-setup .rb-setup-form button.primary{width:100%;height:50px!important;min-height:50px!important;margin:0!important;font-size:15px}
html body.studio-shell #signin .rb-setup .rb-setup-resend:disabled{color:var(--studio-muted);opacity:.85}
html body.studio-shell #signin .rb-setup .rb-setup-resend:not(:disabled){text-decoration:underline;text-underline-offset:3px}
