:root{--color-bg:#0b0b0c;--color-surface:#19191b;--color-surface-raised:#232325;--color-border:#34343780;--color-red:#d62b2b;--color-red-bright:#ff3b3b;--color-green:#2f6b4f;--color-green-bright:#45a876;--color-text:#f5f5f0;--color-text-dim:#a9a9a6;--color-text-faint:#6e6e6c;--color-danger-bg:#3a1414;--color-success-bg:#112b1f;--font-display:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--tab-bar-height:64px;--header-height:56px;--max-content-width:640px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;padding:0}#root{min-height:100vh}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}a{color:inherit}::selection{background:var(--color-red);color:#fff}:focus-visible{outline:2px solid var(--color-green-bright);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{max-width:var(--max-content-width);background:var(--color-bg);flex-direction:column;min-height:100vh;margin:0 auto;display:flex;position:relative}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field__label{color:var(--color-text-dim);letter-spacing:.01em;font-size:13px;font-weight:600}.field__input,.field__select,.field__textarea{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);width:100%;transition:border-color .15s var(--ease);padding:12px 14px}.field__input:focus,.field__select:focus,.field__textarea:focus{border-color:var(--color-green-bright)}.field__input::placeholder{color:var(--color-text-faint)}.field__error{color:var(--color-red-bright);font-size:12px}.btn{font-family:var(--font-display);letter-spacing:.02em;border-radius:var(--radius-sm);cursor:pointer;transition:transform .1s var(--ease), opacity .15s var(--ease), background .15s var(--ease);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-red);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-red-bright)}.btn--secondary{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--color-green-bright)}.btn--ghost{color:var(--color-text-dim);background:0 0;padding:8px 12px}.btn--full{width:100%}.btn--sm{padding:8px 14px;font-size:13px}.chip{letter-spacing:.01em;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip--green{background:var(--color-success-bg);color:var(--color-green-bright)}.chip--red{background:var(--color-danger-bg);color:var(--color-red-bright)}.chip--neutral{background:var(--color-surface-raised);color:var(--color-text-dim)}.segmented{background:var(--color-surface-raised);border-radius:var(--radius-sm);gap:4px;padding:4px;display:flex}.segmented__btn{text-align:center;color:var(--color-text-dim);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:6px;flex:1;padding:10px;font-size:13px;font-weight:600}.segmented__btn--active{background:var(--color-green);color:#fff}.empty-state{text-align:center;color:var(--color-text-dim);flex-direction:column;align-items:center;padding:48px 16px;display:flex}.empty-state__icon{opacity:.6;margin-bottom:12px}.empty-state__title{font-family:var(--font-display);color:var(--color-text);margin:0 0 6px;font-size:18px}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-red-bright);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 14px;font-size:13px}.banner--error{background:var(--color-danger-bg);color:#ff8a8a;border:1px solid #5a2020}.banner--success{background:var(--color-success-bg);color:var(--color-green-bright);border:1px solid #1f4a35}.section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin:24px 0 10px;font-size:14px;font-weight:600}.section-title:first-child{margin-top:0}.login-screen{background:radial-gradient(circle at 50% 0,#1a1a1d 0%,#0b0b0c 60%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex}.login-logo{object-fit:contain;background:#f5f5f0;border-radius:20px;width:96px;height:96px;margin-bottom:20px;padding:10px}.login-title{font-family:var(--font-display);margin:0 0 4px;font-size:24px;font-weight:600}.login-subtitle{color:var(--color-text-dim);margin:0 0 28px;font-size:14px}.login-card form{text-align:left;width:100%}.app-header{z-index:40;height:var(--header-height);padding:0 16px;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#0b0b0cd9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header__brand{align-items:center;gap:10px;min-width:0;display:flex}.app-header__logo{object-fit:contain;background:#f5f5f0;border-radius:8px;flex-shrink:0;width:32px;height:32px;padding:3px}.app-header__title{font-family:var(--font-display);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:600;overflow:hidden}.app-header__logout{color:var(--color-text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:8px;display:flex}.app-header__logout:hover{color:var(--color-red-bright);background:var(--color-surface-raised)}.tab-bar{width:100%;max-width:var(--max-content-width);height:var(--tab-bar-height);background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);z-index:50;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar__item{color:var(--color-text-faint);letter-spacing:.02em;transition:color .15s var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tab-bar__item--active{color:var(--color-red-bright)}.tab-bar__item svg{transition:transform .15s var(--ease)}.tab-bar__item--active svg{transform:translateY(-1px)}.app-content{flex:1;padding:16px 16px 32px;overflow-y:auto}.app-content--with-tabbar{padding-bottom:calc(var(--tab-bar-height) + 24px + env(safe-area-inset-bottom))}.bills-search{margin-bottom:16px}.bills-loading{justify-content:center;padding:48px 0;display:flex}.bills-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bill-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color .15s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.bill-row:active{border-color:var(--color-red)}.bill-row__main{flex-direction:column;gap:2px;min-width:0;display:flex}.bill-row__number{font-family:var(--font-display);color:var(--color-text-faint);font-size:13px;font-weight:500}.bill-row__client{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.bill-row__plate{color:var(--color-text-dim);font-size:12px}.bill-row__side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.bill-row__amount{font-family:var(--font-display);font-size:16px;font-weight:600}.bill-row__date{color:var(--color-text-faint);font-size:12px}.bills-pagination{color:var(--color-text-dim);justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:13px;display:flex}.bill-detail__header{justify-content:space-between;align-items:flex-start;display:flex}.bill-detail__number{font-family:var(--font-display);font-size:18px;font-weight:600}.bill-detail__date{color:var(--color-text-dim);margin-top:2px;font-size:13px}.bill-detail__total{font-family:var(--font-display);color:var(--color-red-bright);font-size:22px;font-weight:700}.bill-detail__line{margin:0 0 4px;font-size:14px}.bill-detail__line--dim{color:var(--color-text-dim)}.bill-detail__vehicle div,.bill-detail__status div{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.bill-detail__vehicle div:last-child,.bill-detail__status div:last-child{border-bottom:none}.bill-detail__vehicle span,.bill-detail__status span:first-child{color:var(--color-text-dim)}.bill-detail__position{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.bill-detail__position:last-of-type{border-bottom:none}.bill-detail__position-main{flex-direction:column;gap:2px;min-width:0;display:flex}.bill-detail__position-meta{color:var(--color-text-faint);font-size:12px}.bill-detail__position-total{flex-shrink:0;font-weight:600}.bill-detail__totals{border-top:1px solid var(--color-border);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;font-size:14px;display:flex}.bill-detail__totals div{color:var(--color-text-dim);justify-content:space-between;display:flex}.bill-detail__totals-gross{font-size:16px;font-weight:700;font-family:var(--font-display);color:var(--color-text)!important}.autocomplete{flex-direction:column;gap:6px;display:flex;position:relative}.autocomplete__panel{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:30;max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.autocomplete__item{text-align:left;border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);cursor:pointer;background:0 0;padding:12px 14px;font-size:14px;display:block}.autocomplete__item:last-child{border-bottom:none}.autocomplete__item:hover,.autocomplete__item:active{background:var(--color-surface)}.autocomplete__loading{color:var(--color-text-faint);padding:12px 14px;font-size:13px}.total-gauge{flex-direction:column;align-items:center;padding:8px 0 4px;display:flex}.total-gauge__svg{width:180px;height:118px}.total-gauge__readout{flex-direction:column;align-items:center;margin-top:-8px;display:flex}.total-gauge__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);font-size:11px;font-weight:600}.total-gauge__value{font-family:var(--font-display);color:var(--color-text);font-size:28px;font-weight:700}.wizard-steps{justify-content:space-between;margin-bottom:24px;display:flex}.wizard-steps__item{color:var(--color-text-faint);flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.wizard-steps__dot{background:var(--color-surface-raised);border:1px solid var(--color-border);width:28px;height:28px;transition:all .2s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.wizard-steps__item--active .wizard-steps__dot{background:var(--color-red);border-color:var(--color-red);color:#fff}.wizard-steps__item--done .wizard-steps__dot{background:var(--color-green);border-color:var(--color-green);color:#fff}.wizard-steps__label{text-align:center;letter-spacing:.01em;font-size:10px}.wizard-steps__item--active .wizard-steps__label{color:var(--color-text);font-weight:600}.form-row-2{gap:10px;display:flex}.form-row-2>.field{flex:1}.form-row-3{gap:10px;display:flex}.form-row-3>.field{flex:1}.checkbox-row{color:var(--color-text-dim);cursor:pointer;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-red);flex-shrink:0}.wizard-actions{margin-top:20px}.wizard-actions--split{gap:10px;display:flex}.wizard-actions--split .btn{flex:1}.duplicate-warning{border-color:var(--color-red);margin:12px 0;padding:12px}.duplicate-warning__title{color:var(--color-red-bright);margin:0 0 8px;font-size:13px;font-weight:600}.position-card{margin-bottom:12px}.position-card__header{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}
