.dashboard-intro{color:var(--muted);margin:-4px 0 20px}.dashboard-layout{gap:18px;padding-bottom:12px;display:grid}.dashboard-section{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:18px}.dashboard-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-section-head h2{font-size:18px}.dashboard-section-head a{color:var(--accent);white-space:nowrap;align-items:center;gap:2px;font-size:14px;font-weight:600;display:flex}.dashboard-section-head svg{width:17px;height:17px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-tile{border:1px solid var(--line);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:3px;min-width:0;min-height:110px;padding:12px;display:flex}.dashboard-tile-label{justify-content:space-between;align-items:flex-start;gap:4px;font-size:13px;font-weight:600;display:flex}.dashboard-tile-label svg{flex:none;width:16px;height:16px}.dashboard-tile strong{font-variant-numeric:tabular-nums;font-size:clamp(20px,4vw,29px);line-height:1.18}.dashboard-tile small{color:var(--muted);margin-top:auto}.dashboard-tile.danger{background:var(--red-soft);color:var(--red)}.dashboard-list{border-top:1px solid var(--line);margin-top:12px}.dashboard-list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.dashboard-list-row span{overflow-wrap:anywhere;min-width:0}.dashboard-list-row small{color:var(--muted);text-align:right;flex:none}.dashboard-list-row .dashboard-late{color:var(--red);font-weight:600}.dashboard-empty{color:var(--muted);padding-top:12px;font-size:14px}.dashboard-payroll{background:var(--yellow-soft);border-radius:12px;align-items:center;gap:8px;margin-top:12px;padding:12px;display:flex}.dashboard-payroll strong{white-space:nowrap;margin-left:auto}.dashboard-payroll svg{flex:none;width:18px;height:18px}@media (width>=700px){.dashboard-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-orders{grid-column:1/-1}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=389px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-list-row{flex-direction:column;align-items:flex-start;gap:2px}}.finance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.finance-fields .field{min-width:0}.finance-fields input,.finance-fields select{width:100%;min-width:0}.finance-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.finance-totals .card{padding:12px}.finance-totals small,.finance-totals strong,.finance-entry small,.finance-entry span{display:block}.finance-totals strong{overflow-wrap:anywhere}.finance-entry{border-bottom:1px solid var(--line,#e5e7eb);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.finance-entry:last-child{border:0}.finance-entry>div:first-child{overflow-wrap:anywhere;min-width:0}.finance-entry-actions{text-align:right;align-content:start;justify-items:end;gap:8px;display:grid}.finance-entry-actions strong{white-space:nowrap}@media (width<=600px){.finance-totals,.finance-fields{grid-template-columns:1fr}.finance-entry{flex-direction:column}.finance-entry-actions{justify-content:space-between;align-items:center;width:100%;display:flex}}.materials-grid{gap:12px;display:grid}.materials-head{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;display:flex}.materials-balance{margin:12px 0 2px;font-size:26px;font-weight:700}.materials-grid .button{margin-top:14px}.materials-grid h3{margin:18px 0 4px;font-size:15px}.materials-movement{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.materials-movement span{overflow-wrap:anywhere;min-width:0}.materials-movement small{color:var(--muted);display:block}.materials-movement b{white-space:nowrap}@media (width>=680px){.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-tabs,.report-period .chips{flex-wrap:wrap;margin:8px 0 14px}.report-fields,.report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-filters{margin:12px 0}.report-filters .field:first-child{grid-column:1/-1}.report-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.report-totals .card{padding:10px 8px}.report-totals small,.report-totals strong{display:block}.report-totals strong{margin-top:5px;font-size:17px}.report-line{border-bottom:1px solid var(--line,#e5e7eb);justify-content:space-between;align-items:start;gap:10px;padding:10px 0;display:flex}.report-line:last-child{border:0}.report-line span{overflow-wrap:anywhere;min-width:0}.report-event{justify-content:space-between;gap:8px;display:flex}.report-link{color:inherit;text-align:left;font:inherit;background:0 0;border:0;padding:5px 0;text-decoration:underline}.report-person{border:0;border-bottom:1px solid var(--line,#e5e7eb);text-align:left;width:100%;font:inherit;background:0 0;justify-content:space-between;gap:8px;padding:12px 0;display:flex}.report-person small{margin-top:3px;display:block}.report-order{border-bottom:1px solid var(--line,#e5e7eb);gap:4px;padding:12px 0;display:grid}.report-order b{text-align:right}.report-pages{gap:8px;margin:12px 0;display:flex}.report-period .field,.report-filters .field{min-width:0}.report-period input,.report-filters select{width:100%;min-width:0}@media (width<=390px){.report-totals strong{font-size:15px}.report-event,.report-event small{display:block}}.badges{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.order-title{margin-bottom:8px}.order-title b,.order-title span{display:block}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;display:grid}.metric span{color:var(--muted);font-size:13px;line-height:1.2;display:block}.metric b{font-size:15px;font-weight:600;display:block}.stages{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.metrics+.stages{margin-top:12px}.stage{background:var(--bg);text-align:center;border-radius:8px;padding:6px 2px}.stage b{font-size:17px;display:block}.stage span{color:var(--muted);font-size:12px;line-height:1.15;display:block}.stage.current{background:var(--accent-soft)}.stage.current span{color:var(--accent);font-weight:600}.section-title{margin-bottom:8px;font-size:17px;font-weight:700}.section-empty{margin-bottom:8px}.group-title{margin:16px 0 8px;font-size:17px;font-weight:700}.params{margin:0}.params div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.params div:first-child{border-top:0}.params dt{color:var(--muted);font-size:14px}.params dd{text-align:right;margin:0}.grid-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.grid-table th{color:var(--muted);text-align:right;vertical-align:bottom;padding:4px;font-size:12px;font-weight:600;line-height:1.15}.grid-table td{border-top:1px solid var(--line);text-align:right;padding:8px 4px}.grid-table th:first-child,.grid-table td:first-child{text-align:left;padding-left:0}.grid-table th:last-child,.grid-table td:last-child{padding-right:0}.grid-table small{color:var(--accent);font-size:12px;font-weight:600;display:block}.grid-table tr.today td{background:var(--accent-soft)}.grid-table tr.future td{color:var(--muted)}.grid-table.money td:not(:first-child){white-space:nowrap}.grid-table tr.total td{font-weight:700}.grid-table td.negative{color:var(--red)}.list-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 0;display:flex}.list-row:disabled{color:inherit;opacity:1}.list-row>:first-child{overflow-wrap:anywhere;min-width:0}.list-row b{flex:none}.list-row small{color:var(--muted);font-size:13px;display:block}.list-row.team{font-weight:700}.list-row.team small{color:var(--accent);flex:none;font-weight:400}.list-row+.button,.section-empty+.button{margin-top:8px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:44px;padding:4px 12px;font-size:14px}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.chip:focus-visible,.list-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form-two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;display:grid}.form-two .input{min-width:0}.form-note{margin:-8px 0 16px}.check-item{gap:4px;margin-bottom:8px;display:flex}.check-item .input{flex:1;min-width:0}textarea.input{resize:vertical;display:block}.pick-list{gap:8px;margin-bottom:16px;display:grid}.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.pick{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;overflow-wrap:anywhere;flex-direction:column;justify-content:center;min-width:0;min-height:60px;padding:8px 12px;display:flex}.pick b{font-weight:600}.pick small{color:var(--muted);font-size:14px}.pick.active{border:2px solid var(--accent);background:var(--accent-soft)}.pick:focus-visible,.check-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.step-title{margin:0 0 8px;font-size:15px;font-weight:700}.check-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 12px;font-size:17px;display:flex}.check-row+.check-row{margin-top:8px}.check-row:disabled{color:inherit;opacity:1}.check-row.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.check-box{border:2px solid var(--muted);background:var(--surface);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:700;line-height:1;display:flex}.check-row.on .check-box{border-color:var(--accent)}.input.input-big{text-align:center;min-height:64px;font-size:28px;font-weight:600}.button.big{min-height:60px;font-size:18px}.date-toggle{min-height:44px;color:var(--accent);background:0 0;border:0;margin-bottom:12px;padding:0;font-weight:600}.saved{border-radius:var(--radius);background:var(--green-soft);color:var(--green);margin-bottom:12px;padding:12px;font-weight:600}.pack-count{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pack-count b{white-space:nowrap;font-size:30px;line-height:1.1}.segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.lot-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.lot-head>:first-child{overflow-wrap:anywhere;min-width:0}.lot-head b{display:block}.lot-qty{white-space:nowrap;flex:none;font-size:22px;font-weight:700}.lot-actions{gap:8px;margin-top:12px;display:grid}.lot-row{border-bottom:1px solid var(--line);padding:8px 0}.lot-row .button{margin-top:8px}.screen form+.card{margin-top:16px}.warehouse-total{justify-content:space-between;align-items:center;gap:12px;display:flex}.warehouse-total b{white-space:nowrap;font-size:24px}.warehouse-title{width:100%;min-height:44px;color:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:17px;font-weight:700;display:block}.warehouse-title small{color:var(--muted);margin-top:3px;font-size:13px;font-weight:400;display:block}.warehouse-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.warehouse-counts span{background:var(--bg);text-align:center;color:var(--muted);border-radius:8px;padding:8px 4px;font-size:12px}.warehouse-counts b{color:var(--text);font-size:19px;display:block}.warehouse-history-title{margin:18px 0 4px;font-size:15px}.warehouse-shipment{border-top:1px solid var(--line);padding:10px 0}.warehouse-shipment .row{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.warehouse-shipment small{color:var(--muted);display:block}.warehouse-counts+.button.secondary,.warehouse-counts+.button.primary+.button.secondary{margin-top:8px}:root{--bg:#f4f8fb;--surface:#fff;--text:#173249;--muted:#526b7f;--line:#d4e0e8;--accent:#143d5e;--accent-soft:#e6f0f7;--green:#1c705a;--green-soft:#e3f3ed;--yellow:#805b08;--yellow-soft:#fbf1d8;--red:#a33140;--red-soft:#fae9eb;--gray:#506779;--gray-soft:#e8eef3;--radius:12px;--tabs-height:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.app{max-width:640px;min-height:100dvh;margin:0 auto}.screen{min-width:0;padding:0 16px calc(var(--tabs-height) + 24px + env(safe-area-inset-bottom))}.shell-brand{min-height:54px;color:var(--accent);letter-spacing:.12em;align-items:center;gap:9px;font:700 14px/1 Georgia,Times New Roman,serif;display:flex}.brand-mark{border-radius:8px;flex:none;width:42px;height:42px;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.offline{z-index:50;background:var(--red);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:4px 16px;font-weight:600;display:flex;position:sticky;top:0}.offline button{color:#fff;background:0 0;border:0;min-height:44px;padding:0 12px;font-weight:600;text-decoration:underline}.tabs{z-index:20;width:100%;max-width:640px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:50%;overflow-x:auto;transform:translate(-50%)}.tab{min-width:62px;min-height:var(--tabs-height);color:var(--muted);flex-direction:column;flex:1 0 62px;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.sidebar-brand{display:none}.tab.active{color:var(--accent);font-weight:600}@media (width<=699px){.tab{flex:1 1 0;min-width:0}.tab.mobile-secondary{display:none}.tab.mobile-more-active{color:var(--accent);font-weight:600}}.header{align-items:center;gap:4px;min-height:60px;margin:0 -8px 8px;display:flex}.header h1{overflow-wrap:anywhere;flex:1;min-width:0;padding:0 8px;font-size:22px;font-weight:700}.icon-button{border-radius:var(--radius);background:0 0;border:0;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.button{border-radius:var(--radius);overflow-wrap:anywhere;border:1px solid #0000;min-height:44px;padding:8px 16px;font-weight:600}.button.primary{background:var(--accent);color:#fff}.button.secondary{background:var(--surface);border-color:var(--line)}.button.danger{background:var(--surface);border-color:var(--red);color:var(--red)}.button.wide{width:100%}.button:disabled{opacity:.6}.field{margin-bottom:16px;display:block}.field-label{margin-bottom:4px;font-size:14px;font-weight:600;display:block}.field-hint{color:var(--muted);margin-top:4px;font-size:13px;display:block}.field-error{color:var(--red);margin-top:4px;font-size:14px;display:block}.input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:44px;padding:8px 12px;font-size:16px}.input:focus-visible,.button:focus-visible,.icon-button:focus-visible,.card.clickable:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.checkbox{align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.checkbox small{color:var(--muted);display:block}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;overflow-wrap:anywhere;width:100%;min-height:44px;margin-bottom:8px;padding:12px 16px;display:block}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.row>:first-child{min-width:0}.muted{color:var(--muted);font-size:14px}.stack{gap:8px;display:grid}.badge{border-radius:999px;flex:none;padding:2px 8px;font-size:13px;font-weight:600;display:inline-block}.badge.green{background:var(--green-soft);color:var(--green)}.badge.yellow{background:var(--yellow-soft);color:var(--yellow)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.gray{background:var(--gray-soft);color:var(--gray)}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty-title{color:var(--text);font-weight:600}.empty .button{margin-top:16px}.loading{text-align:center;color:var(--muted);padding:48px 16px}.form-error{color:var(--red);margin-bottom:16px}.sheet-backdrop{z-index:40;background:#1e1e1e66;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;max-height:90dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-radius:16px 16px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;min-height:52px;display:flex}.sheet-head h2{overflow-wrap:anywhere;min-width:0;font-size:18px}.auth{max-width:400px;margin:0 auto;padding:18px 16px 40px}.auth-brand{background:#fff;max-width:300px;margin:0 auto 14px}.auth-brand img{width:100%;height:auto;display:block}.auth h2{margin-bottom:4px;font-size:22px}.auth p{color:var(--muted);margin-bottom:24px}.auth .form-error{color:var(--red)}@media (prefers-reduced-motion:no-preference){.button,.tab{transition:color .15s,background-color .15s}}@media (width>=700px){.app{max-width:none}.screen{max-width:1200px;padding:24px 24px calc(var(--tabs-height) + 24px + env(safe-area-inset-bottom));margin:0 auto}.tabs{max-width:none}.tab{flex:1 1 0}.card{margin-bottom:10px}}@media (width>=1100px){.app{padding-left:240px}.screen{max-width:1200px;padding:28px 36px 60px}.screen>.shell-brand{display:none}.tabs{border-top:0;border-right:1px solid var(--line);flex-direction:column;align-items:stretch;width:240px;height:100dvh;padding:20px 12px;position:fixed;inset:0 auto 0 0;overflow:hidden auto;transform:none}.sidebar-brand{min-height:58px;margin:0 8px 20px;display:flex}.tab{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;min-height:48px;padding:0 14px;font-size:15px}.tab.active{background:var(--accent-soft)}}
