:root{--ink:#17211f;--muted:#687873;--green:#158068;--green-dark:#17483f;--done:#c8f0dc;--surface:#f3f7f6;--surface-strong:#e5eeeb;--border:#dce6e3;--shadow:0 12px 30px #1e293b24;--sans:Arial, "Segoe UI", system-ui, sans-serif;font:16px/1.45 var(--sans);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf2f0}body{min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}.app{--row-h:110px;flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:30;padding:12px 0;padding-top:max(12px, env(safe-area-inset-top));color:#fff;background:linear-gradient(125deg,#102a27,#17483f);position:sticky;top:0;box-shadow:0 4px 18px #102a272e}.topbar-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;width:min(100%,1500px);margin:0 auto;padding-inline:clamp(10px,2.5vw,36px);display:flex}.topbar-title{align-items:center;gap:12px;min-width:0;display:flex}.header-count{min-width:30px;height:30px;color:var(--green-dark);box-sizing:border-box;background:#fff;border-radius:50%;place-items:center;padding:0 6px;font-size:15px;font-weight:800;display:inline-grid}.topbar h1{color:#fff;white-space:nowrap;margin:0;font-size:clamp(19px,4.6vw,28px);line-height:1.15}.header-actions{align-items:center;gap:8px;display:flex}.header-actions>button,.header-actions summary{color:#fff;white-space:nowrap;box-sizing:border-box;text-align:center;background:#ffffff1f;border-color:#ffffff47;min-width:92px;min-height:40px;padding:7px 12px;font-size:13px}.backup-menu{position:relative}.backup-menu summary{place-items:center;list-style:none;display:grid}.backup-menu summary::-webkit-details-marker{display:none}.backup-menu[open]{z-index:40}.backup-menu[open]>summary{background:#fff3;border-color:#ffffff8c}.backup-menu-list{z-index:2;gap:6px;min-width:max(100%,120px);display:grid;position:absolute;top:calc(100% + 6px);left:0}.backup-menu-list button{width:100%;min-height:42px;color:var(--ink);border-color:var(--border);white-space:nowrap;background:#fff;padding:8px 12px;font-size:13px;box-shadow:0 10px 24px #0f172a2e}button,summary{border:1px solid var(--border);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:9px 14px;font-weight:700;transition:transform .12s,border-color .12s,box-shadow .12s}button:active,summary:active{transform:scale(.98)}button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #15806840}.primary{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 7px 18px #15806838}.add-button{white-space:nowrap;align-items:center;gap:7px;padding-inline:20px;display:inline-flex}.add-button span{font-size:24px;line-height:1}main{box-sizing:border-box;width:min(100%,1500px);margin:0 auto;padding:22px clamp(10px,2.5vw,36px) 50px}.card-list{gap:12px;display:grid}.order-card{border:1px solid var(--border);background:#fff;border-radius:14px;gap:12px;padding:12px;display:grid;box-shadow:0 8px 20px #1e293b0f}.order-card.archived{opacity:.7}.card-top{align-items:flex-start;gap:10px;display:flex}.card-number{min-width:34px;height:34px;color:var(--green-dark);background:#e7f3ee;border-radius:10px;flex-shrink:0;place-items:center;margin-top:4px;font-size:15px;font-weight:800;display:inline-grid}.card-statuses{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.card-status{border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.dual-status-caption,.card-status-caption{box-sizing:border-box;color:#3f5450;text-align:center;background:#f2f7f5;flex-direction:column;align-items:center;gap:2px;height:42px;padding:4px 3px 0;font-weight:800;line-height:1.15;display:flex}.step-badge{color:#fff;background:#7f948f;border-radius:50%;flex-shrink:0;place-items:center;width:17px;height:17px;font-size:11px;display:grid}.step-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12px;overflow:hidden}.card-status .status-cell{min-height:52px;padding:4px 2px}.board-card{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px #1e293b12}.table-scroll{overscroll-behavior-inline:contain;scrollbar-color:#a7d6c9 #edf3f1;width:100%;overflow-x:auto}table{border-spacing:0;table-layout:fixed;text-align:center;direction:rtl;width:100%;min-width:920px}th,td{width:112px;height:var(--row-h);border-bottom:1px solid var(--border);border-left:1px solid var(--border);box-sizing:border-box;padding:0}th{z-index:3;color:#43534f;background:#edf5f2;height:58px;padding:8px;font-size:13px;font-weight:850;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background-color:#fbfdfc}tbody tr.archived{opacity:.66}th.number-column,td.number-column{width:58px;min-width:58px}th.client-column,td.client-column{width:380px;min-width:380px}td.client-column{vertical-align:top}.client-stack{box-sizing:border-box;text-align:right;padding:8px;font-size:14px;line-height:1.45;display:block}.client-stack .client-name{color:var(--ink);cursor:text;font-size:15px;font-weight:700}.client-dash{color:#7c8f8a;margin:0 3px;font-weight:700}.client-stack .client-details{color:#4d605c;cursor:text}.client-stack .is-empty{color:#9fb0ac;font-weight:400}.client-stack input.client-name{field-sizing:content;text-align:right;width:auto;min-width:5ch;max-width:100%;min-height:0;padding:2px 4px;font-size:15px;font-weight:700}.client-stack textarea.client-details{resize:none;text-align:right;width:100%;min-height:0;margin-top:4px;padding:4px 6px;font-size:14px;line-height:1.4;display:block}.card-top .client-stack{flex:1;min-width:0;padding:0;font-size:15px}.card-top .client-name{font-size:16px}.order-photo{flex-direction:column;align-items:flex-end;gap:4px;margin:6px 8px 8px;display:flex}.order-photo-frame{color:#6f847f;cursor:pointer;background:#f5f9f8;border:1px dashed #c2d3ce;border-radius:12px;place-items:center;width:96px;height:96px;font-size:12px;font-weight:700;display:grid;overflow:hidden}.order-photo-frame img{object-fit:cover;width:100%;height:100%}a.order-photo-frame{border-style:solid}.order-photo-actions{gap:6px;display:flex}.order-photo-actions button{border:1px solid var(--border);color:#4d605c;cursor:pointer;background:#fff;border-radius:999px;padding:2px 8px;font-size:12px}.order-card .order-photo{align-items:stretch;margin:10px 0 0}.order-card .order-photo-frame{width:100%;height:180px}.order-card .order-photo-actions{justify-content:flex-end}.sticky-number{z-index:6;border-left:1px solid var(--border);background:#fff;position:sticky;right:0;box-shadow:-8px 0 14px -14px #0f172acc}.sticky-client{z-index:5;border-left:1px solid var(--border);background:#fff;position:sticky;right:58px;box-shadow:-8px 0 14px -14px #0f172acc}th.sticky-number,th.sticky-client{z-index:9;color:#43534f;background:#edf5f2}tbody tr:hover .sticky-number,tbody tr:hover .sticky-client{background:#f8fffc}.work-number{height:100%;min-height:var(--row-h);color:var(--ink);place-items:start center;padding-top:10px;font-size:15px;font-weight:700;display:grid}.draft-work-number{color:var(--green-dark)}.draft-row .sticky-number,.draft-row .sticky-client{background:#f4fbf8}.draft-row:hover .sticky-number,.draft-row:hover .sticky-client{background:#eefaf4}.data-cell,.status-cell{width:100%;height:100%;min-height:var(--row-h);box-shadow:none;background:0 0;border:0;border-radius:0}.draft-row td{vertical-align:middle;background:#f4fbf8}.draft-row .sticky-client{height:auto;min-height:var(--row-h);padding:0}.cell-input{width:100%;min-height:40px;color:var(--ink);font:inherit;box-sizing:border-box;background:#fff;border:1px solid #c5ddd4;border-radius:8px;padding:8px 10px;font-size:15px}select.cell-input{appearance:none;text-align:center;text-align-last:center;cursor:pointer;background-image:none}.blank-field{height:100%;min-height:var(--row-h);font:inherit;color:var(--ink);text-align:center;background:0 0;border:0;border-radius:0;font-size:15px;font-weight:400}td.client-column .blank-field{text-align:right;padding-inline:5px}.blank-field:focus{background:#fff;box-shadow:inset 0 0 0 2px #15806840}.draft-status{color:#94a3b8;font-size:18px}.data-cell{color:#334155;overflow-wrap:anywhere;font-size:14px}.status-cell{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}th.status-column,.dual-status-cell{width:176px;min-width:176px}th.status-column.count-3,.dual-status-cell.count-3{width:252px;min-width:252px}th.status-column.count-1,.dual-status-cell.count-1{width:106px;min-width:106px}.dual-status-cell{padding:0}.dual-status-buttons{grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid}.dual-status-item{flex-direction:column;min-width:0;height:100%;display:flex}.dual-status-item+.dual-status-item{border-right:1px solid var(--border)}.dual-status-buttons .step-name{font-size:13px}.dual-status-buttons .status-cell{flex:1;min-width:0;min-height:0;padding:2px}.dual-status-buttons .status-icon{width:26px;height:26px;font-size:16px}.dual-status-buttons small{font-size:14px}.status-cell:hover{background:#f6faf9}.status-cell.done{color:#116046;background:var(--done)}.status-cell.done:hover{background:#a7e8c8}.status-cell.current{color:#b91c1c;background:#fde8e8}.status-cell.current:hover{background:#fbd5d5}.status-cell.current .status-icon{background:#ef4444;border-color:#ef4444}.status-cell.action{color:#5f726d}.status-cell.action .status-icon{background:0 0;border-style:dashed;border-color:#b8c8c3;font-size:15px}.status-icon{border:2px solid #cbd5e1;border-radius:50%;place-items:center;width:26px;height:26px;font-size:17px;font-weight:900;display:grid}.done .status-icon{color:#fff;border-color:var(--green);background:var(--green)}.status-cell small{font-size:14px;font-weight:700}.status-cell small.date-placeholder{visibility:hidden}.short-label{display:none}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:340px;padding:30px;display:grid}.empty-state>div{width:58px;height:58px;color:var(--green);background:var(--done);border-radius:18px;place-items:center;margin-bottom:12px;font-size:28px;font-weight:900;display:grid}.empty-state h2{margin:0 0 4px}.empty-state p{color:var(--muted);margin:0 0 18px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.modal{box-sizing:border-box;background:#fff;border-radius:18px;width:min(100%,520px);max-height:calc(100svh - 30px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #00000040}.status-modal{width:min(100%,390px)}.share-modal{width:min(100%,760px)}.share-hint{color:var(--green-dark);text-align:center;background:#e7f3ee;border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:15px;font-weight:700}.share-image{border:1px solid var(--border);border-radius:12px;width:100%;height:auto;display:block}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-header h2{margin:3px 0 0;font-size:25px}.icon-button{min-width:44px;color:var(--muted);background:var(--surface);border:0;padding:0;font-size:28px;font-weight:400}form{gap:15px;display:grid}label{color:#34413e;gap:6px;font-size:13px;font-weight:800;display:grid}label b{color:#dc2626}input,textarea,select{width:100%;color:var(--ink);font:inherit;box-sizing:border-box;background:#fff;border:1px solid #cad5d2;border-radius:10px;padding:11px 12px}textarea{resize:vertical}select{cursor:pointer;min-height:44px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-fields{grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-bottom:4px;display:grid}.modal-actions,.danger-zone{flex-wrap:wrap;gap:9px;display:flex}.modal-actions{margin-top:5px}.danger-zone{border-top:1px solid var(--border);justify-content:space-between;margin-top:20px;padding-top:16px}.danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.toast{bottom:max(18px, env(safe-area-inset-bottom));z-index:200;color:#fff;text-align:center;background:#172d28;border-radius:10px;max-width:calc(100% - 28px);padding:12px 18px;font-weight:700;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0000003d}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=700px){.topbar{padding:8px 0;padding-top:max(8px, env(safe-area-inset-top))}.topbar-inner{flex-wrap:wrap;gap:8px;padding-inline:6px}.topbar-title{flex:auto;gap:8px;min-width:0}.topbar h1{font-size:18px}.header-count{min-width:26px;height:26px;font-size:14px}.header-actions{gap:6px;width:100%}.header-actions>button,.header-actions>.backup-menu{flex:1 1 0}.header-actions>button,.header-actions summary{min-width:0;min-height:38px;padding:6px 10px;font-size:13px}.backup-menu-list button{min-height:44px;font-size:14px}main{padding:10px 6px 30px}.board-card{border-radius:12px}.app{--row-h:104px}table{min-width:780px}th,td{width:86px;height:var(--row-h)}th{height:52px;font-size:13px}th.status-column,.dual-status-cell{width:168px;min-width:168px}th.status-column.count-3,.dual-status-cell.count-3{width:240px;min-width:240px}th.status-column.count-1,.dual-status-cell.count-1{width:100px;min-width:100px}.dual-status-buttons .step-name{font-size:12px}th.number-column,td.number-column{width:46px;min-width:46px}th.client-column,td.client-column{width:280px;min-width:280px}.client-stack .client-name{flex-basis:100px;width:100px}.sticky-client{right:46px}.work-number{min-height:var(--row-h);font-size:14px}.data-cell,.status-cell{min-height:var(--row-h)}.draft-row .sticky-client{min-height:var(--row-h);padding:6px}.cell-input{min-height:38px;font-size:15px}.blank-field{min-height:var(--row-h);font-size:15px}.full-label{display:none}.short-label{display:inline}.form-row{grid-template-columns:1fr}}@media print{.topbar,.draft-row{display:none}main{padding:0}.board-card,.table-scroll{box-shadow:none;border:0;overflow:visible}table{min-width:0;font-size:9px}.sticky-client,th{position:static}}
