*,:before,:after{box-sizing:border-box}body{color:var(--text-primary);background:var(--background);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}h1{margin:0 0 .25rem;font-size:1.5rem}.muted{color:var(--text-secondary)}.center{text-align:center;padding:3rem 1rem}a{color:var(--brand-blue-text)}.auth{min-height:100vh}.auth-header{background:linear-gradient(135deg, var(--primary) 55%, var(--brand-blue));text-align:center;padding:2.5rem 1rem 4rem}.auth .card{max-width:28rem;margin:-2.5rem auto 2rem}.wordmark{color:var(--on-primary);letter-spacing:.02em;font-size:1.4rem;font-weight:800}.app{min-height:100vh;padding-bottom:4.5rem}.topbar{background:var(--primary);color:var(--on-primary);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.topbar .biz{opacity:.9;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.content{max-width:48rem;margin:0 auto;padding:1rem}.tabs{background:var(--surface);border-top:1px solid var(--border-subtle);display:flex;position:fixed;top:auto;bottom:0;left:0;right:0}.tabs a{text-align:center;color:var(--text-secondary);flex:1;padding:.9rem .25rem;font-weight:600;text-decoration:none}.tabs a.active{color:var(--primary);background:var(--selected-soft)}.card{background:var(--surface);border-radius:12px;margin:.75rem 0;padding:1rem;box-shadow:0 1px 2px #031f4714}.row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list{margin:0;padding:0;list-style:none}form label{margin-bottom:.9rem;font-weight:600;display:block}input,select{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text-primary);border-radius:8px;margin-top:.3rem;padding:.8rem;font-size:1rem;display:block}input:focus,select:focus{outline:2px solid var(--brand-blue-text);outline-offset:1px}button:focus-visible{outline:2px solid var(--brand-blue-text);outline-offset:1px}button{width:100%;min-height:3rem;color:var(--on-primary);background:var(--primary);cursor:pointer;border:none;border-radius:10px;padding:.75rem 1rem;font-size:1rem;font-weight:700}button:disabled{opacity:.6}button.secondary{background:var(--surface);color:var(--primary);border:1px solid var(--border-strong)}button.link{background:0 0;width:auto;min-height:auto;padding:.25rem;font-weight:600}.error{background:var(--danger-soft);color:var(--text-primary);border-radius:8px;padding:.75rem}.warning{background:var(--warning-soft);border-radius:8px;padding:.75rem}.ok{color:var(--primary);font-weight:600}.badge{border-radius:999px;padding:.2rem .6rem;font-size:.85rem;font-weight:700}.badge.active{background:var(--selected-soft);color:var(--primary)}.badge.revoked{background:var(--border-subtle);color:var(--text-secondary)}.code-card{text-align:center}.code{letter-spacing:.15em;color:var(--primary);font-family:ui-monospace,Cascadia Mono,monospace;font-size:2.2rem;font-weight:800}@media (min-width:48rem){.tabs{background:0 0;border:none;max-width:48rem;margin:0 auto;position:static}.app{padding-bottom:0}}.field{margin-bottom:.9rem}.field>label{margin:0;font-weight:600;display:block}.password-row{margin-top:.3rem;position:relative}.password-row input{margin-top:0;padding-right:7.5rem}button.toggle{width:auto;min-height:2.5rem;color:var(--brand-blue-text);background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.9rem;font-weight:700;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}button.toggle:hover{background:var(--selected-soft)}.field-error{color:var(--danger);margin:.35rem 0 0;font-size:.95rem;font-weight:600}input[aria-invalid=true]{border-color:var(--danger)}h2{margin:0 0 .25rem;font-size:1.1rem}.small{font-size:.9rem}.tabs a{font-size:.85rem}.chips{gap:.5rem;padding:.25rem 0 .75rem;display:flex;overflow-x:auto}button.chip{white-space:nowrap;width:auto;min-height:2.5rem;color:var(--primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:.4rem 1rem;font-weight:600}button.chip.on{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.hero .big{font-variant-numeric:tabular-nums;color:var(--primary);margin:.2rem 0;font-size:2.2rem;font-weight:800;line-height:1.2}.line{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.list>.line:last-child{border-bottom:none}.line-title{font-weight:700}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.right{text-align:right}.totals{border-top:2px solid var(--border-subtle);margin-top:.5rem}.grid2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.warn-card{border-left:4px solid var(--warning)}.diff{color:var(--danger);font-weight:700}.struck{color:var(--text-secondary);text-decoration:line-through}label.check{align-items:center;gap:.6rem;font-weight:600;display:flex}label.check input{width:1.3rem;height:1.3rem;margin:0}button.danger{background:var(--danger)}a.card.line,button.card.line.pick{text-align:left;width:100%;min-height:auto;color:var(--text-primary);background:var(--surface);border:none;margin:.5rem 0;padding:.85rem 1rem;font-weight:400;text-decoration:none;display:flex}input[type=search]{margin-bottom:.5rem}.banner{margin:0 0 .75rem}.topbar .toplink{color:var(--on-primary);font-weight:600;text-decoration:underline}button.compact{width:auto;min-height:2.4rem;margin-top:.3rem;padding:.35rem 1rem}a.button-link{background:var(--primary);color:var(--on-primary);border-radius:10px;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.legal{max-width:44rem;margin:0 auto;padding:1rem}.legal h2{margin-top:1.5rem}.legal p{max-width:68ch}.legal-links{flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;padding:1.25rem 0 .5rem;font-size:.9rem;display:flex}
