/* RATA STOCK v1 */
:root{--bg:#f3f5f2;--panel:#fff;--ink:#18251f;--muted:#6b7971;--line:#dfe6e1;--dark:#1d2b26;--accent:#e46e3e;--accentSoft:#fff0e9;--green:#278463;--greenSoft:#e8f5ef;--yellow:#b47a0d;--yellowSoft:#fff4dc;--red:#c94c4c;--redSoft:#fdeeee;--blue:#3973b5;--blueSoft:#edf4fb;--radius:20px;--shadow:0 18px 48px rgba(29,43,38,.11);--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}input,select,textarea{font-size:16px}button{cursor:pointer}.hidden{display:none!important}
.shell{min-height:100vh;display:grid;grid-template-columns:236px 1fr}.side{position:sticky;top:0;height:100vh;background:var(--dark);color:#fff;padding:22px 15px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 21px}.brandmark{width:40px;height:40px;border-radius:13px;background:var(--accent);display:grid;place-items:center;font-weight:1000}.brand b{font-weight:1000;letter-spacing:.08em}.brand small{display:block;color:#acbbb3;font-size:9px;letter-spacing:.13em;margin-top:3px}.nav{display:grid;gap:5px}.nav button{min-height:45px;border:0;background:transparent;color:#b9c5be;border-radius:13px;padding:11px 13px;text-align:left;font-weight:850;display:flex;align-items:center;gap:11px}.nav button.active,.nav button:hover{background:#2a3d34;color:#fff}.nav .ico{width:22px;text-align:center}.sidefoot{margin-top:auto;background:#273a31;border:1px solid #385044;border-radius:15px;padding:12px;font-size:10px;color:#b7c6be;line-height:1.6}.sidefoot b{color:#fff}.sidefoot p{margin:4px 0 0}
.main{min-width:0}.topbar{height:70px;background:rgba(243,245,242,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:25;border-bottom:1px solid rgba(0,0,0,.04);padding:0 27px;display:flex;align-items:center;justify-content:space-between;gap:12px}.who small{display:block;color:var(--muted);font-size:10px;font-weight:800}.who b{font-size:14px}.topright{display:flex;align-items:center;gap:8px}.avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#e5ddd3;font-weight:1000}.netBadge{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;background:var(--greenSoft);color:var(--green)}.netBadge.offline{background:var(--yellowSoft);color:var(--yellow)}.iconBtn{position:relative;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff}.notifyCount{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}
.content{max-width:1240px;margin:0 auto;padding:26px 28px 100px}.view{display:none}.view.active{display:block}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:17px}.pagehead h1{font-size:28px;letter-spacing:-.04em;margin:0 0 6px}.pagehead p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{min-height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:9px 13px;font-size:12px;font-weight:900}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.06)}.btn.small{min-height:35px;padding:7px 9px;font-size:10.5px}.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.green{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{background:#fff;color:var(--red);border-color:#ebc7c7}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 12px rgba(0,0,0,.025)}.section{padding:18px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.sectionhead h3{margin:0;font-size:14px}.linkbtn{border:0;background:none;color:var(--accent);font-size:11px;font-weight:900}
.grid{display:grid;gap:13px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:14px}.stat{padding:16px}.stat .label{font-size:10px;color:var(--muted);font-weight:900}.stat .value{font-size:24px;font-weight:1000;margin-top:6px;letter-spacing:-.04em}.stat .sub{font-size:10px;color:var(--muted);margin-top:4px}.columns{display:grid;grid-template-columns:1.35fr .85fr;gap:14px}.detailgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.hero{background:linear-gradient(145deg,#1d2b26,#30483c);color:#fff;border-radius:25px;padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden;margin-bottom:14px}.hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-110px;background:radial-gradient(circle,rgba(228,110,62,.82),rgba(228,110,62,0) 68%)}.hero .eyebrow{font-size:9.5px;color:#b7c5bd;letter-spacing:.16em;font-weight:900}.hero h2{font-size:26px;margin:7px 0 5px;letter-spacing:-.04em}.hero p{font-size:12px;color:#c4cec8;line-height:1.7;margin:0;max-width:700px}.heroActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;position:relative;z-index:2}
.quickGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.quick{min-height:92px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 8px;text-align:center;font-weight:900;color:var(--ink)}.quick .qi{display:block;font-size:24px;margin-bottom:6px}.quick small{display:block;font-size:9px;color:var(--muted);font-weight:700;margin-top:3px}.quick.alert{background:var(--accentSoft);border-color:#efc4b5;color:#b75230}.quick.good{background:var(--greenSoft);border-color:#c8e4d7;color:var(--green)}
.list{display:grid;gap:9px}.itemRow{border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.itemRow:hover{border-color:#cbd6d0}.itemRow h4{margin:0;font-size:12.5px}.itemRow p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.itemMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.qty{text-align:right;min-width:118px}.qty strong{display:block;font-size:18px}.qty small{font-size:9px;color:var(--muted)}.meter{height:7px;background:#edf0ee;border-radius:999px;overflow:hidden;margin-top:5px}.meter span{display:block;height:100%;background:var(--green)}.meter.low span{background:var(--red)}
.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.badge.ok{background:var(--greenSoft);color:var(--green)}.badge.low{background:var(--redSoft);color:var(--red)}.badge.warn{background:var(--yellowSoft);color:var(--yellow)}.badge.blue{background:var(--blueSoft);color:var(--blue)}.badge.neutral{background:#edf0ee;color:#67726c}.badge.pending{background:var(--accentSoft);color:#b95735}
.toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:12px}.search{display:flex;gap:7px;flex:1;min-width:270px}.search input,.search select{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 11px;min-width:0}.search input{flex:1}.activity{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:0}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:4px;flex:none}.activity b{font-size:11px}.activity p{font-size:9.5px;color:var(--muted);margin:3px 0 0;line-height:1.5}.tablewrap{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:800px}.table th,.table td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);font-size:10.5px;vertical-align:top}.table th{color:var(--muted);font-size:9px}.kv{display:grid;grid-template-columns:125px 1fr;gap:7px 12px;font-size:10.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:700}
.modalback{position:fixed;inset:0;background:rgba(12,20,16,.5);display:none;align-items:flex-end;justify-content:center;padding:17px;z-index:80}.modalback.show{display:flex}.modal{width:min(650px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:23px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.wideModal{width:min(840px,100%)}.modalhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.modalhead h3{margin:0;font-size:16px}.modalSub{font-size:9.5px;color:var(--muted);margin:4px 0 0}.close{width:38px;height:38px;border-radius:50%;border:0;background:#eff2f0;font-weight:900;flex:none}.modalfoot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10.5px;font-weight:900;color:#56645d}.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid #d9e1dc;border-radius:11px;background:#fff;padding:10px 11px;outline:none}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#92a59b;box-shadow:0 0 0 3px rgba(29,43,38,.05)}.checkLabel{display:flex;align-items:center;gap:8px;padding-top:24px}.checkLabel input{width:20px;height:20px}.notice{border:1px solid #eadcaf;background:#fff8e6;color:#7e621e;border-radius:11px;padding:10px;font-size:9.5px;line-height:1.6}
.stocktakeGrid{display:grid;gap:9px}.countRow{border:1px solid var(--line);border-radius:13px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.countRow h4{margin:0;font-size:11.5px}.countRow p{margin:3px 0 0;color:var(--muted);font-size:9px}.countBtns{display:flex;gap:6px;align-items:center}.countValue{min-width:52px;text-align:center;font-size:18px;font-weight:1000}.diff.pos{color:var(--green)}.diff.neg{color:var(--red)}
.scannerBox{background:#111;border-radius:14px;overflow:hidden;min-height:230px;display:grid;place-items:center}.scannerBox video{width:100%;max-height:330px;object-fit:cover;display:none}.scannerBox video.active{display:block}.scannerBox .notice{margin:15px;background:#222;border-color:#444;color:#ddd}.scannerActions{display:flex;gap:8px;margin-top:10px}.codeRow{display:grid;grid-template-columns:1fr auto;gap:7px}.sampleCodes{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:9px;color:var(--muted)}.sampleCodes button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 7px;font-size:9px}.locationBreakdown{display:grid;gap:6px}.locRow{display:flex;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;font-size:10px}.lotTable{width:100%;border-collapse:collapse}.lotTable th,.lotTable td{padding:7px 6px;border-bottom:1px solid var(--line);font-size:9.5px;text-align:left}
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef3ef,#f7f4f0)}.loginbox{width:min(850px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.loginhero{background:var(--dark);color:#fff;padding:34px;min-height:480px;display:flex;flex-direction:column;justify-content:space-between}.loginhero .loginMark{width:50px;height:50px;border-radius:15px;background:var(--accent);display:grid;place-items:center;font-weight:1000}.loginhero h1{font-size:34px;letter-spacing:-.05em;margin:23px 0 8px}.loginhero p{font-size:12px;color:#c0cbc5;line-height:1.8;margin:0}.loginhero small{font-size:9.5px;color:#94a69d;line-height:1.6}.loginpanel{padding:34px}.loginpanel h2{margin:0 0 5px;font-size:20px}.loginpanel>p{font-size:10.5px;color:var(--muted);margin:0 0 17px}.account{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:11px;margin-bottom:8px;background:#fff;text-align:left;min-height:63px}.account:hover{background:#fafcfb;border-color:#9eafa6}.account .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e8edea;font-weight:900}.account b{display:block;font-size:11.5px}.account small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.toast{position:fixed;right:18px;bottom:18px;background:var(--dark);color:#fff;padding:11px 14px;border-radius:12px;font-size:10.5px;font-weight:900;box-shadow:var(--shadow);z-index:110;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}.empty{text-align:center;padding:28px;color:var(--muted);font-size:11px}.empty b{display:block;color:var(--ink);margin-bottom:4px}.mobile-nav{display:none}.seo{max-width:1120px;margin:40px auto 0;padding:0 28px 80px;color:#405048}.seo h2{font-size:20px}.seo h3{font-size:14px;margin-top:22px}.seo p{font-size:11.5px;line-height:1.85}.seoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.seo article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}
@media(max-width:980px){.shell{display:block}.side{display:none}.topbar{height:64px;padding:0 14px}.content{padding:17px 12px 94px}.mobile-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:5px 3px calc(5px + var(--safe));z-index:45}.mobile-nav button{border:0;background:none;color:#7a8780;min-height:49px;padding:4px 1px;font-size:8px;font-weight:900}.mobile-nav .mi{display:block;font-size:17px;margin-bottom:1px}.mobile-nav button.active{color:var(--accent)}.columns,.detailgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.quickGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.desktopOnly{display:none}.pagehead{align-items:flex-start}.pagehead h1{font-size:23px}.stats{gap:7px}.stat{padding:13px}.stat .value{font-size:20px}.quickGrid{grid-template-columns:repeat(2,1fr)}.hero{padding:19px}.hero h2{font-size:22px}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.checkLabel{padding-top:0}.kv{grid-template-columns:95px 1fr}.search{min-width:100%}.loginbox{grid-template-columns:1fr}.loginhero{min-height:260px;padding:25px}.loginhero h1{font-size:28px}.loginpanel{padding:24px}.seo{padding:0 13px 90px}.seoGrid{grid-template-columns:1fr}.countRow{grid-template-columns:1fr}.countBtns{justify-content:flex-start}.codeRow{grid-template-columns:1fr}.itemRow{grid-template-columns:1fr}.qty{text-align:left}.mobile-nav{grid-template-columns:repeat(6,1fr)}}
@media print{.side,.topbar,.mobile-nav,.seo,.pagehead .actions,.btn{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none}}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs button{min-height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-size:10.5px;font-weight:900;color:var(--muted)}.tabs button.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.poCard{border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.poCard h4{margin:0;font-size:12.5px}.poCard p{margin:4px 0 0;color:var(--muted);font-size:9.5px;line-height:1.55}.poLines{display:grid;gap:7px}.poLine{display:grid;grid-template-columns:1fr 110px 120px auto;gap:7px;align-items:end;border:1px solid var(--line);border-radius:11px;padding:9px}.poLine .field{gap:4px}.poLine button{min-height:42px}
.analyticsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px}.analysisCard{padding:16px}.analysisCard .big{font-size:25px;font-weight:1000;letter-spacing:-.04em;margin-top:5px}.analysisCard .sub{font-size:9.5px;color:var(--muted);margin-top:4px}.barChart{display:grid;gap:10px}.barRow{display:grid;grid-template-columns:58px 1fr 86px;gap:9px;align-items:center;font-size:9.5px}.barTrack{height:10px;background:#edf0ee;border-radius:999px;overflow:hidden}.barTrack span{display:block;height:100%;background:var(--green);border-radius:999px}.barVal{text-align:right;font-weight:900}.dormantRow{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.dormantRow:last-child{border-bottom:0}.dormantRow h4{margin:0;font-size:11px}.dormantRow p{margin:3px 0 0;font-size:9.5px;color:var(--muted)}
.allocRow,.resRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.allocRow:last-child,.resRow:last-child{border-bottom:0}.allocRow h4,.resRow h4{margin:0;font-size:11px}.allocRow p,.resRow p{font-size:9.5px;color:var(--muted);margin:3px 0 0;line-height:1.5}.csvText{min-height:230px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px!important}.miniKpi{display:inline-flex;gap:5px;align-items:center;padding:5px 7px;border-radius:8px;background:#f1f4f2;font-size:9px;font-weight:900}.moneyPos{color:var(--green)}.moneyWarn{color:var(--red)}
@media(max-width:980px){.mobile-nav{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.analyticsGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.poLine{grid-template-columns:1fr 1fr}.poLine .field:first-child{grid-column:1/-1}.analyticsGrid{grid-template-columns:1fr}.barRow{grid-template-columns:48px 1fr 72px}}
