:root{--blue: #004e9b;--blue-dark: #003a75;--blue-light: #eaf5fa;--blue-border: #bae4f0;--cyan: #0091b9;--green: #00785c;--green-bright: #00875a;--green-light: #e9f7f1;--green-border: #a9e0ce;--yellow: #a84a00;--yellow-light: #fff4ea;--yellow-border: #ffdcb8;--orange: #ff6500;--yellow-bright: #ffd500;--yellow-dark: #5c3a00;--action: #ffa726;--action-hover: #f49a12;--action-text: #ffffff;--orange-text: #c74e00;--danger: #d96868;--danger-hover: #cd5555;--secondary: #f2f2f2;--secondary-hover: #e7e7e7;--secondary-border: #e2e2e2;--secondary-text: #334155;--red: #c81e2d;--red-light: #fdedee;--red-border: #f3c7cb;--text: #0f172a;--text-medium: #475569;--text-soft: #64748b;--border: #e2e8f0;--border-thin: #f1f5f9;--background: #f1f5f9;--white: #ffffff;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 15px;--fs-xl: 17px;--fs-2xl: 20px;--fs-3xl: 24px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .12);--shadow-top: 0 -4px 20px rgba(15, 23, 42, .08);--motion: cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}.wrap{max-width:560px;margin:0 auto;padding:12px 16px 24px}.wrap-with-actions{padding-bottom:190px}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px;margin-bottom:10px;animation:soft-rise .36s var(--motion) both}.card-compact{padding:14px 16px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.01em;color:var(--text)}.card-title svg{color:var(--cyan);flex:none}.group-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-bottom:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row+.row{margin-top:8px}.row-top{align-items:flex-start}.inline-row{display:flex;align-items:center;gap:6px;min-width:0}.stack{display:flex;flex-direction:column;gap:2px;min-width:0}.muted{color:var(--text-soft)}.secondary-text{color:var(--text-medium)}.small{font-size:var(--fs-sm)}.mini{font-size:var(--fs-md)}.semibold{font-weight:600}.bold{font-weight:700}.amount{font-size:var(--fs-lg);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.total-amount{font-size:var(--fs-2xl);font-weight:750;letter-spacing:-.02em;white-space:nowrap}.page-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;line-height:1.3}.vehicle-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.divider{border:0;border-top:1px solid var(--border-thin);margin:12px 0}.divider-strong{border-top-color:var(--border)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:650;line-height:1.4;white-space:nowrap}.badge svg{flex:none}.badge-blue{background:var(--blue-light);color:var(--blue-dark)}.badge-green{background:var(--green-light);color:var(--green)}.badge-yellow{background:var(--yellow-light);color:var(--yellow)}.badge-red{background:var(--red-light);color:var(--red)}.badge-gray{background:var(--border-thin);color:var(--text-soft)}.split-badge{display:inline-flex;align-items:stretch;border-radius:999px;overflow:hidden;font-size:var(--fs-xs);font-weight:650;line-height:1.4;white-space:nowrap}.split-badge span{display:inline-flex;align-items:center;gap:4px;padding:3px 9px}.split-badge svg{flex:none}.backorder-badge .badge-main{background:var(--yellow-bright);color:var(--yellow-dark)}.backorder-badge .badge-detail{background:#ffeeda;color:var(--yellow)}.neutral-badge .badge-main{background:#e2e8f0;color:var(--text-medium)}.neutral-badge .badge-detail{background:var(--border-thin);color:var(--text-medium)}.info-blue svg{color:var(--cyan)}.info-yellow svg{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:1px solid transparent;border-radius:var(--radius);font-size:var(--fs-lg);font-weight:650;font-family:inherit;letter-spacing:-.01em;cursor:pointer;padding:12px 16px;text-decoration:none;transition:transform .12s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease;-webkit-tap-highlight-color:transparent}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button svg{flex:none}.button-primary{background:var(--action);color:var(--action-text);box-shadow:0 1px 2px #b88a1447}.button-primary:hover:not(:disabled){background:var(--action-hover)}.button-outline{background:var(--white);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.button-outline:hover:not(:disabled){background:#fafbfc}.button-danger{background:var(--danger);color:#fff}.button-danger:hover:not(:disabled){background:var(--danger-hover)}.button-secondary{background:var(--secondary);color:var(--secondary-text)}.button-secondary:hover:not(:disabled){background:var(--secondary-hover)}.button-small{min-height:38px;font-size:var(--fs-md);padding:8px 12px;width:auto;border-radius:var(--radius-sm)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border:0;border-radius:999px;background:var(--border-thin);color:var(--text-medium);cursor:pointer;transition:background .16s ease;-webkit-tap-highlight-color:transparent}.icon-button:hover{background:var(--border)}.spinning{animation:spin .8s linear infinite}label,.label{display:block;font-size:var(--fs-md);font-weight:650;color:var(--text-medium);margin-bottom:6px}input[type=text],input[type=number],input[type=date],textarea,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-lg);font-family:inherit;color:var(--text);background:var(--white);transition:border-color .16s ease,box-shadow .16s ease}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,textarea:focus,select:focus{outline:none;border-color:#94a3b8;box-shadow:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{min-height:92px;resize:vertical;line-height:1.55}.field+.field{margin-top:14px}.help-text{font-size:var(--fs-sm);color:var(--text-soft);margin-top:6px}.error-message{display:flex;align-items:flex-start;gap:5px;font-size:var(--fs-sm);color:var(--red);margin-top:6px}.error-message svg{flex:none;margin-top:1px}.currency-input{position:relative;display:flex;align-items:center}.currency-prefix{position:absolute;left:14px;font-size:var(--fs-lg);font-weight:650;color:var(--text-soft);pointer-events:none}.currency-input input{padding-left:42px;font-size:var(--fs-xl);font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.currency-error input{border-color:var(--red-border)}.currency-error input:focus{border-color:var(--red);box-shadow:none}.file-picker{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px;border:1.5px dashed var(--border);border-radius:var(--radius);background:#fafbfc;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .16s ease,background .16s ease}.file-picker:hover{border-color:var(--blue-border);background:var(--blue-light)}.file-selected{border-style:solid;border-color:var(--green-border);background:var(--green-light)}.file-picker-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:10px;background:var(--white);color:var(--text-soft);box-shadow:var(--shadow-sm)}.file-selected .file-picker-icon{color:var(--green)}.vehicle{display:flex;align-items:flex-start;gap:12px}.vehicle-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:13px;background:var(--border-thin);color:var(--text-medium)}.vehicle-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:7px}.license-plate{display:inline-flex;align-items:center;padding:4px 10px;border:1.5px solid #cbd5e1;border-radius:7px;background:var(--white);color:var(--text);font-size:var(--fs-base);font-weight:700;letter-spacing:.09em;white-space:nowrap;font-variant-numeric:tabular-nums}.content-section+.content-section{margin-top:14px}.section-content{font-size:var(--fs-md);color:var(--text-medium);line-height:1.6}.warranty-note{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius);background:var(--yellow-light);color:var(--yellow);font-size:var(--fs-md);line-height:1.55}.service-item{border:0;border-radius:var(--radius);padding:12px;background:#f8fafc;transition:background .16s ease}.service-item+.service-item{margin-top:8px}.service-item-backorder{background:var(--yellow-light)}.service-item-selectable{cursor:pointer;display:block;font-weight:400;margin-bottom:0}.service-item-selected{background:var(--yellow-light)}.service-item-selected .badge-blue{background:var(--white)}.service-item .currency-input input{background:var(--white);border-color:transparent}.choice{display:flex;align-items:flex-start;gap:12px}.choice input[type=checkbox],.choice input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:20px;flex:none;margin-top:2px;padding:0;border:1.5px solid #cbd5e1;background:var(--white);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.choice input[type=checkbox]{border-radius:6px}.choice input[type=radio]{border-radius:999px}.choice input[type=checkbox]:checked{background-color:var(--action);border-color:var(--action);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4l3.2 3.2L12.5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:15px 15px}.choice input[type=radio]:checked{background-color:var(--action);border-color:var(--action);box-shadow:inset 0 0 0 3.5px var(--white)}.segmented-control{display:flex;gap:4px;padding:4px;background:var(--background);border-radius:var(--radius)}.segmented-control button{flex:1;min-height:42px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-medium);font-size:var(--fs-base);font-weight:650;font-family:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent}.segmented-control button.active{background:var(--white);color:var(--orange-text);box-shadow:var(--shadow)}.info{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border-radius:var(--radius);font-size:var(--fs-md);line-height:1.55}.info svg{flex:none;margin-top:1px}.info-blue{background:var(--blue-light);color:var(--blue)}.info-yellow{background:var(--yellow-light);color:var(--yellow)}.info-green{background:var(--green-light);color:var(--green)}.info-red{background:var(--red-light);color:var(--red)}.info-gray{background:var(--border-thin);color:var(--text-medium)}.info-subtle{background:#f7f9fb;color:var(--text-soft);font-size:var(--fs-sm);line-height:1.5;padding:10px 12px}.info-centered{justify-content:center;text-align:center}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#ffffffe0;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-top:1px solid var(--border);box-shadow:var(--shadow-top);animation:bar-rise .4s var(--motion) both}.action-bar-content{max-width:560px;margin:0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-actions .button{min-height:46px;font-size:var(--fs-base)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:60}.modal-sheet{background:var(--white);width:100%;max-width:560px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-overlay-centered{align-items:center;padding:20px}.dialog{background:var(--white);width:100%;max-width:360px;border-radius:var(--radius-xl);padding:26px 20px 20px;text-align:center;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:999px;margin-bottom:14px}.dialog-icon-approve{background:var(--yellow-light);color:var(--yellow)}.dialog-icon-danger{background:var(--red-light);color:var(--red)}.dialog-icon-question{background:var(--blue-light);color:var(--cyan)}.dialog-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.dialog-message{font-size:var(--fs-md);color:var(--text-soft);line-height:1.6;margin-top:7px}.dialog-details{border:1px solid var(--border-thin);background:#f8fafc;border-radius:var(--radius);padding:12px;margin-top:16px;text-align:left}.dialog-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .22s ease}.dialog-fade-enter-from,.dialog-fade-leave-to{opacity:0}.dialog-fade-enter-active .dialog{transition:transform .3s var(--motion)}.dialog-fade-leave-active .dialog{transition:transform .2s ease-in}.dialog-fade-enter-from .dialog,.dialog-fade-leave-to .dialog{transform:scale(.9)}.modal-sheet-handle{width:38px;height:4px;border-radius:999px;background:var(--border);margin:8px auto 0;flex:none}.modal-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--border-thin);flex:none}.modal-sheet-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.modal-sheet-subtitle{font-size:var(--fs-md);color:var(--text-soft);margin-top:3px}.modal-sheet-body{padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1}.modal-sheet-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-thin);background:var(--white);flex:none;display:flex;flex-direction:column;gap:8px}.skeleton{background:linear-gradient(90deg,var(--border-thin) 25%,#e9eef5 37%,var(--border-thin) 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}.empty-state{text-align:center;padding:12px 4px}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:var(--background);color:var(--text-soft);margin-bottom:14px}.text-center{text-align:center}.text-right{text-align:right}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.full-width{width:100%}@keyframes soft-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar-rise{0%{transform:translateY(100%)}to{transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.sheet-enter-active,.sheet-leave-active{transition:opacity .26s ease}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-active .modal-sheet{transition:transform .34s var(--motion)}.sheet-leave-active .modal-sheet{transition:transform .24s ease-in}.sheet-enter-from .modal-sheet,.sheet-leave-to .modal-sheet{transform:translateY(100%)}.collapse-enter-active,.collapse-leave-active{transition:opacity .22s ease,transform .22s var(--motion)}.collapse-enter-from,.collapse-leave-to{opacity:0;transform:translateY(-6px)}.list-move,.list-enter-active,.list-leave-active{transition:opacity .25s ease,transform .25s var(--motion)}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(6px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
