*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}:root{--yellow: #FFB800;--yellow-glow: rgba(255, 184, 0, .15);--yellow-border: rgba(255, 184, 0, .35);--page: #07080B;--app: #0F1117;--card: #161820;--elevated: #1C1E28;--input: #22242E;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .14);--border-focus: rgba(255, 184, 0, .45);--text: #EEEEF2;--text-sub: #8E90A0;--text-dim: #4E505C;--danger: #F04545;--danger-glow: rgba(240, 69, 69, .1);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-card: 0 1px 4px rgba(0,0,0,.5), 0 6px 20px rgba(0,0,0,.3);--shadow-float: 0 8px 40px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.4);--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{font-family:inherit;cursor:pointer}body{background:var(--page);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--input)}.app{min-height:100vh;max-width:860px;margin:0 auto;background:var(--app);box-shadow:0 0 0 1px #ffffff09,0 0 100px #000c}.header{position:sticky;top:0;z-index:100;background:#0f1117e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header:after{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,var(--yellow),#FF6B00,var(--yellow),transparent);background-size:300% 100%;animation:shimmer 4s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.header-content{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.75rem}.header-left{display:flex;align-items:center;gap:.85rem}.header-logo{width:38px;height:38px;background:linear-gradient(135deg,#ffb800,#ff6b00);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;box-shadow:0 2px 16px #ffb8004d}.header-text h1{font-size:1.12rem;font-weight:700;color:var(--text);line-height:1.2;letter-spacing:-.015em}.header-text p{font-size:.7rem;color:var(--text-sub);letter-spacing:.02em;margin-top:.06rem}.header-actions{display:flex;align-items:center;gap:.5rem}.btn-icon{display:inline-flex;align-items:center;gap:.4rem;background:var(--elevated);border:1px solid var(--border);color:var(--text-sub);padding:.46rem .9rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;transition:all .18s var(--ease);white-space:nowrap}.btn-icon:hover{border-color:var(--border-hover);color:var(--text);background:var(--input)}.btn-icon--primary{border-color:var(--yellow-border);color:var(--yellow)}.btn-icon--primary:hover{background:var(--yellow-glow);border-color:#ffb8008c;box-shadow:0 0 0 3px #ffb8000f}.main{padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.2rem}.section-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:1rem}.add-form,.summary,.list-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color .2s}.add-form:hover,.summary:hover{border-color:var(--border-hover)}.add-form{padding:1.4rem 1.6rem}.add-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.btn-presets{display:inline-flex;align-items:center;gap:.3rem;background:var(--yellow-glow);border:1px solid var(--yellow-border);color:var(--yellow);padding:.36rem .85rem;border-radius:var(--radius-sm);font-size:.76rem;font-weight:600;transition:all .18s var(--ease)}.btn-presets:hover{background:#ffb80038;border-color:#ffb8008c}.presets-panel{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;margin-bottom:1rem;animation:panel-in .2s var(--ease) both}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.presets-list{display:flex;flex-wrap:wrap;gap:.4rem;max-height:185px;overflow-y:auto;margin-top:.65rem}.preset-item{background:var(--card);border:1px solid var(--border);color:var(--text);padding:.32rem .75rem;border-radius:var(--radius-sm);font-size:.77rem;text-align:left;display:flex;flex-direction:column;transition:all .15s var(--ease);line-height:1.3}.preset-item:hover{border-color:var(--yellow-border);background:var(--yellow-glow);color:var(--yellow)}.preset-name{font-weight:500}.preset-cat{font-size:.64rem;color:var(--text-dim);margin-top:.1rem}.preset-item:hover .preset-cat{color:#ffb80073}.form-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:.65rem;align-items:end}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.65rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.09em}.form-group input,.form-group select{background:var(--input);border:1px solid var(--border);color:var(--text);padding:.55rem .8rem;border-radius:var(--radius-sm);font-size:.86rem;outline:none;width:100%;transition:border-color .18s,box-shadow .18s}.form-group input:focus,.form-group select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #ffb80012}.form-group input::placeholder{color:var(--text-dim)}.form-group select option{background:var(--input)}.form-group--note{grid-column:span 3}.btn-add{grid-column:span 1;align-self:end;background:linear-gradient(135deg,#ffb800,#ff7a00);color:#0c0800;border:none;padding:.58rem 1.1rem;border-radius:var(--radius-sm);font-weight:800;font-size:.9rem;white-space:nowrap;transition:all .18s var(--ease);box-shadow:0 2px 14px #ffb80040}.btn-add:hover{background:linear-gradient(135deg,#ffc933,#ff8c20);box-shadow:0 4px 22px #ffb80066;transform:translateY(-1px)}.btn-add:active{transform:translateY(0) scale(.98)}.summary{padding:1.35rem 1.6rem}.summary-stats{display:flex;gap:.6rem;margin-bottom:1.25rem}.stat-card{flex:1;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:border-color .2s,transform .2s var(--ease)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.stat-card--main{border-color:#ffb80033}.stat-card--main .stat-num{color:var(--yellow)}.stat-num{font-size:1.7rem;font-weight:800;line-height:1;letter-spacing:-.03em}.stat-lbl{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-sub)}.summary-bars{display:flex;flex-direction:column;gap:.6rem}.bar-label{display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:var(--text-sub);margin-bottom:.28rem}.bar-count{font-size:.7rem;font-weight:700;color:var(--text-dim)}.bar-track{height:5px;background:var(--elevated);border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;transition:width .85s cubic-bezier(.4,0,.2,1);min-width:4px}.list-section{overflow:hidden}.list-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);gap:.75rem;flex-wrap:wrap}.list-header-left{display:flex;align-items:center;gap:.5rem}.list-header h2{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-sub)}.badge{background:var(--yellow);color:#0c0800;border-radius:99px;padding:.07rem .52rem;font-size:.66rem;font-weight:800}.list-actions{display:flex;align-items:center;gap:.5rem}.search-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.65rem;color:var(--text-dim);pointer-events:none}.search-input{background:var(--input);border:1px solid var(--border);color:var(--text);padding:.42rem 2rem .42rem 2.15rem;border-radius:var(--radius-sm);font-size:.82rem;outline:none;width:185px;transition:border-color .18s,width .28s var(--ease),box-shadow .18s}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #ffb80012;width:215px}.search-input::placeholder{color:var(--text-dim)}.search-clear{position:absolute;right:.5rem;background:none;border:none;color:var(--text-dim);font-size:.68rem;padding:.15rem .25rem;line-height:1;transition:color .15s}.search-clear:hover{color:var(--text)}.sort-select{background:var(--input);border:1px solid var(--border);color:var(--text-sub);padding:.42rem .65rem;border-radius:var(--radius-sm);font-size:.78rem;outline:none;transition:border-color .18s}.sort-select:focus{border-color:var(--border-focus)}.sort-select option{background:var(--input)}.btn-clear{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:.42rem .65rem;border-radius:var(--radius-sm);font-size:.9rem;transition:all .18s var(--ease)}.btn-clear:hover{border-color:#f045454d;color:var(--danger);background:var(--danger-glow)}.filter-tabs{display:flex;flex-wrap:nowrap;gap:.35rem;padding:.7rem 1.5rem;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:1px solid var(--border);color:var(--text-sub);padding:.3rem .72rem;border-radius:99px;font-size:.74rem;font-weight:500;white-space:nowrap;flex-shrink:0;transition:all .18s var(--ease)}.tab:hover{border-color:var(--border-hover);color:var(--text)}.tab.active{background:var(--yellow-glow);border-color:#ffb80073;color:var(--yellow);font-weight:600}.tab-count{background:#ffffff12;border-radius:99px;padding:.03rem .38rem;font-size:.63rem;font-weight:800;line-height:1.4}.tab.active .tab-count{background:#ffb8002e}.material-list{display:flex;flex-direction:column}@keyframes item-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes item-out{to{opacity:0;transform:translate(18px)}}.material-item{display:flex;align-items:stretch;border-bottom:1px solid var(--border);transition:background .15s;animation:item-in .28s var(--ease) both;overflow:hidden}.material-item:last-child{border-bottom:none}.material-item:hover{background:#ffffff05}.item-removing{animation:item-out .24s var(--ease) forwards!important}.item-accent{width:3px;flex-shrink:0;background:var(--cat-color, #444);opacity:.5;transition:opacity .18s;border-radius:0 2px 2px 0}.material-item:hover .item-accent{opacity:1}.item-body{flex:1;min-width:0;padding:.72rem .85rem .55rem .75rem}.item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.item-name{font-size:.875rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.item-meta{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.item-note{font-size:.68rem;color:var(--text-dim);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.item-date{font-size:.63rem;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.category-badge{display:inline-flex;align-items:center;gap:.22rem;font-size:.64rem;font-weight:600;padding:.14rem .5rem;border-radius:99px;border:1px solid;letter-spacing:.02em;white-space:nowrap}.item-controls{display:flex;align-items:center;gap:.35rem;padding:0 1rem 0 0;flex-shrink:0}.qty-btn{background:var(--elevated);border:1px solid var(--border);color:var(--text-sub);width:26px;height:26px;border-radius:var(--radius-sm);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .15s var(--ease);flex-shrink:0;padding:0;line-height:1}.qty-btn:hover{border-color:var(--yellow-border);color:var(--yellow);background:var(--yellow-glow)}.qty-btn:active{transform:scale(.88)}.qty-display{min-width:48px;text-align:center;font-size:.9rem;font-weight:700;color:var(--yellow);padding:.2rem .4rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;transition:all .15s var(--ease)}.qty-display:hover{background:var(--yellow-glow);border-color:var(--yellow-border)}.qty-input{width:58px;background:var(--yellow-glow);border:1px solid rgba(255,184,0,.4);color:var(--yellow);text-align:center;font-size:.9rem;font-weight:700;padding:.2rem .4rem;border-radius:var(--radius-sm);outline:none;box-shadow:0 0 0 3px #ffb80012;font-family:inherit}.qty-unit{font-size:.7rem;color:var(--text-dim);min-width:22px;font-weight:500}.btn-remove{background:transparent;border:1px solid transparent;color:var(--text-dim);width:26px;height:26px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s var(--ease)}.btn-remove:hover{color:var(--danger);background:var(--danger-glow);border-color:#f0454540}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:.7rem;text-align:center}.empty-state-icon{font-size:2.5rem;opacity:.2}.empty-state-text{font-size:.88rem;color:var(--text-sub);font-weight:500}.empty-state-hint{font-size:.74rem;color:var(--text-dim)}.toast{position:fixed;bottom:1.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.8rem;background:var(--elevated);border:1px solid rgba(255,255,255,.1);color:var(--text);padding:.65rem 1.25rem;border-radius:99px;font-size:.84rem;font-weight:500;z-index:999;box-shadow:var(--shadow-float);white-space:nowrap;max-width:calc(100vw - 2rem);animation:toast-in .32s var(--ease-spring) both}.toast--success{border-color:#4caf504d}.toast--undo{border-color:#ffb8004d}.toast-msg{overflow:hidden;text-overflow:ellipsis}.toast-undo-btn{background:var(--yellow);color:#0c0800;border:none;padding:.22rem .8rem;border-radius:99px;font-size:.7rem;font-weight:900;letter-spacing:.07em;flex-shrink:0;transition:background .15s}.toast-undo-btn:hover{background:#ffc933}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.94)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media print{.header-actions,.add-form,.filter-tabs,.list-actions,.item-controls,.item-accent,.toast{display:none!important}body,.app{background:#fff;color:#000;box-shadow:none}.header{position:static;background:#fff;border-bottom:2px solid #000}.header:after{display:none}.header-text h1{color:#000}.header-text p{color:#555}.add-form,.summary,.list-section{background:#fff;border:1px solid #ccc;box-shadow:none;border-radius:0}.material-item{border-bottom:1px solid #e0e0e0;animation:none}.item-name{color:#000}.category-badge{background:#f0f0f0!important;color:#333!important;border-color:#ccc!important}.stat-num{color:#000!important}.main{padding:1rem;gap:.75rem}}@media (max-width: 720px){.header-content{padding:.75rem 1.1rem}.main{padding:1rem;gap:1rem}.add-form{padding:1rem 1.1rem}.form-grid{grid-template-columns:1fr 1fr}.form-group--note{grid-column:span 2}.btn-add{grid-column:span 2;padding:.65rem}.list-header{padding:.85rem 1.1rem}.filter-tabs{padding:.6rem 1.1rem}.item-note,.item-date{display:none}.summary-stats{gap:.45rem}.stat-card{padding:.7rem}.stat-num{font-size:1.35rem}}@media (max-width: 520px){.search-input{width:130px}.search-input:focus{width:155px}.sort-select,.header-text p,.btn-icon span{display:none}.btn-icon{padding:.46rem .65rem}.item-controls{padding-right:.6rem;gap:.25rem}.qty-btn{width:24px;height:24px;font-size:1rem}}
