@layer kit-office-controls;
/* Sign-in and platform documents own this link; no Till document loads it. */
@font-face{font-family:Inter;src:url('/kit/shell/fonts/office-inter-variable.woff2?v=54b79aac87cd6a1b') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Noto Sans Bengali';src:url('/kit/shell/fonts/noto-sans-bengali-variable.woff2?v=765261c896ca5a6d') format('woff2');font-weight:100 900;font-display:swap}
html[data-office-surface]{--office-bg:var(--bg);--office-surface:var(--surface);--office-border:var(--border);--office-fg:var(--fg);--office-muted:var(--muted);--office-accent:var(--accent);--office-on-accent:var(--on-accent);--office-font:var(--font)}
@media screen{
html[data-office-surface] body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--body);line-height:var(--lh)}
html[data-office-surface=signin][data-theme] body:has(.kit-screen){background:var(--office-bg);color:var(--office-fg);color-scheme:inherit}
html[data-office-surface=signin][data-theme] .kit-screen{--bg:var(--office-bg);--paper:var(--office-surface);--raised:var(--subtle);--line:var(--office-border);--ink:var(--office-fg);--muted:var(--office-muted);--brand:var(--office-accent);--brand-dark:var(--office-accent);--on-accent:var(--office-on-accent);--tint:var(--office-accent);--font:var(--office-font);font-family:var(--office-font);background:var(--office-bg);color:var(--office-fg);color-scheme:inherit}
html[data-office-surface=signin] .kit-signin-panel{border-radius:var(--card-radius);border-color:var(--office-border);box-shadow:var(--shadow-small)}
html[data-office-surface=signin] .kit-signin-brand{background:var(--office-surface);color:var(--office-fg);border-color:var(--office-border)}
html[data-office-surface=signin] .kit-signin input:not(:where(body[data-field-system="office"] input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="file"],[type="range"],[type="color"],[type="button"],[type="submit"],[type="reset"],[type="image"]),body[data-field-system="office"] select,body[data-field-system="office"] textarea)){background:var(--office-surface);border:1px solid var(--office-border);border-radius:8px;min-height:44px;color:var(--office-fg);font:inherit}
html[data-office-surface=signin] .kit-signin :is(input,button,a):focus-visible:not(:where(body[data-field-system="office"] input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="file"],[type="range"],[type="color"],[type="button"],[type="submit"],[type="reset"],[type="image"]),body[data-field-system="office"] select,body[data-field-system="office"] textarea)){outline:2px solid var(--office-fg);outline-offset:2px}
html[data-office-surface=platform] body.kp-office .card{background:var(--surface);color:var(--fg);border-color:var(--border);box-shadow:none}
html[data-office-surface=platform] body.kp-office .top{border-bottom:1px solid var(--border)}
html[data-office-surface=platform] body.kp-office .card{border:1px solid var(--border);border-radius:var(--card-radius)}
html[data-office-surface=platform] body.kp-office :is(input:not([type=checkbox]):not([type=radio]),textarea):not(:where(body[data-field-system="office"] input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="file"],[type="range"],[type="color"],[type="button"],[type="submit"],[type="reset"],[type="image"]),body[data-field-system="office"] select,body[data-field-system="office"] textarea)){background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;min-height:44px;font:inherit}
html[data-office-surface=platform] body.kp-office .t :is(th,td){height:40px;padding:8px 12px;border-color:var(--border)}
html[data-office-surface=platform] body.kp-office :is(input,textarea,button,a):focus-visible:not(:where(body[data-field-system="office"] input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="file"],[type="range"],[type="color"],[type="button"],[type="submit"],[type="reset"],[type="image"]),body[data-field-system="office"] select,body[data-field-system="office"] textarea)){outline:2px solid var(--fg);outline-offset:2px}
}

/* The platform frame shares the office components without a shop menu or Till assets. */
@media screen{
html[data-office-surface=platform] .content{min-width:0}
html[data-office-surface=platform] .content>.pg{animation:none}
html[data-office-surface=platform] :is(.head,.acts,.row){min-width:0}
html[data-office-surface=platform] .head{gap:var(--s4);margin-block-end:var(--s4)}
html[data-office-surface=platform] h1{font:var(--bold) var(--title)/var(--lh-title) var(--font);margin:0;overflow-wrap:anywhere}
html[data-office-surface=platform] h2{font-size:var(--h2);line-height:var(--lh-h2)}
html[data-office-surface=platform] :is(.sub,.mut,.hint){color:var(--muted)}
html[data-office-surface=platform] :is(button,.btn){font:var(--medium) var(--body)/var(--lh) var(--font)}
html[data-office-surface=platform] .btn{height:auto;min-height:40px;padding:8px 12px;border-radius:var(--radius);white-space:normal;text-align:center}
html[data-office-surface=platform] .btn.p{background:var(--action-fill);border-color:var(--action);color:var(--action-ink)}
html[data-office-surface=platform] .btn:not(.p):not(.d):not(.w){background:var(--action-quiet-bg);color:var(--action-quiet-ink);border-color:var(--action-quiet-line)}
html[data-office-surface=platform] .btn:not(.p):not(.d):not(.w):hover{filter:none;background:var(--action);color:var(--action-ink);border-color:var(--action)}
html[data-office-surface=platform] .btn.p:hover{background:var(--action-hover);border-color:var(--action-hover)}
html[data-office-surface=platform] #main :is(.wrap,.table-wrap){min-width:0;max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}
html[data-office-surface=platform] #main table{width:100%;border-collapse:collapse;font-size:var(--body);font-variant-numeric:tabular-nums}
html[data-office-surface=platform] #main :is(th,td){height:40px;padding:8px 12px;border-color:var(--border);vertical-align:middle}
html[data-office-surface=platform] #main th{background:var(--subtle);color:var(--muted);font-weight:var(--medium);font-size:var(--secondary);text-transform:none;letter-spacing:normal}
html[data-office-surface=platform] #main :is(.card,fieldset){min-width:0}
html[data-office-surface=platform] #main :is(label,.f){min-width:0}
html[data-office-surface=platform] #main :is(input,textarea){max-width:100%}
}

