:root{--ink:#20352e;--muted:#75827b;--green:#2d6650;--bg:#f5f6f2;--border:#e3e8df;--amber:#9b6520}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}.hidden{display:none!important}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--green);border-radius:8px;padding:10px 15px;background:var(--green);color:white;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}.secondary{background:white;color:var(--ink);border-color:var(--border)}input,select{border:1px solid #d3dbd2;border-radius:7px;padding:10px 12px;background:white;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #a8c6b4;outline-offset:2px}aside{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;border-right:1px solid var(--border);padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:750;text-decoration:none;color:var(--ink)}.brand>span{line-height:1.25}.brand::first-letter{color:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted);margin-top:5px}.nav-label{font-size:10px;letter-spacing:2px;color:var(--muted);margin:45px 12px 14px}.nav{display:flex;gap:14px;align-items:center;border:0;background:transparent;color:#68756e;padding:13px;margin:3px 0;text-align:left}.nav.active{background:#eaf1e9;color:var(--green)}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted)}.read-only{color:var(--green);font-size:11px}.link-button{background:none;border:0;color:var(--green);padding:4px 0}.sidebar-bottom p{line-height:1.8}main{margin-left:235px;padding:38px 38px 20px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700;margin:0 0 10px}h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px;font-weight:650}header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:10px;white-space:nowrap}.sources{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.source{background:white;border:1px solid var(--border);border-radius:10px;padding:16px 18px;position:relative}.source strong{font-size:15px}.source small{display:block;color:var(--muted);margin-top:6px}.source .dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#6d9971;margin-right:7px}.source.stale .dot{background:#ce9a43}.source .count{float:right;font-size:11px;color:var(--muted)}.refresh-line{display:flex;justify-content:space-between;gap:20px;margin:14px 0 23px;color:var(--muted);font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{border-left:2px solid #bdcdbf;padding:0 17px}.stat strong{font-size:30px;display:block;font-weight:600;line-height:1.3}.stat span{font-size:12px;color:var(--muted)}.stat.warn{border-color:#dbb96d}.inventory-panel{border:1px solid var(--border);border-radius:12px;background:white;overflow:hidden}.panel-heading{padding:22px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}h2{font-size:16px;margin:0;font-weight:650}.panel-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.filters{display:flex;align-items:center;gap:10px}#search{width:290px;font-size:12px}.check{display:flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap}.check input{accent-color:var(--green)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:850px}th{font-size:10px;letter-spacing:1px;color:var(--muted);background:#f8faf6;padding:12px 15px;border-block:1px solid var(--border);font-weight:600}th span{display:block;font-size:8px;color:var(--green);letter-spacing:1px}td{padding:16px 15px;border-bottom:1px solid #edf0e9;vertical-align:top}td:first-child{width:30px}td.product{width:38%;min-width:260px}.product button{background:none;border:0;text-align:left;padding:0;color:var(--ink);font-size:12px;font-weight:600}.product small{display:block;font-size:10px;color:var(--muted);font-family:ui-monospace,monospace;margin-top:5px;word-break:break-all}.qty{display:inline-block;min-width:30px;font-size:15px;font-weight:600}.qty.different{background:#fff2d7;color:var(--amber);padding:1px 7px;border-radius:5px}.channel small{display:block;font-size:9px;color:var(--muted);max-width:135px;word-break:break-all;margin-top:4px}.badge{font-size:10px;border-radius:5px;padding:3px 7px;background:#edf2ea;color:var(--green);display:inline-block;margin-bottom:4px}.badge.amber{background:#fff2d7;color:var(--amber)}.badge.gray{background:#f0f2ef;color:#79857c}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;color:var(--muted);font-size:12px}.table-footer button{font-size:11px;padding:6px 10px}.empty{text-align:center;padding:50px;color:var(--muted)}.activity{margin-top:27px}.activity h2{margin-bottom:10px}.event{font-size:12px;padding:8px 0;color:var(--muted);border-bottom:1px solid var(--border)}.event.error{color:#a64c3e}footer{margin-top:30px;font-size:10px;color:var(--muted)}.notice{padding:12px 16px;background:#e9f2e5;border:1px solid #b5cfaf;border-radius:8px;margin-bottom:20px}.notice.error{background:#fff0e9;border-color:#e9c3af;color:#994b2e}.selection-bar{padding:12px 24px;background:#eaf1e9;display:flex;gap:12px;align-items:center;font-size:12px}.selection-bar span{margin-right:auto}dialog{border:1px solid var(--border);border-radius:14px;max-width:750px;width:90%;padding:28px;max-height:85vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#152c2580}dialog p{color:var(--muted);font-size:12px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.close{background:none;border:0;color:var(--muted);font-size:24px;padding:0 8px}dialog label:not(.check){display:block;margin:15px 0 6px;font-size:12px;font-weight:600}dialog input:not([type=checkbox]),dialog select{width:100%}dialog button[type=submit]{margin-top:20px;width:100%}.detail-listing{background:#f6f8f3;border:1px solid var(--border);padding:14px;border-radius:8px;margin:10px 0;word-break:break-word}.detail-listing p{margin:4px 0}.detail-listing a{color:var(--green)}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.detail-actions button{font-size:12px}.suggestion{display:block;margin-top:8px;width:100%;text-align:left}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:white;border:1px solid var(--border);border-radius:18px;padding:45px;max-width:480px}.brand-icon{width:48px;height:48px;background:var(--green);color:white;border-radius:12px;display:grid;place-items:center;font-size:27px;margin-bottom:30px}.login-card p{color:var(--muted)}.login-card label{display:block;margin:24px 0 7px}.login-card input,.login-card button{width:100%}.login-card button{margin-top:15px}#login-error,#import-error,#mapping-error{color:#ae493b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1200px){main{padding:26px 22px}aside{width:200px}main{margin-left:200px}.panel-heading{align-items:flex-start;flex-direction:column}.filters{width:100%}#search{flex:1;width:auto}header{align-items:flex-start}h1{font-size:25px}.header-actions{flex-direction:column}}@media(max-width:760px){aside{position:static;width:auto;padding:15px;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;overflow:auto;gap:7px;align-items:center}.brand{font-size:16px;flex-shrink:0}.brand small,.nav-label,.sidebar-bottom{display:none}.nav{font-size:11px;padding:8px;white-space:nowrap}.nav span{display:none}.nav.active span{display:inline}main{margin:0;padding:20px 12px}header{flex-direction:column}.header-actions{flex-direction:row}.sources{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);row-gap:17px}.filters{flex-wrap:wrap}#search{flex-basis:100%}.refresh-line{flex-direction:column;gap:6px}.panel-heading{padding:16px}.login-card{padding:28px}.selection-bar{flex-wrap:wrap}}
