/* Scalpia POS — « Impressions à vérifier » (HW, lot 1 web). Native kit rows; tokens only. */
.hw-page{display:flex;flex-direction:column;gap:var(--space-5)}
.hw-section h2{margin:0 0 var(--space-2);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold);color:var(--text)}
.hw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.hw-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4) var(--space-3)}
.hw-item[data-hw-state="failed_before_send"],.hw-item[data-hw-state="outcome_unknown"],.hw-item[data-hw-state="not_registered"]{border-color:var(--danger)}
.hw-item[data-hw-state="waiting_permission"],.hw-item[data-hw-state="sent_unconfirmed"]{border-color:var(--warning-fg)}
.hw-row{padding-left:0;padding-right:0}
.hw-cause{margin:0 0 var(--space-3);font-size:var(--text-md);line-height:var(--leading-md);color:var(--text-muted);overflow-wrap:anywhere}
.hw-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.hw-actions:empty{display:none}
.main .hw-actions button.small{min-height:var(--touch);padding:0 var(--space-4)}
.hw-chip{min-height:var(--touch);display:inline-flex;align-items:center;color:var(--danger-fg);background:var(--danger-bg);border:1px solid var(--danger)}
/* DB-1c: « Perangkat ini », the device settings page of the APK (receipt printer, customer display, stations). */
.device-detail{min-width:0;background:var(--surface)}
@media(max-width:699px){.main.device-page{padding:0 0 var(--space-8)}.device-detail .settings-bar{padding:0 var(--space-4)}}
@media(min-width:700px){.device-detail{max-width:760px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.device-detail .settings-bar{padding:var(--space-2) var(--space-4) var(--space-2) var(--space-6);border-bottom:1px solid var(--border)}.device-detail .settings-body{padding:var(--space-2) var(--space-6) var(--space-6)}.device-detail .settings-body .field-group-body{max-width:640px}.device-detail .settings-actions{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}}
/* F01-2 (fiche 01): licence / app-version banner under the app bar, « Add a till » full-screen QR, first-launch enrolment. */
.license-banner{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:var(--space-1) var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-semibold)}
.license-banner.is-warn{background:var(--warning-bg);color:var(--warning-fg)}
.license-banner.is-error{background:var(--danger-bg);color:var(--danger-fg)}
.license-banner .ui-icon{flex:none}
.enroll-qr-screen{position:fixed;inset:0;z-index:var(--z-fullscreen);display:flex;flex-direction:column;background:var(--surface);color:var(--text);overflow:hidden}
.enroll-qr-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4)}
.enroll-qr-image{display:block;width:min(78vw,52vh);max-width:100%;height:auto;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.enroll-qr-code{margin:0;font-size:var(--text-amount);line-height:var(--leading-amount);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:0;overflow-wrap:anywhere;text-align:center}
.enroll-qr-hint{margin:0;max-width:520px;font-size:var(--text-md);line-height:var(--leading-md);color:var(--text-muted);text-align:center}
.enroll-qr-body .list-group{width:min(520px,100%)}
.launch-card .launch-enroll{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}
.launch-card .launch-enroll .primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:0}
.launch-card .launch-enroll-enter{min-height:var(--touch);background:var(--tonal-bg);color:var(--tonal-fg);font-size:var(--text-lg);font-weight:var(--weight-semibold)}
.launch-card .launch-enroll-or{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:var(--leading-md);color:var(--text-muted)}
/* F01-2b (fiche 01, DB-2): dashboard sign-in by account (browser) above the owner-key fallback; session ended notice. */
.launch-card .account-login{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}
.launch-card .account-login-title{margin:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}
.launch-card .account-login .primary{margin-top:var(--space-1)}
.launch-card .account-other{min-height:var(--touch);background:var(--tonal-bg);color:var(--tonal-fg);font-weight:var(--weight-semibold)}
.launch-card .account-ended{display:flex;align-items:center;gap:var(--space-2);margin:0;background:var(--warning-bg);color:var(--warning-fg)}
.launch-card .account-ended .ui-icon{flex:none}
.launch-card .owner-key-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--text-muted)}
.launch-card .owner-key-title .ui-icon{flex:none}
