@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#222b27;background:#f5f7f1;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #222b27;--muted: #7b8580;--line: #e8ece5;--green: #286747;--green-soft: #eaf4e9;--lime: #d8f079;--coral: #e87961;--surface: #fff}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #9dc86a;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:5;display:flex;width:244px;flex-direction:column;padding:28px 18px 18px;background:#fff;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;padding:0 9px;color:inherit;text-decoration:none}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:13px 13px 13px 4px;background:var(--green);color:#fff;font:800 17px Manrope,sans-serif;letter-spacing:0}.brand-mark span{color:var(--lime)}.brand-name{font:800 15px Manrope,sans-serif;letter-spacing:0}.brand-name small{display:block;margin-top:3px;color:var(--muted);font:500 10px DM Sans,sans-serif}.nav-caption{margin:50px 10px 13px;color:#9ca59e;font-size:10px;font-weight:700;letter-spacing:0}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;min-height:44px;align-items:center;gap:12px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#69746e;cursor:pointer;text-align:left;font-size:13px;font-weight:600;transition:background .18s,color .18s}.nav-link:hover{background:#f5f7f1;color:var(--ink)}.nav-link.active{background:var(--green-soft);color:var(--green)}.nav-icon{display:grid;width:20px;place-items:center;font-size:17px}.sidebar-note{position:relative;overflow:hidden;margin:auto 2px 22px;padding:17px;border-radius:9px;background:#eff4e8}.sidebar-note:after{position:absolute;right:-14px;bottom:-22px;width:90px;height:90px;border:1px solid #d6e2c9;border-radius:50%;content:""}.note-spark{color:var(--green);font-size:20px}.sidebar-note p{position:relative;z-index:1;margin:10px 0 0;font:700 13px/1.5 Manrope,sans-serif}.profile{display:flex;align-items:center;gap:10px;padding:14px 5px 4px;border-top:1px solid var(--line)}.profile-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#f4d8cd;color:#7f4536;font-size:10px;font-weight:700}.profile strong,.profile small{display:block}.profile strong{font-size:11px}.profile small{margin-top:3px;color:var(--muted);font-size:10px}.profile-dot,.status-dot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:#70b37d}.main-content{max-width:1530px;min-height:100vh;margin-left:244px;padding:0 46px}.topbar{display:flex;min-height:69px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb span{padding:0 8px;color:#bdc4bd}.topbar-date{display:flex;align-items:center;gap:8px;color:#77817b;font-size:11px;text-transform:capitalize}.status-dot{margin-left:0}.mobile-brand{display:none}.page-heading{display:flex;min-height:174px;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}.eyebrow{margin:0 0 9px;color:#87938a;font-size:9px;font-weight:700;letter-spacing:0}h1,h2,p{letter-spacing:0}h1{margin:0;font:800 29px/1.2 Manrope,sans-serif}.heading-copy{margin:9px 0 0;color:var(--muted);font-size:12px}.button{display:inline-flex;min-height:41px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:0;border-radius:6px;cursor:pointer;font-size:11px;font-weight:700;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover:not(:disabled){background:#35443b}.button-dark span{font-size:17px;font-weight:400}.button-green{background:var(--green);color:#fff}.button-green:hover:not(:disabled){background:#1f553b}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric-card{min-width:0;padding:17px 17px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);animation:enter .45s both}.metric-card:nth-child(2){animation-delay:.05s}.metric-card:nth-child(3){animation-delay:.1s}.metric-card:nth-child(4){animation-delay:.15s}.metric-highlight{border-color:#cde4cd;background:#edf5e9}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#66736b;font-size:10px;font-weight:600}.metric-icon{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#edf0eb;color:#45594c;font-size:13px}.green-icon{background:#e5f2de;color:#367452}.coral-icon{background:#fff0e9;color:var(--coral)}.metric-card>strong{display:block;overflow:hidden;margin-top:16px;font:800 22px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.metric-card>small{display:block;overflow:hidden;margin-top:6px;color:#8a948e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.85fr);gap:14px;margin-top:14px}.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.chart-panel,.stock-panel,.recent-panel,.products-panel,.movement-panel{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading .eyebrow{margin-bottom:6px}h2{margin:0;font:700 15px Manrope,sans-serif}.chart-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.chart-legend i{width:7px;height:7px;border-radius:50%;background:var(--green)}.chart{display:grid;height:176px;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:end;margin-top:20px}.chart-column{display:grid;height:100%;min-width:0;grid-template-rows:15px 1fr 16px;gap:6px;justify-items:center}.chart-value{overflow:hidden;width:100%;color:#7e8981;font-size:8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:flex;width:100%;height:100%;align-items:end;justify-content:center}.bar{width:min(28px,68%);min-height:3px;border-radius:4px 4px 1px 1px;background:#b6d6ae;transition:height .4s ease}.bar-today{background:var(--green)}.chart-day{color:#929b95;font-size:9px;text-transform:capitalize}.text-button{padding:5px 0;border:0;background:transparent;color:var(--green);cursor:pointer;font-size:9px;font-weight:700;white-space:nowrap}.text-button span{padding-left:4px;font-size:14px}.stock-list{margin-top:12px}.stock-row{display:flex;min-height:51px;align-items:center;gap:9px;border-bottom:1px solid #f0f2ee}.stock-row:last-child{border:0}.product-initial,.table-product{display:inline-grid;flex:0 0 auto;width:29px;height:29px;place-items:center;border-radius:8px;background:#f4e3ca;color:#805e36;font-size:11px;font-weight:700}.stock-row:nth-child(2n) .product-initial{background:#e1ece3;color:var(--green)}.stock-name{min-width:0;flex:1;overflow:hidden;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.stock-name small{display:block;margin-top:3px;color:#99a19c;font-size:9px;font-weight:400}.stock-count{color:#ad704c;font-size:9px;font-weight:700}.stock-empty{color:#d45e4f}.empty-inline{display:flex;align-items:center;gap:12px;min-height:150px;color:var(--green)}.empty-inline>span{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:var(--green-soft)}.empty-inline p{margin:0;color:var(--ink);font-size:11px;font-weight:700}.empty-inline small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:400}.recent-panel{margin-top:14px}.recent-panel .panel-heading,.products-panel .panel-heading{margin-bottom:17px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:9px 10px;border-bottom:1px solid var(--line);color:#98a099;font-size:9px;font-weight:600}td{padding:11px 10px;border-bottom:1px solid #f0f2ee;color:#69746d;font-size:10px}tbody tr:last-child td{border-bottom:0}td:first-child{color:var(--ink);font-weight:600}td .table-product{width:25px;height:25px;margin-right:8px;vertical-align:middle;font-size:9px}.amount-cell{color:var(--ink);font-weight:700}.movement-tag{display:inline-block;padding:5px 7px;border-radius:4px;background:#edf5eb;color:#367452;font-size:8px;font-weight:700}.purchase-tag{background:#fff1e9;color:#b96749}.empty-table{padding:28px 12px;color:#929c95;font-size:11px;text-align:center}.page-footer{display:flex;justify-content:space-between;padding:23px 0 20px;color:#9aa39d;font-size:9px}.page-footer span:first-child{color:var(--green);font-weight:700}.notice{margin-top:14px;padding:11px 13px;border-radius:6px;font-size:11px}.error-notice{background:#fff0ed;color:#a13f32}.success-notice{background:#eaf4e9;color:#286747}.loading-state{display:flex;min-height:65vh;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px}.loader{width:17px;height:17px;border:2px solid #dce7d9;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}.form-panel{margin-bottom:14px;padding:18px 20px 20px}.form-intro{display:flex;align-items:center;gap:11px;margin-bottom:17px}.form-symbol{display:grid;width:33px;height:33px;place-items:center;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:19px}.form-intro h2{font-size:13px}.form-intro p{margin:4px 0 0;color:var(--muted);font-size:9px}.product-form,.movement-form{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(140px,.8fr) auto;gap:12px;align-items:end}label{display:grid;gap:6px;color:#68746c;font-size:9px;font-weight:600}input,select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid #e3e8e1;border-radius:5px;background:#fff;color:var(--ink);font-size:10px}input::placeholder{color:#aeb6af}.product-form .button{height:38px}.count-badge{display:inline-grid;min-width:21px;height:21px;place-items:center;margin-left:5px;border-radius:10px;background:#f0f3ed;color:#79847d;font:600 9px DM Sans,sans-serif;vertical-align:1px}.products-table td{padding-top:13px;padding-bottom:13px}.products-table td strong{color:var(--ink);font-size:10px}.product-color{background:#eef1d5;color:#69752f}.stock-pill{padding:5px 7px;border-radius:4px;background:#edf5eb;color:#367452;font-size:9px;font-weight:700}.low-quantity{background:#fff1e9;color:#a96546}.row-actions{display:flex;gap:5px}.icon-button{display:grid;width:27px;height:27px;place-items:center;border:1px solid #e7ebe4;border-radius:5px;background:#fff;color:var(--green);cursor:pointer;font-size:14px}.icon-button:hover:not(:disabled){border-color:#c3d8c0;background:#f4f8f1}.movement-panel{margin-bottom:14px;padding:21px}.segmented{display:inline-flex;gap:3px;margin:18px 0;padding:3px;border-radius:6px;background:#f0f3ed}.segmented button{min-height:32px;padding:0 13px;border:0;border-radius:4px;background:transparent;color:#78837b;cursor:pointer;font-size:10px;font-weight:600}.segmented button.segment-active{background:#fff;box-shadow:0 1px 3px #273b2b14;color:var(--green)}.movement-form{grid-template-columns:minmax(190px,1.3fr) minmax(100px,.55fr) minmax(160px,.8fr) auto}.sale-estimate{display:grid;min-height:38px;grid-template-columns:1fr auto;align-items:center;padding:3px 10px;border-radius:5px;background:#f4f7f1}.sale-estimate span{color:#68746c;font-size:9px}.sale-estimate strong{color:var(--green);font:700 11px Manrope,sans-serif}.sale-estimate small{grid-column:1 / -1;color:#97a199;font-size:8px}.movement-submit{min-width:135px}.history-limit{color:#98a099;font-size:9px}.expense-cell{color:#b96749}.catalog-toolbar,.movement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.catalog-toolbar .segmented,.movement-toolbar .segmented{flex-wrap:wrap;margin:0}.catalog-toolbar .segmented button,.movement-toolbar .segmented button{padding:0 10px}.search-field{display:flex;min-width:190px;height:36px;align-items:center;gap:7px;padding:0 9px;border:1px solid #e3e8e1;border-radius:5px;background:#fff;color:#87938a}.search-field span{font-size:18px;line-height:1}.search-field input{height:32px;padding:0;border:0;outline:0;font-size:10px}.search-field input:focus-visible{outline:0}.table-action{min-height:28px;padding:0 8px;border:1px solid #dce8dc;border-radius:5px;background:#fff;color:var(--green);cursor:pointer;font-size:9px;font-weight:700;white-space:nowrap}.table-action:hover{background:#f1f7ef}.danger-action{border-color:#f0ded7;color:#b25947}.danger-action:hover{background:#fff4ef}.compact-action{padding:4px 7px;border:0;border-radius:4px;background:#edf5eb;color:var(--green);cursor:pointer;font-size:8px;font-weight:700}.compact-action:hover{background:#dfeedd}.archived-pill{background:#f0f1ee;color:#757e77}.cancelled-tag{background:#f1efed;color:#777b75}.cancelled-note{display:block;margin-top:4px;color:#929a94;font-size:8px;font-weight:400}.cancelled-amount{color:#929a94;text-decoration:line-through}.muted-status{color:#929a94;font-size:9px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#18251dcc;animation:enter .16s both}.action-modal{width:min(440px,100%);padding:22px;border:1px solid #e6ebe4;border-radius:9px;background:#fff;box-shadow:0 20px 70px #16231c33}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-heading .eyebrow{margin-bottom:6px}.modal-heading h2{font-size:17px}.modal-close{width:30px;height:30px;font-size:20px}.modal-description{margin:14px 0 18px;color:#6f7a72;font-size:11px;line-height:1.55}.modal-fields{display:grid;gap:13px}.reason-field span{color:#99a19b;font-weight:400}.modal-error{margin:13px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.button-light{border:1px solid #e2e8e0;background:#fff;color:#627067}.button-light:hover{background:#f7f8f5}.button-danger{background:#b85b48}.button-danger:hover:not(:disabled){background:#a34c3b}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.main-content{padding-right:64px;padding-left:64px}}@media(max-width:1100px){.main-content{padding:0 27px}.metrics-grid,.movement-form{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-submit{min-height:38px}}@media(max-width:760px){.sidebar{inset:auto 0 0;width:100%;height:64px;flex-direction:row;align-items:center;justify-content:center;padding:5px 7px;border-top:1px solid var(--line);border-right:0}.sidebar>.brand,.nav-caption,.sidebar-note,.profile{display:none}.sidebar nav{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:3px}.nav-link{min-height:51px;flex-direction:column;justify-content:center;gap:2px;padding:3px;font-size:9px}.nav-icon{font-size:16px}.main-content{margin-left:0;padding:0 18px 78px}.topbar{min-height:58px}.mobile-brand{display:flex;align-items:center;gap:7px;font:800 12px Manrope,sans-serif}.mobile-brand .brand-mark{width:29px;height:29px;border-radius:9px 9px 9px 3px;font-size:13px}.breadcrumb{display:none}.topbar-date{font-size:9px}.topbar-date .status-dot{display:none}.page-heading{min-height:150px;align-items:flex-start;flex-direction:column;justify-content:center;gap:15px;padding:21px 0}h1{font-size:25px}.heading-copy{max-width:360px;font-size:11px}.page-heading>.button{min-height:36px}.metrics-grid{gap:9px}.metric-card{padding:13px}.metric-card>strong{margin-top:12px;font-size:18px}.metric-card>small{font-size:8px}.metric-top{font-size:9px}.metric-icon{width:22px;height:22px;font-size:11px}.dashboard-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}.chart-panel,.stock-panel,.recent-panel,.products-panel,.movement-panel{padding:16px 13px}.chart{height:155px;gap:5px}.recent-panel{margin-top:10px}.text-button{font-size:8px}.product-form{grid-template-columns:1fr 1fr}.product-form label:first-child,.product-form .button{grid-column:1 / -1}.catalog-toolbar,.movement-toolbar{align-items:stretch;flex-direction:column}.catalog-toolbar .segmented,.movement-toolbar .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar .segmented button,.movement-toolbar .segmented button{padding:0 6px}.search-field{min-width:0}.movement-form{grid-template-columns:1fr 1fr;gap:11px}.movement-form label:first-child,.movement-submit{grid-column:1 / -1}.history-limit{max-width:125px;text-align:right}.page-footer{padding-bottom:4px;font-size:8px}}@media(max-width:390px){.main-content{padding-right:12px;padding-left:12px}.topbar-date{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-card{padding:11px 10px}.metric-card>strong{font-size:16px}.panel-heading h2{font-size:13px}.chart-value{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.extra-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0}.extra-toolbar label{min-width:150px}.extra-toolbar>span,.period-summary,.movement-feedback{font-size:12px;color:#627067}.period-summary{display:flex;flex-wrap:wrap;gap:16px;padding:14px;margin-bottom:14px;border-radius:8px;background:#f1f7ef}.period-summary small{flex-basis:100%}.movement-feedback{line-height:1.7;margin-top:14px}.row-actions{display:flex;flex-wrap:wrap;gap:5px}.pagination{justify-content:center;align-items:center}.action-modal{max-height:90dvh;overflow-y:auto}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.extra-toolbar label{flex:1}.table-action{min-height:36px;font-size:11px}}@media(max-width:760px){html{scroll-padding-bottom:100px}.main-content{min-width:0;padding:0 14px calc(94px + env(safe-area-inset-bottom,0px))}.sidebar{height:calc(70px + env(safe-area-inset-bottom,0px));padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 18px #222b270a}.nav-link{min-height:58px;font-size:12px;gap:4px}.nav-icon{font-size:20px}.topbar{gap:12px;flex-wrap:wrap;padding:12px 0}.mobile-brand{font-size:14px}.topbar-date{max-width:none;font-size:11px;white-space:normal}.page-heading{min-height:auto;padding:24px 0;gap:16px}.page-heading>.button{width:100%;min-height:46px}h1{font-size:27px}h2,.panel-heading h2,.form-intro h2{font-size:17px}.eyebrow{font-size:11px}.heading-copy,.form-intro p{font-size:14px;line-height:1.6}.panel-heading{flex-wrap:wrap;gap:8px}.panel,.metric-card{border-radius:12px}.form-panel,.chart-panel,.stock-panel,.recent-panel,.products-panel,.movement-panel{padding:16px}.metrics-grid{gap:10px}.metric-card{padding:14px 12px}.metric-top{align-items:flex-start;gap:6px;font-size:12px;line-height:1.4}.metric-icon{flex-shrink:0}.metric-card>strong{font-size:20px;white-space:normal;overflow-wrap:anywhere}.metric-card>small{font-size:11px;line-height:1.5;white-space:normal}.button,.table-action,.compact-action,.text-button{min-height:44px;font-size:13px;padding:10px 12px;touch-action:manipulation}.button:hover:not(:disabled){transform:none}.icon-button{min-width:44px;min-height:44px}label{min-width:0;font-size:13px}input,select,.search-field input{height:48px;font-size:16px}input,select{scroll-margin-block:90px}.product-form,.movement-form{grid-template-columns:minmax(0,1fr);gap:16px}.product-form .button{height:auto;min-height:46px}.product-form>*,.movement-form>*{grid-column:1 / -1}.sale-estimate{min-height:64px;padding:10px 12px;gap:6px}.sale-estimate span,.sale-estimate small{font-size:12px}.sale-estimate strong{font-size:17px}.segmented{display:flex;width:100%}.segmented button{flex:1;min-height:44px;font-size:13px;white-space:normal}.catalog-toolbar .segmented{grid-template-columns:repeat(3,minmax(0,1fr))}.search-field{height:50px}.search-field:focus-within{outline:3px solid #9dc86a;outline-offset:2px}.extra-toolbar{gap:12px}.extra-toolbar label{min-width:0;flex:1 1 130px}.extra-toolbar>.button{flex:1 1 100%}.extra-toolbar>strong{width:100%;font-size:18px}.pagination>.button{flex:1 1 auto}.period-summary{gap:12px;font-size:14px;line-height:1.5}.period-summary>span{flex:1 1 100%}.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:8px}th{font-size:12px;padding:12px;color:#627067}td,.products-table td strong{font-size:14px}td{padding:12px}td:first-child,td:nth-child(2){max-width:230px;white-space:normal;overflow-wrap:anywhere}.row-actions{min-width:170px;gap:8px}.stock-pill,.movement-tag,.muted-status,.cancelled-note{font-size:12px}.stock-row{min-height:70px;gap:8px}.stock-name{font-size:14px;white-space:normal;overflow-wrap:anywhere}.stock-name small,.stock-count{font-size:12px}.stock-count{flex-shrink:0}.stock-row .product-initial{display:none}.chart{height:200px;gap:4px}.chart-day,.chart-legend{font-size:11px}.chart-value{font-size:9px}.history-limit{max-width:none;font-size:11px;text-align:left}.notice,.empty-table,.empty-inline p,.movement-feedback{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.empty-inline small{font-size:12px}.modal-backdrop{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}.action-modal{width:100%;max-height:85dvh;padding:18px;border-radius:16px;overscroll-behavior:contain}.modal-description{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.modal-actions{display:grid;grid-template-columns:1fr;gap:10px}.modal-actions .button{min-height:48px}.page-footer{flex-wrap:wrap;gap:8px;font-size:11px}}.photo-field{grid-column:1 / -1;display:grid;gap:10px;min-width:0}.photo-upload{position:relative;display:flex;align-items:center;gap:16px;padding:16px;border:1px dashed #b9cdb2;border-radius:14px;background:#f7faf4;cursor:pointer;min-width:0}.photo-upload:hover{border-color:var(--green);background:#f1f7eb}.photo-upload:focus-within{outline:3px solid #9dc86a;outline-offset:3px}.photo-upload.upload-disabled{opacity:.6;cursor:wait}.photo-field .photo-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:inherit;padding:0}.upload-icon{display:grid;place-items:center;width:76px;height:76px;flex-shrink:0;border-radius:12px;background:#e8f1df;color:var(--green);font-size:32px}.upload-copy{display:grid;gap:6px;min-width:0;line-height:1.5}.upload-copy strong{font-size:15px;color:var(--green)}.upload-copy>span{font-size:12px;font-weight:400;color:#627067}.photo-remove{justify-self:start;min-height:44px}.photo-field small{color:#627067;font-size:12px}.photo-preview{width:76px;height:76px;flex-shrink:0;object-fit:contain;background:#fff;border:1px solid #e2e8e0;border-radius:12px}.product-photo{width:42px;height:42px;object-fit:cover;border-radius:8px;vertical-align:middle;margin-right:10px}.photo-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:18px 0;max-height:360px;overflow-y:auto;padding:3px}.photo-product{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid #e2e8e0;border-radius:10px;background:#fff;color:#34483b;cursor:pointer;text-align:left}.photo-product img,.photo-placeholder{width:100%;height:100px;object-fit:cover;border-radius:7px}.photo-placeholder{display:grid;place-items:center;background:#f1f7ef;color:var(--green);font-size:28px}.photo-product strong{font-size:13px;overflow-wrap:anywhere}.photo-product small{color:#627067;font-size:12px}.photo-product.photo-selected{border-color:var(--green);background:#f1f7ef;box-shadow:0 0 0 1px var(--green)}.photo-product:focus-visible{outline:3px solid #9dc86a;outline-offset:2px}.photo-product{position:relative;min-width:0}.photo-product.photo-selected:after{content:"✓";position:absolute;top:14px;right:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-weight:700}@media(max-width:760px){.photo-upload{padding:14px;gap:12px;border-radius:16px}.upload-copy strong{font-size:16px}.upload-copy>span,.photo-field small{font-size:12px}.photo-remove{min-height:46px}.photo-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;gap:12px}.photo-product{padding:10px;gap:9px;border-radius:14px;touch-action:manipulation}.photo-product img,.photo-placeholder{height:auto;aspect-ratio:1;object-fit:contain;background:#f7faf4;border-radius:10px}.photo-product strong{font-size:15px;line-height:1.4}.photo-product small{font-size:13px;line-height:1.5}.product-photo{width:54px;height:54px;margin-bottom:6px}}@media(max-width:360px){.photo-upload{flex-direction:column;align-items:flex-start}.photo-picker{gap:8px}}
