*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(160deg,#f5f0ff 0%,#ede9fe 50%,#f3eeff 100%) fixed;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-size:15px}input[type=number]::-webkit-inner-spin-button{appearance:none}input[type=number]::-webkit-outer-spin-button{appearance:none}input[type=number]{appearance:textfield}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.hidden{display:none!important}.header{background:#7c3aed;box-shadow:0 4px 24px #7c3aed66}.header-inner{max-width:960px;margin:0 auto;padding:16px 14px 0}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.brand-sub{letter-spacing:3px;color:#fffc;text-transform:uppercase;text-shadow:none;margin-bottom:4px;font-size:11px}.formula-name{color:#fff;cursor:pointer;text-shadow:none;align-items:center;gap:7px;font-size:26px;font-weight:800;display:flex}.formula-input{color:#fff;width:min(320px,100%);text-shadow:none;letter-spacing:-.3px;background:0 0;border:none;border-bottom:2px solid #fff9;outline:none;padding:2px 0;font-family:inherit;font-size:clamp(18px,4vw,26px);font-weight:800}.header-controls{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.lot-box{box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border:1.5px solid #ffffff6b;border-radius:12px;align-items:center;gap:7px;padding:6px 14px;display:flex}.lot-label{color:#ffffffbf;letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:700}.lot-input{color:#fff;text-align:right;background:0 0;border:none;outline:none;width:clamp(55px,12vw,75px);font-family:inherit;font-size:22px;font-weight:900}.lot-input::placeholder{color:#ffffff4d;font-weight:400}.lot-unit{color:#ffffffb3;font-size:13px;font-weight:600}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:20px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .18s}.btn-lib{color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff52}.btn-lib:hover{background:#ffffff47}.btn-save{color:#1a1a00;background:gold;font-weight:800;box-shadow:0 3px 12px #ffd70066}.btn-save:hover{color:#1a1a00;background:#ffe033}.btn-saved{color:#fff;background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #0478574d}.btn-export{color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff52;font-weight:600}.btn-export:hover{color:#fff;background:#ffffff47}.btn-reset{color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff52}.btn-reset:hover{background:#ffffff47}.btn-undo{color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff52}.btn-undo:hover{background:#ffffff47}.btn-cost{color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff52}.btn-cost:hover{background:#ffffff47}.btn-cost.active{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000;box-shadow:0 2px 8px #d977064d}.type-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-bottom:1px solid #ffffff14;border-radius:12px 12px 0 0;flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.type-btn{cursor:pointer;color:#ffffffbf;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff59;border-radius:20px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.type-btn.active{color:#1a1a00;background:gold;border-color:#0000;font-weight:800;box-shadow:0 3px 10px #ffd70073}.type-selector-wrap{flex-wrap:wrap;align-items:center;gap:10px;padding:2px 0;display:flex}.type-dropdown-wrap{flex-shrink:0;position:relative}.type-dropdown{appearance:none;color:#fff;cursor:pointer;background:#ffffff2e;border:1.5px solid #ffffff4d;border-radius:10px;outline:none;min-width:min(220px,100%);max-width:100%;padding:8px 36px 8px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.type-dropdown:hover{background:#ffffff47}.type-dropdown option{color:#fff;background:#7c3aed;font-weight:600}.type-dropdown-arrow{color:#fffc;pointer-events:none;font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.type-active-badge{background:gold;border-radius:999px;flex-shrink:0;align-items:center;padding:7px 16px;display:inline-flex;box-shadow:0 2px 10px #ffd70073}.tab-badge-name{color:#1a1a00;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;font-weight:800;overflow:hidden}.progress-bar-wrap{background:#ffffff1f;border-radius:0 0 12px 12px;padding:11px 14px}.progress-legend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;margin-bottom:6px;display:flex}.progress-dots{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.progress-dot{color:#ffffffe6;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.progress-status{letter-spacing:.5px;font-size:13px;font-weight:800}.progress-track{background:#ffffff14;border-radius:4px;height:7px;display:flex;overflow:hidden}.progress-seg{flex-shrink:0;height:100%;transition:width .3s}.progress-over{background:repeating-linear-gradient(45deg,#dc2626 0 4px,#fca5a5 4px 8px);flex:1;height:100%}.content{flex-direction:column;gap:13px;max-width:960px;margin:0 auto;padding:14px 10px 40px;display:flex}.phase-card{background:#fff;border:1px solid #c4b5fd40;border-radius:14px;overflow:clip;box-shadow:0 2px 12px #7c3aed14,0 1px 3px #0000000a}.phase-header{justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.phase-title{align-items:center;gap:7px;display:flex}.phase-icon{font-size:15px}.phase-label{letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:700}.phase-total{align-items:center;gap:14px;display:flex}.phase-pct{font-size:21px;font-weight:900}.phase-pct-unit{color:#9ca3af;font-size:11px}.phase-grams{color:#9ca3af;text-align:right;min-width:50px;font-size:12px}.col-headers{border-bottom:1px solid #f3f4f6;gap:5px;padding:6px 13px 3px;display:grid}.col-h{letter-spacing:1.5px;color:#cbd5e1;text-transform:uppercase;font-size:11px;font-weight:700}.col-h.right{text-align:right}.water-row{background:#f0fdff;border-bottom:1px solid #e0f7fa;align-items:center;gap:5px;padding:4px 13px;display:grid}.water-label{background:#e0f7fa;border:1.5px solid #67e8f9;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:4px 8px;display:flex}.water-name{color:#0891b2;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.water-badge{color:#fff;background:#0891b2;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:9px;font-weight:700}.water-pct{text-align:right;font-size:13px;font-weight:700}.water-g{text-align:right;color:#374151;white-space:nowrap;font-size:12px;font-weight:600}.ing-row{align-items:center;gap:5px;padding:4px 13px;display:grid}.ing-row.conflict-row{background:#fef2f2!important}.ing-row.conflict-row .dd-trigger{border-color:#fca5a5!important}.dd-wrap{min-width:0;position:relative}.dd-trigger{cursor:pointer;color:#9ca3af;-webkit-user-select:none;user-select:none;background:#fafafa;border:1.5px solid #8b5cf633;border-radius:7px;align-items:center;gap:5px;width:100%;min-height:32px;padding:4px 8px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.dd-trigger.has-value{color:#111827;font-size:13px;font-weight:500}.dd-arrow{flex-shrink:0;font-size:8px}.dd-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.dd-panel{z-index:9999;background:#fff;border-radius:10px;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000002e}.dd-search-wrap{border-bottom:2px solid #eee;padding:6px 7px}.dd-search{background:#f9fafb;border:none;border-radius:6px;outline:none;width:100%;padding:5px 8px;font-family:inherit;font-size:16px}.dd-group-header{letter-spacing:1.5px;text-transform:uppercase;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:6px 12px;font-size:10px;font-weight:700}.dd-list{-webkit-overflow-scrolling:touch;max-height:240px;overflow-y:auto}.dd-item{cursor:pointer;color:#111827;border-bottom:1px solid #f7f7f7;align-items:center;gap:6px;padding:9px 12px;font-size:13px;display:flex}.dd-item:hover,.dd-item.selected{background:#f0fdff}.dd-item-limit{color:#9ca3af;flex-shrink:0;margin-left:auto;font-size:10px}.dd-empty{text-align:center;color:#9ca3af;padding:14px;font-size:13px}.dd-add{cursor:pointer;border-top:1px solid #eee;padding:9px 12px;font-size:13px;font-weight:600}.dd-clear{cursor:pointer;color:#9ca3af;border-bottom:1px solid #f0f0f0;padding:8px 12px;font-size:12px;font-style:italic}.pct-wrap{justify-content:flex-end;align-items:center;gap:2px;display:flex}.pct-input{text-align:right;color:#374151;background:#fff;border:1.5px solid #8b5cf633;border-radius:7px;outline:none;width:48px;padding:4px;font-family:inherit;font-size:16px;font-weight:700;transition:all .15s}.pct-input:focus{border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a0026}.pct-unit{color:#9ca3af;font-size:10px}.grams-cell{text-align:right;color:#e5e7eb;white-space:nowrap;font-size:12px;font-weight:600}.grams-cell.active{color:#374151}.del-btn{cursor:pointer;color:#e2e8f0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:inherit;font-size:15px;transition:all .15s;display:flex}.del-phase-btn{cursor:pointer;color:#fca5a5;background:0 0;border:none;border-radius:6px;margin-left:6px;padding:2px 6px;font-family:inherit;font-size:13px;transition:all .15s}.del-phase-btn:hover{color:#dc2626;background:#fee2e2}.add-phase-btn{color:#7c3aed;cursor:pointer;background:#7c3aed0a;border:2px dashed #c4b5fd;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:4px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;display:flex}.add-phase-btn:hover{background:#7c3aed14;border-color:#7c3aed}.del-btn:hover{color:#dc2626;background:#fee2e2}.add-row{padding:6px 13px 11px}.add-btn{letter-spacing:.5px;cursor:pointer;border-radius:8px;width:100%;padding:8px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.cost-input{text-align:right;color:#92400e;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:6px;outline:none;width:62px;padding:3px 4px;font-family:inherit;font-size:12px;font-weight:600}.cost-cell{text-align:right;color:#d97706;white-space:nowrap;font-size:11px;font-weight:600}.ph-card{background:#fff;border:2px solid #c7d2fe;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #6446c814,0 1px 3px #0000000a}.ph-card-header{background:linear-gradient(90deg,#eef2ff,#c7d2fe);border-bottom:1px solid #e0e7ff;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.ph-card-title{letter-spacing:2px;color:#4f46e5;text-transform:uppercase;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.ph-card-body{flex-direction:column;gap:10px;padding:14px 15px;display:flex}.ph-range-track{background:linear-gradient(90deg,#dc2626 0%,#f59e0b 15%,#84cc16 35%,#22c55e 50%,#0891b2 70%,#7c3aed 90%,#dc2626 100%);border-radius:8px;height:16px;position:relative}.ph-range-indicator{background:#fff;border:3px solid #4f46e5;border-radius:50%;width:24px;height:24px;transition:left .4s;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.ph-scale{color:#9ca3af;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.ph-info{flex-wrap:wrap;gap:10px;display:flex}.ph-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:120px;padding:8px 10px}.ph-info-label{color:#6b7280;letter-spacing:1px;text-transform:uppercase;margin-bottom:2px;font-size:12px}.ph-info-value{color:#111827;font-size:16px;font-weight:700}.ph-alert{color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.ph-ok{color:#14532d;background:#dcfce7;border:1px solid #86efac;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.notes-card{background:#fff;border:2px solid #e0e7ff;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #6446c814,0 1px 3px #0000000a}.notes-header{background:linear-gradient(90deg,#eef2ff,#e0e7ff);border-bottom:1px solid #e0e7ff;align-items:center;gap:8px;padding:10px 15px;display:flex}.notes-title{letter-spacing:2px;color:#4f46e5;text-transform:uppercase;font-size:12px;font-weight:700}.notes-textarea{resize:vertical;color:#374151;background:0 0;border:none;outline:none;width:100%;min-height:80px;padding:12px 15px;font-family:inherit;font-size:13px;line-height:1.6}.notes-textarea::placeholder{color:#cbd5e1}.cost-card{background:#fff;border:2px solid #fcd34d;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #6446c814,0 1px 3px #0000000a}.cost-header{background:linear-gradient(90deg,#fffbeb,#fef9c3);border-bottom:1px solid #fcd34d;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.cost-title{letter-spacing:2px;color:#92400e;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.cost-body{flex-direction:column;gap:6px;padding:12px 15px;display:flex}.cost-row{border-bottom:1px solid #fef9c3;align-items:center;gap:8px;padding:5px 0;display:flex}.cost-ing-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.cost-price-wrap{flex-shrink:0;align-items:center;gap:4px;display:flex}.cost-price-label{color:#92400e;font-size:10px}.cost-price-input{text-align:right;color:#92400e;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:6px;outline:none;width:72px;padding:4px 6px;font-family:inherit;font-size:13px;font-weight:600}.cost-price-input:focus{border-color:#f59e0b}.cost-ing-total{color:#d97706;text-align:right;min-width:60px;font-size:12px;font-weight:700}.cost-total-bar{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:10px;justify-content:space-between;align-items:center;margin-top:6px;padding:12px 15px;display:flex}.cost-total-label{color:#92400e;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.cost-total-value{color:#d97706;font-size:22px;font-weight:900}.summary{border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex;box-shadow:0 2px 12px #6446c814,0 1px 3px #0000000a}.summary-phases{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.summary-phase{text-align:center;min-width:48px}.summary-phase-label{text-transform:uppercase;letter-spacing:1px;margin-bottom:1px;font-size:10px;font-weight:700}.summary-phase-pct{font-size:17px;font-weight:900}.summary-phase-g{color:#9ca3af;font-size:10px}.summary-total{text-align:center}.summary-status{letter-spacing:2px;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.summary-big{font-size:36px;font-weight:900;line-height:1}.summary-weight{color:#6b7280;margin-top:2px;font-size:11px}.saved-modal-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.saved-modal{background:#fff;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;box-shadow:0 -10px 40px #0003}.saved-header{color:#fff;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:20px 20px 0 0;justify-content:space-between;align-items:flex-start;padding:18px 18px 14px;display:flex}.saved-title{font-size:16px;font-weight:800}.saved-sub{color:#ffffff8c;margin-top:2px;font-size:11px}.saved-list{flex:1;padding:8px;overflow-y:auto}.saved-item{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;margin-bottom:8px;padding:12px 14px;transition:all .15s}.saved-item:hover{background:#f5f3ff;border-color:#7c3aed}.saved-item-name{color:#111827;font-size:14px;font-weight:700}.saved-item-meta{color:#6b7280;flex-wrap:wrap;gap:8px;margin-top:2px;font-size:11px;display:flex}.saved-item-type{color:#4f46e5;background:#e0e7ff;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600}.saved-item-actions{gap:6px;margin-top:8px;display:flex}.btn-load{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:7px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.btn-del-saved{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fecaca;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:12px}.saved-empty{text-align:center;color:#9ca3af;padding:40px;font-size:14px}.btn-save-current{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4ade80,#86efac);border:none;border-radius:10px;margin:0 8px 10px;padding:11px;font-family:inherit;font-size:13px;font-weight:700}.modal-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:640px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 40px 100px #0000004d}.modal-header{color:#fff;background:linear-gradient(135deg,#7c3aed,#a78bfa);padding:18px 18px 0}.modal-header-top{justify-content:space-between;align-items:flex-start;margin-bottom:11px;display:flex}.modal-subtitle{letter-spacing:3px;color:#fff9;text-transform:uppercase;margin-bottom:4px;font-size:10px}.modal-title{font-size:17px;font-weight:800}.modal-count{color:#ffffff8c;margin-top:2px;font-size:11px}.modal-btns{align-items:center;gap:7px;display:flex}.btn-add-lib{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700}.btn-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;font-size:17px;display:flex}.modal-search{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:9px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:13px}.modal-search::placeholder{color:#ffffff73}.modal-tabs{margin-top:11px;display:flex}.modal-tab{cursor:pointer;color:#ffffffa6;background:0 0;border:none;flex:1;padding:8px 5px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.modal-tab.active{background:#fff;border-radius:9px 9px 0 0;font-weight:700}.lib-group-header{letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #f1f5f9;align-items:center;gap:6px;padding:7px 14px;font-size:10px;font-weight:700;display:flex}.lib-list{flex:1;overflow-y:auto}.lib-item{border-bottom:1px solid #f9fafb;align-items:center;padding:9px 16px;display:flex}.lib-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:11px}.lib-info{flex:1;min-width:0}.lib-name{color:#111827;flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex}.lib-note{color:#9ca3af;margin-top:1px;font-size:11px}.lib-limit{color:#92400e;background:#fef3c7;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.lib-badge-custom{color:#14532d;background:#dcfce7;border-radius:20px;padding:2px 6px;font-size:9px;font-weight:700}.del-lib-btn{cursor:pointer;color:#dc2626;background:#fee2e2;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-family:inherit;font-size:14px;transition:all .15s;display:flex}.del-lib-btn:hover{color:#fff;background:#dc2626}.add-form{background:#fffbeb;border-bottom:2px solid #fcd34d;flex-direction:column;gap:8px;padding:13px 15px;display:flex}.add-form-title{color:#78350f;letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:700}.add-form-row{flex-wrap:wrap;gap:6px;display:flex}.add-select{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #fcd34d;border-radius:8px;outline:none;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:600}.add-input{border:1.5px solid #fcd34d;border-radius:8px;outline:none;flex:1;min-width:120px;padding:6px 8px;font-family:inherit;font-size:13px}.add-form-btns{gap:6px;display:flex}.btn-confirm{cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:700}.btn-cancel{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;padding:6px 11px;font-family:inherit;font-size:13px}.error-banner{background:#fee2e2;border-left:5px solid #dc2626;align-items:center;gap:10px;max-width:960px;margin:0 auto;padding:11px 18px;display:flex}.error-banner b{color:#991b1b;font-size:13px;display:block}.error-banner span{color:#b91c1c;font-size:12px}.toast{color:#fff;z-index:2000;white-space:nowrap;background:linear-gradient(135deg,#3b1f08,#5c2d0e);border-radius:12px;padding:10px 20px;font-size:13px;font-weight:600;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #5c2d0e59}.category-toggle-wrap{z-index:50;justify-content:center;padding:14px 16px 0;display:flex;position:relative}.category-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1.5px solid #7c3aed2e;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex;box-shadow:0 4px 20px #7c3aed24,0 1px 4px #0000000f}.cat-btn{cursor:pointer;color:#9ca3af;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:10px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.cat-btn:hover{color:#7c3aed;background:#7c3aed0f}.cat-btn.active{color:#1a1a00;background:gold;font-weight:800;transform:scale(1.03);box-shadow:0 4px 14px #ffd70073}.btn-import-formula{color:#1a1a00;white-space:nowrap;cursor:pointer;background:gold;border:none;border-radius:999px;padding:9px 20px;font-family:inherit;font-size:14px;font-weight:800;transition:all .2s;box-shadow:0 3px 14px #ffd70080}.btn-import-formula:hover{background:#ffe033;transform:translateY(-1px);box-shadow:0 5px 20px #ffd70099}.conflict-banner{color:#991b1b;background:#fee2e2;border-left:4px solid #dc2626;border-radius:10px;align-items:center;gap:10px;margin:8px 14px;padding:12px 16px;font-size:13px;font-weight:600;display:none}.conflict-banner.show{display:flex}@keyframes conflictPop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.conflict-banner.show{animation:.3s conflictPop}.conflict-icon{flex-shrink:0;font-size:18px}.conflict-title{color:#dc2626;margin-bottom:2px;font-size:13px;font-weight:800}.conflict-sub{color:#b91c1c;font-size:11.5px;font-weight:500}.ing-row.conflict-absolute{background:#fef2f2!important}.ing-row.conflict-absolute .dd-trigger{border-width:2px!important;border-color:#fca5a5!important}.conflict-badge{color:#fff;letter-spacing:.05em;background:#dc2626;border-radius:20px;align-items:center;gap:3px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:800;display:inline-flex}.import-overlay{z-index:3000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a051ea6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.import-modal{background:#fff;border-radius:22px;flex-direction:column;width:100%;max-width:560px;max-height:92vh;display:flex;overflow-y:auto;box-shadow:0 40px 100px #00000059}.import-modal-header{color:#fff;background:#7c3aed;border-radius:22px 22px 0 0;justify-content:space-between;align-items:flex-start;padding:20px 20px 0;display:flex}.import-eyebrow{letter-spacing:2.5px;text-transform:uppercase;color:#ffffff80;margin-bottom:3px;font-size:9px;font-weight:600}.import-title{color:gold;margin-bottom:3px;font-size:22px;font-weight:800}.import-sub{color:#ffffffa6;margin-bottom:16px;font-size:12px}.import-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.import-tabs{background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex}.import-tab{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 8px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.import-tab.active{color:#7c3aed;background:#fff;border-bottom-color:gold;font-weight:800}.import-body{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.import-hint{color:#6b7280;background:#f5f0ff;border:1px solid #7c3aed26;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;font-size:12px;display:flex}.hint-chip{color:#7c3aed;background:#ede9fe;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.import-textarea{color:#374151;resize:vertical;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;width:100%;height:180px;padding:14px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .2s}.import-textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.import-cta{color:#1a1a00;cursor:pointer;background:gold;border:none;border-radius:12px;width:100%;padding:13px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s;box-shadow:0 4px 14px #ffd70066}.import-cta:hover{background:#ffe033;transform:translateY(-1px)}.import-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.import-dropzone{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #c4b5fd;border-radius:14px;padding:32px 20px;transition:all .2s}.import-dropzone:hover,.import-dropzone.drag-over{background:#f5f0ff;border-color:#7c3aed}.dropzone-icon{margin-bottom:10px;font-size:36px}.dropzone-text{color:#374151;margin-bottom:4px;font-size:14px;font-weight:700}.dropzone-sub{color:#9ca3af;font-size:11px}.import-img-preview{object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;width:100%;max-height:200px;margin-top:12px}.import-result{background:#f0fdf4;border:1.5px solid #d1fae5;border-radius:14px;margin:0 20px 20px;overflow:hidden}.import-result-title{color:#065f46;background:#ecfdf5;border-bottom:1px solid #d1fae5;padding:12px 16px;font-size:13px;font-weight:700}.import-result-list{max-height:220px;overflow-y:auto}.import-result-row{background:#fff;border-bottom:1px solid #d1fae5;justify-content:space-between;align-items:center;padding:9px 16px;font-size:13px;display:flex}.import-result-row:last-child{border-bottom:none}.import-result-name{color:#111827;font-weight:500}.import-result-pct{color:#059669;font-weight:700}.import-result-actions{background:#f0fdf4;gap:8px;padding:12px 16px;display:flex}.import-confirm-btn{color:#1a1a00;cursor:pointer;background:gold;border:none;border-radius:10px;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:800;box-shadow:0 3px 10px #ffd70059}.import-retry-btn{color:#6b7280;cursor:pointer;background:0 0;border:1.5px solid #d1d5db;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600}.ing-info-btn{cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:6px;padding:2px 5px;font-size:14px;line-height:1;transition:all .15s}.ing-info-btn:hover{opacity:1;background:#ede9fe;transform:scale(1.1)}.sheet-overlay{z-index:5000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a051ea6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet-modal{background:#fff;border-radius:22px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 40px 100px #0006}.sheet-header{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:22px 22px 0 0;justify-content:space-between;align-items:flex-start;padding:22px 20px 18px;display:flex}.sheet-eyebrow{letter-spacing:3px;text-transform:uppercase;color:#ffffff80;margin-bottom:4px;font-size:9px;font-weight:700}.sheet-title{color:#fff;margin-bottom:3px;font-size:19px;font-weight:800;line-height:1.2}.sheet-inci{color:#ffffff8c;font-size:11px;font-style:italic}.sheet-close{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.sheet-close:hover{background:#ffffff4d}.sheet-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.sheet-badge{color:#7c3aed;background:#ede9fe;border-radius:20px;width:fit-content;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.sheet-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.sheet-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}.sheet-label{letter-spacing:.8px;text-transform:uppercase;color:#9ca3af;margin-bottom:4px;font-size:9.5px;font-weight:700}.sheet-value{color:#374151;font-size:12px;font-weight:600;line-height:1.4}.sheet-dosage{background:#f5f0ff;border:1px solid #7c3aed26;border-radius:12px;padding:13px 14px}.sheet-dosage-bar{background:#e5e7eb;border-radius:4px;height:8px;margin:8px 0 5px;overflow:hidden}.sheet-dosage-fill{background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:4px;height:100%;transition:width .4s}.sheet-dosage-nums{color:#6b7280;justify-content:space-between;font-size:11px;display:flex}.sheet-section{flex-direction:column;gap:7px;display:flex}.sheet-list{flex-direction:column;gap:5px;margin:4px 0 0;padding-left:18px;display:flex}.sheet-list li{color:#374151;font-size:13px;line-height:1.5}.sheet-caution{background:#fef9c3;border:1px solid #fde68a;border-radius:12px;padding:12px 14px}.sheet-caution-text{color:#713f12;margin-top:5px;font-size:12px;line-height:1.7}.sheet-tips{background:#ecfdf5;border:1px solid #86efac;border-radius:12px;padding:12px 14px}.sheet-tips-text{color:#065f46;margin-top:5px;font-size:12px;line-height:1.7}.landing-page{color:#1f2937;background:linear-gradient(135deg,#f3f0ff 0%,#ede9fe 50%,#f5f3ff 100%);flex-direction:column;min-height:100vh;display:flex}.landing-nav{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:20px 40px;display:flex}.logo-container{color:#7c3aed;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.logo-icon{color:#fff;background:#7c3aed;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;display:flex;box-shadow:0 4px 12px #7c3aed4d}.nav-links{align-items:center;gap:30px;display:flex}.nav-link{color:#4b5563;cursor:pointer;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.nav-link:hover{color:#7c3aed}.btn-login{color:#7c3aed;cursor:pointer;background:#7c3aed14;border:1.5px solid #7c3aed33;border-radius:20px;padding:8px 20px;font-size:14px;font-weight:700;transition:all .2s}.btn-login:hover{color:#fff;background:#7c3aed;box-shadow:0 4px 12px #7c3aed33}.hero-section{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:1100px;margin:60px auto 40px;padding:0 20px;display:flex}.hero-tag{color:#7c3aed;letter-spacing:1px;text-transform:uppercase;background:#7c3aed1a;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:700}.hero-title{color:#111827;max-width:800px;font-size:48px;font-weight:900;line-height:1.15}.hero-title span{background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtitle{color:#4b5563;max-width:600px;font-size:18px;line-height:1.6}.hero-ctas{gap:15px;margin-top:15px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:24px;padding:14px 28px;font-size:15px;font-weight:800;transition:all .2s;box-shadow:0 10px 25px #7c3aed66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #7c3aed80}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;width:100%;max-width:1100px;margin:60px auto;padding:0 20px;display:grid}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #c4b5fd33;border-radius:20px;flex-direction:column;gap:15px;padding:30px;transition:all .3s;display:flex;box-shadow:0 8px 30px #7c3aed0a}.feature-card:hover{background:#fff;transform:translateY(-5px);box-shadow:0 12px 35px #7c3aed14}.feature-icon{color:#7c3aed;background:#7c3aed1a;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;font-size:32px;display:flex}.feature-card h3{color:#111827;font-size:18px;font-weight:800}.feature-card p{color:#4b5563;font-size:14px;line-height:1.5}.pricing-section{color:#1c0f32;text-align:center;background:#eeebfe;padding:100px 20px;position:relative;overflow:hidden}.pricing-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#fff9 0%,#0000 60%);width:140%;height:200%;position:absolute;top:-50%;left:-20%}.pricing-container{z-index:10;flex-direction:column;align-items:center;gap:40px;max-width:1000px;margin:0 auto;display:flex;position:relative}.pricing-title{color:#1c0f32;letter-spacing:-1px;margin-bottom:10px;font-size:40px;font-weight:900}.pricing-card{background:linear-gradient(145deg,#110a2b 0%,#1a0f3c 100%);border:1px solid #c4b5fd26;border-radius:28px;flex-direction:column;align-items:center;gap:25px;width:100%;max-width:480px;padding:40px;display:flex;position:relative;box-shadow:0 30px 60px #110a2b80,inset 0 1px #ffffff0d}.price-value{flex-direction:column;align-items:center;gap:4px;display:flex}.price-main{align-items:baseline;gap:8px;display:flex}.price-number{color:gold;text-shadow:0 4px 20px #ffd7004d;font-size:60px;font-weight:900;line-height:1}.price-currency{color:gold;font-size:24px;font-weight:800}.price-period{color:#ffffff80;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.pricing-features{text-align:left;z-index:2;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;flex-direction:column;gap:16px;width:100%;padding:24px 0;list-style:none;display:flex;position:relative}.pricing-features li{color:#ffffffe6;align-items:center;gap:12px;font-size:15px;line-height:1.4;display:flex}.btn-pricing-cta{color:#1a1a00;cursor:pointer;background:gold;border:none;border-radius:20px;width:100%;padding:15px;font-size:16px;font-weight:800;transition:all .2s;box-shadow:0 10px 20px #ffd7004d}.btn-pricing-cta:hover{background:#ffe033;transform:translateY(-2px);box-shadow:0 12px 25px #ffd70073}.auth-overlay{background:#efebfe;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.auth-card{background:#fff;border:1px solid #7c3aed26;border-radius:24px;flex-direction:column;gap:25px;width:100%;max-width:440px;padding:40px;display:flex;box-shadow:0 20px 40px #7c3aed14}.auth-hdr{text-align:center}.auth-title{color:#111827;margin-bottom:6px;font-size:24px;font-weight:800}.auth-sub{color:#6b7280;font-size:14px}.auth-group{flex-direction:column;gap:6px;display:flex}.auth-label{color:#374151;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.auth-input-field{box-sizing:border-box;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.auth-input-field:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.auth-grid-2{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}@media (width<=480px){.auth-grid-2{grid-template-columns:1fr;gap:12px}}.btn-auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;padding:14px;font-size:15px;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 12px #7c3aed40}.btn-auth-submit:hover{transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed59}.auth-footer-link{color:#7c3aed;text-align:center;cursor:pointer;font-size:13px;font-weight:600;text-decoration:none}.auth-footer-link:hover{text-decoration:underline}.paydunya-panel{flex-direction:column;gap:20px;display:flex}.paydunya-header{color:#fff;text-align:center;letter-spacing:.5px;background:#1c0f32;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:15px;font-size:15px;font-weight:800;display:flex;box-shadow:0 4px 14px #1c0f3226}.home-grid{grid-template-columns:1fr 320px;align-items:start;gap:30px;width:100%;display:grid}.shortcuts-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.rules-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.admin-charts-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.payment-methods-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pay-method-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:16px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.pay-method-card:hover{background:#7c3aed03;border-color:#7c3aed}.pay-method-card.selected{color:#7c3aed;background:#7c3aed0d;border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed}.pay-method-logo{justify-content:center;align-items:center;width:auto;height:32px;margin-bottom:2px;display:flex}.pay-processing{text-align:center;flex-direction:column;align-items:center;gap:15px;padding:20px 0;display:flex}.spinner{border:4px solid #7c3aed1a;border-left-color:#7c3aed;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.email-notification-bar{color:#fff;z-index:9999;background:#111827;border-bottom:2px solid gold;justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 15px #0003}.email-btn{color:#111827;cursor:pointer;background:gold;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:800}.email-btn:hover{background:#ffe033}.dashboard-layout{background:#f3f4f6;min-height:100vh;display:flex}.dash-sidebar{color:#1e1438;background:#e4e0f7;border-right:1px solid #7c3aed1f;flex-direction:column;flex-shrink:0;width:260px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:4px 0 24px #643cc81a}.dash-sidebar:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(200px 120px at 50% 0,#a78bfa2e 0%,#0000 70%),radial-gradient(140px 100px at 100% 100%,#7c3aed12 0%,#0000 70%);position:absolute;inset:0}.dash-sidebar>*{z-index:1;position:relative}.sidebar-logo{border-bottom:1px solid #7c3aed24;flex-direction:column;justify-content:center;align-items:center;gap:0;margin-bottom:8px;padding:20px;display:flex}.sidebar-logo img{object-fit:contain;filter:none;width:auto;max-width:200px;height:68px}.sidebar-section-label{color:#643cb466;text-transform:uppercase;letter-spacing:2px;margin:12px 0 6px;padding:0 20px;font-size:9px;font-weight:800}.sidebar-menu-list{flex-direction:column;flex:1;gap:4px;padding:0 10px;list-style:none;display:flex}.sidebar-menu-item{cursor:pointer;color:#1e14388c;letter-spacing:.1px;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar-menu-item svg{stroke:currentColor;stroke-width:2px;flex-shrink:0;width:18px;height:18px}.sidebar-menu-item:hover{color:#3b1fa8;background:#7c3aed14}.sidebar-menu-item.active{color:#5b21b6;background:#fff;border:none;border-radius:10px;font-weight:800;position:relative;box-shadow:0 4px 15px #7c3aed14}.sidebar-menu-item.active svg{color:#7c3aed}.sidebar-footer-zone{border-top:1px solid #7c3aed1f;flex-direction:column;gap:4px;margin-top:auto;padding:12px 10px 20px;display:flex}.btn-admin-bascule{color:#5b21b6;cursor:pointer;text-align:left;width:100%;box-shadow:none;background:#7c3aed14;border:1px solid #7c3aed2e;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-admin-bascule svg{stroke:#7c3aed;flex-shrink:0;width:15px;height:15px}.btn-admin-bascule:hover{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed40}.btn-admin-bascule:hover svg{stroke:#fff}.btn-logout,.btn-logout-sidebar{color:#fff;cursor:pointer;text-align:left;background:#1c0f32;border:none;border-radius:20px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:800;transition:all .18s;display:flex;box-shadow:0 4px 14px #1c0f3226}.btn-logout svg,.btn-logout-sidebar svg{stroke:#fff;stroke-width:2.5px;flex-shrink:0;width:16px;height:16px}.btn-logout:hover,.btn-logout-sidebar:hover{color:#fff;background:#2d1d4d;transform:translateY(-1px);box-shadow:0 6px 18px #1c0f3240}.btn-logout:hover svg,.btn-logout-sidebar:hover svg{stroke:#fff}.sidebar-separator{background:#7c3aed1a;height:1px;margin:6px 10px}.sidebar-footer{border-top:1px solid #7c3aed1a;padding:16px 10px 0}.dash-main{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}.dash-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,30px);display:flex;box-shadow:0 1px 3px #00000005}.dash-user-badge{color:#374151;align-items:center;gap:10px;font-weight:700;display:flex}.user-avatar{color:#fff;background:#7c3aed;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex}.badge-sub-status{color:#065f46;background:#d1fae5;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:800}.badge-sub-status.inactive{color:#991b1b;background:#fee2e2}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%;margin-bottom:30px;display:grid}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:6px;padding:clamp(14px,3vw,20px);display:flex;box-shadow:0 1px 3px #0000000d}.stat-lbl{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.stat-val{color:#111827;font-size:clamp(22px,4vw,28px);font-weight:800}.stat-change{color:#059669;font-size:12px;font-weight:700}.stat-change.down{color:#dc2626}.admin-chart-box{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:30px;padding:24px;box-shadow:0 1px 3px #0000000d}.chart-bar-container{border-bottom:1px solid #e5e7eb;align-items:flex-end;gap:20px;height:180px;padding-top:20px;display:flex}.chart-col{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.chart-bar{background:#a78bfa;border-radius:4px 4px 0 0;width:100%;min-height:5px;transition:height .5s;position:relative}.chart-bar:hover{background:#7c3aed}.chart-bar-value{color:#4b5563;font-size:10px;font-weight:800;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.chart-col-label{color:#9ca3af;font-size:11px;font-weight:600}.admin-table{border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;margin-bottom:20px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.admin-table th{color:#4b5563;text-transform:uppercase;text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 18px;font-size:11px;font-weight:800}.admin-table td{color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:14px 18px;font-size:13px}.admin-table tr:last-child td{border-bottom:none}.admin-btn-action{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s}.admin-btn-action:hover{background:#e5e7eb}.chat-bubble{color:#fff;cursor:pointer;z-index:2000;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;transition:transform .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 30px #7c3aed66}.chat-bubble:hover{transform:scale(1.08)}.chat-box-container{z-index:2000;background:#fff;border:1px solid #7c3aed26;border-radius:20px;flex-direction:column;width:360px;height:480px;transition:all .25s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;bottom:96px;right:24px;overflow:hidden;box-shadow:0 12px 40px #00000026}.chat-box-header{color:#fff;background:#7c3aed;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-box-title{align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.chat-status-dot{background:#00c853;border-radius:50%;width:8px;height:8px}.chat-box-body{background:#f9fafb;flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.chat-msg{border-radius:14px;max-width:80%;padding:10px 14px;font-size:13px;line-height:1.5}.chat-msg.client{color:#fff;background:#7c3aed;border-bottom-right-radius:2px;align-self:flex-end}.chat-msg.support{color:#1f2937;background:#e5e7eb;border-bottom-left-radius:2px;align-self:flex-start}.chat-msg-time{opacity:.6;text-align:right;margin-top:4px;font-size:9px;display:block}.chat-msg.support .chat-msg-time{text-align:left}.chat-box-footer{background:#fff;border-top:1px solid #e5e7eb;gap:8px;padding:12px;display:flex}.chat-box-input{border:1.5px solid #e5e7eb;border-radius:10px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.chat-box-input:focus{border-color:#7c3aed}.chat-btn-send{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:10px;padding:8px 14px;font-weight:800}.chat-btn-send:hover{background:#6d28d9}.chat-typing{color:#4b5563;background:#e5e7eb;border-radius:14px 14px 14px 2px;align-self:flex-start;padding:8px 14px;font-size:13px;font-style:italic}.admin-chat-layout{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:100%;min-height:400px;max-height:70vh;display:flex;overflow:hidden}.admin-chat-users{background:#fff;border-right:1px solid #e5e7eb;flex-shrink:0;width:clamp(180px,30%,240px);overflow-y:auto}.admin-chat-user-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:14px 18px;transition:background .2s}.admin-chat-user-item:hover,.admin-chat-user-item.active{background:#7c3aed0a}.admin-chat-user-item.active{background:#7c3aed14;border-left:4px solid #7c3aed;padding-left:14px}.admin-chat-user-name{color:#1f2937;font-size:13px;font-weight:700}.admin-chat-user-msg{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.admin-chat-pane{background:#f9fafb;flex-direction:column;flex:1;display:flex}.admin-chat-pane-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 20px;font-size:14px;font-weight:800}.btn-chat-back{display:none!important}.admin-chat-pane-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.roadmap-section{text-align:center;background:#fff;padding:100px 20px}.roadmap-container{max-width:1000px;margin:0 auto}.roadmap-badge{color:#7c3aed;letter-spacing:1.5px;text-transform:uppercase;background:#f3eeff;border-radius:20px;margin-bottom:24px;padding:6px 14px;font-size:11px;font-weight:800;display:inline-block}.roadmap-title{color:#1c0f32;letter-spacing:-1px;margin-bottom:16px;font-size:42px;font-weight:800}.roadmap-subtitle{color:#64748b;margin-bottom:80px;font-size:18px;font-weight:500}.roadmap-steps{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.roadmap-steps:before{content:"";z-index:1;border-bottom:2px dashed #c4b5fd;height:0;position:absolute;top:50px;left:15%;right:15%}.roadmap-step{z-index:2;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-circle-wrapper{background:#fff;border-radius:50%;margin-bottom:16px;padding:10px}.step-circle{color:#fff;background:#7c3aed;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:32px;font-weight:800;display:flex;box-shadow:0 10px 20px #7c3aed4d}.step-title{color:#1c0f32;margin-bottom:12px;font-size:20px;font-weight:800}.step-desc{color:#64748b;max-width:260px;font-size:15px;line-height:1.6}@media (width<=768px){.roadmap-steps{flex-direction:column;align-items:center;gap:60px}.roadmap-steps:before{display:none}.step-desc{max-width:300px}}.mobile-header{z-index:1000;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 20px;display:none;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.mobile-logo-img{mix-blend-mode:darken;height:48px}.hamburger-btn{color:#1e1438;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:flex}.hamburger-btn:active{background:#0000000d}.sidebar-overlay{z-index:1999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#120a1f99;transition:opacity .3s;display:none;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;display:block}.phase-card-inner-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width>=768px) and (width<=1023px){.mobile-header{display:flex}.dashboard-layout{flex-direction:column}.dash-sidebar{z-index:2000;width:280px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.dash-sidebar.open{transform:translate(0)}.dash-main{padding:24px}.stat-grid,.library-grid,.admin-stats-grid,.rules-grid{grid-template-columns:repeat(2,1fr)!important}.home-grid,.history-grid,.workspace-grid{grid-template-columns:1fr}.header-top{flex-wrap:wrap;gap:12px}.formula-input{width:100%}.btn,.btn-save,.btn-export,.btn-reset,.btn-lib,.btn-undo,.btn-cost{min-height:40px}}@media (width<=1024px){.admin-table th,.admin-table td{padding:10px 8px!important;font-size:13px!important}.admin-table td:nth-child(2){white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.admin-btn-action{white-space:nowrap;padding:6px 10px!important;font-size:11px!important}.history-grid table th,.history-grid table td{padding:10px 8px!important;font-size:13px!important}}@media (width<=767px){.client-history-table,.client-history-table tbody,.client-history-table tr,.client-history-table td,.admin-users-table,.admin-users-table tbody,.admin-users-table tr,.admin-users-table td{width:100%;display:block}.client-history-table,.admin-users-table{background:0 0!important;border:none!important;min-width:0!important}.client-history-table thead,.admin-users-table thead{display:none}.client-history-table tr,.admin-users-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;transition:all .2s;overflow:hidden;box-shadow:0 4px 12px #ba7ec008}.client-history-table td{text-align:right;word-break:break-word;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;border-bottom:1px dashed #f3f4f6!important;padding:12px 16px!important;display:flex!important}.client-history-table td:first-child{background:#fafafa;border-bottom:1px solid #e5e7eb!important;display:flex!important}.client-history-table .mobile-expand-icon{display:none!important}.client-history-table td:last-child{background:#fafafa;justify-content:flex-end;border-bottom:none!important}.admin-users-table td{text-align:right;word-break:break-word;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;border-bottom:1px dashed #f3f4f6!important;padding:12px 16px!important;display:none!important}.admin-users-table td:first-child{cursor:pointer;background:#fafafa;border-bottom:none!important;display:flex!important}.admin-users-table tr.expanded td{display:flex!important}.admin-users-table tr.expanded td:first-child{border-bottom:1px solid #e5e7eb!important}.admin-users-table .mobile-expand-icon{transition:transform .2s;display:block!important}.admin-users-table tr.expanded .mobile-expand-icon{transform:rotate(180deg)}.admin-users-table td:last-child{background:#fafafa;justify-content:flex-end;border-bottom:none!important}.client-history-table td:before,.admin-users-table td:before{color:#8e7e72;text-transform:uppercase;text-align:left;margin-right:15px;font-size:11.5px;font-weight:800}.client-history-table td:nth-child(2):before{content:"Catégorie"}.client-history-table td:nth-child(3):before{content:"Type de produit"}.client-history-table td:nth-child(4):before{content:"Taille du lot"}.client-history-table td:nth-child(5):before{content:"Date de création"}.client-history-table td:nth-child(6):before{content:"";display:none}.admin-users-table td:nth-child(2):before{content:"Email"}.admin-users-table td:nth-child(3):before{content:"Téléphone"}.admin-users-table td:nth-child(4):before{content:"Abonnement"}.admin-users-table td:nth-child(5):before{content:"Formules"}.admin-users-table td:nth-child(6):before{content:"Inscription"}.admin-users-table td:nth-child(7):before{content:"";display:none}body{font-size:14px}.mobile-header{display:flex}.dashboard-layout{flex-direction:column}.dash-sidebar{z-index:2000;width:280px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.dash-sidebar.open{transform:translate(0)}.sidebar-logo img{height:48px}.dash-main{margin-bottom:80px;padding:16px}.header-inner{padding:12px 12px 0}.header{overflow:hidden;padding:14px 12px!important}.header-top{flex-direction:column;align-items:stretch;gap:10px}.formula-input{width:100%;font-size:20px}.header-controls{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex-wrap:nowrap;gap:8px;width:calc(100% + 24px);max-width:calc(100% + 24px);margin:0 -12px;padding:0 12px 6px;display:flex;overflow-x:auto}.header-controls>*{flex-shrink:0}.header-controls::-webkit-scrollbar{height:4px}.header-controls::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.header-controls::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:10px}.lot-box{justify-content:center}.type-bar{gap:5px;padding:8px 10px}.type-btn{padding:6px 10px;font-size:12px}.type-dropdown{width:100%;min-width:0}.progress-legend{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.welcome-header{text-align:center;flex-direction:column;align-items:center;gap:12px}.btn,.btn-save,.btn-export,.btn-reset,.btn-lib,.btn-undo,.btn-cost,.btn-primary,.btn-login,.cat-btn,.btn-import-formula{min-height:44px;padding:10px 14px}input[type=number],input[type=text],input[type=email],input[type=password],textarea,select{font-size:16px}.phase-card{border-radius:14px;overflow:hidden}.phase-card-inner-scroll{box-shadow:none;overflow-x:hidden}.col-headers{display:none!important}.ing-row,.water-row{border-bottom:1px solid #e5e7eb;position:relative;flex-wrap:wrap!important;gap:20px 12px!important;min-width:0!important;padding:24px 16px!important;display:flex!important}.ing-row:last-child,.water-row:last-child{border-bottom:none}.water-row>div:first-child{margin-bottom:4px;flex:100%!important}.water-row>div:nth-child(2){position:relative;text-align:left!important;color:#1f2937!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;flex:calc(50% - 6px)!important;margin-top:0!important;padding:12px 14px!important;font-size:15px!important;font-weight:600!important}.phase-card-inner-scroll>div:nth-child(2)>div:nth-child(2){margin-top:24px!important}.phase-card-inner-scroll>div:nth-child(2)>div:nth-child(2):before{content:"Pourcentage (%)";color:#4b5563;text-transform:none;font-size:12px;font-weight:600;position:absolute;top:-24px;left:0}.water-row>div:nth-child(4),.water-row>div:nth-child(5){display:none!important}.ing-row>.weight-box-display,.water-row>.weight-box-display{align-items:center;display:flex;position:relative;text-align:left!important;color:#1f2937!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:8px!important;flex:calc(50% - 6px)!important;justify-content:flex-start!important;min-width:0!important;margin-top:0!important;padding:12px 14px!important;font-size:15px!important}.phase-card-inner-scroll>div:nth-child(2)>.weight-box-display{margin-top:24px!important}.phase-card-inner-scroll>div:nth-child(2)>.weight-box-display:before{content:"Poids (g)";color:#4b5563;text-transform:none;font-size:12px;font-weight:600;position:absolute;top:-24px;left:0}.ing-row>.dd-wrap{padding-right:50px;position:relative;flex:100%!important}.phase-card-inner-scroll>div:nth-child(2)>.dd-wrap:before{content:"Ingrédient";color:#4b5563;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.ing-row>.del-btn{border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:24px;right:16px;color:#ef4444!important;background:#fee2e2!important}.phase-card-inner-scroll>div:nth-child(2)>.del-btn{top:48px}.ing-row>.pct-input-wrapper{position:relative;background:0 0!important;border:none!important;flex-direction:column!important;flex:calc(50% - 6px)!important;align-items:stretch!important;gap:8px!important;min-width:0!important;margin-top:0!important;padding:0!important;display:flex!important}.phase-card-inner-scroll>div:nth-child(2)>.pct-input-wrapper{margin-top:24px!important}.ing-row>.pct-input-wrapper .pct-input,.ing-row>.pct-input-wrapper .cost-price-input{text-align:left!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;width:100%!important;padding:12px 14px!important;font-size:15px!important}.phase-card-inner-scroll>div:nth-child(2)>.pct-input-wrapper:not(:has(.cost-price-input)):before{content:"Pourcentage (%)";color:#4b5563;text-transform:none;text-align:left;font-size:12px;font-weight:600;position:absolute;top:-24px;left:0}.phase-card-inner-scroll>div:nth-child(2)>.pct-input-wrapper:has(.cost-price-input):before{content:"Prix/Kg (€)";color:#4b5563;text-transform:none;text-align:left;font-size:12px;font-weight:600;position:absolute;top:-24px;left:0}.ing-row>.pct-input-wrapper:not(:has(.cost-price-input))>span{display:none!important}.phase-header{flex-wrap:wrap;gap:6px;padding:14px 16px}.phase-percent-badge{font-size:18px}.dd-trigger{min-height:44px}.add-row-dashed-btn{min-height:48px}.stat-grid,.home-grid,.shortcuts-grid,.rules-grid,.library-grid,.workspace-grid,.history-grid,.admin-stats-grid,.admin-charts-grid{gap:14px;grid-template-columns:1fr!important}.stat-card{padding:16px}.stat-val{font-size:26px}.admin-table-wrap{-webkit-overflow-scrolling:touch;border-radius:14px;overflow-x:auto;background:0 0!important;border:none!important}.admin-table{min-width:550px}.admin-table th,.admin-table td{padding:10px 14px}.chart-bar-container{gap:10px;height:140px}.chart-col-label{font-size:10px}.admin-chat-layout{min-height:500px;max-height:none;flex-direction:row!important}.admin-chat-layout.mobile-view-list .admin-chat-users{border-bottom:none;border-right:none;width:100%!important;max-height:500px!important;display:block!important}.admin-chat-layout.mobile-view-list .admin-chat-pane,.admin-chat-layout.mobile-view-chat .admin-chat-users{display:none!important}.admin-chat-layout.mobile-view-chat .admin-chat-pane{width:100%!important;display:flex!important}.admin-chat-layout.mobile-view-chat .btn-chat-back{display:flex!important}.add-phase-header,.summary{flex-direction:column;align-items:stretch}.summary-phases{flex-wrap:wrap;justify-content:space-between;gap:8px}.summary-big{font-size:28px}.history-grid .card-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.history-grid table{min-width:480px}.dash-header{padding:12px 16px}.dash-user-badge{gap:8px}.modal-box,.import-modal,.sheet-modal{border-radius:0;width:100%;height:100vh;max-height:100vh;margin:0}.modal-overlay,.import-overlay,.sheet-overlay{align-items:center;padding:0}.mobile-full-bleed{border-left:none!important;border-right:none!important;border-radius:0!important;width:auto!important;margin-left:-16px!important;margin-right:-16px!important}.mobile-full-bleed-header{border-radius:0!important}.chat-box-container{border-radius:16px;width:calc(100% - 20px);height:min(480px,70vh);bottom:90px;left:10px;right:10px}.chat-bubble{width:52px;height:52px;font-size:24px}.landing-nav{flex-wrap:wrap;gap:12px;padding:16px}.nav-links{display:none}.hero-section{margin:30px auto 20px;padding:0 16px}.hero-title{font-size:clamp(26px,8vw,48px)}.hero-subtitle{font-size:15px}.hero-ctas{flex-direction:column;align-items:stretch}.btn-primary{text-align:center}.features-grid{gap:16px;margin:40px auto;padding:0 16px}.roadmap-title{font-size:clamp(26px,7vw,42px)}.roadmap-subtitle{margin-bottom:50px;font-size:14px}.roadmap-steps{flex-direction:column;align-items:center;gap:50px}.roadmap-steps:before{display:none}.step-desc{max-width:300px}.toast{white-space:normal;text-align:center;width:calc(100% - 30px)}}.landing-hamburger{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;font-size:24px;display:none}.landing-hamburger:active{background:#7c3aed14}.landing-mobile-menu{z-index:9998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#120a1f99;display:none;position:fixed;inset:0}.landing-mobile-menu.open{display:block}.landing-mobile-drawer{z-index:9999;background:#fff;flex-direction:column;gap:8px;width:min(300px,85vw);padding:24px 20px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #00000026}.landing-mobile-menu.open .landing-mobile-drawer{transform:translate(0)}.landing-mobile-close{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;min-width:44px;min-height:44px;padding:8px;font-size:24px;display:flex}.landing-mobile-close:active{background:#0000000d}.landing-mobile-link{color:#374151;border-radius:10px;padding:14px 16px;font-size:16px;font-weight:700;text-decoration:none;transition:background .2s;display:block}.landing-mobile-link:hover,.landing-mobile-link:active{color:#7c3aed;background:#f5f3ff}.landing-mobile-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:12px;margin-top:10px;padding:14px;font-size:15px;font-weight:800;text-decoration:none;display:block;box-shadow:0 4px 12px #7c3aed4d}html,body{width:100%;max-width:100vw;position:relative;overflow-x:hidden}@media (width>=768px) and (width<=1023px){.landing-nav{padding:16px 20px}.landing-hamburger{display:flex}.nav-links{display:none}.hero-section{margin:40px auto 30px}.hero-title{font-size:clamp(32px,6vw,48px)}.hero-subtitle{font-size:16px}.pricing-section{padding:60px 20px}.pricing-title{font-size:clamp(28px,5vw,40px)}.pricing-card{max-width:420px;padding:30px}.price-number{font-size:48px}.roadmap-section{padding:60px 20px}.roadmap-title{font-size:clamp(28px,5vw,42px)}.roadmap-subtitle{margin-bottom:50px;font-size:15px}.home-grid{grid-template-columns:1fr}.shortcuts-grid{grid-template-columns:1fr 1fr}.category-toggle{flex-wrap:wrap;justify-content:center}.cat-btn{padding:9px 20px;font-size:13px}.email-notification-bar{text-align:center;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 16px}}@media (width<=767px){.landing-hamburger{display:flex}.nav-links{display:none}.landing-nav{padding:14px 16px}.logo-container{font-size:17px}.logo-icon{border-radius:10px;width:34px;height:34px;font-size:20px}.hero-section{gap:14px;margin:20px auto 16px;padding:0 16px}.hero-title{max-width:100%;font-size:clamp(24px,7.5vw,40px)}.hero-subtitle{max-width:100%;font-size:14px}.hero-ctas{flex-direction:column;align-items:stretch;gap:10px;width:100%}.btn-primary{text-align:center;width:100%;padding:14px 20px}.btn-login{text-align:center;width:100%;padding:12px 20px}.features-grid{grid-template-columns:1fr;gap:16px;margin:30px auto;padding:0 16px}.feature-card{padding:22px}.feature-icon{border-radius:12px;width:48px;height:48px;font-size:26px}.feature-card h3{font-size:16px}.feature-card p{font-size:13px}.pricing-section{padding:50px 16px}.pricing-title{margin-bottom:8px;font-size:clamp(24px,7vw,36px)}.pricing-card{border-radius:22px;max-width:100%;padding:24px 20px}.price-number{font-size:clamp(36px,12vw,56px)}.price-currency{font-size:18px}.pricing-features li{gap:10px;font-size:13px}.btn-pricing-cta{padding:14px;font-size:15px}.roadmap-section{padding:50px 16px}.roadmap-title{font-size:clamp(24px,7vw,36px)}.roadmap-subtitle{margin-bottom:40px;font-size:14px}.step-circle{width:64px;height:64px;font-size:26px}.step-title{font-size:17px}.step-desc{max-width:280px;font-size:13px}.home-grid{gap:16px;grid-template-columns:1fr!important}.shortcuts-grid{gap:12px;grid-template-columns:1fr!important}.category-toggle-wrap{-webkit-overflow-scrolling:touch;padding:10px 12px 0;overflow-x:auto}.category-toggle{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;gap:3px;width:max-content;min-width:100%;padding:3px;overflow-x:auto}.cat-btn{flex-shrink:0;padding:8px 16px;font-size:13px}.email-notification-bar{text-align:center;flex-direction:column;gap:8px;padding:10px 16px;font-size:12px}.summary-big{font-size:26px}.cost-row{flex-wrap:wrap}.cost-ing-name{white-space:normal;flex:100%}.cost-price-wrap{flex:auto}.ph-info{flex-direction:column}.ph-info-box{min-width:0}.sheet-grid{grid-template-columns:1fr;gap:8px}.saved-modal{border-radius:16px 16px 0 0;max-width:100%;max-height:90vh}.import-body{padding:14px 16px}.import-textarea{height:140px}.import-dropzone{padding:24px 16px}.add-form-row{flex-direction:column}.add-input{width:100%;min-width:0}.conflict-banner{text-align:center;flex-direction:column;gap:6px;margin:8px 10px;padding:10px 12px}.payment-methods-grid{grid-template-columns:1fr 1fr;gap:8px}.auth-card{border-radius:18px;gap:20px;padding:24px 20px}.auth-title{font-size:20px}}
