@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--bg:#fdfcfb;--surface:#ffffffd9;--text-main:#2d3436;--text-sub:#636e72;--text-muted:#b2bec3;--accent:#ff85a2;--accent-soft:#ff85a21a;--success:#00b894;--warning:#fdcb6e;--critical:#ff7675;--border:#0000000d;--glass:blur(16px) saturate(180%);--glass-bg:#ffffffbf;--glass-border:#ffffff80;--shadow-sm:0 4px 12px #00000008;--shadow-md:0 8px 24px #0000000f;--shadow-lg:0 16px 48px #0000001f;--radius-sm:12px;--radius-md:20px;--radius-lg:32px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--btn-text:#fff}@media (prefers-color-scheme:dark){:root{--bg:#121212;--surface:#1e1e1ed9;--text-main:#fdfcfb;--text-sub:#b2bec3;--text-muted:#636e72;--glass-bg:#1e1e1ebf;--glass-border:#ffffff1a;--border:#ffffff0d;--btn-text:#121212}}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg);color:var(--text-main);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,Noto Sans JP,sans-serif;line-height:1.5;overflow-x:hidden}button{cursor:pointer;transition:var(--transition);background:0 0;border:none;font-family:inherit}button:active{transform:scale(.95)}input{outline:none;font-family:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fade-in-up{animation:.6s cubic-bezier(.16,1,.3,1) both fadeInUp}.slide-in{animation:.5s cubic-bezier(.16,1,.3,1) both slideInRight}.scale-in{animation:.4s cubic-bezier(.16,1,.3,1) both scaleIn}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border:2px solid var(--bg);border-radius:10px}.mobile-app{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;display:flex;position:relative}.mobile-header{background:var(--bg);z-index:100;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.header-brand-icon{font-size:28px}.header-title{letter-spacing:-.02em;font-size:20px;font-weight:800}.scroll-content{flex:1;padding:0 20px 100px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{font-size:24px;font-weight:800}.save-btn{background:var(--text-main);color:var(--btn-text);border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:600}.save-btn.saved{background:var(--success);color:#fff}.dashboard-section{background:var(--accent-soft);border-radius:var(--radius-md);border:1px solid #ff85a21a;margin-bottom:28px;padding:20px}.section-header{align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:800;display:flex}.dashboard-flex{flex-wrap:wrap;gap:10px;display:flex}.dash-chip{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:100px;padding:6px 12px;font-size:12px;font-weight:700}.dash-chip.critical{color:var(--critical);border:1.5px solid var(--critical)}.dash-chip.warning{color:var(--warning);border:1.5px solid var(--warning)}.cat-group{margin-bottom:32px}.cat-header{color:var(--text-main);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:800;display:flex}.cat-header:after{content:"";background:var(--border);flex:1;height:1px;margin-left:16px}.card-list{grid-template-columns:1fr;gap:16px;display:grid}.mobile-item-card{background:var(--surface);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:var(--transition);padding:16px}.mobile-item-card:active{transform:scale(.98)}.card-top{margin-bottom:16px}.item-info{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.item-name{font-size:16px;font-weight:700}.mini-badge{text-transform:uppercase;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:800}.mini-badge.ok{color:var(--success);background:#00b8941a}.mini-badge.warning{color:var(--warning);background:#fdcb6e1a}.mini-badge.critical{color:var(--critical);background:#ff76751a}.progress-bg{background:var(--border);border-radius:100px;height:6px;overflow:hidden}.progress-fill{border-radius:100px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.progress-fill.ok{background:var(--success)}.progress-fill.warning{background:var(--warning)}.progress-fill.critical{background:var(--critical)}.control-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.giant-btn{border-radius:var(--radius-sm);background:var(--text-main);width:48px;height:48px;color:var(--btn-text);justify-content:center;align-items:center;font-size:24px;display:flex}.giant-btn.minus{background:var(--border);color:var(--text-main)}.val-display{text-align:center;background:var(--bg);border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:baseline;gap:4px;padding:8px;display:flex}.val-display .num{font-size:22px;font-weight:800}.val-display .unit{color:var(--text-sub);font-size:12px;font-weight:700}.bottom-nav{background:var(--glass-bg);height:72px;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:24px;left:20px;right:20px}.nav-item{opacity:.4;transition:var(--transition);flex-direction:column;align-items:center;gap:4px;display:flex}.nav-item.active{opacity:1;color:var(--accent)}.nav-icon{font-size:20px}.nav-label{font-size:10px;font-weight:800}.calendar-container{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:10px;padding:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-header h2{font-size:18px;font-weight:800}.month-summary{background:linear-gradient(135deg, var(--text-main), #454d4f);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:8px;margin-bottom:24px;padding:24px;display:flex}.month-summary label{opacity:.8;letter-spacing:.05em;font-size:12px;font-weight:700}.month-summary .amount{align-items:baseline;gap:6px;display:flex}.month-summary .unit{opacity:.9;font-size:20px;font-weight:400}.month-summary .value{letter-spacing:-.02em;font-size:32px;font-weight:800}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekday{text-align:center;color:var(--text-muted);padding-bottom:8px;font-size:11px;font-weight:800}.day-cell{aspect-ratio:1;transition:var(--transition);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;position:relative}.day-cell.has-data{background:var(--accent-soft);color:var(--accent)}.day-cell.today{border:2px solid var(--accent)}.day-sale{color:var(--success);font-size:9px;font-weight:800;position:absolute;bottom:4px}.data-dot{background:var(--accent);border-radius:2px;width:4px;height:4px;position:absolute;top:4px}.sale-input-section{background:var(--accent-soft);border-radius:var(--radius-md);border:1px solid #ff85a21a;margin-bottom:24px;padding:20px}.sale-input-section label{color:var(--text-sub);margin-bottom:12px;font-size:12px;font-weight:800;display:block}.input-field-group{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 16px;display:flex}.input-field-group .unit{color:var(--text-main);font-size:20px;font-weight:700}.input-field-group input{width:100%;color:var(--text-main);background:0 0;border:none;font-size:24px;font-weight:800}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg);border-radius:32px 32px 0 0;width:100%;max-height:85vh;padding:32px 24px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.loading{height:100vh;color:var(--accent);justify-content:center;align-items:center;font-weight:800;display:flex}