@media screen{
html[data-office-surface=signin] .kit-screen{--red:var(--danger)}
html[data-office-surface=signin] .kit-signin :is(.kit-screen-action,.kit-signin-button){box-sizing:border-box;max-width:100%;white-space:normal;height:auto;min-height:44px;overflow-wrap:anywhere}
html[data-office-surface=signin] .kit-signin .office-pick{color:var(--office-accent)}
}

/* Only the form changes; /login owns the shell, scene, card and appearance. */
.kit-signin[data-journey] { --journey-green:var(--brand); --journey-paper:var(--paper); --journey-line:var(--line); --journey-ink:var(--ink); --journey-muted:var(--muted); }
.kit-signin[data-journey] > .kit-signin-panel > .kit-screen-title:empty { display:none; }
.kit-signin[data-journey] .kit-signup-rail { position:static; display:flex; flex-wrap:wrap; gap:8px 12px; width:auto; margin:0 0 20px; padding:0; list-style:none; }
.kit-signin[data-journey] .kit-signup-rail-step { display:flex; align-items:center; gap:5px; font-size:11px; }
.kit-signin[data-journey] .kit-signup-rail-n { width:20px; height:20px; font-size:10px; }
.signup-title { margin:0 0 4px; font-size:24px; font-weight:600; letter-spacing:-.01em; line-height:1.25; }
.signup-eyebrow { font-size:10px; color:var(--muted); margin:0 0 8px; }
.signup-intro { margin:8px 0 20px; color:var(--muted); font-size:14px; }
.kit-field-rule { color:var(--red); font-size:12px; margin:6px 0; }
.journey-password { position:relative; min-width:0; }
.journey-password:has(> .journey-eye) > input, .journey-password .kit-field input { padding-right:52px!important; }
.journey-eye { position:absolute; right:3px; bottom:2px; display:grid; place-items:center; width:44px; height:44px; color:var(--journey-muted); background:none; border:0; border-radius:6px; cursor:pointer; }
.journey-kinds { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; border:0; padding:0; margin:0; min-width:0; }
.journey-kind { position:relative; box-sizing:border-box; display:grid; grid-template-columns:22px minmax(0,1fr); grid-template-rows:auto auto auto; align-content:center; align-items:center; gap:2px 7px; padding:6px 8px; min-width:0; border:1px solid var(--journey-line); border-radius:8px; cursor:pointer; }
.kit-signin[data-journey] .journey-kind input { position:absolute; inset:0; margin:0; width:100%; min-width:0; max-width:none; height:100%; min-height:0; padding:0; opacity:0; cursor:pointer; }
.kit-signin[data-journey] .journey-kind input:focus-visible { outline:0; box-shadow:none; }
.journey-kind-mark { display:grid; place-items:center; width:22px; height:22px; grid-row:1; border-radius:8px; color:var(--journey-green); background:color-mix(in srgb,var(--journey-green) 7%,var(--journey-paper)); pointer-events:none; }
.journey-kind-mark svg { display:block; width:18px; height:18px; }
.journey-kind-name { position:relative; padding-right:9px; color:var(--journey-ink); font-size:12px; font-weight:600; line-height:1.25; pointer-events:none; }
.journey-kind-example { grid-column:1/-1; color:var(--journey-muted); font-size:11px; line-height:1.35; pointer-events:none; }
.journey-kind-tag { grid-column:1/-1; justify-self:start; color:var(--journey-green); font-size:9px; line-height:1.4; letter-spacing:.01em; pointer-events:none; }
.journey-kind-check { position:absolute; top:5px; right:5px; color:var(--journey-green); opacity:0; pointer-events:none; }
.journey-kind:has(:checked) { border-color:var(--journey-green); background:color-mix(in srgb,var(--journey-green) 7%,var(--journey-paper)); }
.journey-kind:has(:checked) .journey-kind-check { opacity:1; }
.journey-kind:has(:focus-visible) { outline:2px solid var(--journey-green); outline-offset:2px; }
.journey-kind[data-kind="other"] { grid-column:1/-1; grid-template-columns:28px minmax(0,1fr); }
.journey-kind[data-kind="other"] .journey-kind-mark { grid-row:1/3; }
.journey-kind[data-kind="other"] .journey-kind-example { grid-column:2; }
.journey-kinds .kit-field-rule { grid-column:1/-1; }
.journey-kind-other { margin-top:12px; }
.journey-kind-other p { color:var(--journey-muted); font-size:11px; margin:6px 0 0; }
@media (prefers-reduced-motion:no-preference) {
  .journey-kind-mark svg { animation:journey-mark-float 5s ease-in-out infinite; }
  .journey-kind:nth-child(even) .journey-kind-mark svg { animation-delay:-2.5s; }
  .journey-kind:has(:checked) { animation:journey-kind-glow 1.6s ease-out; }
  /* The approved sales text shimmer: solid letters with one 1.6s soft band. */
  .journey-kind:has(:checked) .journey-kind-name::after { content:attr(data-t); position:absolute; inset:0; padding-right:inherit; color:transparent; background:linear-gradient(100deg,transparent 0%,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%,transparent 100%) no-repeat; background-size:250% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:journey-kind-shimmer 1.6s linear both; pointer-events:none; }
}
@keyframes journey-mark-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1px); } }
@keyframes journey-kind-glow { 0%,100% { box-shadow:0 0 0 transparent; } 35% { box-shadow:0 0 14px color-mix(in srgb,var(--journey-green) 25%,transparent); } }
@keyframes journey-kind-shimmer { from { background-position:120% 0; } to { background-position:-120% 0; } }
@media (max-width:600px) {
  .journey-kinds { grid-template-columns:minmax(0,1fr); gap:6px; }
  .journey-kind { grid-template-columns:30px minmax(0,1fr) auto; grid-template-rows:auto auto; padding:8px 10px; gap:2px 8px; }
  .journey-kind-mark { grid-row:1/3; }
  .journey-kind-name { grid-column:2; padding:0; }
  .journey-kind-example { grid-column:2/4; }
  .journey-kind-tag { grid-column:3; grid-row:1; padding-right:12px; font-size:8px; }
  .journey-kind-check { top:8px; right:5px; }
  .journey-kind[data-kind="other"] { grid-template-columns:30px minmax(0,1fr) auto; }
}
.journey-actions { display:flex; align-items:center; gap:28px; margin-top:6px; }
.journey-receipt { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; gap:10px; padding:24px; width:240px; max-width:100%; margin:0 auto 22px; border:1px solid var(--journey-line); border-bottom:3px double var(--journey-line); background:var(--journey-paper); box-shadow:0 10px 25px -18px #20302060; }
.journey-receipt strong { max-width:100%; overflow-wrap:anywhere; text-align:center; font-size:16px; }
.journey-receipt>span { color:var(--journey-muted); font-size:11px; }
.journey-receipt i { width:100%; height:20px; margin-top:6px; border-top:1px dashed var(--journey-line); border-bottom:1px dashed var(--journey-line); }
.journey-receipt-logo { display:grid; place-items:center; width:56px; height:56px; background:color-mix(in srgb,var(--journey-green) 6%,var(--journey-paper)); color:var(--journey-green); border-radius:10px; font-size:24px; font-weight:600; }
.signup-logo-preview { width:56px; height:56px; }
.signup-logo-picker { display:flex; position:relative; align-items:center; justify-content:center; gap:14px; padding:14px; min-height:72px; border:1px dashed var(--journey-line); border-radius:8px; font-size:13px; color:var(--journey-ink); cursor:pointer; }
.signup-logo-picker small { display:block; margin-top:5px; color:var(--journey-muted); font-size:11px; }
.signup-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }

