/* Staff sign-in, signed-in user chip and team accounts. Uses the workspace tokens from styles.css. */
.signin{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:24px;padding:48px 16px 32px;background:var(--bg)}
.signin-brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.signin-brand .brand-mark{background:var(--nav);color:#8ce6d1;border-radius:12px;width:44px;height:44px;display:grid;place-items:center}
.signin-brand strong{display:block;font:750 20px Manrope,sans-serif;letter-spacing:-.6px}
.signin-brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:2px;margin-top:2px}
.signin-card{width:min(880px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px}
.signin-card>h1{margin-bottom:6px}
.signin-card>.subtitle{margin:0 0 8px}
.signin-group{margin-top:24px}
.signin-group h2{font-size:15px;color:var(--muted);margin-bottom:10px}
.signin-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.signin-tile{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;min-height:64px;transition:border-color .15s cubic-bezier(.22,1,.36,1),background-color .15s cubic-bezier(.22,1,.36,1)}
.signin-tile:hover{border-color:#9cc9bd;background:#f8fbfa}
.signin-tile strong{display:block;font-size:15px}
.signin-tile small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.signin .avatar{display:grid;flex-shrink:0}
.signin-pin{width:min(440px,100%)}
.signin-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 22px}
.signin-back .icon{width:16px;height:16px;transform:rotate(180deg)}
.signin-person{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.signin-person .avatar{width:52px;height:52px;font-size:16px}
.signin-person h1{font-size:24px;letter-spacing:-.5px}
.signin-person p{color:var(--muted);font-size:14px;margin-top:2px}
.signin-pin input[name="pin"]{font-size:24px;letter-spacing:8px;text-align:center;font-variant-numeric:tabular-nums}
.signin-error{min-height:22px;margin:10px 0 6px;color:var(--red);font-size:14px}
.signin-error:empty{min-height:0;margin:6px 0}
.signin-submit{width:100%;min-height:48px;font-size:16px}
.signin-foot{width:min(880px,100%);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:13px;color:var(--muted)}
.signin-foot a{color:var(--accent);font-weight:600;font-size:14px}

.user-chip{display:flex;align-items:center;gap:10px;min-width:0}
.user-chip-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.user-chip-text strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip-text small{font-size:12px;color:var(--muted)}

.team-card-actions{margin-top:14px;display:flex;justify-content:flex-end}
.team-card.is-inactive{opacity:.7}
.team-contact{margin-top:6px;font-size:14px;color:var(--muted)}
.team-contact a{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

@media(max-width:760px){
 .signin{padding:28px 16px 24px}
 .signin-card{padding:20px}
 .user-chip-text{display:none}
}
@media(prefers-reduced-motion:reduce){.signin-tile{transition:none}}

/* Accounts: keep amounts aligned and the next payment action easy to find. */
.accounts-stats .stat:first-child{background:#eaf5f0;border-color:#c8e2d8}
.accounts-stats .stat:first-child strong{color:#176b58}
.balance-table table{min-width:0}
.balance-table th,.balance-table td{padding:16px 20px}
.balance-table .balance-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.balance-table .balance-due{font-weight:700;color:#176b58}
.balance-table .balance-customer{max-width:280px;white-space:normal;overflow-wrap:anywhere}
.balance-table .balance-customer .order-link{text-decoration:none;display:inline-block}
.balance-table .balance-customer small{line-height:1.5}
.balance-table .balance-action{text-align:right}
.balance-table .balance-action .btn{min-height:38px;white-space:nowrap}
.accounts-balances .card-head>div{min-width:0}
.accounts-balances .card-head p,.report-card .card-head p{font-size:13px;color:var(--muted);line-height:1.5;margin-top:5px}
.report-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
.report-grid>.card{min-width:0}
.report-stage-list{display:grid;gap:18px}
.report-stage-row{display:grid;gap:8px}
.report-stage-label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5}
.report-stage-label>span{min-width:0;overflow-wrap:anywhere}
.report-stage-label>strong{flex-shrink:0;font-variant-numeric:tabular-nums}
.report-stage-row .bar{flex:none;width:100%;height:7px}
.report-location{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.report-location:first-child{padding-top:0}.report-location:last-child{padding-bottom:0;border-bottom:0}
.report-location h3{font-size:14px;margin:0 0 5px}
.report-location small{display:block;font-size:12px;color:var(--muted)}
.report-location>strong{font-size:20px;letter-spacing:-.4px;font-variant-numeric:tabular-nums;text-align:right;color:#176b58}
@media(max-width:1000px){.report-grid{grid-template-columns:1fr}.balance-table th,.balance-table td{padding:14px 16px}}
@media(max-width:760px){.balance-table table{min-width:0}.balance-table .balance-number,.balance-table .balance-action{text-align:left}.balance-table .balance-customer{max-width:none}.balance-table td{padding:10px 0}.balance-table .balance-action .btn{min-height:44px}.report-location{grid-template-columns:minmax(0,1fr)}.report-location>strong{text-align:left;font-size:22px}}

@container table-region (max-width:800px){.balance-table .balance-number,.balance-table .balance-action{text-align:left}.balance-table .balance-customer{max-width:none}.balance-table td{padding:10px 0}}
/* Username and password sign-in. */
.signin-form{display:grid;gap:16px;margin-top:20px}
.signin-form .signin-error:empty{display:none}
.team-warning{margin-top:8px;font-size:13px;color:var(--amber)}
