:root{--color-bg:#f6f6f4;--color-surface:#fff;--color-surface-sunken:#fafaf9;--color-border:#e7e5e4;--color-border-strong:#d6d3d1;--color-text:#1c1917;--color-text-muted:#78716c;--color-text-faint:#a8a29e;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-bg:#eef2ff;--color-primary-border:#c7d2fe;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-success:#15803d;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-warning:#b45309;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-info:#1d4ed8;--color-info-bg:#eff6ff;--color-info-border:#bfdbfe;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.125rem;--shadow-card:0 1px 2px #1c19170a, 0 2px 6px #1c19170d;--shadow-raised:0 4px 12px #1c191714, 0 1px 3px #1c19170f;--touch-target:46px;--page-max-width:34rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}main{max-width:var(--page-max-width);margin:0 auto;padding:1.5rem 1.25rem 5rem}h1{letter-spacing:-.01em;margin:.125rem 0 .25rem;font-size:1.6rem;font-weight:800}h2{margin:0 0 .75rem;font-size:1rem;font-weight:700}p{margin:0 0 .75rem}a{color:var(--color-primary)}code{background:var(--color-surface-sunken);border-radius:.3rem;padding:.1rem .35rem;font-size:.9em}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.page-eyebrow{color:var(--color-text-muted);margin:0 0 .15rem;font-size:.85rem;font-weight:600}.page-header{margin-bottom:1.5rem}.page-header-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.page-header-row h1{margin:0}.empty{color:var(--color-text-muted);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:2rem 1rem}label{color:var(--color-text);margin-bottom:.4rem;font-size:.88rem;font-weight:600;display:block}input,select,textarea{width:100%;min-height:var(--touch-target);color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem .8rem;font-family:inherit;font-size:1rem;transition:border-color .12s}input::placeholder,textarea::placeholder{color:var(--color-text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg);outline:none}textarea{resize:vertical;min-height:4.5rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.field{margin-bottom:1.25rem}.field:last-child{margin-bottom:0}.field-row{gap:.75rem;display:flex}.field-row>.field{flex:1}fieldset{border:none;margin:0;padding:0}fieldset legend{margin-bottom:.5rem;padding:0;font-size:.88rem;font-weight:600}.radio-row{gap:.6rem;display:flex}.radio-option{min-height:var(--touch-target);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;transition:background-color .12s,border-color .12s;display:flex}.radio-option:has(input:checked){background:var(--color-primary-bg);border-color:var(--color-primary-border);color:var(--color-primary)}.radio-option input{width:1.1rem;min-height:0;accent-color:var(--color-primary);padding:0}.hint{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;margin:.75rem 0;padding:.6rem .8rem;font-size:.9rem;font-weight:600;display:flex}button{min-height:var(--touch-target);color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;padding:.55rem 1.1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background-color .1s,transform 60ms,box-shadow .1s}button:active{background:var(--color-surface-sunken);transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary);width:100%;box-shadow:var(--shadow-card);padding:.85rem 1.1rem;font-size:1.05rem;font-weight:700}.btn-primary:active:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-chip{min-height:2.4rem;color:var(--color-primary);background:var(--color-primary-bg);border-color:var(--color-primary-border);margin:.3rem .4rem 0 0;padding:.35rem .85rem;font-size:.92rem;font-weight:600}.btn-chip:active{background:var(--color-primary-border);transform:scale(.96)}.btn-chip[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-danger{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.btn-danger:active{background:var(--color-danger-border)}.btn-link{min-height:auto;color:var(--color-primary);background:0 0;border:none;margin-top:.5rem;padding:.3rem 0;font-size:.88rem;font-weight:600;text-decoration:underline}.btn-link:active{opacity:.7;background:0 0}.checkbox-field{min-height:var(--touch-target);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.92rem;font-weight:600;display:flex}.checkbox-field input{width:1.1rem;min-height:0;accent-color:var(--color-primary);padding:0}.section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:1.1rem}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);align-items:center;gap:.4rem;margin-bottom:.9rem;font-size:.75rem;font-weight:700;display:flex}.section-title:before{content:"";background:var(--color-primary);border-radius:50%;width:.4rem;height:.4rem}.stat-row{gap:.6rem;margin-bottom:1.25rem;display:flex}.stat{text-align:center;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);flex:1;padding:.65rem .5rem}.stat-value{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800;display:block}.stat-label{color:var(--color-primary);opacity:.75;text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem;font-size:.7rem;font-weight:600;display:block}.line-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.9rem 1rem}.line-item-title{justify-content:space-between;align-items:baseline;gap:.75rem;font-weight:700;display:flex}.line-item-title .qty{color:var(--color-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.line-item-label-edit{min-height:auto;color:inherit;border:none;border-bottom:1px dashed var(--color-border);font:inherit;text-align:left;background:0 0;padding:0;font-weight:700}.line-item-label-edit:active{opacity:.7;background:0 0;transform:none}.line-item-surface-edit{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.line-item-surface-edit select{flex:1;min-width:8rem}.line-item-detail{color:var(--color-text-muted);margin-top:.3rem;font-size:.88rem}.badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-neutral,.badge-draft{color:var(--color-text-muted);background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.badge-quoted{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.badge-accepted{color:var(--color-info);background:var(--color-info-bg);border-color:var(--color-info-border)}.badge-in_progress{color:var(--color-primary);background:var(--color-primary-bg);border-color:var(--color-primary-border)}.badge-complete{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.list{flex-direction:column;gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.list-item{display:block}.list-link{min-height:var(--touch-target);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-text);justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1.1rem;font-weight:600;text-decoration:none;transition:background-color .1s,transform 60ms;display:flex}.list-link:active{background:var(--color-surface-sunken);transform:scale(.99)}.list-link-main{align-items:center;gap:.65rem;min-width:0;display:flex}.list-link-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-link-meta{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.chevron{color:var(--color-text-faint);flex-shrink:0}.back-link{color:var(--color-text-muted);align-items:center;gap:.3rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.app-header-brand{align-items:center;gap:.6rem;min-width:0;display:flex}.app-header-logo{flex-shrink:0;width:auto;height:40px;display:block}.app-header-user{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.app-header form{flex-shrink:0;margin:0}.app-header button{min-height:2.25rem;padding:.35rem .8rem;font-size:.85rem}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:22rem;box-shadow:var(--shadow-raised);padding:2rem 1.75rem}.auth-card-logo{width:auto;height:56px;margin:0 auto 1rem;display:block}.auth-card h1{text-align:center;margin-bottom:1.5rem}
