:root{--ink:#2c443d;--sage:#b3bfa2;--cream:#ebd6c1;--bg:#f5f6f1;--white:#fff;--muted:#728079;--line:#dfe4da;--danger:#a44444;--warn:#9c7a38;--radius:18px;--shadow:0 10px 35px rgba(44,68,61,.08)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:#24322e}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:var(--ink);color:white;padding:22px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 22px}.brand img{width:55px;height:55px;object-fit:contain;background:#fff;border-radius:14px;padding:5px}.brand b{font-size:24px}.brand span{display:block;color:var(--sage);font-size:12px;letter-spacing:.16em}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.sidebar nav a{display:flex;gap:11px;align-items:center;padding:10px 12px;border-radius:12px;color:#dfe8e2;font-size:14px}.sidebar nav a i{font-style:normal;width:22px;text-align:center;color:var(--sage)}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(179,191,162,.16);color:white}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:12px;display:flex;flex-direction:column}.side-bottom a{padding:8px 12px;color:#d9e0dc;font-size:13px}.app{margin-left:245px;min-height:100vh}.topbar{height:72px;background:rgba(245,246,241,.92);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:8;border-bottom:1px solid var(--line)}.top-title{font-weight:700;display:flex;align-items:center;gap:10px}.dot{width:8px;height:8px;border-radius:50%;background:var(--sage)}.user-chip{text-align:right}.user-chip b{display:block;font-size:13px}.user-chip span{font-size:11px;color:var(--muted);text-transform:uppercase}.menu-btn{display:none;border:0;background:transparent;font-size:22px}.content{padding:28px;max-width:1500px;margin:0 auto}.hero{background:linear-gradient(120deg,var(--ink),#3b5b51);color:#fff;border-radius:26px;padding:34px 38px;display:flex;align-items:flex-end;justify-content:space-between;box-shadow:var(--shadow);margin-bottom:22px}.hero h1{font-size:34px;margin:4px 0 8px}.hero p{margin:0;color:#d9e4df}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--sage);text-transform:uppercase}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.metric span{font-size:12px;color:var(--muted);display:block}.metric strong{font-size:25px;display:block;margin:6px 0}.metric small{color:var(--muted)}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid .full{grid-column:1/-1}.gap{gap:20px}.panel,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.panel h2{font-size:17px;margin:0 0 16px}.panel p{color:#5f6e67}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head h2{margin:0}.panel-head a,.panel-head span{font-size:12px;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.page-head h1{font-size:29px;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;background:#e9ede6;color:var(--ink)}.btn.primary{background:var(--cream);color:var(--ink)}.btn.subtle{background:#eef1ec;border:1px solid var(--line)}.btn.tiny{padding:6px 9px;font-size:12px}.btn.wide{width:100%}.align-end{align-self:end}.form-space{margin-top:16px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5b54}input,select,textarea{width:100%;border:1px solid #d6ddd5;background:#fbfcf9;border-radius:10px;padding:10px 11px;color:#24322e;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(179,191,162,.18)}textarea{min-height:90px;resize:vertical}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #eef1ec;vertical-align:middle}td small{display:block;color:var(--muted);margin-top:3px}.click-row{cursor:pointer}.click-row:hover{background:#f7f9f5}.table-input{min-width:100px;padding:7px 8px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;background:#e8ece8;color:#506057;text-transform:uppercase}.badge-active,.badge-paid,.badge-completed,.badge-ok,.badge-approved{background:#dce8d8;color:#3d5f44}.badge-low,.badge-cancelled,.badge-rejected{background:#f4dddd;color:#873c3c}.badge-planned,.badge-draft,.badge-development{background:#eee8d8;color:#7d6835}.badge-cutting,.badge-stitching,.badge-assembly,.badge-finishing,.badge-qc,.badge-confirmed{background:#dfe8e4;color:#31564c}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;background:#edf0eb;border:1px solid var(--line)}.alert.success{background:#e4eee1}.alert.danger{background:#f6e2e2;color:#7d3535}.alert.warning{background:#f3ecd9;color:#715d2c}.empty{text-align:center;padding:28px;color:var(--muted)}.list{display:flex;flex-direction:column}.row-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf0eb}.row-item:last-child{border-bottom:0}.row-item b,.row-item span,.row-item small{display:block}.row-item span,.row-item small{color:var(--muted);font-size:12px;margin-top:3px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:.18s}.product-card:hover{transform:translateY(-2px)}.product-image{aspect-ratio:4/3;background:#eef0e8;display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:100%;object-fit:cover}.placeholder{font-size:54px;font-weight:900;color:var(--sage)}.product-body{padding:16px}.product-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.product-body h3{margin:7px 0 2px}.product-body p{font-size:12px;color:var(--muted);margin:0 0 13px}.product-stats{display:flex;gap:18px;font-size:11px;color:var(--muted)}.product-stats b{font-size:13px;color:var(--ink)}.cost-pill{background:var(--ink);color:#fff;border-radius:16px;padding:12px 15px}.cost-pill b{display:block;color:var(--cream);font-size:20px}.big-number{font-size:42px;font-weight:900;color:var(--ink)}.pos-layout{display:grid;grid-template-columns:1fr 390px;gap:20px}.search-box{margin-bottom:14px}.search-box input{font-size:16px;padding:14px}.pos-products{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pos-product{text-align:left;border:1px solid var(--line);border-radius:13px;background:#fafbf8;padding:13px;cursor:pointer}.pos-product:hover{border-color:var(--sage);background:#f5f8f2}.pos-product b,.pos-product span,.pos-product strong,.pos-product small{display:block}.pos-product span,.pos-product small{font-size:11px;color:var(--muted);margin-top:3px}.pos-product strong{margin-top:9px}.cart{position:sticky;top:92px;height:fit-content}.cart-lines{max-height:360px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.cart-line small{color:var(--muted)}.cart-controls{display:flex;align-items:center;gap:5px}.cart-controls button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:7px}.cart-meta{display:grid;gap:10px;margin:15px 0}.cart-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0}.cart-total strong{font-size:23px}.login,.setup{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#dfe4d3,transparent 35%),var(--bg);padding:25px}.login-card,.setup-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 25px 80px rgba(44,68,61,.12)}.setup-card{width:min(800px,100%)}.login-logo,.setup-logo{width:120px;height:90px;object-fit:contain;display:block;margin:0 auto 15px}.login-card h1,.setup-card h1{text-align:center;margin:4px 0}.login-card>p{text-align:center;color:var(--muted);margin:0 0 24px}.login-card form{display:grid;gap:14px}.login-card .eyebrow{text-align:center}.setup-card .eyebrow{text-align:center}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(2,1fr)}.pos-products{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app{margin-left:0}.menu-btn{display:block}.topbar{padding:0 16px}.content{padding:16px}.hero{padding:24px;align-items:flex-start;gap:20px;flex-direction:column}.hero h1{font-size:28px}.grid.two,.grid.three,.grid.four,.pos-layout{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.cart{position:static}.user-chip{display:none}}@media(max-width:520px){.metrics,.product-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:12px;flex-direction:column}}
.passport-image{height:220px;border-radius:14px;overflow:hidden;background:#eef0e8;margin-bottom:12px}.passport-image img{width:100%;height:100%;object-fit:cover}.inline-form{display:inline;margin:0}
.thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#eef0e8;border:1px solid var(--line)}.placeholder-mini{font-size:11px;font-weight:900;color:var(--ink)}.cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.danger-btn{background:#f6e2e2;color:#7d3535}.small-input{max-width:70px}.badge-material{background:#e0ebe5;color:#31564c}.badge-part{background:#ece6d8;color:#6c5830}.badge-diecut{background:#dde8ef;color:#315b70}.badge-design,.badge-instruction{background:#eee8d8;color:#6b5c36}.badge-available{background:#dce8d8;color:#3d5f44}.badge-depleted,.badge-closed{background:#ececec;color:#666}@media(max-width:900px){.cost-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cost-grid{grid-template-columns:1fr}}
.io-toolbar{display:flex;flex-wrap:wrap;gap:8px}.global-scan{width:min(330px,34vw);margin:0 16px}.global-scan input{padding:8px 11px;background:#fff}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.component-hidden{display:none}@media(max-width:900px){.global-scan{width:min(240px,32vw)}}@media(max-width:650px){.global-scan{display:none}}
