:root{--color-background:#f2f7f1;--color-surface:#fff;--color-border:#dbe6d8;--color-border-subtle:#e9f0e6;--color-text:#1d2a20;--color-text-muted:#52665a;--color-text-faint:#6f8276;--color-primary:#2f7d4f;--color-primary-hover:#256641;--color-primary-tint:#e1f1e6;--color-on-primary:#fff;--color-hover:#f4f9f4;--color-selected:#eaf5ec;--color-computed-tint:#fdf4e1;--color-computed-text:#8a5a12;--color-critical:#c2410c;--color-critical-tint:#fdebe2;--color-warning:#a16207;--color-warning-tint:#fdf3d8;--color-success:#2f7d4f;--color-success-tint:#e1f1e6;--color-neutral-tint:#e9f0e6;--color-scrim:#1428191f;--color-category-et-bg:#fde2e2;--color-category-et-fg:#9f1d1d;--color-category-sut-bg:#fff3c4;--color-category-sut-fg:#854d0e;--color-category-kuru-gida-bg:#efe4d3;--color-category-kuru-gida-fg:#6b4a1e;--color-category-sebze-bg:#dcf3e2;--color-category-sebze-fg:#166534;--color-category-yag-bg:#ffe9cf;--color-category-yag-fg:#9a3412;--color-category-diger-bg:#e9f0e6;--color-category-diger-fg:#52665a;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display-size:28px;--font-h1-size:24px;--font-h2-size:17px;--font-body-size:15px;--font-body-sm-size:14px;--font-caption-size:12px;--font-label-size:11px;--font-input-size:20px;--radius-card:16px;--radius-control:12px;--radius-pill:999px;--radius-sm:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--row-height:48px;--touch-min:44px;--shadow-card:0 1px 3px #1428190f;--shadow-sheet:0 8px 24px #1428191f}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-body-size);line-height:1.5}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:var(--font-input-size);padding:var(--space-2) var(--space-3)}textarea{resize:vertical;min-height:96px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{min-height:var(--touch-min);cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,p{margin-top:0}h1{margin-bottom:var(--space-4);font-size:var(--font-h1-size);letter-spacing:-.5px;font-weight:700;line-height:1.25}h2{margin-bottom:var(--space-2);font-size:var(--font-h2-size);font-weight:700;line-height:1.3}label,.field-label{margin:var(--space-4) 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-body-sm-size);font-weight:600;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted)}.eyebrow{color:var(--color-text-faint);font-size:var(--font-label-size);letter-spacing:.4px;text-transform:uppercase;font-weight:600;line-height:1.2}.button-primary,.button-secondary,.button-danger{min-height:var(--touch-min);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);padding:11px 18px;font-weight:600;display:inline-flex}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-secondary{background:var(--color-neutral-tint);color:var(--color-text)}.button-danger{background:var(--color-critical-tint);color:var(--color-critical)}.spinner{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-pill);border:2px solid;border-right-color:#0000;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.inline-error{margin:var(--space-2) 0;color:var(--color-critical);font-size:var(--font-body-sm-size)}.inline-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-primary-tint);color:var(--color-success)}.auth-page,.center-state{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.auth-card{border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--shadow-card);padding:var(--space-6)}.auth-card .button-primary,.auth-card .button-secondary{width:100%;margin-top:var(--space-5)}.brand-mark{width:44px;height:44px;margin-bottom:var(--space-4);border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-h1-size);place-items:center;font-weight:700;display:inline-grid}.choice-list{gap:var(--space-3);display:grid}.choice-button{border-radius:var(--radius-control);background:var(--color-hover);color:var(--color-text);padding:var(--space-3) var(--space-4);text-align:left;justify-content:space-between;display:flex}.choice-button span{color:var(--color-text-muted)}.app-shell{min-height:100vh}.app-column{min-width:0}.app-bar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);height:56px;padding:0 var(--space-4);display:flex;position:sticky;top:0}.app-bar>div:first-child{min-width:0}.app-bar strong,.app-bar-business{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-bar strong{font-size:var(--font-body-sm-size)}.app-bar-business{color:var(--color-text-faint);font-size:var(--font-caption-size)}.app-bar-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.sync-badges{align-items:center;gap:var(--space-1);display:flex}.sync-badge,.sync-update{min-height:var(--touch-min);border-radius:var(--radius-pill);font-size:var(--font-caption-size);white-space:nowrap;justify-content:center;align-items:center;padding:4px 11px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.badge,.category-badge,.unit-badge{border-radius:var(--radius-pill);min-height:0;font-size:var(--font-caption-size);white-space:nowrap;padding:4px 11px;font-weight:600;line-height:1.4}.sync-offline{background:var(--color-neutral-tint);color:var(--color-text-muted)}.sync-pending{background:var(--color-warning-tint);color:var(--color-warning)}.sync-syncing{background:var(--color-primary-tint);color:var(--color-primary)}.sync-synced{background:var(--color-success-tint);color:var(--color-success)}.sync-error{background:var(--color-critical-tint);color:var(--color-critical)}.sync-update{background:var(--color-primary-tint);color:var(--color-primary)}.pulse{width:var(--space-2);height:var(--space-2);margin-right:var(--space-1);border-radius:var(--radius-pill);background:var(--color-primary);animation:1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.35}}.app-content{min-width:0;padding:var(--space-4) var(--space-4) calc(88px + env(safe-area-inset-bottom))}.screen-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.screen-heading h1{margin-bottom:0}.bottom-nav{z-index:30;border-top:1px solid var(--color-border-subtle);background:var(--color-surface);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{background:var(--color-surface);min-height:60px;color:var(--color-text-muted);font-size:var(--font-caption-size);place-items:center;gap:0;display:grid;position:relative}.bottom-nav button span{font-size:var(--font-h2-size)}.bottom-nav button.active{color:var(--color-primary)}.bottom-nav button.active:before{width:var(--space-8);background:var(--color-primary);content:"";height:2px;position:absolute;top:0}.side-nav{display:none}.search-input{margin-bottom:var(--space-3)}.filter-strip{gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-1);display:flex;overflow-x:auto}.filter-chip{min-width:max-content;min-height:var(--touch-min);align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text-muted);font-size:var(--font-body-sm-size);margin:0;padding:10px 14px;font-weight:400;display:flex}.filter-chip select{width:auto;min-height:0;font-size:var(--font-input-size);background:0 0;border:0;padding:0;font-weight:700}.stock-list,.outbox-list{border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.stock-row{width:100%;min-height:var(--row-height);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-3);text-align:left;grid-template-columns:minmax(0,1fr) auto;display:grid}.stock-row.selected{border-left:3px solid var(--color-primary);background:var(--color-selected)}.stock-identity,.stock-balance{align-items:center;gap:var(--space-2);min-width:0;display:flex}.stock-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stock-balance{font-variant-numeric:tabular-nums;text-align:right;justify-content:flex-end}.badge-critical{background:var(--color-critical-tint);color:var(--color-critical)}.badge-decreasing,.badge-warning{background:var(--color-warning-tint);color:var(--color-warning)}.badge-sufficient{background:var(--color-success-tint);color:var(--color-success)}.category-et{background:var(--color-category-et-bg);color:var(--color-category-et-fg)}.category-sut{background:var(--color-category-sut-bg);color:var(--color-category-sut-fg)}.category-kuru-gida{background:var(--color-category-kuru-gida-bg);color:var(--color-category-kuru-gida-fg)}.category-sebze{background:var(--color-category-sebze-bg);color:var(--color-category-sebze-fg)}.category-yag{background:var(--color-category-yag-bg);color:var(--color-category-yag-fg)}.category-diger{background:var(--color-category-diger-bg);color:var(--color-category-diger-fg)}.category-badge{text-overflow:ellipsis;max-width:12ch;overflow:hidden}.stock-table-wrapper{display:none}.stock-table th,.stock-table td{height:var(--row-height)}.stock-table th:nth-child(3){text-align:right}.empty-state{border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);padding:var(--space-8) var(--space-5);text-align:center}.empty-state p{color:var(--color-text-faint);font-size:var(--font-caption-size);margin:0}.empty-state.compact{box-shadow:none;padding:var(--space-4)}.loading-state{background:var(--color-neutral-tint)}.sheet-backdrop{z-index:50;background:var(--color-scrim);align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-surface);width:100%;max-height:80vh;box-shadow:var(--shadow-sheet);padding:var(--space-3) var(--space-4) var(--space-6);overflow-y:auto}.sheet-handle{width:var(--space-8);height:var(--space-1);margin:0 auto var(--space-4);border-radius:var(--radius-pill);background:var(--color-border)}.sheet-heading{justify-content:space-between;align-items:center;display:flex}.icon-button{width:var(--touch-min);border-radius:var(--radius-pill);background:var(--color-neutral-tint);color:var(--color-text);font-size:var(--font-h1-size)}.movement-history{margin:0 0 var(--space-4);padding:0;list-style:none}.movement-history li{min-height:var(--row-height);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:1fr auto;align-items:center;display:grid}.movement-history time{color:var(--color-text-faint);font-size:var(--font-caption-size);grid-column:1/-1}.screen-card,.settings-card{border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);padding:var(--space-4)}.item-picker{gap:var(--space-1);margin-top:var(--space-2);display:grid}.item-option,.selected-item,.direction-row button{border-radius:var(--radius-control);background:var(--color-hover);color:var(--color-text)}.item-option{padding:var(--space-2) var(--space-3);text-align:left;justify-content:space-between;display:flex}.item-option.selected{border-left:3px solid var(--color-primary);background:var(--color-selected)}.selected-item{align-items:center;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);display:flex}.unit-badge{background:var(--color-neutral-tint);color:var(--color-text-muted)}.segment,.direction-row,.tabs{gap:var(--space-1);border-radius:var(--radius-control);background:var(--color-neutral-tint);padding:var(--space-1);display:flex;overflow-x:auto}.segment{scrollbar-width:none}.segment::-webkit-scrollbar{display:none}.segment button,.direction-row button,.tabs button{border-radius:var(--radius-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:0 0;flex:1 0 auto}.segment button.active,.direction-row button[aria-pressed=true],.tabs button[aria-selected=true]{background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-primary);font-weight:600}.movement-form .button-primary{width:100%;margin-top:var(--space-5)}.pending-screen .screen-heading .button-primary{flex:none}.outbox-row{gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.outbox-row>div:first-child span,.attempts{color:var(--color-text-faint);font-size:var(--font-caption-size);display:block}.outbox-value{font-variant-numeric:tabular-nums;justify-items:end;display:grid}.outbox-badge-pending:before{content:"⏱ "}.outbox-badge-rejected:before{content:"● "}.outbox-badge-sent:before{content:"✓ "}.outbox-badge-review:before{content:"▲ "}.attempts,.rejection-detail{grid-column:1/-1;margin:0}.attempts strong,.rejection-detail{color:var(--color-critical)}.rejection-detail{border-radius:var(--radius-sm);background:var(--color-critical-tint);padding:var(--space-3)}.rejection-detail p{margin-bottom:var(--space-2);font-size:var(--font-body-sm-size)}.rejection-confirm{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.rejection-confirm p{flex-basis:100%}.settings-card dl{margin:0}.settings-card dl div{gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) 0;grid-template-columns:1fr minmax(0,2fr);display:grid}.settings-card dt{color:var(--color-text-faint);font-size:var(--font-caption-size)}.settings-card dd{overflow-wrap:anywhere;text-align:right;margin:0}.settings-card .button-secondary{width:100%;margin-top:var(--space-6)}@media (hover:hover){.button-primary:hover{background:var(--color-primary-hover)}.stock-row:hover,.item-option:hover{background:var(--color-hover)}}@media (width>=768px){.app-content{padding-right:var(--space-6);padding-left:var(--space-6)}.screen-card,.settings-card{padding:var(--space-6)}.bottom-sheet{width:min(100%,640px);margin:0 auto}}@media (width>=1024px){.app-shell{grid-template-columns:236px minmax(0,1fr);display:grid}.side-nav{gap:var(--space-2);background:var(--color-surface);height:100vh;padding:var(--space-6) var(--space-4);flex-direction:column;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-size:var(--font-h2-size);display:flex}.side-brand .brand-mark{margin:0}.side-nav button{align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);padding:var(--space-2) var(--space-4);text-align:left;display:flex}.side-nav button.active{background:var(--color-primary);color:var(--color-on-primary)}.bottom-nav{display:none}.app-content{padding:var(--space-6)}.stock-row{font-size:var(--font-body-sm-size);white-space:nowrap}.stock-list-mobile{display:none}.stock-table-wrapper{border-radius:var(--radius-card);background:var(--color-surface);display:block;overflow-x:auto}.stock-table{border-collapse:collapse;width:100%;color:var(--color-text);font-size:var(--font-body-sm-size);white-space:nowrap}.stock-table th,.stock-table td{border-bottom:1px solid var(--color-border-subtle);padding:var(--space-2) var(--space-3);text-align:left}.stock-table th{color:var(--color-text-faint);font-size:var(--font-label-size);letter-spacing:.4px;text-transform:uppercase;font-weight:600;line-height:1.2}.stock-table tr.selected{background:var(--color-selected)}.stock-table tr.selected td:first-child{border-left:3px solid var(--color-primary)}.stock-table-action{width:100%;color:var(--color-text);text-align:left;background:0 0;font-weight:600}.numeric-cell{font-variant-numeric:tabular-nums;text-align:right!important}}@media (prefers-reduced-motion:reduce){.spinner,.pulse{animation:none}}
