:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#f3f4f6;color:#111827}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f4f6}.login-card{width:min(420px,100%);display:grid;gap:14px;padding:18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 16px 48px #0f172a1f}.login-card label{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:900}.login-brand{color:#111827}.login-brand span{color:#6b7280}.login-error{padding:10px 12px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px;font-weight:900}.sidebar{position:sticky;top:0;height:100vh;padding:18px;background:#121826;color:#e5e7eb;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-height:48px}.brand-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#20a4a0;color:#062927;font-weight:900}.brand strong,.brand span{display:block}.brand span{color:#9ca3af;font-size:12px}.nav,.branch-list{display:grid;gap:8px}.branch-list>span{color:#9ca3af;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.nav button,.branch-list button,.topbar button,.filters button,.detail-actions button,.stepper button{min-height:40px;border:0;border-radius:8px;font:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.nav button,.branch-list button{display:flex;align-items:center;gap:10px;padding:0 12px;text-align:left;color:#cbd5e1;background:transparent}.nav button.active,.branch-list button.selected{background:#243244;color:#fff}.workspace{min-width:0;padding:22px;display:grid;gap:18px;align-content:start}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{margin:0;font-size:26px;line-height:1.1;letter-spacing:0}.topbar p{margin:5px 0 0;color:#6b7280}.topbar-actions{display:flex;align-items:center;gap:10px}.search{width:min(360px,38vw);min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.search input{width:100%;border:0;outline:0;font:inherit;color:#111827}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;background:#0f766e;color:#fff;font-weight:800}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;background:#fff;color:#374151;border:1px solid #d1d5db;font-weight:900}.system-notice{min-height:44px;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #f97316;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:900}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.metric{min-height:76px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center}.metric svg{color:#0f766e}.metric span{color:#6b7280;font-size:12px;font-weight:800;text-transform:uppercase}.metric strong{grid-column:1 / -1;font-size:24px;line-height:1}.orders-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(520px,1.45fr) minmax(260px,.65fr);gap:14px;align-items:start}.cashier-layout{grid-template-columns:minmax(320px,520px)}.panel{min-width:0;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.panel-title{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #eef2f7;font-weight:900}.form-grid{padding:14px;display:grid;gap:10px}.plan-panel{display:grid;gap:12px;padding:14px;border-top:1px solid #eef2f7;background:#fbfdff}.plan-block{display:grid;gap:9px;padding:11px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.plan-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-title strong{font-size:15px}.plan-title span{color:#6b7280;font-size:12px;font-weight:900}.plan-values{display:grid;grid-template-columns:1fr;gap:7px}.plan-delta{min-height:34px;display:flex;align-items:center;padding:8px 10px;border-radius:8px;background:#f9fafb;font-size:13px;font-weight:900}.plan-note{color:#6b7280;font-size:12px;line-height:1.4}.master-pay.report-wide{grid-column:1 / -1}input,select,textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:10px 11px;font:inherit;color:#111827;background:#fff}textarea{min-height:86px;resize:vertical}.wide{width:100%}.primary:disabled{cursor:not-allowed;background:#9ca3af;color:#f9fafb}.list-panel{grid-column:3;grid-row:1;overflow:hidden}.filters{padding:12px;display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid #eef2f7}.filters button{flex:0 0 auto;padding:0 12px;background:#f3f4f6;color:#374151;font-weight:800}.filters button.active{background:#111827;color:#fff}.ticket-list{display:grid;max-height:calc(100vh - 286px);overflow:auto}.ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px 14px;border:0;border-bottom:1px solid #eef2f7;background:#fff;color:#111827;text-align:left}.ticket-row.selected{background:#ecfeff}.ticket-row div{min-width:0}.ticket-row strong,.ticket-row span,.ticket-row em{display:block}.ticket-row span,.ticket-row em{color:#6b7280;font-size:13px;font-style:normal}.ticket-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-row em{grid-column:1 / -1}.status{align-self:start;min-width:92px;padding:5px 8px;border-radius:999px;text-align:center;font-size:12px;font-weight:900}.status.new{background:#e0f2fe;color:#075985}.status.diag{background:#fef3c7;color:#92400e}.status.wait{background:#ffedd5;color:#9a3412}.status.work{background:#ede9fe;color:#5b21b6}.status.ready{background:#dcfce7;color:#166534}.status.done{background:#e5e7eb;color:#374151}.detail-panel{grid-column:2;grid-row:1;min-width:0;padding:14px;display:grid;gap:14px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.mini-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:13px;font-weight:900;cursor:pointer}.mini-action.danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.detail-head span{color:#6b7280;font-size:12px;font-weight:900}.detail-head h2{margin:2px 0 0;font-size:22px;letter-spacing:0}.client-block{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;background:#f9fafb}.client-block strong,.client-block span{display:block}.client-block span{color:#6b7280;font-size:13px}.issue{margin:0;color:#374151;line-height:1.45}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{padding:10px;border-radius:8px;background:#f9fafb}.field span{display:block;color:#6b7280;font-size:12px}.field strong{display:block;margin-top:2px;font-size:14px}.notes{min-height:76px}.work-card,.edit-card,.photo-reports,.client-messages,.warranty-box,.required-photo{display:grid;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.required-photo{border-color:#f97316;background:#fff7ed}.required-photo.ready{border-color:#22c55e;background:#f0fdf4}.required-photo strong,.required-photo span{display:block}.required-photo span{margin-top:2px;color:#9a3412;font-size:12px;line-height:1.35}.required-photo.ready span{color:#166534}.work-card label{display:grid;gap:6px;color:#6b7280;font-size:12px;font-weight:900;text-transform:uppercase}.work-card textarea{min-height:78px}.edit-card{background:#fbfdff}.edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.edit-grid label,.edit-wide{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:900}.edit-check{min-height:43px;grid-template-columns:auto 1fr;align-items:center;align-self:end;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.edit-check input{width:18px;height:18px}.edit-actions{display:flex;justify-content:flex-end;gap:8px}.edit-actions button{min-height:40px}.section-heading{display:flex;align-items:center;gap:8px;color:#111827;font-weight:900}.photo-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px;border-radius:8px;background:#f9fafb}.photo-stage strong,.photo-stage span{display:block}.photo-stage span{margin-top:2px;color:#6b7280;font-size:12px;line-height:1.35}.upload-button{min-width:82px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;background:#111827;color:#fff;font-weight:900;cursor:pointer}.upload-button input{display:none}.photo-strip{grid-column:1 / -1;display:flex;gap:8px;overflow-x:auto;min-height:58px;align-items:center}.photo-strip img{width:58px;height:58px;flex:0 0 58px;border-radius:8px;object-fit:cover;border:1px solid #d1d5db}.photo-strip em,.message-list em{color:#9ca3af;font-size:13px;font-style:normal}.message-actions,.document-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.message-actions button,.document-actions button{min-height:38px;border:0;border-radius:8px;background:#f3f4f6;color:#111827;font-weight:900;cursor:pointer}.message-list{display:grid;gap:8px}.message-card{padding:10px;border-radius:8px;background:#ecfeff}.message-card span{display:block;color:#0f766e;font-size:12px;font-weight:900}.message-card p{margin:4px 0 0;white-space:pre-wrap;color:#374151;font-size:13px;line-height:1.4}.warranty-box pre{max-height:230px;margin:0;padding:10px;border-radius:8px;overflow:auto;background:#f9fafb;color:#374151;white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.45}.document-actions{grid-template-columns:1fr 1fr}.release-card{display:grid;gap:12px;padding:13px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb}.release-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.release-payment{display:grid;grid-template-columns:1fr auto;gap:8px}.release-payment input{min-width:0;height:42px;border:1px solid #d1d5db;border-radius:8px;padding:0 12px;font:inherit;background:#fff}.release-payment button,.release-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900}.release-payment button{padding:0 12px;background:#e0f2fe;color:#075985}.release-notice,.release-blocked{display:flex;align-items:center;gap:8px;min-height:38px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:800}.release-notice{background:#ecfdf5;color:#047857}.release-blocked{background:#fff7ed;color:#9a3412}.release-button{min-height:48px;background:#0f766e;color:#fff;font-size:16px}.release-button:disabled{cursor:not-allowed;background:#9ca3af}.expense-card{display:grid;gap:12px;padding:13px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.part-picker{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(170px,.9fr) minmax(260px,1.4fr);gap:10px;align-items:end}.auto-model-note{padding:9px 10px;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff;color:#0369a1;font-size:13px;font-weight:800}.part-picker label{min-width:0;display:grid;gap:6px;color:#374151;font-size:13px;font-weight:900}.part-picker select,.expense-grid input,.expense-grid select{min-width:0;height:46px;border:1px solid #d1d5db;border-radius:8px;padding:0 12px;font:inherit;background:#fff}.part-select-wide{grid-column:span 1}.used-part button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;background:#111827;color:#fff;font-weight:900}.used-parts{display:grid;gap:8px}.stock-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:274px;overflow:auto}.stock-preview button{min-height:76px;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;padding:9px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;text-align:left}.stock-preview button.selected{border-color:#0f766e;background:#ecfdf5}.stock-preview span{min-width:0;font-size:13px;font-weight:800}.stock-preview strong{color:#0f766e;white-space:nowrap}.stock-preview em{grid-column:1 / -1;color:#6b7280;font-size:12px;font-style:normal}.used-parts>em{color:#6b7280;font-size:13px}.used-part{min-height:54px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #eef2f7;border-radius:8px;background:#f9fafb}.used-part strong,.used-part span{display:block}.used-part span{margin-top:2px;color:#6b7280;font-size:13px}.expense-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.expense-grid label{display:grid;gap:5px;color:#374151;font-size:13px;font-weight:800}.check-line{min-height:42px;grid-template-columns:auto 1fr;align-items:center;align-self:end;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb}.check-line input{width:18px;height:18px}.expense-total{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.detail-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 8px;background:#f3f4f6;color:#111827;font-size:13px;font-weight:800}.detail-actions button:disabled{cursor:not-allowed;color:#9ca3af;background:#f3f4f6}.close-warning{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #f97316;border-radius:8px;background:#fff7ed;color:#9a3412}.close-warning strong,.close-warning span{display:block}.close-warning span{margin-top:2px;font-size:13px}.stock-panel,.reports-grid{min-height:400px}.stock-table{display:grid}.part-row{min-height:62px;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) 120px 110px 92px;align-items:center;gap:12px;border-bottom:1px solid #eef2f7}.part-row strong,.part-row span{display:block}.part-row span{color:#6b7280;font-size:13px}.stock-count{display:inline-flex;align-items:center;gap:6px;font-weight:900}.stock-count.low{color:#b91c1c}.stepper{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stepper button{background:#111827;color:#fff;font-size:20px;font-weight:900}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-wide{grid-column:1 / -1}.finance-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px}.finance-grid div,.delivery-report{min-height:86px;padding:13px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;display:grid;align-content:center;gap:6px}.finance-grid span,.delivery-report span,.loss-list em{color:#6b7280;font-size:13px}.finance-grid strong,.delivery-report strong{font-size:22px;line-height:1}.good-money{color:#047857}.bad-money{color:#b91c1c}.loss-list{display:grid;gap:8px;padding:14px}.loss-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #fee2e2;border-radius:8px;background:#fef2f2}.loss-row strong{color:#b91c1c}.delivery-report{margin:14px}.journal-panel{overflow:hidden}.journal-table{display:grid;overflow-x:auto}.journal-row{min-width:860px;min-height:58px;display:grid;grid-template-columns:160px minmax(260px,1fr) 120px 110px 130px;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid #eef2f7}.journal-row div{display:grid;gap:3px}.journal-row em{color:#6b7280;font-size:13px;font-style:normal}.journal-row b{text-align:right}.journal-head{min-height:42px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:900;text-transform:uppercase}.empty-journal{padding:16px;color:#6b7280;font-size:13px}.repair-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border-bottom:1px solid #eef2f7}.repair-summary div{min-height:78px;padding:13px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;display:grid;align-content:center;gap:6px}.repair-summary span,.repair-row em,.repair-feed-row span,.repair-feed-row em{color:#6b7280;font-size:13px}.repair-summary strong{font-size:24px;line-height:1}.repair-table{display:grid;overflow-x:auto}.repair-row{min-width:820px;display:grid;grid-template-columns:minmax(220px,1.4fr) 76px 86px 76px 120px 120px;gap:12px;align-items:center;min-height:64px;padding:10px 14px;border-bottom:1px solid #eef2f7}.repair-row div,.repair-feed-row div{display:grid;gap:3px}.repair-row strong,.repair-row em{display:block}.repair-row b{width:42px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#e0f2fe;color:#075985}.repair-head{min-height:42px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:900;text-transform:uppercase}.repair-head span{color:inherit}.status-bars,.roadmap,.repair-feed{padding:14px;display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:120px 1fr 28px;align-items:center;gap:10px}.bar-row span,.bar-row b{font-size:13px}.bar-row div{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:#0f766e}.roadmap span{padding:10px 12px;border-radius:8px;background:#f9fafb;color:#374151}.repair-feed-row{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.7fr) 90px;gap:10px;align-items:center;padding:10px 12px;border:1px solid #eef2f7;border-radius:8px;background:#fff}.repair-feed-row b{text-align:right}@media (max-width: 1450px){.orders-layout{grid-template-columns:minmax(280px,320px) minmax(240px,.75fr)}.list-panel{grid-column:2;grid-row:1}.detail-panel{grid-column:1 / -1;grid-row:auto}}@media (max-width: 1180px){.orders-layout{grid-template-columns:300px minmax(0,1fr)}.detail-panel{grid-column:1 / -1}.part-picker,.stock-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.part-select-wide{grid-column:1 / -1}}@media (max-width: 820px){.app-shell{display:block;padding-bottom:74px}.sidebar{position:fixed;z-index:20;inset:auto 0 0 0;height:66px;padding:8px 10px;display:grid;grid-template-columns:1fr;background:#121826}.brand,.branch-list{display:none}.nav{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:8px}.nav button{min-height:50px;justify-content:center;padding:0;font-size:12px;flex-direction:column;gap:3px}.workspace{padding:14px}.topbar{display:grid}.topbar-actions{display:grid;grid-template-columns:1fr}.search{width:100%}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:68px}.orders-layout,.reports-grid{grid-template-columns:1fr}.list-panel,.detail-panel{grid-column:auto;grid-row:auto}.ticket-list{max-height:none}.detail-grid,.detail-actions,.message-actions,.document-actions,.release-money,.release-payment,.part-picker,.expense-grid,.expense-total,.finance-grid,.repair-summary,.repair-feed-row,.used-part,.photo-stage,.stock-preview{grid-template-columns:1fr}.part-row{grid-template-columns:1fr;gap:8px}}
