@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";*{margin:0;padding:0}.container-login{width:100%;height:100vh;background-color:#fff;display:flex;justify-content:center;align-items:center;min-width:400px}.wrapper-login{width:100%;height:50%;display:flex;justify-content:center;align-items:center;gap:2%}.wrapper-login hr{width:1px;height:60%;background-color:#004a73;border:none;margin:0 20px}.left-login{width:20%;height:50%;display:flex;flex-direction:column;gap:20px}.left-login img{width:100%;object-fit:cover}.left-login h4{font-size:20px;color:#004a73;font-weight:400}.right-login{width:20%;height:50%;gap:5%;display:flex;flex-direction:column}.right-login .title-login h1{font-size:20px;color:#004a73;font-weight:500}@media (max-width: 900px){.wrapper-login{width:95%;flex-direction:column;gap:20px;padding:30px;height:100%;justify-content:flex-start;align-items:center;margin-top:50px}.wrapper-login hr{width:80%;height:1px}.left-login img{max-width:180px}.left-login,.right-login{width:100%;align-items:center;height:100px}.left-login h4{font-size:16px;font-weight:500}.input-login input,.button-login button{width:100%!important}}@media (max-width: 600px){.wrapper-login{padding:20px;border-radius:12px}.title-login h1{font-size:20px}.left-login img{max-width:180px}.input-login input,.button-login button{width:100%!important}}@media (max-width: 400px){.wrapper-login{padding:16px}.left-login img{max-width:150px}.title-login h1{font-size:16px;color:red}}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:#333}.required{color:red}.input-field{border:1px solid #ccc;border-radius:6px;padding:8px 12px;font-size:14px;outline:none;transition:all .2s ease;width:100%;box-sizing:border-box}.input-field:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.input-field:disabled{background-color:#f5f5f5;cursor:not-allowed}.input-error{border-color:red}.input-error-text{font-size:12px;color:red;margin-top:2px}.dashboard{max-width:1200px;margin:auto;padding:32px 16px 60px}.dashboard-header h1{font-size:28px;font-weight:900;margin-bottom:6px}.dashboard-header p{color:#666}.dashboard-stats{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:18px}.stat-card h3{font-size:14px;font-weight:800;margin-bottom:10px}.stat-value{display:block;font-size:22px;font-weight:900}.stat-desc{font-size:12px;color:#777}.dashboard-grid{margin-top:28px;display:grid;grid-template-columns:2fr 1fr;gap:16px}.dashboard-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:18px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header h3{font-size:16px;font-weight:900}.card-header a{font-size:13px;font-weight:700;text-decoration:none;color:#111}.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td{padding:10px 8px;text-align:left;font-size:14px}.dashboard-table th{border-bottom:1px solid #eee;font-weight:800}.dashboard-table td{border-bottom:1px solid #f3f3f3}.status{font-weight:800}.status.success{color:#1a7f37}.status.pending{color:#c99700}.status.failed{color:#c0392b}.quick-actions{display:grid;gap:12px}.quick-btn{display:block;text-decoration:none;text-align:center;background:#111;color:#fff;padding:12px;border-radius:12px;font-weight:800}.quick-btn:hover{opacity:.9}@media (max-width: 900px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 500px){.dashboard-stats{grid-template-columns:1fr}}.nav-wrap{background:#fff;border-bottom:1px solid #E5E7E9;position:sticky;top:0;z-index:1000;height:64px;display:flex;align-items:center}.nav-container{max-width:1200px;margin:0 auto;width:100%;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-left{display:flex;align-items:center;gap:32px}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-brand-img{height:32px;width:auto}.nav-brand-name{font-weight:800;font-size:18px;color:#00aa5b}.nav-desktop-menu{display:flex;gap:20px}.nav-link{text-decoration:none;color:#31353b;font-weight:600;font-size:14px;transition:color .2s}.nav-user-wrapper{position:relative}.nav-avatar-btn{background:none;border:1px solid #E5E7E9;padding:2px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s}.nav-avatar-btn:hover{border-color:#00aa5b}.nav-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover}.nav-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#00aa5b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.nav-dropdown{position:absolute;right:0;top:48px;background:#fff;min-width:200px;border-radius:8px;box-shadow:0 4px 16px #00000026;border:1px solid #E5E7E9;overflow:hidden;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-header{padding:12px 16px;background:#f8f9fa}.user-name{font-weight:700;font-size:14px;margin:0;color:#31353b}.user-email{font-size:11px;color:#6d7588;margin:2px 0 0}.nav-dropdown-sep{height:1px;background:#e5e7e9}.nav-dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;font-size:14px;color:#31353b;text-decoration:none;cursor:pointer;font-family:inherit}.nav-dropdown-item:hover{background:#f3f4f5}.nav-dropdown-item.danger{color:#ff5c5c;font-weight:700}.mobile-only{display:none}.nav-wrap{background:#fff;border-bottom:1px solid #E5E7E9;position:sticky;top:0;z-index:1000;height:64px;display:flex;align-items:center;font-family:Nunito,sans-serif}.nav-brand-name{font-weight:800;font-size:18px;color:#00aa5b;letter-spacing:-.5px}.nav-link{text-decoration:none;color:#31353b;font-weight:700;font-size:14px;transition:color .2s}.nav-link:hover{color:#00aa5b}.nav-avatar-placeholder{background:#00aa5b;font-family:Nunito,sans-serif;font-weight:800}.user-name{font-family:Nunito,sans-serif;font-weight:800;color:#31353b}.nav-dropdown-item{font-family:Nunito,sans-serif;font-weight:600;color:#31353b}.nav-dropdown-item.danger{color:#ef144a;font-weight:800}@media (max-width: 768px){.nav-desktop-menu{display:none}.mobile-only{display:block}}.footer{background:#0f0f0f;color:#e5e5e5;margin-top:60px}.footer-container{max-width:1200px;margin:auto;padding:50px 16px;display:grid;grid-template-columns:1.2fr 2fr;gap:40px}.footer-brand{max-width:360px}.footer-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;margin-bottom:12px}.footer-logo img{width:36px;height:36px;object-fit:contain}.footer-desc{font-size:14px;line-height:1.6;color:#bdbdbd}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer-col h4{font-size:14px;font-weight:800;margin-bottom:12px;color:#fff}.footer-col a{display:block;text-decoration:none;color:#bdbdbd;font-size:14px;margin-bottom:8px}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid #1f1f1f;text-align:center;padding:16px;font-size:13px;color:#9e9e9e}@media (max-width: 900px){.footer-container{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}@media (max-width: 500px){.footer-links{grid-template-columns:1fr}}.app-skeleton{min-height:100vh;background:#f6f7f9;padding:12px}.sk-navbar{height:64px;background:#fff;border-radius:14px;display:flex;align-items:center;gap:14px;padding:0 16px;margin-bottom:16px}.sk-page{max-width:1200px;margin:auto}.sk-title{width:260px;height:24px;margin-bottom:14px}.sk-card{height:110px;border-radius:14px;margin-bottom:14px}.sk{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:400% 100%;animation:shimmer 1.2s infinite;border-radius:999px}.sk-logo{width:120px;height:32px}.sk-nav-item{width:90px;height:16px}.sk-avatar{width:36px;height:36px;border-radius:50%;margin-left:auto}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.home{background-color:#f3f4f5;min-height:100vh;font-family:Nunito,Open Sans,sans-serif;color:#31353b;padding-bottom:40px}.wraphome{max-width:1200px;margin:0 auto;padding:24px}.homeTop{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap;gap:16px}.homeTitle h2{font-size:24px;font-weight:800;margin:0 0 4px;color:#31353b}.homeTitle p{font-size:14px;color:#6d7588;margin:0}.searchWrap input,.sideSearch input{width:85%;min-width:250px;padding:10px 16px;border:1px solid #E5E7E9;border-radius:8px;font-size:14px;outline:none;transition:border .2s ease}.searchWrap input:focus,.sideSearch input:focus{border-color:#00aa5b}.homeLayout{display:flex;gap:24px;align-items:flex-start}.homeMain{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.card{background:#fff;border-radius:12px;box-shadow:0 1px 6px #31353b1f;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;position:relative}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #31353b29}.cardMedia{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background-color:#f8f8f8}.cardMedia img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:8px;left:8px;padding:4px 8px;font-size:10px;font-weight:700;border-radius:4px;text-transform:uppercase}.badgeOk{background:#00aa5be6;color:#fff}.badgeDanger{background:#ef144ae6;color:#fff}.cardBody{padding:12px;display:flex;flex-direction:column;flex:1;gap:8px}.cardName{font-size:14px;line-height:1.4;color:#212121;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:38px}.rows{margin-top:auto}.row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6d7588;margin-bottom:4px}.row b{font-size:15px;color:#31353b;font-weight:800}.btnPrimary{width:100%;background:#00aa5b;color:#fff;border:none;border-radius:8px;padding:10px 0;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;margin-top:8px}.btnPrimary:hover:not(:disabled){background:#008a4a}.btnPrimary:disabled{background:#e5e7e9;color:#b2b6bc;cursor:not-allowed}.meta{display:flex;justify-content:space-between;font-size:11px;color:#9fa6b0;margin-top:8px}.homeSide{width:320px;flex-shrink:0}.sideCard{background:#fff;border-radius:12px;box-shadow:0 1px 6px #31353b1f;padding:16px;position:sticky;top:80px;display:flex;flex-direction:column;max-height:calc(100vh - 100px)}.sideHead{border-bottom:1px solid #E5E7E9;padding-bottom:12px;margin-bottom:12px}.sideHead h3{font-size:16px;font-weight:800;margin:0;color:#31353b}.sideHead p{font-size:12px;color:#6d7588;margin:4px 0 0}.sideSearch{margin-bottom:16px}.cartList{overflow-y:auto;padding-right:4px}.cartList::-webkit-scrollbar{width:6px}.cartList::-webkit-scrollbar-thumb{background:#e5e7e9;border-radius:10px}.cartItem{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #F3F4F5}.cartThumb{width:56px;height:56px;border-radius:8px;object-fit:cover}.cartMid{flex:1;display:flex;flex-direction:column}.cartName{font-size:13px;font-weight:600;color:#31353b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.cartSub{font-size:12px;font-weight:700;color:#fa591d;margin-bottom:8px}.cartActions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.qtyBox{display:flex;align-items:center;border:1px solid #E5E7E9;border-radius:4px;overflow:hidden}.qtyBtn{background:#fff;border:none;color:#00aa5b;font-size:16px;font-weight:700;width:24px;height:24px;display:flex;justify-content:center;align-items:center;cursor:pointer}.qtyBtn:disabled{color:#b2b6bc;cursor:not-allowed;background:#f3f4f5}.qtyInput{width:36px;text-align:center;border:none;font-size:12px;font-weight:600;color:#31353b;outline:none}.removeBtn{background:transparent;border:none;color:#9fa6b0;font-size:12px;font-weight:700;cursor:pointer;padding:4px}.removeBtn:hover:not(:disabled){color:#ef144a}.sideFooter{margin-top:16px;padding-top:16px;border-top:1px solid #E5E7E9}.totalRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px}.totalRow b{font-size:18px;font-weight:800;color:#31353b}.hint{font-size:11px;color:#9fa6b0;margin-top:12px;text-align:center}.pagination,.cartPagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.cartPagination{margin-top:12px;gap:8px}.btnGhost{background:#fff;border:1px solid #E5E7E9;padding:6px 12px;border-radius:8px;font-weight:600;font-size:12px;color:#31353b;cursor:pointer}.btnGhost:hover:not(:disabled){border-color:#00aa5b;color:#00aa5b}.btnGhost:disabled{background:#f3f4f5;color:#b2b6bc;cursor:not-allowed}.pageInfo{font-size:13px;color:#6d7588}.sk{background:#fff}@keyframes pulse{0%{background-color:#f3f4f5}50%{background-color:#e5e7e9}to{background-color:#f3f4f5}}.skImg,.skThumb,.skLine{animation:pulse 1.5s infinite ease-in-out;border-radius:4px}.skImg{width:100%;aspect-ratio:1;margin-bottom:12px}.skThumb{width:56px;height:56px}.skLine{height:12px;margin-bottom:8px}.w80{width:80%}.w60{width:60%}.w70{width:70%}.emptyState,.sideEmpty{text-align:center;padding:40px 20px;color:#6d7588;font-size:14px}@media (max-width: 900px){.homeLayout{flex-direction:column}.homeSide{width:100%}.sideCard{position:static;max-height:none}}.orders{background-color:#f8f9fa;min-height:100vh;padding:30px 15px;font-family:Nunito,sans-serif}.orders-wrap{max-width:800px;margin:0 auto}.ordersTop{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;border-bottom:1px solid #E5E7E9;padding-bottom:15px}.ordersTitle h2{font-size:22px;font-weight:800;color:#31353b;margin:0}.ordersTitle p{font-size:14px;color:#6d7588;margin:4px 0 0}.ordersAction{display:flex;gap:10px}.sortSelect,.btnRefresh{padding:8px 12px;border:1px solid #E5E7E9;border-radius:8px;font-size:13px;background:#fff;font-weight:700;cursor:pointer}.ordersList{display:flex;flex-direction:column;gap:12px}.orderCard{background:#fff;border-radius:10px;border:1px solid #E5E7E9;overflow:hidden;transition:.2s}.orderCard.active{border-color:#00aa5b;box-shadow:0 4px 12px #00aa5b14}.orderHead{padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.orderDate{font-size:12px;color:#6d7588;margin-bottom:4px}.orderIdText{font-size:14px;font-weight:800;color:#31353b}.orderSummaryRight{display:flex;align-items:center;gap:15px}.orderTotalInfo{text-align:right}.orderTotalInfo span{font-size:11px;color:#6d7588;display:block}.totalPrice{font-size:15px;font-weight:800;color:#fa591d}.arrowIcon{font-size:10px;color:#b2b6bc;transition:.3s}.arrowIcon.rotate{transform:rotate(180deg)}.orderBody{padding:16px;background:#fafafa;border-top:1px solid #F0F0F0}.itemRow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #EEE}.itemRow:last-child{border-bottom:none}.itemImg{width:45px;height:45px;object-fit:cover;border-radius:6px}.itemText{flex:1}.itemName{font-size:14px;font-weight:700;color:#31353b}.itemSub{font-size:12px;color:#6d7588}.itemPrice{font-size:14px;font-weight:800;color:#31353b}.statusMsg{text-align:center;padding:40px;color:#6d7588}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px}.pagination button{padding:6px 16px;border:1px solid #E5E7E9;background:#fff;border-radius:6px;cursor:pointer;font-weight:700}.pagination button:disabled{opacity:.5;cursor:not-allowed}.ordersFilterBar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #E5E7E9;margin-bottom:20px;gap:15px;flex-wrap:wrap}.filterGroup{display:flex;gap:12px;align-items:center}.dateInput{display:flex;align-items:center;gap:8px}.dateInput label{font-size:12px;font-weight:700;color:#6d7588}.dateInput input[type=date]{padding:6px 10px;border:1px solid #E5E7E9;border-radius:6px;font-size:13px;color:#31353b;outline:none}.dateInput input[type=date]:focus{border-color:#00aa5b}.sortSelect{min-width:120px}@media (max-width: 650px){.ordersFilterBar{flex-direction:column;align-items:flex-start}.filterGroup{width:100%;justify-content:space-between}.sortSelect{width:100%}}@media (max-width: 500px){.orderHead{flex-direction:column;align-items:flex-start;gap:10px}.orderSummaryRight{width:100%;justify-content:space-between}}.orderBadges{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.oBadge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;letter-spacing:.02em;white-space:nowrap}.oBadge-order-pending{background:#f59e0b1f;color:#92400e}.oBadge-order-completed{background:#10b9811f;color:#065f46}.oBadge-order-canceled,.oBadge-order-cancelled{background:#ef44441a;color:#991b1b}.oBadge-pay-pending{background:#f59e0b1a;color:#92400e}.oBadge-pay-completed{background:#10b9811f;color:#065f46}.oBadge-pay-canceled,.oBadge-pay-cancelled{background:#ef44441a;color:#991b1b}.oBadge-pay-refunded{background:#6366f11a;color:#3730a3}.orderActions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;margin-top:4px;border-top:1px dashed #f1f5f9}.oBtn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 14px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s;white-space:nowrap}.oBtn:disabled{opacity:.5;cursor:not-allowed}.oBtnPay{background:#6366f117;border-color:#6366f140;color:#4338ca}.oBtnPay:hover:not(:disabled){background:#6366f129;border-color:#6366f1}.oBtnCancel{background:#ef444412;border-color:#ef444433;color:#dc2626}.oBtnCancel:hover:not(:disabled){background:#ef444424;border-color:#ef4444}.orderEmpty{font-size:13px;color:#94a3b8;padding:8px 0;text-align:center}.recipes-page,.overlay{--rc-accent: #E8520A;--rc-accent-dark: #B83D06;--rc-accent-mid: #F5924A;--rc-accent-bg: #FDF0EA;--rc-accent-border: rgba(232, 82, 10, .3);--rc-warn-bg: #FFF7ED;--rc-warn-text: #92400E;--rc-warn-border: #FED7AA;--rc-warn-icon: #D97706;--rc-danger-bg: #FEF2F2;--rc-danger: #DC2626;--rc-danger-border: #FECACA;--rc-success-bg: #F0FDF4;--rc-success: #16A34A;--color-background-primary: #ffffff;--color-background-secondary: #f9fafb;--color-background-tertiary: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-border-tertiary: rgba(0,0,0,.08);--color-border-secondary: rgba(0,0,0,.15);--color-border-primary: rgba(0,0,0,.25);--font-sans: system-ui, -apple-system, sans-serif}.recipes-page{padding:20px;font-family:var(--font-sans, system-ui, sans-serif);color:var(--color-text-primary);max-width:1280px;margin:0 auto}.recipes-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary);font-size:14px}.spin{animation:rcp-spin .9s linear infinite}@keyframes rcp-spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;padding:10px 20px;border-radius:99px;font-size:14px;font-weight:500;white-space:nowrap;pointer-events:none;animation:rcp-toast-in .2s ease}@keyframes rcp-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast--success{background:var(--rc-success-bg);color:var(--rc-success);border:1px solid #bbf7d0}.toast--error{background:var(--rc-danger-bg);color:var(--rc-danger);border:1px solid #fecaca}.recipes-page .recipes-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:1.5rem 0 1.25rem;border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:1.25rem;flex-wrap:wrap}.recipes-page .recipes-header-title{display:flex;align-items:center;gap:12px}.recipes-page .title-badge{width:42px;height:42px;border-radius:12px;background:var(--rc-accent-bg);color:var(--rc-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.recipes-page .recipes-header h1{font-size:20px;font-weight:500;line-height:1.2;margin:0}.recipes-page .recipes-subtitle{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.recipes-page .recipes-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipes-page .search-box{display:flex;align-items:center;gap:8px;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:99px;padding:7px 14px;min-width:200px;transition:border-color .15s,box-shadow .15s}.recipes-page .search-box:focus-within{border-color:var(--rc-accent);box-shadow:0 0 0 3px var(--rc-accent-bg)}.recipes-page .search-box svg{color:var(--color-text-tertiary);flex-shrink:0}.recipes-page .search-box input{border:none!important;background:transparent!important;font-size:14px!important;color:var(--color-text-primary)!important;outline:none!important;flex:1;min-width:0;padding:0!important;box-shadow:none!important}.recipes-page .search-box input::placeholder{color:var(--color-text-tertiary)}.recipes-page .search-clear{background:none!important;border:none!important;cursor:pointer;color:var(--color-text-tertiary);display:flex;padding:0!important;transition:color .15s;box-shadow:none!important}.recipes-page .search-clear:hover{color:var(--color-text-primary)}.recipes-page .btn-primary,.recipes-page .btn-secondary,.recipes-page .btn-danger,.recipes-page .btn-icon-text,.overlay .btn-primary,.overlay .btn-secondary,.overlay .btn-danger{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:13px!important;font-weight:500!important;border-radius:8px!important;padding:8px 16px!important;cursor:pointer!important;transition:background .15s,border-color .15s,transform .1s!important;white-space:nowrap!important;line-height:1!important;text-decoration:none!important;box-sizing:border-box!important}.recipes-page .btn-primary:active,.recipes-page .btn-secondary:active,.overlay .btn-primary:active,.overlay .btn-secondary:active{transform:scale(.97)!important}.recipes-page .btn-primary,.overlay .btn-primary{background:var(--rc-accent)!important;color:#fff!important;border:1.5px solid var(--rc-accent)!important}.recipes-page .btn-primary:hover,.overlay .btn-primary:hover{background:var(--rc-accent-dark)!important;border-color:var(--rc-accent-dark)!important}.recipes-page .btn-primary:disabled,.overlay .btn-primary:disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important}.recipes-page .btn-secondary,.overlay .btn-secondary{background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border-secondary)!important}.recipes-page .btn-secondary:hover,.overlay .btn-secondary:hover{background:var(--color-background-secondary)!important}.recipes-page .btn-secondary:disabled,.overlay .btn-secondary:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important}.recipes-page .btn-danger,.overlay .btn-danger{background:#fef2f2!important;color:#dc2626!important;border:1px solid #FECACA!important}.recipes-page .btn-danger:hover,.overlay .btn-danger:hover{background:#fee2e2!important;color:#b91c1c!important}.recipes-page .btn-icon-text{background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border-secondary)!important}.recipes-page .btn-icon-text:hover{background:var(--color-background-secondary)!important}.recipes-page .btn-sm,.overlay .btn-sm{padding:5px 11px!important;font-size:12px!important}.recipes-page .btn-label{display:inline}.recipes-page .btn-icon,.overlay .btn-icon{width:30px!important;height:30px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--color-border-secondary)!important;background:var(--color-background-secondary)!important;cursor:pointer!important;color:var(--color-text-secondary)!important;transition:all .12s!important;flex-shrink:0!important;padding:0!important}.recipes-page .btn-icon:hover,.overlay .btn-icon:hover{color:var(--color-text-primary)!important;background:var(--color-background-primary)!important}.overlay .btn-icon--ok{color:var(--rc-accent)!important}.overlay .btn-icon--ok:hover{background:var(--rc-accent-bg)!important;border-color:var(--rc-accent-border)!important}.overlay .btn-icon--danger:hover{color:var(--rc-danger)!important;border-color:var(--rc-danger-border)!important;background:var(--rc-danger-bg)!important}.recipes-page .cat-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}.recipes-page .cat-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:5px 13px;border-radius:99px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.recipes-page .cat-pill:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.recipes-page .cat-pill.active{background:var(--rc-accent-bg);color:var(--rc-accent-dark);border-color:var(--rc-accent-border)}.recipes-page .recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.recipes-page .recipe-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:16px;overflow:hidden;cursor:pointer;transition:border-color .15s,transform .18s,box-shadow .18s;position:relative;display:flex;flex-direction:column}.recipes-page .recipe-card:hover{border-color:var(--color-border-secondary);transform:translateY(-3px);box-shadow:0 8px 24px #00000012}.recipes-page .card-thumb{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--color-background-secondary);position:relative;display:flex;align-items:center;justify-content:center}.recipes-page .card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.recipes-page .recipe-card:hover .card-thumb img{transform:scale(1.04)}.recipes-page .card-thumb-placeholder{color:var(--color-text-tertiary);opacity:.45}.recipes-page .card-cat-badge{position:absolute;top:8px;left:8px;background:#ffffffeb;border-radius:99px;font-size:11px;font-weight:500;padding:3px 9px;color:var(--rc-accent-dark);display:flex;align-items:center;gap:3px;pointer-events:none}.recipes-page .card-warn-badge{position:absolute;top:8px;right:8px;background:#fff7eded;border-radius:99px;font-size:11px;font-weight:500;color:var(--rc-warn-text);padding:3px 9px;display:flex;align-items:center;gap:3px;pointer-events:none}.recipes-page .card-body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}.recipes-page .card-name{font-size:14px;font-weight:500;line-height:1.4;margin-bottom:4px;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipes-page .card-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipes-page .card-ings{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.recipes-page .ing-chip{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary);display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.recipes-page .ing-chip--low{background:var(--rc-warn-bg);color:var(--rc-warn-text);border-color:var(--rc-warn-border)}.recipes-page .card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.recipes-page .card-servings{font-size:12px;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px}.recipes-page .card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.recipes-page .recipe-card:hover .card-actions{opacity:1}.recipes-page .btn-icon-danger{width:28px!important;height:28px!important;border-radius:7px!important;border:none!important;background:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--color-text-tertiary)!important;flex-shrink:0!important;transition:all .12s!important;padding:0!important}.recipes-page .btn-icon-danger:hover,.overlay .btn-icon-danger:hover{color:var(--rc-danger)!important;background:var(--rc-danger-bg)!important}.recipes-page .grid-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:4rem 1rem;color:var(--color-text-tertiary);text-align:center}.recipes-page .grid-empty p{font-size:14px;color:var(--color-text-secondary)}.recipes-page .pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:1.75rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.recipes-page .pagination-info{font-size:13px;color:var(--color-text-secondary)}.recipes-page .pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipes-page .pagination-pages{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.recipes-page .limit-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.recipes-page .limit-select{font-size:12px!important;padding:4px 8px!important;border-radius:6px!important;border:.5px solid var(--color-border-secondary)!important;background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;cursor:pointer!important}.overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;animation:rcp-overlay-in .15s ease}@keyframes rcp-overlay-in{0%{opacity:0}to{opacity:1}}.overlay .modal,.overlay .modal.modal--sm,.overlay .modal.modal--md,.overlay .modal.modal--lg{background:var(--color-background-primary)!important;border-radius:16px!important;border:.5px solid var(--color-border-secondary)!important;padding:28px!important;position:relative!important;width:100%!important;animation:rcp-modal-in .2s ease;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;box-shadow:0 24px 60px -12px #00000047!important;background-color:var(--color-background-primary)!important;color:var(--color-text-primary)!important}@keyframes rcp-modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.overlay .modal--sm{max-width:380px!important}.overlay .modal--md{max-width:520px!important}.overlay .modal--lg{max-width:700px!important}.overlay .modal-close{position:absolute!important;top:16px!important;right:16px!important;width:30px!important;height:30px!important;border-radius:99px!important;background:var(--color-background-secondary)!important;border:.5px solid var(--color-border-secondary)!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--color-text-secondary)!important;transition:background .12s,color .12s!important;flex-shrink:0!important;padding:0!important}.overlay .modal-close:hover{background:var(--color-background-tertiary)!important;color:var(--color-text-primary)!important}.overlay .modal-title{font-size:17px!important;font-weight:500!important;margin:0 0 20px!important;padding-right:40px!important;display:flex!important;align-items:center!important;gap:8px!important;color:var(--color-text-primary)!important}.overlay .title-icon{color:var(--rc-accent);flex-shrink:0}.overlay .confirm-icon{width:48px;height:48px;border-radius:99px;background:var(--rc-danger-bg);color:var(--rc-danger);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.overlay .dialog-msg{text-align:center;font-size:15px;margin-bottom:20px;color:var(--color-text-primary)}.overlay .dialog-actions{display:flex;gap:10px;justify-content:center}.overlay .cat-add-row{display:flex;gap:8px;margin-bottom:16px}.overlay .cat-add-row input{flex:1!important;font-size:14px!important;padding:8px 12px!important;border:.5px solid var(--color-border-secondary)!important;border-radius:8px!important;background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;outline:none!important;transition:border-color .15s,box-shadow .15s!important}.overlay .cat-add-row input:focus{border-color:var(--rc-accent)!important;box-shadow:0 0 0 3px var(--rc-accent-bg)!important}.overlay .cat-manage-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;margin-bottom:16px}.overlay .cat-manage-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary)}.overlay .cat-name{flex:1;font-size:14px;display:flex;align-items:center;gap:6px;color:var(--color-text-primary)}.overlay .cat-name--del{color:var(--rc-danger)}.overlay .cat-edit-input{flex:1!important;font-size:14px!important;padding:4px 8px!important;border:.5px solid var(--rc-accent)!important;border-radius:6px!important;background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;outline:none!important;box-shadow:0 0 0 3px var(--rc-accent-bg)!important}.overlay .recipe-form{display:flex;flex-direction:column}.overlay .form-group{margin-bottom:18px}.overlay .form-group label{display:block!important;font-size:13px!important;font-weight:500!important;color:var(--color-text-secondary)!important;margin-bottom:6px!important}.overlay .optional{font-weight:400;color:var(--color-text-tertiary);font-size:12px;margin-left:4px}.overlay .form-group input:not([type=file]),.overlay .form-group textarea,.overlay .form-group select,.overlay .cat-select-row select,.overlay .cat-select-row input{width:100%!important;font-size:14px!important;padding:9px 12px!important;border:.5px solid var(--color-border-secondary)!important;border-radius:8px!important;background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;outline:none!important;transition:border-color .15s,box-shadow .15s!important;font-family:inherit!important;box-sizing:border-box!important;appearance:auto}.overlay .form-group input:not([type=file]):focus,.overlay .form-group textarea:focus,.overlay .form-group select:focus,.overlay .cat-select-row select:focus,.overlay .cat-select-row input:focus{border-color:var(--rc-accent)!important;box-shadow:0 0 0 3px var(--rc-accent-bg)!important}.overlay .form-group textarea{resize:vertical!important;min-height:72px!important;line-height:1.6!important}.overlay .form-group--sm{flex:0 0 110px;min-width:90px}.overlay .form-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.overlay .form-row .form-group{margin-bottom:18px}.overlay .form-row .form-group:first-child{flex:1;min-width:160px}.overlay .form-empty-note{font-size:13px;color:var(--color-text-tertiary);margin-bottom:10px}.overlay .form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;margin-top:4px;border-top:.5px solid var(--color-border-tertiary)}.overlay .image-picker{width:100%!important;border:1.5px dashed var(--color-border-secondary)!important;border-radius:12px!important;background:var(--color-background-secondary)!important;cursor:pointer!important;overflow:hidden!important;transition:border-color .15s,background .15s!important;display:block!important;padding:0!important}.overlay .image-picker:hover{border-color:var(--rc-accent)!important;background:var(--rc-accent-bg)!important}.overlay .image-picker.has-img{border-style:solid!important;position:relative}.overlay .image-picker.has-img img{width:100%!important;height:180px!important;object-fit:cover!important;display:block!important}.overlay .image-picker-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:var(--color-text-tertiary)!important;font-size:13px!important;padding:32px 16px!important}.overlay .image-picker-edit{position:absolute;bottom:8px;right:8px;background:#ffffffe6;border-radius:99px;font-size:12px;font-weight:500;padding:4px 12px;display:flex;align-items:center;gap:4px;color:#1a1a1a;pointer-events:none}.overlay .cat-select-row{display:flex;gap:8px;align-items:center}.overlay .cat-select-row select,.overlay .cat-select-row input{flex:1;width:auto!important}.overlay .ing-form-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) transparent}.overlay .ing-form-list::-webkit-scrollbar{width:4px}.overlay .ing-form-list::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:99px}.overlay .ing-form-row{display:grid;grid-template-columns:1fr 72px auto auto;align-items:center;gap:8px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:10px;padding:8px 10px}.overlay .ing-select{width:100%!important;min-width:0!important;font-size:13px!important;font-family:inherit!important;font-weight:400!important;display:block!important;padding:8px 32px 8px 10px!important;border:1.5px solid var(--color-border-secondary)!important;border-radius:8px!important;background-color:var(--color-background-primary)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;color:var(--color-text-primary)!important;outline:none!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;line-height:1.4!important;box-sizing:border-box!important;transition:border-color .15s,box-shadow .15s!important}.overlay .ing-select:hover{border-color:var(--color-border-primary)!important}.overlay .ing-select:focus{border-color:var(--rc-accent)!important;box-shadow:0 0 0 3px var(--rc-accent-bg)!important}.overlay .ing-select option{font-size:13px;font-weight:400;color:var(--color-text-primary);background:var(--color-background-primary)}.overlay .ing-select option[value=""]{color:var(--color-text-tertiary)}.overlay .ing-input-qty{width:72px!important;font-size:13px!important;padding:7px 8px!important;border:.5px solid var(--color-border-secondary)!important;border-radius:7px!important;background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;outline:none!important;text-align:center!important;flex-shrink:0!important}.overlay .ing-input-qty:focus{border-color:var(--rc-accent)!important;box-shadow:0 0 0 2px var(--rc-accent-bg)!important}.overlay .ing-unit{font-size:12px;color:var(--color-text-tertiary);min-width:32px;flex-shrink:0;font-weight:500}.overlay .btn-icon-danger{width:28px!important;height:28px!important;border-radius:7px!important;border:none!important;background:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--color-text-tertiary)!important;flex-shrink:0!important;transition:all .12s!important;padding:0!important}.overlay .btn-icon-danger:hover{color:var(--rc-danger)!important;background:var(--rc-danger-bg)!important}.overlay .btn-add-ing{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:13px!important;font-weight:500!important;color:var(--rc-accent)!important;background:var(--rc-accent-bg)!important;border:1.5px dashed var(--rc-accent-border)!important;border-radius:8px!important;padding:7px 14px!important;cursor:pointer!important;margin-top:4px!important;transition:background .12s,border-color .12s!important;align-self:flex-start!important}.overlay .btn-add-ing:hover{background:#fde8d8!important;border-color:var(--rc-accent)!important}.overlay .detail-hero{position:relative;border-radius:12px;overflow:hidden;margin-bottom:20px;background:var(--color-background-secondary);min-height:160px}.overlay .detail-hero-img{width:100%;height:240px;object-fit:cover;display:block}.overlay .detail-hero-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.overlay .detail-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 16px;background:linear-gradient(transparent,#00000094)}.overlay .detail-cat{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;background:var(--rc-accent);color:#fff;padding:3px 10px;border-radius:99px;margin-bottom:6px}.overlay .detail-name{font-size:20px;font-weight:500;color:#fff;line-height:1.3;margin:0}.overlay .detail-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:#fffc;margin-top:6px;flex-wrap:wrap}.overlay .detail-meta-sep{opacity:.5}.overlay .detail-desc{font-size:14px;color:var(--color-text-secondary);line-height:1.65;margin-bottom:18px}.overlay .panel-head{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.overlay .ingredients{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.overlay .ing-row{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:10px;font-size:13px}.overlay .ing-row.unavailable{border-color:var(--rc-warn-border);background:var(--rc-warn-bg)}.overlay .ing-name{flex:1;font-weight:500;color:var(--color-text-primary)}.overlay .ing-qty{color:var(--color-text-secondary);white-space:nowrap;font-size:12px}.overlay .ing-stock{font-size:12px;color:var(--color-text-tertiary);display:flex;align-items:center;white-space:nowrap}.overlay .ing-row.unavailable .ing-stock{color:var(--rc-warn-icon)}.overlay .warn-icon{color:var(--rc-warn-icon);flex-shrink:0}.overlay .detail-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:12px;border-top:.5px solid var(--color-border-tertiary)}.overlay .detail-edit-cta{min-width:120px;justify-content:center}@media (min-width: 1024px){.recipes-page .recipes-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (max-width: 768px){.recipes-page .recipes-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.recipes-page .recipes-header{flex-direction:column;align-items:flex-start;gap:12px}.recipes-page .recipes-toolbar{width:100%}.recipes-page .search-box{flex:1;min-width:0}.recipes-page .btn-label{display:none}.overlay .modal{padding:20px 18px}}@media (max-width: 480px){.recipes-page .recipes-grid{grid-template-columns:repeat(2,1fr);gap:10px}.recipes-page .card-actions{opacity:1}.recipes-page .card-desc{display:none}.recipes-page .pagination{flex-direction:column;align-items:flex-start}.recipes-page .pagination-controls{width:100%;justify-content:flex-end}.overlay .form-row{flex-direction:column}.overlay .form-group--sm{flex:unset;width:100%}.overlay .ing-form-row{flex-wrap:wrap}.overlay .ing-select{min-width:100%;order:0}.overlay .ing-input-qty{order:1}.overlay .ing-unit{order:2}.overlay .btn-icon-danger{order:3}.overlay .detail-hero-img{height:160px}.overlay .detail-name{font-size:17px}.overlay .dialog-actions{flex-direction:column}.overlay .dialog-actions button{width:100%;justify-content:center}.overlay .modal{padding:16px 14px;border-radius:12px}.overlay .modal-title{font-size:15px!important}}@media (max-width: 360px){.recipes-page .recipes-grid{grid-template-columns:1fr 1fr;gap:8px}.recipes-page .card-name{font-size:13px}}.recipes-page .recipe-card{display:flex;flex-direction:column;background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.4,.56,1),box-shadow .18s ease,border-color .15s ease}.recipes-page .recipe-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000014;border-color:var(--rc-accent-border)}.recipes-page .recipe-card:active{transform:translateY(-1px)}.recipes-page .recipe-card-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--color-background-secondary);flex-shrink:0}.recipes-page .recipe-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s cubic-bezier(.34,1.4,.56,1)}.recipes-page .recipe-card:hover .recipe-card-img{transform:scale(1.05)}.recipes-page .recipe-card-img--empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-border-secondary);background:var(--color-background-secondary)}.recipes-page .recipe-card-cat{position:absolute;bottom:8px;left:8px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 16px);font-size:11px;font-weight:600;padding:4px 9px;border-radius:99px;background:#ffffffeb;color:var(--rc-accent-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.recipes-page .recipe-card-flag{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:99px;background:var(--rc-warn-icon);color:#fff;pointer-events:none}.recipes-page .recipe-card-body{display:flex;flex-direction:column;flex:1;padding:12px 14px 13px;gap:4px}.recipes-page .recipe-card-name{font-size:14px;font-weight:600;line-height:1.35;color:var(--color-text-primary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipes-page .recipe-card-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipes-page .recipe-card-ings{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.recipes-page .recipe-card-ing-chip{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary);white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.recipes-page .recipe-card-ing-more{background:var(--rc-accent-bg);color:var(--rc-accent-dark);border-color:var(--rc-accent-border);font-weight:600}.recipes-page .recipe-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:.5px solid var(--color-border-tertiary)}.recipes-page .recipe-card-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-secondary)}.recipes-page .recipe-card-chip svg{color:var(--color-text-tertiary)}.recipes-page .recipe-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.recipes-page .recipe-card:hover .recipe-card-actions{opacity:1}.recipes-page .recipe-card-btn{width:28px!important;height:28px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:.5px solid var(--color-border-secondary)!important;background:var(--color-background-secondary)!important;color:var(--color-text-secondary)!important;cursor:pointer!important;transition:all .12s ease!important;padding:0!important;flex-shrink:0!important}.recipes-page .recipe-card-btn:hover{background:var(--color-background-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-primary)!important}.recipes-page .recipe-card-btn--danger:hover{color:var(--rc-danger)!important;border-color:var(--rc-danger-border)!important;background:var(--rc-danger-bg)!important}@media (max-width: 480px){.recipes-page .recipe-card-actions{opacity:1}.recipes-page .recipe-card-desc{display:none}}.rs-page{padding-top:24px;padding-bottom:24px;max-width:1080px;margin:0 auto;--rs-accent: var(--rcp-accent, #16a34a);--rs-accent-soft: var(--rcp-accent-soft, #f0fdf4);--rs-accent-border: var(--rcp-accent-border, #bbf7d0)}.rs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:12px;color:var(--color-text-secondary, #888);font-size:14px}.rs-spin{animation:rs-spin 1s linear infinite}@keyframes rs-spin{to{transform:rotate(360deg)}}.rs-header{margin-bottom:18px}.rs-header-title{display:flex;align-items:center;gap:12px}.rs-title-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--rs-accent-soft);color:var(--rs-accent);flex-shrink:0}.rs-header-title h1{font-size:22px;font-weight:600;margin:0;color:var(--color-text-primary, #111)}.rs-subtitle{margin:2px 0 0;font-size:13px;color:var(--color-text-secondary, #888)}.rs-hud{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.rs-hud-card{flex:1;min-width:150px;background:var(--color-bg-secondary, #f7f7f8);border:1px solid var(--color-border, #ececed);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px}.rs-hud-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;flex-shrink:0}.rs-hud-icon--accent{background:var(--rs-accent-soft);color:var(--rs-accent)}.rs-hud-icon--blue{background:#eff6ff;color:#2563eb}.rs-hud-label{font-size:11px;color:var(--color-text-secondary, #888)}.rs-hud-val{font-size:16px;font-weight:600;color:var(--color-text-primary, #111);line-height:1.2}.rs-week{display:flex;align-items:stretch;gap:8px;margin-bottom:6px}.rs-week-nav{display:inline-flex;align-items:center;justify-content:center;width:34px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-primary, #fff);border-radius:10px;color:var(--color-text-secondary, #888);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s,border-color .12s}.rs-week-nav:hover{border-color:var(--rs-accent);color:var(--rs-accent);background:var(--rs-accent-soft)}.rs-week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;flex:1}.rs-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;background:var(--color-bg-primary, #fff);cursor:pointer;transition:border-color .12s,background .12s,transform .08s}.rs-day:hover{border-color:var(--rs-accent-border)}.rs-day:active{transform:scale(.97)}.rs-day-name{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #999)}.rs-day-num{font-size:17px;font-weight:600;color:var(--color-text-primary, #111);line-height:1}.rs-day.today{border-color:var(--rs-accent-border)}.rs-day.today .rs-day-name{color:var(--rs-accent)}.rs-day.selected{background:var(--rs-accent);border-color:var(--rs-accent)}.rs-day.selected .rs-day-name,.rs-day.selected .rs-day-num{color:#fff}.rs-day-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rs-accent);color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--color-bg-primary, #fff)}.rs-day.selected .rs-day-count{background:#fff;color:var(--rs-accent);box-shadow:0 0 0 2px var(--rs-accent)}.rs-week-reset{background:none;border:none;color:var(--rs-accent);font-size:12px;font-weight:500;cursor:pointer;padding:4px 2px;margin-bottom:4px}.rs-week-reset:hover{text-decoration:underline}.rs-day-panel{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:14px;padding:18px;margin-top:10px}.rs-day-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.rs-day-title{font-size:17px;font-weight:600;margin:0;color:var(--color-text-primary, #111);text-transform:capitalize}.rs-day-sub{font-size:12px;color:var(--color-text-secondary, #888)}.rs-btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--rs-accent);color:#fff;border:none;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:filter .12s,transform .08s}.rs-btn-primary:hover{filter:brightness(1.05)}.rs-btn-primary:active{transform:scale(.97)}.rs-inline-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--color-text-secondary, #888);font-size:13px}.rs-day-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px;color:var(--color-text-secondary, #aaa);text-align:center}.rs-day-empty p{margin:0;font-size:14px}.rs-sched-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.rs-sched-card{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--color-border, #e5e7eb);border-radius:11px;background:var(--color-bg-primary, #fff);transition:border-color .12s,box-shadow .12s}.rs-sched-card:hover{border-color:var(--rs-accent-border);box-shadow:0 1px 6px #0000000a}.rs-sched-thumb{width:46px;height:46px;border-radius:9px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--rs-accent-soft);color:var(--rs-accent)}.rs-sched-thumb img{width:100%;height:100%;object-fit:cover}.rs-sched-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rs-sched-name{font-size:13px;font-weight:600;color:var(--color-text-primary, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-sched-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-secondary, #888)}.rs-sched-remove{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:8px;color:var(--color-text-secondary, #bbb);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.rs-sched-remove:hover{background:#fef2f2;color:#dc2626}.rs-sched-remove:disabled{pointer-events:none;opacity:.6}.rs-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:rs-fade .15s ease}@keyframes rs-fade{0%{opacity:0}to{opacity:1}}.rs-modal{position:relative;background:var(--color-bg-primary, #fff);border-radius:16px;padding:22px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 12px 40px #0000002e;animation:rs-pop .16s ease}@keyframes rs-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.rs-modal-close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;color:var(--color-text-secondary, #888);cursor:pointer;transition:background .12s}.rs-modal-close:hover{background:#e5e7eb}.rs-modal-title{font-size:17px;font-weight:600;margin:0;color:var(--color-text-primary, #111)}.rs-modal-sub{margin:2px 0 16px;font-size:13px;color:var(--rs-accent);font-weight:500;text-transform:capitalize}.rs-modal-controls{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.rs-search{flex:1;min-width:160px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:10px;color:var(--color-text-secondary, #999)}.rs-search:focus-within{border-color:var(--rs-accent)}.rs-search input{flex:1;border:none;outline:none;padding:9px 0;font-size:13px;background:none;color:var(--color-text-primary, #111)}.rs-search-clear{border:none;background:none;cursor:pointer;color:var(--color-text-secondary, #bbb);display:flex;padding:2px}.rs-servings{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:10px}.rs-servings label{font-size:12px;color:var(--color-text-secondary, #888)}.rs-servings input{width:56px;border:none;outline:none;padding:9px 0;font-size:13px;background:none;color:var(--color-text-primary, #111)}.rs-modal-empty{font-size:13px;color:var(--color-text-secondary, #aaa);padding:18px 0;text-align:center}.rs-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.rs-pick-card{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--color-border, #e5e7eb);border-radius:11px;background:var(--color-bg-primary, #fff);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.rs-pick-card:hover:not(:disabled){border-color:var(--rs-accent);background:var(--rs-accent-soft)}.rs-pick-card:disabled{opacity:.55;cursor:default}.rs-pick-thumb{position:relative;width:44px;height:44px;border-radius:9px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--rs-accent-soft);color:var(--rs-accent)}.rs-pick-thumb img{width:100%;height:100%;object-fit:cover}.rs-pick-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;color:var(--rs-accent)}.rs-pick-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rs-pick-name{font-size:13px;font-weight:600;color:var(--color-text-primary, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-pick-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-secondary, #888)}.rs-pick-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--rs-accent-soft);color:var(--rs-accent);flex-shrink:0}.rs-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:10px;font-size:13px;font-weight:500;z-index:200;color:#fff;animation:rs-toast-in .2s ease}.rs-toast--success{background:var(--rs-accent)}.rs-toast--error{background:#dc2626}@keyframes rs-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 560px){.rs-page{padding:14px}.rs-day-num{font-size:15px}.rs-sched-list,.rs-pick-grid{grid-template-columns:1fr}.rs-day-panel-head .rs-btn-primary{width:100%;justify-content:center}}.ki-page,.ki-page *{box-sizing:border-box}.ki-page{--ki-accent: #E8520A;--ki-accent-dark: #B83D06;--ki-accent-bg: #FDF0EA;--ki-accent-border: rgba(232, 82, 10, .3);--ki-warn-bg: #FFF7ED;--ki-warn-text: #92400E;--ki-warn-border: #FED7AA;--ki-warn-icon: #D97706;--ki-ok-bg: #F0FDF4;--ki-ok-text: #15803D;--ki-ok-border: #BBF7D0;--ki-empty-bg: #FEF2F2;--ki-empty-text: #DC2626;--ki-empty-border: #FECACA;--ki-danger: #DC2626;--color-background-primary: #ffffff;--color-background-secondary: #f9fafb;--color-background-tertiary: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-border-tertiary: rgba(0,0,0,.08);--color-border-secondary: rgba(0,0,0,.15);--color-border-primary: rgba(0,0,0,.25);--font-sans: system-ui, -apple-system, sans-serif;padding:10px;font-family:var(--font-sans);color:var(--color-text-primary);max-width:1280px;margin:0 auto}.spin{animation:ki-spin .9s linear infinite}@keyframes ki-spin{to{transform:rotate(360deg)}}.ki-loading,.ki-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary);text-align:center}.ki-loading p,.ki-empty p{font-size:14px;margin:0;color:var(--color-text-secondary)}.ki-empty svg{color:var(--color-text-tertiary)}.ki-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:1.5rem 0 1.25rem;border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:1.25rem;flex-wrap:wrap}.ki-header-title{display:flex;align-items:center;gap:12px}.ki-title-badge{width:42px;height:42px;border-radius:12px;background:var(--ki-accent-bg);color:var(--ki-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ki-header h1{font-size:20px;font-weight:500;line-height:1.2;margin:0}.ki-subtitle{font-size:13px;color:var(--color-text-secondary);margin:2px 0 0}.ki-subtitle-warn{color:var(--ki-warn-text);font-weight:500}.ki-toolbar{display:flex;align-items:center;gap:8px}.ki-search{display:flex;align-items:center;gap:8px;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:99px;padding:7px 14px;min-width:200px;transition:border-color .15s,box-shadow .15s}.ki-search:focus-within{border-color:var(--ki-accent);box-shadow:0 0 0 3px var(--ki-accent-bg)}.ki-search svg{color:var(--color-text-tertiary);flex-shrink:0}.ki-search input{border:none;background:transparent;font-size:14px;color:var(--color-text-primary);outline:none;flex:1;min-width:0;font-family:inherit}.ki-search input::placeholder{color:var(--color-text-tertiary)}.ki-search-clear{background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);display:flex;padding:0;transition:color .15s}.ki-search-clear:hover{color:var(--color-text-primary)}.ki-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}.ki-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:5px 13px;border-radius:99px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.ki-pill:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.ki-pill.active{background:var(--ki-accent-bg);color:var(--ki-accent-dark);border-color:var(--ki-accent-border)}.ki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.ki-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:16px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .18s cubic-bezier(.34,1.4,.56,1),box-shadow .18s ease,border-color .15s}.ki-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000014;border-color:var(--ki-accent-border)}.ki-card--low{border-color:var(--ki-warn-border)}.ki-card--low:hover{border-color:var(--ki-warn-icon)}.ki-card-thumb{position:relative;aspect-ratio:4/3;background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.ki-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.ki-card:hover .ki-card-thumb img{transform:scale(1.04)}.ki-card-thumb svg{color:var(--color-text-tertiary);opacity:.4}.ki-card-flag{position:absolute;top:8px;right:8px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;pointer-events:none}.ki-card-flag--low{background:var(--ki-warn-icon);color:#fff}.ki-card-flag--empty{background:var(--ki-danger);color:#fff}.ki-card-body{padding:12px 14px 13px;display:flex;flex-direction:column;flex:1;gap:3px}.ki-card-name{font-size:14px;font-weight:600;line-height:1.35;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-card-supplier{font-size:11px;color:var(--color-text-tertiary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border-tertiary)}.ki-card-stock{font-size:13px;font-weight:600;color:var(--ki-ok-text)}.ki-card-stock.warn{color:var(--ki-warn-text)}.ki-card-arrow{color:var(--color-text-tertiary);flex-shrink:0}.ki-stock-bar{height:3px;background:var(--color-background-secondary);border-radius:99px;overflow:hidden;margin-top:8px}.ki-stock-bar-fill{height:100%;border-radius:99px;transition:width .4s ease}.ki-stock-bar-fill.ok{background:var(--ki-ok-text)}.ki-stock-bar-fill.low{background:var(--ki-warn-icon)}.ki-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}.ki-badge--ok{background:var(--ki-ok-bg);color:var(--ki-ok-text);border:.5px solid var(--ki-ok-border)}.ki-badge--low{background:var(--ki-warn-bg);color:var(--ki-warn-text);border:.5px solid var(--ki-warn-border)}.ki-badge--empty{background:var(--ki-empty-bg);color:var(--ki-empty-text);border:.5px solid var(--ki-empty-border)}.ki-btn-secondary{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:8px 16px;border-radius:8px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:background .15s}.ki-btn-secondary:hover{background:var(--color-background-secondary)}.ki-btn-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:0;margin-bottom:20px;font-family:inherit;transition:color .15s}.ki-btn-back:hover{color:var(--ki-accent)}.ki-detail-loading,.ki-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary);text-align:center}.ki-detail-error{color:var(--ki-danger)}.ki-detail-error p{margin:0}.ki-detail-hero{display:flex;gap:20px;align-items:flex-start;background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:16px;padding:20px;margin-bottom:24px;flex-wrap:wrap}.ki-detail-thumb{width:120px;height:120px;border-radius:12px;background:var(--color-background-secondary);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ki-detail-thumb img{width:100%;height:100%;object-fit:cover}.ki-detail-thumb svg{color:var(--color-text-tertiary);opacity:.4}.ki-detail-meta{flex:1;min-width:200px}.ki-detail-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ki-detail-name{font-size:20px;font-weight:600;margin:0;color:var(--color-text-primary)}.ki-detail-supplier{font-size:13px;color:var(--color-text-secondary);margin:0 0 14px}.ki-detail-stats{display:flex;gap:16px;flex-wrap:wrap}.ki-stat{display:flex;flex-direction:column;gap:2px;background:var(--color-background-secondary);border-radius:10px;padding:10px 14px;min-width:100px}.ki-stat-label{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.ki-stat-val{font-size:20px;font-weight:600;color:var(--color-text-primary);line-height:1.2}.ki-stat-val.warn{color:var(--ki-warn-text)}.ki-stat-val small{font-size:12px;font-weight:400;color:var(--color-text-secondary);margin-left:2px}.ki-section-head{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.ki-empty-note{font-size:13px;color:var(--color-text-tertiary);font-style:italic;margin:0}.ki-hist-list{display:flex;flex-direction:column;border:.5px solid var(--color-border-tertiary);border-radius:12px;overflow:hidden}.ki-hist-row{display:flex;align-items:center;gap:12px;padding:11px 14px;font-size:13px;background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary)}.ki-hist-row:last-child{border-bottom:none}.ki-hist-row:nth-child(2n){background:var(--color-background-secondary)}.ki-hist-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ki-hist-icon.add{background:var(--ki-ok-bg);color:var(--ki-ok-text)}.ki-hist-icon.sub{background:var(--ki-warn-bg);color:var(--ki-warn-icon)}.ki-hist-icon.neu{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.ki-hist-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ki-hist-reason{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-hist-date{font-size:11px;color:var(--color-text-tertiary);display:flex;align-items:center;gap:4px}.ki-hist-amounts{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ki-hist-delta{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.ki-hist-delta.add{color:var(--ki-ok-text)}.ki-hist-delta.sub{color:var(--ki-warn-icon)}.ki-hist-range{font-size:11px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}@media (max-width: 768px){.ki-header{flex-direction:column;align-items:flex-start;gap:12px}.ki-toolbar{width:100%}.ki-search{flex:1;min-width:0}.ki-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.ki-detail-thumb{width:90px;height:90px}.ki-detail-name{font-size:17px}}@media (max-width: 480px){.ki-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ki-detail-hero{flex-direction:column}.ki-detail-thumb{width:100%;height:160px;border-radius:10px}.ki-stat-val{font-size:17px}}.ki-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:1.75rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.ki-pagination-info{font-size:13px;color:var(--color-text-secondary)}.ki-pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ki-pagination-pages{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.ki-limit-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.ki-limit-select{font-size:12px;padding:4px 8px;border-radius:6px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;font-family:inherit}.ki-btn-sm{padding:5px 11px!important;font-size:12px!important}.ki-btn-secondary:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 480px){.ki-pagination{flex-direction:column;align-items:flex-start}.ki-pagination-controls{width:100%;justify-content:flex-end}}