.kit-signin [data-setup-bin][hidden] { display:none; }
.kit-signin .kp-ready-list { list-style:none; margin:20px 0; padding:0; max-height:45svh; overflow-y:auto; }
.kit-signin .kp-ready-line { padding:12px 0; border-bottom:1px solid var(--line); }
.kit-signin .kp-ready-copy p { margin:5px 0; color:var(--muted); font-size:13px; }
.kit-signin .kp-ready-acts { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:8px; }
.kit-signin .kp-ready-acts a { color:var(--brand); }

.kit-signin [data-op="setup.one.cash.edit"] { display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--line); border-radius:6px; color:var(--brand); background:var(--paper); font-size:13px; font-weight:600; text-decoration:none; }
.kit-signin [data-op="setup.one.cash.edit"]:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }

/* Waiting actions remain buttons inside the shared sign-in form. */
.kit-signin[data-journey] .kit-signup-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.kit-signin[data-journey] .kit-signup-actions .kit-screen-action { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px 18px; border:1px solid var(--journey-green); border-radius:10px; background:var(--journey-green); color:var(--on-accent,#fff); font:inherit; font-weight:600; cursor:pointer; }
.kit-signin[data-journey] .kit-signup-actions .journey-signout { min-height:40px; padding:8px 14px; border:1px solid var(--journey-line); border-radius:10px; background:var(--journey-paper); color:var(--journey-ink); font:inherit; cursor:pointer; }
