@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--ink:#292723;--paper:#fffdf7;--canvas:#f6f1e7;--line:#d8d0c2;--muted:#766f63;--coral:#d95d45;--moss:#557e6e;--yolk:#edbf55;--display:"Fraunces", Georgia, serif;--sans:"DM Sans", sans-serif;--mono:"DM Mono", monospace;color:var(--ink);background:var(--canvas);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 15% 2%,#edbf552e,transparent 25rem),var(--canvas);min-width:320px;margin:0}button,input{font:inherit}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.app-shell{width:min(100%,860px);margin:0 auto;padding:22px 22px 72px}.site-header,.brand,.local-badge,.account-pill,.section-heading,.image-summary,.page-title,.project-heading,.inventory-legend{align-items:center;display:flex}.site-header{justify-content:space-between}.brand{color:var(--ink);font:800 20px/1 var(--display);letter-spacing:-.05em;cursor:pointer;background:0 0;border:0;gap:9px}.bead-mark{grid-template-columns:repeat(2,8px);gap:3px;display:grid;transform:rotate(-8deg)}.bead-mark i{background:var(--coral);border-radius:3px;width:8px;height:8px;box-shadow:inset 0 -2px #0000001f}.bead-mark i:nth-child(2){background:var(--moss)}.bead-mark i:nth-child(3){background:var(--yolk)}.bead-mark i:nth-child(4){background:var(--ink)}.local-badge{border:1px solid var(--line);color:var(--muted);font:600 11px/1 var(--sans);border-radius:100px;gap:6px;padding:7px 9px}.local-badge b{background:var(--moss);border-radius:50%;width:6px;height:6px}.account-pill{max-width:280px;color:var(--muted);gap:9px;font-size:11px}.account-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-pill button,.text-button,.add-row{color:var(--coral);cursor:pointer;background:0 0;border:0;font-weight:800}.app-nav{z-index:20;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f0;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:5px;margin:24px 0 0;padding:5px;display:grid;position:sticky;top:12px}.app-nav button{color:var(--muted);font:750 13px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 8px;display:flex}.app-nav button span{font-size:17px}.app-nav button.active{background:var(--ink);color:#fffdf7}.cloud-message{color:var(--moss);background:#edf4ed;border-radius:9px;margin:18px 0 -4px;padding:10px 14px;font-size:12px}.hero{padding:68px 0 48px}.eyebrow{color:var(--coral);font:800 12px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px}.hero h1,.page-title h1{color:var(--ink);font:700 clamp(44px,10vw,76px)/.95 var(--display);letter-spacing:-.075em;margin:0}.hero h1 em{color:var(--coral);font-style:normal}.hero-copy{max-width:500px;color:var(--muted);margin:24px 0 0;font-size:16px;line-height:1.65}.workspace,.review,.auth-card{border:1px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink);border-radius:18px;overflow:hidden}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 21px 17px}.section-heading>div{align-items:baseline;gap:10px;display:flex}.section-heading h2{color:var(--ink);font:750 19px/1 var(--display);letter-spacing:-.045em;margin:0}.section-heading>p{color:var(--muted);margin:0;font-size:12px}.step{color:var(--coral);font:800 11px/1 var(--mono);letter-spacing:.08em}.drop-zone{width:100%;min-height:310px;color:var(--ink);cursor:pointer;background-color:#f3eee3;background-image:linear-gradient(#29272313 1px,#0000 1px),linear-gradient(90deg,#29272313 1px,#0000 1px);background-size:18px 18px;border:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex;position:relative}.upload-icon{background:var(--coral);width:44px;height:44px;box-shadow:3px 3px 0 var(--ink);color:#fffaf0;font:800 26px/40px var(--sans);border-radius:14px;place-items:center;display:grid}.drop-zone strong{font:750 19px/1.2 var(--display)}.drop-zone>span:not(.upload-icon){color:var(--muted);font-size:13px}.drop-zone small{color:var(--muted);font-size:11px;position:absolute;bottom:16px}.scanner{background:#f3eee3;padding:16px}.image-summary{justify-content:space-between;gap:12px;padding:2px 3px 16px}.file-label{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.image-summary strong{max-width:300px;color:var(--ink);font:700 14px/1.2 var(--sans);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.crop-preview{border:1px solid var(--ink);background:#fff;border-radius:10px;place-items:center;min-height:90px;display:grid;overflow:hidden}.crop-preview img{object-fit:contain;max-width:100%;max-height:260px;display:block}.crop-controls{grid-template-columns:1fr auto;gap:8px 12px;padding:18px 2px;display:grid}.crop-controls label{color:var(--ink);font-size:12px;font-weight:700}.crop-controls output{color:var(--coral);font:700 12px var(--mono)}.crop-controls input{width:100%;accent-color:var(--coral);grid-column:1/-1}.primary-button{border:1px solid var(--ink);background:var(--moss);width:100%;box-shadow:3px 3px 0 var(--ink);color:#fffdf5;font:800 16px/1 var(--display);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.primary-button b{font-size:21px}.primary-button:disabled{cursor:wait;opacity:.72}.review{margin-top:58px;padding:22px}.review .section-heading{padding:0 0 16px}.review .section-heading p{margin-top:10px;line-height:1.45}.project-name{color:var(--muted);gap:6px;margin:17px 0 15px;font-size:11px;font-weight:700;display:grid}.project-name input,.inventory-row input,.total-check input,.auth-form input,.search-box input{border:1px solid var(--line);width:100%;color:var(--ink);font:700 14px var(--sans);background:#fffdf7;border-radius:8px;padding:10px}.table-head,.inventory-row{grid-template-columns:1fr 92px 30px;align-items:center;gap:8px;display:grid}.table-head{color:var(--muted);padding:0 4px 7px;font-size:11px}.inventory-row{border-top:1px solid var(--line);padding:8px 0}.inventory-row input{font-family:var(--mono)}.inventory-row button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:#efe8dc;border:0;border-radius:50%}.add-row{margin-top:10px}.total-check{color:var(--ink);background:#f3eee3;border-radius:10px;gap:9px;margin-top:20px;padding:16px;font-size:13px;display:grid}.total-check label{align-items:center;gap:8px;font-weight:700;display:flex}.total-check input{width:82px;padding:7px}.total-check p{color:var(--coral);margin:0;line-height:1.4}.total-check .good{color:var(--moss)}.save-panel{margin-top:16px}.save-panel p,.save-hint{color:var(--muted);margin:11px 0 0;font-size:12px}.auth-card{margin-top:48px;padding:25px}.auth-card h2{font:700 29px var(--display);letter-spacing:-.05em;margin:0}.auth-card>p{color:var(--muted);margin:10px 0 16px;font-size:13px}.auth-form{gap:8px;display:flex}.auth-form input{min-width:0}.auth-form button,.empty-state button{border:1px solid var(--ink);background:var(--yolk);box-shadow:2px 2px 0 var(--ink);cursor:pointer;border-radius:8px;flex:none;padding:10px 13px;font-weight:800}.auth-card small{color:var(--moss);margin-top:10px;display:block}details{color:var(--muted);margin-top:16px;font-size:12px}details summary{cursor:pointer}details pre{white-space:pre-wrap;background:#f3eee3;border-radius:8px;padding:12px;overflow:auto}.page-view{padding:60px 0 0}.page-title{justify-content:space-between;margin-bottom:30px}.page-title .eyebrow{margin-bottom:8px}.page-title h1{font-size:clamp(43px,9vw,66px)}.big-count{color:var(--coral);font:700 42px var(--display)}.big-count small{color:var(--muted);font:700 12px var(--sans);margin-left:4px}.inventory-legend{color:var(--muted);justify-content:flex-end;gap:15px;margin-bottom:12px;font-size:11px}.inventory-legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.inventory-legend .solid{background:var(--ink)}.inventory-legend .outline{border:1px solid var(--coral)}.search-box{border:1px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 var(--ink);border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:0 13px;display:flex}.search-box span{font-size:22px}.search-box input{background:0 0;border:0;outline:0;padding:13px 0}.stock-list{gap:8px;display:grid}.stock-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:42px minmax(85px,1fr) 100px minmax(205px,1.2fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.stock-row.shortage{border-color:var(--coral);background:#fff7f3}.color-swatch{border:1px solid #29272340;border-radius:11px;width:34px;height:34px;box-shadow:inset 0 -5px #00000014}.stock-code,.stock-balance{gap:2px;display:grid}.stock-code strong,.stock-balance strong{font:800 15px var(--mono)}.stock-code small,.stock-balance small{color:var(--muted);font-size:10px}.stock-balance{text-align:right}.stock-balance strong{font-size:18px}.stock-controls{grid-template-columns:52px 1fr 52px;gap:5px;display:grid}.stock-controls button,.stock-controls input{border:1px solid var(--line);min-width:0;color:var(--ink);font:700 11px var(--mono);text-align:center;background:#f3eee3;border-radius:7px;padding:8px 4px}.stock-controls button{cursor:pointer}.stock-controls input{background:#fff;font-size:12px}.project-grid{gap:17px;display:grid}.project-card{border:1px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);border-radius:17px;grid-template-columns:220px 1fr;display:grid;overflow:hidden}.project-thumb{background:#e8e1d5;place-items:center;min-height:190px;display:grid;position:relative;overflow:hidden}.project-thumb img{object-fit:cover;width:100%;height:100%}.project-thumb>span{background:var(--ink);color:#fff;font:700 11px var(--mono);border-radius:100px;padding:6px 8px;position:absolute;bottom:10px;right:10px}.project-thumb>div{color:var(--muted);justify-items:center;gap:14px;font-size:11px;display:grid}.project-body{min-width:0;padding:18px}.project-heading{justify-content:space-between;align-items:flex-start;gap:12px}.project-heading small{color:var(--muted);font-size:10px}.project-heading h2{font:700 23px var(--display);letter-spacing:-.045em;margin:3px 0 0}.status-select{border:1px solid var(--ink);background:var(--yolk);color:var(--ink);font:800 12px var(--sans);border-radius:9px;padding:8px 10px}.status-select.completed{background:var(--moss);color:#fff}.status-select.cancelled{color:var(--muted);background:#ddd5ca}.project-items{flex-wrap:wrap;gap:6px;margin-top:17px;display:flex}.project-items span{border:1px solid var(--line);color:var(--muted);font:500 10px var(--mono);background:#f7f2e8;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;display:flex}.project-items i{border:1px solid #00000026;border-radius:3px;width:9px;height:9px}.project-items b{color:var(--ink)}.status-note{color:var(--muted);margin:14px 0 0;font-size:11px}.empty-state{border:1px dashed var(--line);background:var(--paper);text-align:center;border-radius:17px;justify-items:center;padding:60px 20px;display:grid}.empty-state .bead-mark{transform:scale(1.5)rotate(-8deg)}.empty-state h2{font:700 27px var(--display);margin:22px 0 3px}.empty-state p{color:var(--muted);margin:0 0 18px;font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=680px){.app-shell{padding:18px 15px 105px}.account-pill span{display:none}.app-nav{border-radius:15px;margin:0;padding:4px;position:fixed;inset:auto 12px 12px}.app-nav button{flex-direction:column;gap:2px;padding:7px 4px;font-size:10px}.app-nav button span{font-size:16px}.hero{padding:52px 3px 40px}.hero h1{font-size:47px}.hero-copy{font-size:14px}.section-heading{padding:18px 16px 15px}.section-heading>p{display:none}.drop-zone{min-height:286px}.review{margin-top:43px;padding:16px}.crop-preview img{max-height:190px}.auth-form{flex-direction:column;align-items:stretch}.auth-form button{width:100%}.page-view{padding-top:45px}.page-title{margin-bottom:22px}.page-title h1{font-size:43px}.big-count{font-size:34px}.stock-row{grid-template-columns:36px 1fr 82px;gap:8px;padding:11px 10px}.color-swatch{width:30px;height:30px}.stock-controls{grid-column:2/-1;grid-template-columns:58px 1fr 58px}.project-card{grid-template-columns:1fr}.project-thumb{height:210px;min-height:0}.project-body{padding:16px}.project-heading h2{font-size:21px}.status-select{max-width:100px}.inventory-legend{justify-content:flex-start}}.crop-instruction{color:var(--ink);background:#fff8ea;border-radius:10px;gap:4px;margin-bottom:12px;padding:12px 14px;display:grid}.crop-instruction strong{font:800 14px var(--display)}.crop-instruction span,.crop-ready span{color:var(--muted);font-size:11px;line-height:1.5}.crop-stage{border:1px solid var(--ink);background:#272521;border-radius:12px;place-items:center;max-height:62vh;margin-bottom:15px;display:grid;overflow:auto}.crop-stage .ReactCrop{max-width:100%}.crop-stage img{object-fit:contain;max-width:100%;max-height:60vh;display:block}.crop-stage .ReactCrop__crop-selection{border:2px solid #fff;box-shadow:0 0 0 9999em #14120f9e}.crop-ready{justify-content:space-between;align-items:center;gap:16px;padding:12px 3px 15px;display:flex}.crop-ready span{max-width:560px}.crop-ready button{flex:none}.workspace:has(.crop-stage)+.review{display:none}.project-thumb img{object-fit:contain}@media (width<=680px){.crop-stage{max-height:55vh}.crop-stage img{max-height:53vh}.crop-ready{flex-direction:column;align-items:flex-start;gap:8px}}
