:root{--ink:#1a1d22;--muted:#6f767f;--line:#e7e5e1;--bg:#f6f5f2;--brand:#2b4530;--brand-dark:#1c2f20;--danger:#b3311f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px -apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:6px;padding:10px 16px;font-weight:700}button:disabled{opacity:.6}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(100%,380px);padding:32px;box-shadow:0 8px 30px #1a1d2215}.login-card h1{text-align:center;color:var(--brand);margin:0}.login-card p,.login-card small{color:var(--muted);text-align:center;line-height:1.7;display:block}.login-card label{color:var(--muted);margin:18px 0 0;font-size:12px;font-weight:700;display:block}.login-card input,.form-grid input,.form-grid select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:10px}.login-card button{width:100%;margin-top:22px}.error{color:var(--danger);background:#fbeae7;border-radius:6px;margin-top:16px;padding:10px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--brand-dark);color:#dfe6e0;flex-direction:column;width:236px;padding:24px 14px;display:flex}.brand{color:#fff;padding:0 10px 24px;font-size:17px;font-weight:800}.brand small{color:#adbaaf;margin-top:3px;font-size:11px;font-weight:400;display:block}.nav{gap:3px;display:grid}.nav a{color:#c7d2c9;border-radius:6px;padding:10px 12px;font-size:13px;text-decoration:none}.nav a:hover,.nav a.active{color:#fff;background:#ffffff16}.logout{color:#c7d2c9;text-align:left;background:0 0;margin-top:auto;padding:10px 12px}.content{flex:1;min-width:0;padding:34px}.content h1{margin:0 0 6px;font-size:23px}.desc{color:var(--muted);margin:0 0 24px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;padding:22px;overflow:auto}.card h2{margin:0 0 16px;font-size:14px}.form-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px 18px;display:grid}.form-grid label{color:var(--muted);font-size:12px;font-weight:700}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px}th{color:var(--muted);font-size:11px}.badge{color:#59616b;background:#eef0f2;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.badge.active,.badge.received{color:#2b6b3a;background:#e7f2e6}.badge.invited,.badge.ordered,.badge.received_status{color:#2e4f9e;background:#e8eefb}.badge.partial{color:#a3611f;background:#faf1e4}.empty{color:var(--muted);text-align:center;padding:20px}.setting-value{white-space:pre-wrap;color:#46504a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}@media (max-width:760px){.sidebar{width:64px;padding:16px 6px}.brand{padding:0 4px 16px;font-size:0}.brand small{display:none}.nav a{padding:14px;font-size:0}.content{padding:20px}.form-grid{grid-template-columns:1fr}}.drawer-backdrop{z-index:20;opacity:0;visibility:hidden;background:#17201955;transition:opacity .24s,visibility 0s linear .24s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;visibility:visible;transition:opacity .24s}.drawer{z-index:21;pointer-events:none;background:#fff;width:min(880px,100vw);height:100vh;padding:32px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:fixed;top:0;right:0;overflow:auto;transform:translate(100%);box-shadow:-12px 0 30px #0002}.drawer.open{pointer-events:auto;transform:translate(0)}.drawer .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.drawer .span-2{grid-column:span 2}.drawer .span-all{grid-column:1/-1}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drawer-header h2{margin:0;font-size:20px}.drawer-close{color:var(--ink);background:#f0efec;padding:8px 12px}.primary-action{margin-left:auto}@media (max-width:760px){.drawer .form-grid{grid-template-columns:1fr}.drawer .span-2,.drawer .span-all{grid-column:auto}}.drawer label>textarea{border:1px solid var(--line);width:100%;min-height:92px;font:inherit;resize:vertical;border-radius:6px;margin-top:6px;padding:10px 11px;display:block}.drawer label>textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #edf1ea}.order-line{border-top:1px solid var(--line);padding:14px 0}.order-line:first-of-type{border-top:0}.buyer-combobox{position:relative}.buyer-options{z-index:3;border:1px solid var(--line);background:#fff;border-radius:6px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 20px #1a1d2222}.buyer-options button{width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:0;padding:10px 12px;font-weight:400;display:block}.buyer-options button:hover{background:#edf1ea}.buyer-options p{color:var(--muted);margin:0;padding:12px;font-weight:400}.shipment-accordion{border-bottom:1px solid var(--line);padding:14px 0}.shipment-accordion:last-child{border-bottom:0}.shipment-accordion summary{cursor:pointer;padding:2px 0;list-style:none}.shipment-accordion summary::-webkit-details-marker{display:none}.shipment-accordion summary:before{content:"▾";color:var(--muted);margin-right:8px;transition:transform .15s;display:inline-block}.shipment-accordion:not([open]) summary:before{transform:rotate(-90deg)}.shipment-accordion .desc{margin:14px 0 10px}.shipment-accordion .form-actions{margin:14px 0 0}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.dashboard-grid.lower{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.dashboard-stat{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:18px;text-decoration:none;display:block}.dashboard-stat span,.dashboard-stat small{color:var(--muted);display:block}.dashboard-stat strong{margin:10px 0;font-size:27px;display:block}.dashboard-stat.alert{border-color:#b7cbb9}.dashboard-stat.danger{background:#fff9f8;border-color:#e7b0a7}.dashboard-money{margin:10px 0;font-size:27px;font-weight:800}.positive{color:#2b6b3a}.negative{color:var(--danger)}@media (max-width:900px){.dashboard-grid,.dashboard-grid.lower{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}}.portal-content{max-width:1180px;margin:0 auto}.portal-actions{align-items:center;gap:10px;display:flex}.portal-primary,.portal-secondary{border-radius:6px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-block}.portal-primary{background:var(--brand);color:#fff}.portal-secondary{color:var(--ink);background:#f0efec}.portal-order-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.portal-order-heading label,.portal-search{color:var(--muted);font-size:12px;font-weight:700;display:block}.portal-order-heading input,.portal-search input,.quantity-input{border:1px solid var(--line);background:#fff;border-radius:6px;margin-top:6px;padding:9px;display:block}.portal-search{max-width:420px;margin:0 0 16px}.portal-search input{width:100%}.quantity-input{width:88px;margin:0}.portal-content .form-actions{margin-top:0}@media (max-width:560px){.portal-order-heading,.portal-actions{flex-direction:column;align-items:stretch}.portal-actions button,.portal-primary,.portal-secondary{text-align:center}.portal-order-heading input{width:100%}}.language-selector{color:inherit;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.language-selector select{color:inherit;background:#ffffff16;border:1px solid #fff4;border-radius:5px;padding:6px}.language-selector select option{color:var(--ink);background:#fff}.portal-actions .language-selector{color:var(--muted)}.portal-actions .language-selector select{border-color:var(--line);color:var(--ink);background:#fff}.sidebar .language-selector{margin:16px 10px 0}.login-language{justify-content:flex-end;display:flex}.login-language .language-selector{color:var(--muted)}.login-language .language-selector select{border-color:var(--line);color:var(--ink);background:#fff}
