:root{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Yu Gothic UI",Meiryo,sans-serif;color:#1f2937;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility;font-smooth:always;--navy:#15233b;--blue:#3569e8;--blue-dark:#2554cb;--muted:#758198;--line:#e7eaf0;--surface:#fff;--bg:#f4f6fa;--green:#198b65;--red:#d35d5d;--amber:#b77a20;--shadow:0 8px 24px rgba(28,43,70,.045)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#fff;border-right:1px solid var(--line);padding:25px 15px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 29px;color:inherit;text-decoration:none}.brand-mark{height:38px;width:38px;border-radius:12px;background:linear-gradient(145deg,#4778ef,#2454c7);display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;box-shadow:0 5px 12px #3569e833}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-size:14px;letter-spacing:.01em;color:#1d2a43}.brand-copy small{font-size:11px;color:#8590a2}.sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a0a8b7;font-weight:700;padding:0 12px 10px}.main-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#6e788b;text-align:left;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;font-size:13px;font-weight:500;transition:.18s}.nav-item:hover{background:#f6f8fc;color:#283851}.nav-item.active{background:#edf2ff;color:#2e5fd5;font-weight:600}.nav-icon{font-size:17px;width:19px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf0f5;padding:17px 8px 0}.local-status{display:flex;align-items:center;gap:10px;padding:5px 4px 13px}.local-status>div{display:grid;gap:3px}.local-status strong{font-size:11px;color:#49566d}.local-status small{font-size:10px;color:#929bad}.status-dot{width:7px;height:7px;background:#46b68c;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #46b68c1c;flex:none}.text-button{background:none;border:0;color:#8993a4;font-size:10px;padding:6px 4px}.text-button:hover{color:#d35d5d}.main-area{margin-left:242px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:1}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#98a1b0}.breadcrumb strong{color:#354158;font-weight:600}.crumb-divider{color:#d3d8e1}.topbar-actions{display:flex;align-items:center;gap:19px}.local-chip{display:flex;align-items:center;gap:8px;color:#768196;font-size:11px}.local-chip .status-dot{width:6px;height:6px}.button{border:0;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,transform .15s;white-space:nowrap}.button:active{transform:translateY(1px)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 4px 10px #3569e82b}.button-primary:hover{background:var(--blue-dark)}.button-secondary{background:#f2f4f8;color:#536078}.button-secondary:hover{background:#e9edf4}.button-quiet{background:transparent;color:#607087;padding:8px 10px}.button-quiet:hover{background:#f3f6fa}.button-plus{font-size:16px;font-weight:400}.page-content{width:min(1320px,100%);margin:0 auto;padding:31px 38px 46px;flex:1}.app-footer{padding:15px 38px;border-top:1px solid var(--line);color:#9aa3b1;font-size:10px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.page-heading h1{font-size:23px;line-height:1.35;letter-spacing:-.03em;margin:0 0 6px;color:#1e2b43}.page-heading p{margin:0;color:#8791a2;font-size:12px}.eyebrow{margin:0 0 6px;color:#6e87c4;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:700}.date-label{font-size:11px;color:#8a94a4}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.stat-card,.panel,.table-card{background:var(--surface);border:1px solid #eaedf2;border-radius:12px;box-shadow:var(--shadow)}.stat-card{padding:17px 18px 16px;min-height:117px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#778297;font-size:10px}.stat-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:15px}.icon-blue{background:#edf2ff;color:#4a71d9}.icon-green{background:#eaf7f1;color:#26916c}.icon-orange{background:#fff4e5;color:#c38127}.icon-purple{background:#f3efff;color:#8161c9}.stat-value{font-size:24px;letter-spacing:-.04em;font-weight:700;color:#27354d;margin:12px 0 2px}.stat-value small{font-size:11px;letter-spacing:0;color:#8993a4;font-weight:500;margin-left:3px}.stat-foot{font-size:10px;color:#99a2b0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(275px,.82fr);gap:17px;margin-bottom:18px}.panel{padding:18px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-heading h2,.table-title h2{font-size:13px;color:#2d3a51;margin:0;font-weight:650}.panel-heading p{margin:4px 0 0;color:#9aa3b0;font-size:10px}.link-button{border:0;background:none;color:#4d72d6;font-size:10px;padding:5px}.link-button:hover{text-decoration:underline}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{border:1px solid #edf0f5;background:#fff;border-radius:9px;padding:13px 12px;text-align:left;color:#42516a;display:flex;gap:10px;align-items:center;transition:.15s}.quick-action:hover{border-color:#cbd7f8;background:#f9faff}.quick-action .quick-icon{height:31px;width:31px;display:grid;place-items:center;border-radius:8px;background:#edf2ff;color:#4971dc;font-size:16px}.quick-action strong{font-size:11px;display:block;margin-bottom:2px}.quick-action small{font-size:9px;color:#98a1b0}.mini-table,.data-table{width:100%;border-collapse:collapse;text-align:left}.mini-table th,.data-table th{font-size:9px;text-transform:none;letter-spacing:.02em;color:#9aa3b1;font-weight:600;padding:10px 11px;border-bottom:1px solid #edf0f4;white-space:nowrap}.mini-table td,.data-table td{padding:11px;border-bottom:1px solid #f0f2f5;color:#536078;font-size:10px;vertical-align:middle}.mini-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}.product-cell{display:flex;align-items:center;gap:9px;min-width:150px}.product-avatar{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#edf2ff;color:#4d70cf;font-size:11px;font-weight:700;flex:none}.product-cell strong{display:block;color:#3d4b62;font-weight:600;font-size:10px}.product-cell small{display:block;color:#a0a8b4;font-size:9px;margin-top:3px}.amount-cell{font-variant-numeric:tabular-nums;color:#36445c!important;font-weight:600;white-space:nowrap}.number-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:20px;font-size:9px;font-weight:600;white-space:nowrap}.badge-purchase{background:#e9f7f0;color:#23835f}.badge-use{background:#fff0ed;color:#c35c4e}.badge-low{background:#fff4e6;color:#b7781d}.badge-ok{background:#edf7f1;color:#328664}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.low-list{display:grid;gap:0}.low-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2f5}.low-row:last-child{border:0}.low-row strong{display:block;font-size:10px;color:#445169;font-weight:600}.low-row small{display:block;font-size:9px;color:#9aa3b0;margin-top:3px}.low-qty{text-align:right;font-size:10px;color:#bd7c20;font-weight:600;white-space:nowrap}.low-qty small{display:block;color:#9aa3b0;font-size:9px;font-weight:400;margin-top:3px}.empty-state{padding:29px 15px;text-align:center;color:#98a2b0;font-size:11px}.empty-icon{font-size:22px;color:#bcc5d2;margin-bottom:7px}.table-card{overflow:hidden}.table-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar-input,.toolbar-select,.month-input{border:1px solid #e5e9ef;background:#fff;border-radius:7px;height:34px;padding:0 10px;font-size:10px;color:#536078;outline:none}.toolbar-input{min-width:200px}.toolbar-select:focus,.toolbar-input:focus,.month-input:focus,.field input:focus,.field select:focus{border-color:#91a9ef;box-shadow:0 0 0 3px #3569e812}.table-title{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid #edf0f4}.table-scroll{overflow-x:auto}.empty-table{text-align:center;padding:35px 10px!important;color:#a0a8b4!important}.row-actions{display:flex;gap:4px}.small-action{border:0;background:transparent;color:#758199;font-size:10px;padding:5px 7px;border-radius:5px}.small-action:hover{background:#f0f3f8;color:#3e5eb1}.small-action.danger:hover{background:#fff0ed;color:#c8564e}.metric-note{font-size:10px;color:#929bab;background:#f8f9fc;border-radius:8px;padding:11px 13px;margin:0 0 14px}.metric-note b{color:#66748a}.summary-strip{display:flex;gap:20px;align-items:center;padding:14px 18px;background:#f7f9fd;border-bottom:1px solid #edf0f4}.summary-total{display:grid;gap:4px}.summary-total small{font-size:9px;color:#929bab}.summary-total strong{font-size:14px;color:#33425b}.summary-total strong.green{color:#23835f}.summary-total strong.red{color:#c35c4e}.summary-divider{height:29px;width:1px;background:#e3e8f0}.inline-empty{color:#9ca5b3;text-align:center;padding:40px 10px;font-size:11px}.dialog{border:0;padding:0;border-radius:14px;width:min(590px,calc(100% - 28px));max-height:min(90vh,760px);box-shadow:0 25px 80px #17223c38;color:#26354c}.dialog::backdrop{background:#101a2b78;backdrop-filter:blur(2px)}.dialog-form{padding:24px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.dialog-heading h2{font-size:18px;margin:0;color:#233149}.icon-button{border:0;background:#f3f5f8;color:#798497;height:29px;width:29px;border-radius:8px;font-size:18px;line-height:1}.type-switch{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f7;border-radius:8px;padding:3px;margin-bottom:17px}.type-switch label{cursor:pointer}.type-switch input{position:absolute;opacity:0}.type-switch span{display:grid;place-items:center;height:31px;border-radius:6px;font-size:11px;color:#778297}.type-switch input:checked+span{background:#fff;color:#3d66cf;box-shadow:0 2px 5px #1b2d4a12;font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.field{display:grid;gap:6px;color:#657189;font-size:10px}.field>span{font-weight:600}.field i{font-style:normal;color:#6280d2;font-size:8px;margin-left:4px}.field input,.field select{width:100%;height:37px;border:1px solid #e2e6ed;border-radius:7px;padding:0 10px;background:#fff;color:#394861;font-size:11px;outline:none}.field input::placeholder{color:#b0b8c4}.field-wide{grid-column:1/-1}.price-preview{height:37px;border:1px solid #edf0f4;background:#f8f9fc;border-radius:7px;padding:10px;color:#3f506a;font-size:11px;font-variant-numeric:tabular-nums}.dialog-note{display:flex;align-items:flex-start;gap:8px;color:#8893a3;font-size:9px;line-height:1.6;background:#f7f9fc;padding:10px;border-radius:7px;margin-top:16px}.info-icon{width:14px;height:14px;border-radius:50%;background:#e5ebfa;color:#5775c7;display:grid;place-items:center;font-size:9px;font-weight:700;flex:none}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-hint{font-size:9px;line-height:1.6;color:#9aa3b0;margin:13px 0 0}.toast-region{position:fixed;right:22px;bottom:22px;z-index:5;display:grid;gap:8px}.toast{background:#24334b;color:white;border-radius:9px;padding:11px 15px;box-shadow:0 10px 30px #18233b32;font-size:11px;animation:toast-in .2s ease-out}.toast.error{background:#a8423e}@keyframes toast-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.page-content{padding:26px 25px 38px}.topbar{padding:0 25px}.app-footer{padding:14px 25px}}
@media(max-width:700px){.sidebar{width:61px;padding:16px 7px}.brand{padding:0 4px 23px}.brand-mark{height:38px;width:38px}.brand-copy,.sidebar-label,.nav-item:not(.active){display:none}.main-nav{gap:7px}.nav-item{width:45px;height:43px;padding:0;justify-content:center;font-size:0}.nav-item.active{font-size:0}.nav-icon{font-size:17px}.sidebar-bottom{padding:12px 0 0}.local-status{justify-content:center;padding:4px 0 11px}.local-status>div,.reset-button{display:none}.main-area{margin-left:61px}.topbar{height:61px;padding:0 14px}.topbar-actions{gap:9px}.local-chip{font-size:0;gap:0}.local-chip .status-dot{width:7px;height:7px}.topbar .button{padding:9px 10px;font-size:10px}.page-content{padding:23px 14px 31px}.app-footer{padding:12px 14px;font-size:9px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:18px}.page-heading h1{font-size:20px}.stats-grid{gap:9px}.stat-card{padding:13px;min-height:105px}.stat-value{font-size:20px}.dashboard-grid{gap:11px}.panel{padding:15px 13px}.table-title{align-items:flex-start;flex-direction:column;padding:14px}.table-tools{width:100%}.toolbar-input{flex:1;min-width:140px}.mini-table th,.mini-table td,.data-table th,.data-table td{padding:9px 8px}.form-grid{grid-template-columns:1fr;gap:12px}.field-wide{grid-column:auto}.dialog-form{padding:20px 17px}.summary-strip{gap:12px;flex-wrap:wrap}.summary-divider{display:none}}
.badge-adjustment{background:#f3efff;color:#7359b5}.fiscal-table th,.fiscal-table td{white-space:nowrap}
