html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{background:#f5f7fa;color:#333;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#e4002b;--primary-light:#ff2e50;--primary-dark:#b80021;--secondary-color:#000;--accent-color:#fff;--success-color:#4caf50;--warning-color:#ffc107;--info-color:#2196f3;--grey-50:#fafafa;--grey-100:#f5f5f5;--grey-200:#eee;--grey-300:#e0e0e0;--grey-400:#bdbdbd;--grey-500:#9e9e9e;--grey-600:#757575;--grey-700:#616161;--grey-800:#424242;--grey-900:#212121}.container{padding:0 20px}.btn{border:none;border-radius:8px;font-family:inherit;padding:8px 16px}.btn-primary{background:linear-gradient(135deg,#e4002b,#b80021);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 15px 0 #e4002b4d;color:#fff}.btn-primary:hover{box-shadow:0 8px 25px 0 #e4002b66;transform:translateY(-2px)}.btn-secondary{background:#f5f5f5;background:var(--grey-100);border:1px solid #e0e0e0;border:1px solid var(--grey-300);color:#616161;color:var(--grey-700)}.btn-secondary:hover{background:#eee;background:var(--grey-200)}.card{background:#fff;border:1px solid #eee;border:1px solid var(--grey-200);border-radius:12px;box-shadow:0 1px 3px 0 #0000001a}.card-header{background:#fafafa;background:var(--grey-50);border-bottom:1px solid #eee;border-bottom:1px solid var(--grey-200);padding:16px 20px}.card-title{color:#212121;color:var(--grey-900);font-size:1.125rem}.form-group{margin-bottom:16px}.form-label{color:#616161;color:var(--grey-700)}.form-input{background:#f0f4f8;border:2px solid #e2e8f0;border-radius:12px;color:#091c36;font-size:16px;outline:none;padding:16px 20px;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:#fcd66f;box-shadow:0 0 0 4px #fcd66f33;transform:translateY(-1px)}.mb-3{margin-bottom:16px}.grid{grid-gap:16px;gap:16px}.modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;overflow-y:auto}.modal-header{border-bottom:1px solid #eee;border-bottom:1px solid var(--grey-200);padding:20px}.modal-title{color:#212121;color:var(--grey-900);font-size:1.25rem}.modal-close{border-radius:4px;color:#9e9e9e;color:var(--grey-500);transition:all .2s ease}.modal-close:hover{background:#f5f5f5;background:var(--grey-100);color:#616161;color:var(--grey-700)}.page-container{display:flex;flex-direction:column}.content{background:var(--gray-50);flex:1 1;margin:0;padding:0}.card:hover{box-shadow:0 4px 16px #091c361f}.btn-success{background:#fcd66f;border:1px solid #fcd66f;color:#091c36}.btn-success:hover{background:#fbd454;transform:translateY(-1px)}.btn-danger{background:#dc3545;border:1px solid #dc3545;color:#fff}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.btn-sm{font-size:12px;min-height:32px;padding:6px 12px}.form-select,.form-textarea{background:#fff;border:1px solid #7b91a4;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-select:focus,.form-textarea:focus{border-color:#fcd66f;box-shadow:0 0 0 2px #fcd66f33;outline:none}.table{background:#fff;border:1px solid #e1e5e9;border-radius:6px;box-shadow:0 2px 8px #091c3614;overflow:hidden}.table td,.table th{border-bottom:1px solid #e1e5e9;font-size:14px;padding:12px;text-align:left}.table th{background:#091c36;color:#fff;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.table tr:hover{background:#fcd66f0d}.table tr:last-child td{border-bottom:none}.alert{border:1px solid;border-radius:6px;margin-bottom:16px;padding:12px 16px}.alert-success{background:#d4edda;border-color:#c3e6cb;color:#155724}.alert-error{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-warning{background:#fff3cd;border-color:#ffeaa7;color:#856404}.loading{color:#7b91a4;padding:40px}.spinner{border:2px solid #e1e5e9;border-top-color:#091c36;height:24px;width:24px}.login-container{align-items:center;background:#091c36;display:flex;justify-content:center;min-height:100vh;padding:16px;position:relative}.login-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.02'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-wrapper{max-width:420px;position:relative;width:100%;z-index:1}.login-card{background:#fff;border:2px solid #fcd66f;border-radius:20px;box-shadow:0 20px 40px #0000004d;overflow:hidden;padding:40px;position:relative}.login-header{margin-bottom:40px;text-align:center}.login-icon{align-items:center;background:#0000;border:none;border-radius:50%;box-shadow:none;color:#091c36;display:flex;height:80px;justify-content:center;margin:0 auto 32px;position:relative;width:80px}.login-logo{height:120px;object-fit:contain;width:120px}.login-title{color:#091c36;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.login-subtitle{color:#64748b;font-size:16px;font-weight:500;line-height:1.5;margin:0}.form-group{margin-bottom:24px}.form-label{color:#091c36;font-size:15px;font-weight:600;margin-bottom:8px}.input-wrapper{align-items:center;display:flex;position:relative}.input-with-toggle{padding-right:52px!important}.input-error{background-color:#fef2f2!important;border-color:#ef4444!important}.input-error-icon{color:#ef4444;pointer-events:none}.input-error-icon,.password-toggle{position:absolute;right:16px;z-index:10}.password-toggle{background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;padding:8px;transition:all .2s ease}.password-toggle:hover{background:#fcd66f1a;color:#fcd66f}.error-message{align-items:center;color:#ef4444;display:flex;font-size:14px;font-weight:500;gap:8px;line-height:1.4;margin-top:8px}.login-submit{background:#091c36;border:2px solid #fcd66f;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;justify-content:center;margin-top:12px;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.login-submit:hover{background:#fcd66f;box-shadow:0 8px 25px #fcd66f66;color:#091c36;transform:translateY(-2px)}.login-submit:active{transform:translateY(0)}.btn-loading{cursor:not-allowed;opacity:.8}.btn-loading-content{align-items:center;display:flex;gap:12px}@media (max-width:480px){.login-container{padding:16px}.login-card{border-radius:16px;padding:32px 24px}.login-title{font-size:1.75rem}.login-subtitle{font-size:15px}.login-icon{height:70px;width:70px}.form-input{font-size:16px;padding:14px 18px}.input-with-toggle{padding-right:48px!important}}:root{--primary-color:#091c36;--accent-color:#fcd66f;--white:#fff;--danger-color:#dc2626;--success-color:#16a34a;--warning-color:#d97706;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}body,html{overflow-x:hidden}*,body,html{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--gray-50);color:#111827;color:var(--gray-900);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-none{display:none}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-0{margin-top:0}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.p-0{padding:0}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.w-full{width:100%}.h-full{height:100%}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:#091c36;color:var(--primary-color)}.text-accent{color:#fcd66f;color:var(--accent-color)}.text-white{color:#fff;color:var(--white)}.text-danger{color:#dc2626;color:var(--danger-color)}.text-success{color:#16a34a;color:var(--success-color)}.text-warning{color:#d97706;color:var(--warning-color)}.text-gray-500{color:#6b7280;color:var(--gray-500)}.text-gray-600{color:#4b5563;color:var(--gray-600)}.text-gray-700{color:#374151;color:var(--gray-700)}.loading{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #091c36;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary-color);height:32px;margin-bottom:16px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-shimmer{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%}.page-container{min-height:calc(100vh - 200px);padding:0 24px 80px}.container,.page-container{box-sizing:border-box;margin:0 auto;max-width:1200px;width:100%}.container{padding:0 24px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:20px}.page-header,.page-header-full-width{border-bottom:1px solid var(--gray-200);margin-bottom:32px}.page-header-full-width{background:var(--white);box-sizing:border-box;padding:24px 0;width:100%}.page-header-full-width .page-header{border-bottom:none;box-sizing:border-box;margin:0 auto;max-width:1200px;padding:0 24px}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.page-title{color:var(--primary-color);flex-shrink:0;font-size:32px;font-weight:700;margin:0}.grid{grid-gap:20px;display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-tech-cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));justify-items:center}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.dashboard-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);overflow:hidden}.dashboard-section-header{align-items:center;background:var(--primary-color);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:20px 24px}.dashboard-section-title{align-items:center;color:var(--white);display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.dashboard-section-link{color:var(--accent-color);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.dashboard-section-link:hover{color:var(--white);text-decoration:none}.dashboard-section-content{min-height:300px;padding:0}.dashboard-item{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:16px 24px;transition:background-color .2s ease}.dashboard-item:last-child{border-bottom:none}.dashboard-item:hover{background-color:var(--gray-50)}.dashboard-item-info{flex:1 1}.dashboard-item-title{color:var(--primary-color);font-size:14px;font-weight:600;margin:0 0 4px}.dashboard-item-subtitle{color:var(--gray-500);font-size:13px;margin:0}.dashboard-item-value{font-size:14px;font-weight:600;text-align:right}.dashboard-item-status{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px}.status-low{background:#fef2f2;color:var(--danger-color)}.status-normal{background:#f0fdf4;color:var(--success-color)}.status-expensive{background:#fffbeb;color:var(--warning-color)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-value{color:var(--primary-color);font-size:32px;font-weight:700;line-height:1;margin-bottom:8px}.stat-label{color:var(--gray-600);font-size:14px;font-weight:500}.empty-state{background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--border-radius-lg);padding:80px 20px}.empty-state svg{color:var(--gray-300);margin-bottom:16px}.empty-state h3{margin-bottom:8px}.empty-state p{margin-bottom:24px}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.grid-3,.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-tech-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.page-container{min-height:calc(100vh - 180px);padding:0 16px 60px}.container{padding:0 16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.page-header-actions{justify-content:flex-start;width:100%}.page-title{font-size:28px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.dashboard-section-header{padding:16px 20px}.dashboard-item{padding:12px 20px}.dashboard-item-title{font-size:13px}.dashboard-item-subtitle{font-size:12px}.grid-tech-cards{grid-template-columns:1fr}}@media (max-width:640px){.stats-grid{grid-template-columns:1fr}}@media (max-width:480px){.container,.page-container{padding:0 12px}}.btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;outline:none;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-sm{font-size:13px;padding:8px 16px}.btn-lg{font-size:16px;padding:16px 24px}.btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background:#0a1d3a;border-color:#0a1d3a;color:var(--white)}.btn-secondary{background:var(--white);border-color:var(--gray-300);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-800)}.btn-success{background:#16a34a;border-color:#16a34a;color:var(--white)}.btn-success:hover{background:#15803d;border-color:#15803d;color:var(--white)}.btn-danger{background:var(--danger-color);border-color:var(--danger-color);color:var(--white)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c;color:var(--white)}.btn-warning{background:var(--accent-color);border-color:var(--accent-color);color:var(--primary-color)}.btn-warning:hover{background:#fbbf24;border-color:#fbbf24;color:var(--primary-color)}.btn-outline{background:#0000;border-width:1px}.btn-outline.btn-primary{border-color:var(--primary-color);color:var(--primary-color)}.btn-outline.btn-primary:hover{background:var(--primary-color);color:var(--white)}.btn-outline.btn-danger{border-color:var(--danger-color);color:var(--danger-color)}.btn-outline.btn-danger:hover{background:var(--danger-color);color:var(--white)}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.card-header{align-items:center;background:var(--gray-50);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:20px 24px}.card-title{color:var(--gray-800);font-size:18px;font-weight:600;margin:0}.card-body{padding:24px}.card-footer{background:var(--gray-50);border-top:1px solid var(--gray-200);padding:16px 24px}.search-card{background:#f0f4f8;border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;margin:0 0 24px;padding:24px;width:100%}.search-card>div{align-items:center;display:flex;position:relative}.search-card input{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-900);font-size:16px;padding:12px 16px 12px 44px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-card input::placeholder{color:var(--gray-500)}.search-card input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #091c361a;outline:none}.search-icon{color:var(--gray-400);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.filters-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px}.filters-grid{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:2fr 1fr 1fr 1fr}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase}.badge-primary{background:#091c361a;color:var(--primary-color)}.badge-success{background:#16a34a1a;color:#16a34a}.badge-warning{background:#fcd66f33;color:#d97706}.badge-danger{background:#dc26261a;color:var(--danger-color)}.icon{color:var(--gray-600);flex-shrink:0}.icon-primary{color:var(--primary-color)}.icon-danger{color:var(--danger-color)}.icon-success{color:#16a34a}.icon-warning{color:#d97706}.divider{background:var(--gray-200);height:1px;margin:24px 0}.divider-vertical{background:var(--gray-200);margin:0 16px;width:1px}.tooltip{cursor:pointer;display:inline-block;position:relative}.tooltip:hover:after{background:var(--gray-900);border-radius:var(--border-radius);color:var(--white);content:attr(data-tooltip);font-size:12px;margin-bottom:5px;padding:8px 12px;white-space:nowrap}.tooltip:hover:after,.tooltip:hover:before{bottom:100%;left:50%;position:absolute;transform:translateX(-50%);z-index:100}.tooltip:hover:before{border:5px solid #0000;border-top:5px solid var(--gray-900);content:""}.btn-group{align-items:center;display:flex;gap:8px}.btn-group .btn{margin:0}.btn .spinner{height:16px;margin:0;width:16px}@media (max-width:1024px){.filters-grid{gap:12px;grid-template-columns:1fr 1fr}}@media (max-width:640px){.filters-grid{grid-template-columns:1fr}.btn-group{flex-wrap:wrap}}.nav{background:var(--primary-color);box-shadow:var(--shadow);padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.nav-brand,.nav-container{align-items:center;display:flex}.nav-brand{color:var(--accent-color);font-size:20px;font-weight:300;text-decoration:none}.nav-brand:hover{color:var(--white);text-decoration:none}.nav-logo{height:130px;margin-right:0;object-fit:contain;width:160px}.nav-brand-text{display:inline}.nav-menu{list-style:none;margin:0;padding:0}.nav-link,.nav-menu{display:flex;gap:8px}.nav-link{align-items:center;border-radius:var(--border-radius);color:var(--white);font-weight:500;padding:8px 12px;text-decoration:none;transition:all .2s ease}.nav-link.active,.nav-link:hover{background:var(--accent-color);color:var(--primary-color);text-decoration:none}.nav-icon{height:16px;width:16px}.nav-user{gap:12px}.nav-user,.user-info{align-items:center;display:flex}.user-info{color:var(--white);gap:8px}.user-avatar{align-items:center;background:var(--accent-color);border-radius:50%;color:var(--primary-color);display:flex;height:32px;justify-content:center;width:32px}.user-details{display:flex;flex-direction:column;text-align:right}.user-name{color:var(--white);font-size:14px;font-weight:600;line-height:1.2}.user-role{color:var(--accent-color);font-size:12px;line-height:1.2}.logout-btn{background:none;border:none;border-radius:var(--border-radius);color:var(--white);cursor:pointer;padding:8px;transition:all .2s ease}.logout-btn:hover{background:#ffffff1a;color:var(--accent-color)}@media (max-width:768px){.nav-container{padding:0 16px}.nav-brand{font-size:18px}.nav-brand-text{display:none}.nav-menu{gap:4px}.nav-link{font-size:13px;padding:6px 8px}.nav-icon{height:14px;width:14px}.user-details{display:none}}@media (max-width:480px){.nav-brand{font-size:16px}.nav-menu{display:none}.nav-link{padding:4px 6px}}.footer{background:var(--primary-color);border-top:1px solid #fcd66f33;flex-shrink:0;margin-top:auto;position:relative}.footer-container{margin:0 auto;max-width:1200px;padding:24px}.footer-content{flex-wrap:wrap;gap:16px;justify-content:space-between}.footer-brand,.footer-content{align-items:center;display:flex}.footer-brand{color:var(--accent-color);font-size:16px;font-weight:300;gap:8px}.footer-logo{height:100px;object-fit:contain;width:120px}.footer-info{color:#fffc;font-size:14px}@media (max-width:768px){.footer-container{padding:20px 16px}.footer-content{flex-direction:column;gap:12px;text-align:center}.footer-brand{font-size:15px}.footer-info{font-size:13px}}@media (max-width:480px){.footer-container{padding:16px 12px}.footer-brand{font-size:14px}.footer-info{font-size:12px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--white);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.tech-card-modal{max-width:900px;padding:0}.modal-header{align-items:flex-start;background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:24px 32px}.modal-title-section{flex:1 1}.modal-title{color:var(--gray-900);font-size:24px;font-weight:700;line-height:1.2}.modal-subtitle{color:var(--primary-color);font-size:16px;font-weight:500;margin:4px 0 0}.modal-close-btn{background:none;border:none;border-radius:6px;color:var(--gray-500);cursor:pointer;font-size:28px;margin-left:16px;padding:4px 8px;transition:all .2s ease}.modal-close-btn:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body{flex:1 1;padding:32px}.modal-footer{padding:20px 32px}.modal-image-container{border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:32px;overflow:hidden}.modal-dish-image{display:block;height:auto;max-height:400px;object-fit:cover;width:100%}.tech-card-info-grid{grid-gap:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px;padding:20px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:var(--gray-500);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:var(--gray-900);font-size:14px;font-weight:500}.price-value{color:var(--success-color);font-weight:600}.difficulty-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.difficulty-badge.difficulty-easy{background:#22c55e1a;color:#15803d}.difficulty-badge.difficulty-medium{background:#fbbf241a;color:#92400e}.difficulty-badge.difficulty-hard{background:#ef44441a;color:#dc2626}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 8px}.status-badge.active{background:#22c55e1a;color:#15803d}.status-badge.inactive{background:#ef44441a;color:#dc2626}.section-title{align-items:center;color:var(--gray-900);display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}.section-icon{font-size:20px}.cooking-instructions-section{margin-bottom:32px}.cooking-instructions-content{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:20px}.cooking-step{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.cooking-step:last-child{margin-bottom:0}.step-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.step-text{color:var(--gray-700);flex:1 1;line-height:1.6;padding-top:4px}.ingredients-section{margin-bottom:32px}.ingredients-list-modal{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.ingredient-item-modal{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s ease}.ingredient-item-modal:last-child{border-bottom:none}.ingredient-item-modal:hover{background:var(--gray-50)}.ingredient-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.ingredient-name{color:var(--gray-900);font-weight:500}.ingredient-preparation{color:var(--gray-500);font-size:12px;font-style:italic}.ingredient-quantity{align-items:center;display:flex;font-weight:500;gap:8px}.quantity-value{color:var(--gray-900);font-size:16px}.quantity-unit{color:var(--gray-500);font-size:14px}.optional-badge{background:#fbbf241a;border-radius:4px;color:#92400e;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.additional-info-section{margin-bottom:32px}.additional-info-item{background:var(--gray-50);border-left:4px solid var(--primary-color);border-radius:8px;margin-bottom:20px;padding:16px}.additional-info-item:last-child{margin-bottom:0}.additional-info-item h4{color:var(--primary-color);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.additional-info-item p{color:var(--gray-700);line-height:1.6;margin:0}@media (max-width:768px){.modal-overlay{padding:10px}.tech-card-modal{max-height:95vh;max-width:100%}.modal-header{align-items:stretch;flex-direction:column;gap:16px;padding:20px}.modal-close-btn{align-self:flex-end;margin:0}.modal-body{padding:20px}.modal-footer{flex-direction:column-reverse;gap:8px;padding:16px 20px}.modal-footer .btn{justify-content:center;width:100%}.tech-card-info-grid{gap:12px;grid-template-columns:1fr;padding:16px}.cooking-step{gap:12px}.step-number{font-size:12px;height:28px;width:28px}.ingredient-item-modal{align-items:stretch;flex-direction:column;gap:8px;padding:12px 16px}.ingredient-quantity{justify-content:flex-end}}.tech-card{background:var(--white);border:1px solid var(--accent-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;margin-bottom:0;max-width:320px;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:100%}.tech-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.tech-card-image{background:var(--gray-100);border-radius:var(--border-radius);flex-shrink:0;height:180px;width:calc(100% - 32px)}.tech-card-image img{transition:transform .2s ease}.tech-card:hover .tech-card-image img{transform:scale(1.02)}.tech-card-content{display:flex;flex:1 1;flex-direction:column}.tech-card-info{flex:1 1;min-width:0}.tech-card-title{-webkit-line-clamp:2;color:var(--primary-color);font-size:16px;font-weight:600;line-height:1.4;min-height:44px;width:100%}.tech-card-dish,.tech-card-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tech-card-dish{-webkit-line-clamp:1;color:var(--gray-800);line-height:1.3;min-height:18px;text-overflow:ellipsis}.tech-card-actions{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius);gap:8px;justify-content:flex-start;margin-bottom:0;padding:12px}.tech-card-btn{background:#f0f4f8;border-radius:var(--border-radius);color:var(--accent-color);flex:1 1;height:36px;min-width:0}.tech-card-btn:hover{background:#e2e8f0;box-shadow:var(--shadow);transform:translateY(-1px)}.tech-card-btn.view{background:#f0f4f8;color:var(--accent-color)}.tech-card-btn.view:hover{background:#e2e8f0;color:var(--accent-color)}.tech-card-btn.calculator{background:#f0f4f8;color:var(--accent-color)}.tech-card-btn.calculator:hover{background:#e2e8f0;color:var(--accent-color)}.tech-card-btn.edit{background:#f0f4f8;color:var(--accent-color)}.tech-card-btn.edit:hover{background:#e2e8f0;color:var(--accent-color)}.tech-card-btn.delete{background:#f0f4f8;color:var(--accent-color)}.tech-card-btn.delete:hover{background:#e2e8f0;color:var(--accent-color)}.difficulty-easy,.difficulty-hard,.difficulty-medium,.tech-card-difficulty,.tech-card-meta,.tech-card-serving{display:none}.tech-card-stats{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius);min-height:48px}.tech-card-stat{color:var(--gray-600);font-size:12px;gap:4px}.tech-card-stat svg{color:var(--gray-500);height:14px;width:14px}.tech-card-price{color:var(--primary-color)}.tech-card-description{color:var(--gray-600);font-size:13px;margin:auto 0 0;min-height:60px}.tech-card.loading{animation:pulse 1.5s ease-in-out infinite;background:var(--gray-100)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.tech-card.loading .tech-card-image{background:var(--gray-200)}.tech-card.loading .tech-card-content{background:var(--gray-100)}.tech-card-image-placeholder{align-items:center;background:linear-gradient(135deg,var(--gray-100) 0,var(--gray-200) 100%);border-radius:var(--border-radius);color:var(--gray-400);display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.grid-tech-cards{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:1200px){.grid-tech-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tech-card{max-width:none}}@media (max-width:768px){.grid-tech-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tech-card-content{padding:16px}.tech-card-title{font-size:15px;min-height:40px}.tech-card-actions{margin-bottom:0;padding:10px}.tech-card-btn{flex:1 1;font-size:13px;height:34px;min-width:0}.tech-card-image{height:160px}}@media (max-width:640px){.grid-tech-cards{grid-template-columns:1fr}.tech-card{max-width:100%}.tech-card-header{align-items:stretch;flex-direction:column;gap:12px}.tech-card-actions{gap:6px;justify-content:flex-start;margin-bottom:0;padding:12px}.tech-card-btn{flex:1 1;height:40px;min-width:0}.tech-card-image{height:200px}}.form-group{margin-bottom:20px}.form-label{color:var(--gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-label.required:after{color:var(--danger-color);content:"*";margin-left:4px}.form-input,.form-select,.form-textarea{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-900);font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #091c361a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--danger-color);box-shadow:0 0 0 3px #dc26261a}.form-textarea{line-height:1.5;min-height:80px;resize:vertical}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-row{display:flex;gap:16px;margin-bottom:20px}.form-row .form-group{flex:1 1;margin-bottom:0}.form-col-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-col-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.form-check{align-items:center;display:flex;gap:8px;margin-bottom:12px}.form-check-input{background:var(--white);border:1px solid var(--gray-300);border-radius:4px;cursor:pointer;height:16px;width:16px}.form-check-input[type=radio]{border-radius:50%}.form-check-input:checked{background:var(--primary-color);border-color:var(--primary-color)}.form-check-label{color:var(--gray-700);cursor:pointer;font-size:14px;margin:0}.form-actions{align-items:center;border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}.form-actions.space-between{justify-content:space-between}.form-actions.center{justify-content:center}.form-error{color:var(--danger-color)}.form-error,.form-help{display:block;font-size:12px;margin-top:4px}.form-help{color:var(--gray-500)}.form-search{position:relative}.form-search .form-input{padding-left:40px}.form-search .search-icon{color:var(--gray-400);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-group{align-items:stretch;display:flex}.input-group .form-input{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.input-group .btn{border-bottom-left-radius:0;border-left:1px solid var(--gray-300);border-top-left-radius:0}.form-file{cursor:pointer;display:inline-block;position:relative}.form-file-input{height:0;opacity:0;position:absolute;width:0}.form-file-label{align-items:center;background:var(--white);border:1px solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-700);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;padding:12px 20px;transition:all .2s ease}.form-file-label:hover{background:var(--gray-50);border-color:var(--gray-400)}.form-group.valid .form-input,.form-group.valid .form-select,.form-group.valid .form-textarea{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.form-group.invalid .form-input,.form-group.invalid .form-select,.form-group.invalid .form-textarea{border-color:var(--danger-color);box-shadow:0 0 0 3px #dc26261a}@media (max-width:768px){.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:20px}.form-col-2,.form-col-3{gap:0;grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .btn{justify-content:center;width:100%}}@media (max-width:480px){.form-input,.form-select,.form-textarea{padding:10px 12px}.form-actions{margin-top:24px;padding-top:16px}}.ingredients-list{border-radius:var(--border-radius);overflow:hidden}.ingredients-header{background:var(--gray-100);border-bottom:2px solid var(--gray-200);color:var(--gray-700);font-size:14px;font-weight:600;padding:12px 16px}.ingredient-row,.ingredients-header{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr 1.5fr 1.5fr}.ingredient-row{background:var(--white);border-bottom:1px solid var(--gray-200);padding:16px;transition:all .2s ease}.ingredient-row:hover{background:var(--gray-50)}.ingredient-row:last-child{border-bottom:none}.ingredient-col{align-items:center;display:flex}.ingredient-col.ingredient-name .form-select{font-weight:500}.ingredient-col.ingredient-quantity .form-input{font-weight:500;text-align:center}.ingredient-col.ingredient-actions{justify-content:flex-end}.checkbox-label{align-items:center;color:var(--gray-600);cursor:pointer;display:flex;font-size:13px;gap:6px;white-space:nowrap}.checkbox-label input[type=checkbox]{height:16px;margin:0;width:16px}.empty-state{color:var(--gray-500);padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{color:var(--gray-700);font-size:18px;margin:0 0 8px}.empty-state p{color:var(--gray-500);font-size:14px;margin:0 0 24px}@media (max-width:768px){.ingredient-row,.ingredients-header{gap:12px;grid-template-columns:1fr}.ingredients-header{display:none}.ingredient-row{border:1px solid var(--gray-200);border-radius:var(--border-radius);margin-bottom:12px;padding:16px}.ingredient-col{align-items:stretch;flex-direction:column;gap:4px}.ingredient-col.ingredient-actions{align-items:center;flex-direction:row;justify-content:space-between}.ingredient-col:before{color:var(--gray-600);content:attr(data-label);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ingredient-col.ingredient-name:before{content:"Ингредиент"}.ingredient-col.ingredient-quantity:before{content:"Количество"}.ingredient-col.ingredient-method:before{content:"Подготовка"}.ingredient-col.ingredient-actions:before{content:"Опции"}}.info-box{background:#3b82f60d;border:1px solid #3b82f633;border-radius:var(--border-radius);margin-top:16px;padding:16px}.info-header{color:var(--primary-color);font-size:14px;margin-bottom:8px}.info-list{color:var(--gray-700);font-size:13px;line-height:1.5;margin:0;padding-left:20px}.info-list li{margin-bottom:4px}.info-list li:last-child{margin-bottom:0}.info-list strong{color:var(--gray-800)}.table-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table{background:var(--white);border-collapse:collapse;margin:0;width:100%}.table th{background:var(--gray-50);border-bottom:1px solid var(--gray-200);color:var(--gray-700);font-weight:600;text-align:left;white-space:nowrap}.table td,.table th{font-size:14px;padding:16px 20px}.table td{border-bottom:1px solid var(--gray-100);color:var(--gray-600);vertical-align:top}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--gray-50)}.table td.w-auto,.table th.w-auto{width:auto}.table td.w-100,.table th.w-100{width:100px}.table td.w-150,.table th.w-150{width:150px}.table td.w-200,.table th.w-200{width:200px}.table td.text-center,.table th.text-center{text-align:center}.table td.text-right,.table th.text-right{text-align:right}.table-status{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px}.table-status.status-active{background:#f0fdf4;color:#16a34a}.table-status.status-inactive{background:var(--gray-100);color:var(--gray-600)}.table-status.status-pending{background:#fffbeb;color:#d97706}.table-status.status-error{background:#fef2f2;color:var(--danger-color)}.table-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.table-action-btn{align-items:center;background:var(--white);border:1px solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-600);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.table-action-btn:hover{background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-1px)}.table-action-btn.edit{border-color:#16a34a;color:#16a34a}.table-action-btn.edit:hover{background:#16a34a;color:var(--white)}.table-action-btn.delete{border-color:var(--danger-color);color:var(--danger-color)}.table-action-btn.delete:hover{background:var(--danger-color);color:var(--white)}.table-action-btn.view{border-color:var(--primary-color);color:var(--primary-color)}.table-action-btn.view:hover{background:var(--primary-color);color:var(--white)}.table th.sortable{cursor:pointer;padding-right:40px;position:relative;-webkit-user-select:none;user-select:none}.table th.sortable:hover{background:var(--gray-100)}.table th.sortable:after{border-bottom:4px solid var(--gray-400);border-left:4px solid #0000;border-right:4px solid #0000;content:"";height:0;opacity:.5;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0}.table th.sortable.asc:after{border-bottom:4px solid var(--primary-color);border-top:none;opacity:1}.table th.sortable.desc:after{border-bottom:none;border-top:4px solid var(--primary-color);opacity:1}.table td.select,.table th.select{padding:16px 12px;text-align:center;width:40px}.table-checkbox{background:var(--white);border:1px solid var(--gray-300);border-radius:4px;cursor:pointer;height:16px;position:relative;width:16px}.table-checkbox:checked{background:var(--primary-color);border-color:var(--primary-color)}.table-checkbox:checked:after{color:var(--white);content:"✓";font-size:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.table-empty{color:var(--gray-500);padding:60px 20px;text-align:center}.table-empty svg{color:var(--gray-300);margin-bottom:16px}.table-empty h3{color:var(--gray-600);font-size:18px;margin-bottom:8px}.table-empty p{margin-bottom:24px}.table-pagination{align-items:center;background:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:16px 24px}.pagination-info{color:var(--gray-600);font-size:14px}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-btn{align-items:center;background:var(--white);border:1px solid var(--gray-300);border-radius:var(--border-radius);color:var(--gray-600);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.pagination-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white)}@media (max-width:1024px){.table-container{overflow-x:auto}.table{min-width:600px}}@media (max-width:768px){.table td,.table th{font-size:13px;padding:12px 16px}.table-actions{gap:6px}.table-action-btn{font-size:13px;height:28px;width:28px}.table-pagination{align-items:center;flex-direction:column;gap:12px}.pagination-info{order:2}.pagination-controls{order:1}}@media (max-width:640px){.table td,.table th{padding:10px 12px}.table{min-width:500px}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modalShow .2s ease-out;background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow:hidden;padding:0;width:100%}@keyframes modalShow{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.modal-title{color:var(--gray-800);font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--gray-400);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:color .2s ease,background .2s ease;width:32px}.modal-close:hover{background:var(--gray-100);color:var(--gray-600)}.modal-body{max-height:calc(90vh - 120px);overflow-y:auto;padding:0 24px 24px}.modal-footer{background:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.modal-sm{max-width:400px}.modal-lg{max-width:800px}.modal-xl{max-width:1200px}.modal-full{max-height:95vh;max-width:95vw}.modal-danger .modal-header{border-bottom:2px solid var(--danger-color)}.modal-danger .modal-title{color:var(--danger-color)}.modal-success .modal-header{border-bottom:2px solid #16a34a}.modal-success .modal-title{color:#16a34a}.modal-warning .modal-header{border-bottom:2px solid #d97706}.modal-warning .modal-title{color:#d97706}.modal-confirm{max-width:400px}.modal-confirm .modal-body{padding:20px 24px;text-align:center}.modal-confirm .modal-icon{align-items:center;border-radius:50%;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.modal-confirm.modal-danger .modal-icon{background:#dc26261a;color:var(--danger-color)}.modal-confirm.modal-warning .modal-icon{background:#d977061a;color:#d97706}.modal-confirm.modal-success .modal-icon{background:#16a34a1a;color:#16a34a}.modal-confirm .modal-message{color:var(--gray-700);font-size:16px;line-height:1.5;margin-bottom:24px}.modal-confirm .modal-footer{background:var(--white);border-top:none;justify-content:center}.modal-form .modal-body{padding:20px 24px}.modal-form .form-actions{border-top:1px solid var(--gray-200);margin-top:24px;padding-top:20px}.calculator-modal{max-width:600px}.calculator-modal .modal-body{padding:20px 24px}.calculator-section{margin-bottom:24px}.calculator-section:last-child{margin-bottom:0}.calculator-section-title{border-bottom:1px solid var(--gray-200);color:var(--gray-800);font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.calculator-result{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius);margin-top:20px;padding:16px}.calculator-result-item{align-items:center;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.calculator-result-item:last-child{border-top:1px solid var(--gray-300);color:var(--primary-color);font-size:16px;font-weight:600;margin-bottom:0;padding-top:8px}.calculator-result-item.calculator-result-total{background:#091c360d;border-radius:var(--border-radius);border-top:2px solid var(--primary-color);color:var(--primary-color);font-size:18px;font-weight:700;margin-bottom:0;margin-top:12px;padding:12px}.calculator-ingredient-item{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius);display:flex;justify-content:space-between;margin-bottom:8px;padding:12px;transition:all .2s ease}.calculator-ingredient-item:hover{background:var(--gray-100);border-color:var(--primary-color)}.calculator-ingredient-info{flex:1 1}.calculator-ingredient-cost{color:var(--primary-color);font-size:16px;font-weight:600}.calculator-result-label{color:var(--gray-600)}.calculator-result-value{color:var(--gray-800);font-weight:500}.modal-overlay.closing{animation:fadeOut .2s ease-in}.modal-overlay.closing .modal{animation:modalHide .2s ease-in}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalHide{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-10px)}}@media (max-width:768px){.modal-overlay{padding:16px}.modal{max-width:100%}.modal-header{margin-bottom:16px;padding:20px 20px 0}.modal-title{font-size:18px}.modal-body{padding:0 20px 20px}.modal-footer{flex-direction:column-reverse;padding:12px 20px 20px}.modal-footer .btn{justify-content:center;width:100%}.calculator-modal,.modal-lg,.modal-xl{max-width:100%}}@media (max-width:480px){.modal-overlay{padding:12px}.modal-header{padding:16px 16px 0}.modal-body{padding:0 16px 16px}.modal-footer{padding:10px 16px 16px}}.btn-info{background:var(--primary-color)!important;border-color:var(--primary-color)!important}.btn-info,.btn-info:hover{color:var(--white)!important}.btn-info:hover{background:#0a1d3a!important;border-color:#0a1d3a!important}.btn-info:disabled{background:var(--gray-400)!important;border-color:var(--gray-400)!important;cursor:not-allowed!important;opacity:.6!important}.grid-3{grid-gap:1.5rem!important;display:grid!important;gap:1.5rem!important;grid-template-columns:repeat(3,1fr)!important}@media (max-width:1200px){.grid-3{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.grid-3{grid-template-columns:1fr!important}}.tech-card{background:linear-gradient(135deg,#fff,#f8fafc)!important;border:1px solid #fcd66f!important;border-radius:16px!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;display:flex!important;flex-direction:column!important;height:100%!important;margin-bottom:0!important;overflow:hidden!important;padding:0!important;position:relative!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.tech-card:hover{border-color:#091c36!important;box-shadow:0 25px 50px -12px #00000040!important;transform:translateY(-8px)!important}.tech-card-image{background:var(--gray-100)!important;border-radius:12px;flex-shrink:0!important;height:180px!important;margin:16px 16px 0;overflow:hidden;position:relative;width:calc(100% - 32px)!important}.tech-card-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.tech-card:hover .tech-card-image img{transform:scale(1.05)}.tech-card-image-placeholder{align-items:center!important;background:linear-gradient(135deg,var(--gray-100) 0,var(--gray-200) 100%)!important;border-radius:var(--border-radius)!important;color:var(--gray-400)!important;display:flex!important;font-size:48px!important;height:100%!important;justify-content:center!important;width:100%!important}.tech-card-content{display:flex!important;flex:1 1!important;flex-direction:column!important;padding:20px}.tech-card-header{align-items:flex-start;display:flex;flex-direction:column;gap:12px;justify-content:space-between;margin-bottom:8px}.tech-card-info{width:100%}.tech-card-title{-webkit-text-fill-color:#0000;-webkit-line-clamp:2!important;background:linear-gradient(135deg,#091c36,#fcd66f);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:1.25rem;line-height:1.4!important;margin:0 0 2px;min-height:44px!important;width:100%!important}.tech-card-dish,.tech-card-title{-webkit-box-orient:vertical!important;display:-webkit-box!important;font-weight:700;overflow:hidden!important}.tech-card-dish{-webkit-line-clamp:1!important;color:#2d3748;font-size:15px;margin:0;min-height:18px!important;text-overflow:ellipsis!important}.tech-card-actions{display:flex;flex-shrink:0;gap:6px;justify-content:flex-end;width:100%}.tech-card-btn{align-items:center;background:#f0f4f8!important;border:none;border-radius:8px;color:#fcd66f!important;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.tech-card-btn:hover{background:#e2e8f0!important;transform:translateY(-2px)}.tech-card-btn.calculator,.tech-card-btn.delete,.tech-card-btn.edit,.tech-card-btn.view{background:#f0f4f8!important;color:#fcd66f!important}.tech-card-stats{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;min-height:48px!important;padding:12px}.tech-card-stat{align-items:center;color:#4a5568;display:flex;font-size:13px;gap:6px}.tech-card-stat svg{color:#718096}.tech-card-price{color:#091c36;font-weight:600}.tech-card-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;min-height:24px!important}.tech-card-difficulty{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;white-space:nowrap!important}.difficulty-easy{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.difficulty-medium{background:linear-gradient(135deg,#fcd66f,#fbd454);color:#091c36}.difficulty-hard{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.tech-card-serving{background:#7180961a;border-radius:6px;color:#718096;font-size:12px;padding:4px 8px;white-space:nowrap!important}.tech-card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:14px;line-height:1.5;margin:0;margin-top:auto!important;min-height:60px!important;overflow:hidden}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.loading-shimmer{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:400% 100%}.page-header{border-bottom:1px solid #e2e8f0!important;gap:16px!important;justify-content:space-between!important;margin-bottom:32px!important;padding-bottom:20px!important}.page-header,.page-header-actions{align-items:center!important;display:flex!important;flex-wrap:wrap!important}.page-header-actions{gap:12px!important}.page-title{-webkit-text-fill-color:#0000!important;background:linear-gradient(135deg,#091c36,#fcd66f)!important;-webkit-background-clip:text!important;background-clip:text!important;flex-shrink:0!important;font-size:2.5rem!important;font-weight:800!important;margin:0!important;max-width:none!important;text-align:left!important;width:auto!important}.btn{align-items:center!important;border:none!important;border-radius:12px!important;box-shadow:0 4px 15px 0 #00000026!important;cursor:pointer!important;display:inline-flex!important;font-size:14px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;padding:12px 20px!important;transition:all .3s ease!important;white-space:nowrap!important}.btn,.btn:hover{text-decoration:none!important}.btn:hover{transform:translateY(-2px)!important}.btn-primary{background:linear-gradient(135deg,#091c36,#0a1d3a)!important;box-shadow:0 4px 15px 0 #091c364d!important;color:#fff!important}.btn-primary:hover{box-shadow:0 8px 25px 0 #091c3666!important;color:#fff!important}.btn-secondary{background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;border:1px solid #e2e8f0!important;box-shadow:0 4px 15px 0 #0000001a!important;color:#4a5568!important}.btn-secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e0)!important;box-shadow:0 8px 25px 0 #00000026!important;color:#2d3748!important}.btn-success{background:linear-gradient(135deg,#48bb78,#38a169)!important;box-shadow:0 4px 15px 0 #48bb784d!important;color:#fff!important}.btn-success:hover{box-shadow:0 8px 25px 0 #48bb7866!important;color:#fff!important}.btn-danger{background:linear-gradient(135deg,#f56565,#e53e3e)!important;box-shadow:0 4px 15px 0 #f565654d!important;color:#fff!important}.btn-danger:hover{box-shadow:0 8px 25px 0 #f5656566!important;color:#fff!important}.btn-info{background:linear-gradient(135deg,#091c36,#0a1d3a)!important;box-shadow:0 4px 15px 0 #091c364d!important;color:#fff!important}.btn-info:hover{background:linear-gradient(135deg,#0a1d3a,#091c36)!important;box-shadow:0 8px 25px 0 #091c3666!important;color:#fff!important}.btn-sm{font-size:13px!important;padding:8px 16px!important}.search-card{background:#f0f4f8!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 2px 4px #0000000d!important;box-sizing:border-box!important;margin:0 0 24px!important;padding:24px!important;width:100%!important}.search-card>div{align-items:center!important;display:flex!important;position:relative!important}.search-card input{background:var(--white)!important;border:1px solid #e2e8f0!important;border-radius:12px!important;color:var(--gray-900)!important;font-size:16px!important;height:auto!important;line-height:1.5!important;padding:16px 20px 16px 52px!important;width:100%!important}.search-card input::placeholder{color:var(--gray-500)!important}.search-card input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #091c361a!important;outline:none!important}.search-icon{color:var(--gray-500)!important;left:18px!important;pointer-events:none!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:1!important}.App{background:var(--gray-50)!important;min-height:100vh!important}.App,.page-container .container{margin:0!important;padding:0!important}.page-container .container{max-width:none!important}.content{background:var(--gray-50)!important;flex:1 1!important;margin:0!important;padding:0!important;width:100%!important}.page-header-full-width{background:var(--white)!important;border-bottom:1px solid var(--gray-200)!important;box-sizing:border-box!important;margin:0 0 32px!important;max-width:none!important;padding:24px 0!important;position:relative!important;width:100%!important}.page-header-full-width .page-header{align-items:center!important;border-bottom:none!important;display:flex!important;justify-content:space-between!important}.page-container,.page-header-full-width .page-header{box-sizing:border-box!important;margin:0 auto!important;max-width:1200px!important;padding:0 24px!important}.page-container{min-height:auto!important;width:100%!important}.empty-state{background:linear-gradient(135deg,#f7fafc,#edf2f7)!important;border:2px dashed #cbd5e0!important;border-radius:16px!important;padding:80px 20px!important;text-align:center!important}.empty-state svg{color:#cbd5e0!important;margin-bottom:16px!important}.empty-state h3{color:#2d3748!important;margin-bottom:8px!important}.empty-state p{color:#718096!important;margin-bottom:24px!important}.dashboard-grid{grid-gap:24px!important;display:grid!important;gap:24px!important;grid-template-columns:1fr 1fr!important;margin-bottom:32px!important}.dashboard-section{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 6px -1px #0000001a!important;overflow:hidden!important}.dashboard-section-header{background:linear-gradient(135deg,#091c36,#0a1d3a)!important;border-bottom:1px solid #e2e8f0!important;justify-content:space-between!important;padding:20px 24px!important}.dashboard-section-header,.dashboard-section-title{align-items:center!important;display:flex!important}.dashboard-section-title{color:#fff!important;font-size:1.125rem!important;font-weight:600!important;gap:10px!important;margin:0!important}.dashboard-section-link{color:#fcd66f!important;font-size:14px!important;font-weight:500!important;text-decoration:none!important;transition:color .2s ease!important}.dashboard-section-link:hover{color:#fbd454!important}.dashboard-section-content{min-height:300px!important;padding:0!important}.dashboard-item{align-items:center!important;border-bottom:1px solid #f1f5f9!important;display:flex!important;justify-content:space-between!important;padding:16px 24px!important;transition:background-color .2s ease!important}.dashboard-item:last-child{border-bottom:none!important}.dashboard-item:hover{background-color:#f8fafc!important}.dashboard-item-info{flex:1 1!important}.dashboard-item-title{color:#091c36!important;font-size:14px!important;font-weight:600!important;margin:0 0 4px!important}.dashboard-item-subtitle{color:#64748b!important;font-size:13px!important;margin:0!important}.dashboard-item-value{font-size:14px!important;font-weight:600!important;text-align:right!important}.dashboard-item-status{border-radius:12px!important;font-size:12px!important;font-weight:500!important;padding:2px 8px!important}.status-low{background:#fef2f2!important;color:#dc2626!important}.status-normal{background:#f0fdf4!important;color:#16a34a!important}.status-expensive{background:#fffbeb!important;color:#d97706!important}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr!important}}@media (max-width:768px){.dashboard-section-header{padding:16px 20px!important}.dashboard-item{padding:12px 20px!important}.dashboard-item-title{font-size:13px!important}.dashboard-item-subtitle{font-size:12px!important}}.filters-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 6px -1px #0000001a!important;margin-bottom:24px!important;padding:24px!important}.filters-grid{grid-gap:16px!important;align-items:end!important;display:grid!important;gap:16px!important;grid-template-columns:2fr 1fr 1fr 1fr!important}@media (max-width:1024px){.filters-grid{gap:12px!important;grid-template-columns:1fr 1fr!important}}@media (max-width:640px){.filters-grid{grid-template-columns:1fr!important}.page-header{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}.page-header-actions{justify-content:flex-start!important;width:100%!important}.page-title{font-size:2rem!important}}.form-actions{align-items:center!important;border-top:1px solid #e2e8f0!important;display:flex!important;flex-wrap:wrap!important;gap:16px!important;justify-content:space-between!important;margin-top:32px!important;padding-top:20px!important}.card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 6px -1px #0000001a!important;margin-bottom:24px!important;overflow:hidden!important}.card-header{align-items:center!important;background:linear-gradient(135deg,#f8fafc,#edf2f7)!important;border-bottom:1px solid #e2e8f0!important;display:flex!important;justify-content:space-between!important;padding:20px 24px!important}.card-title{color:#2d3748!important;font-size:1.125rem!important;font-weight:600!important;margin:0!important}.card>div:not(.card-header){padding:24px!important}.form-group{margin-bottom:20px!important}.form-label{color:#374151!important;display:block!important;font-size:14px!important;font-weight:500!important;margin-bottom:8px!important}.form-input,.form-select,.form-textarea{background:#fff!important;border:1px solid #d1d5db!important;border-radius:8px!important;color:#374151!important;font-size:14px!important;padding:12px 16px!important;transition:border-color .2s ease!important;width:100%!important}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#091c36!important;box-shadow:0 0 0 3px #091c361a!important;outline:none!important}.form-textarea{min-height:80px!important;resize:vertical!important}.grid{grid-gap:20px!important;display:grid!important;gap:20px!important}.grid-2{grid-template-columns:1fr 1fr!important}.grid-4{grid-template-columns:repeat(4,1fr)!important}@media (max-width:768px){.grid-2,.grid-4{grid-template-columns:1fr!important}}.mt-3{margin-top:24px!important}.mb-0{margin-bottom:0!important}.d-flex{display:flex!important}.gap-2{gap:8px!important}.align-center{align-items:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.table{background:#fff!important;border-collapse:collapse!important;width:100%!important}.table th{background:#f8fafc!important;border-bottom:2px solid #e5e7eb!important;color:#374151!important;font-weight:600!important;text-align:left!important}.table td,.table th{font-size:14px!important;padding:16px 20px!important}.table td{border-bottom:1px solid #f1f5f9!important;color:#4b5563!important;vertical-align:top!important}.table tbody tr:hover{background:#f8fafc!important}.stats-grid{grid-gap:20px!important;display:grid!important;gap:20px!important;grid-template-columns:repeat(3,1fr)!important;margin-bottom:32px!important}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:640px){.stats-grid{grid-template-columns:1fr!important}}.stat-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 2px 4px #0000000d!important;padding:20px!important;text-align:center!important;transition:transform .2s ease,box-shadow .2s ease!important}.stat-card:hover{box-shadow:0 8px 25px #0000001a!important;transform:translateY(-2px)!important}.stat-value{color:#091c36!important;font-size:2rem!important;font-weight:700!important;line-height:1!important;margin-bottom:8px!important}.stat-label{color:#6b7280!important;font-size:14px!important;font-weight:500!important}.modal-overlay{align-items:center!important;background:#00000080!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;padding:20px!important;position:fixed!important;right:0!important;top:0!important;z-index:1000!important}.modal{background:#fff!important;border-radius:16px!important;box-shadow:0 25px 50px -12px #00000040!important;max-height:90vh!important;max-width:500px!important;overflow:hidden!important;padding:0!important;width:100%!important}.modal-header{align-items:center!important;display:flex!important;justify-content:space-between!important;margin-bottom:20px!important;padding:24px 24px 0!important}.modal-title{color:#2d3748!important;font-size:1.25rem!important;font-weight:600!important;margin:0!important}.modal-close{background:none!important;border:none!important;border-radius:4px!important;color:#9ca3af!important;cursor:pointer!important;font-size:24px!important;padding:4px!important;transition:color .2s ease!important}.modal-close:hover{color:#6b7280!important}.modal>div:last-child{padding:0 24px 24px!important}.text-center{text-align:center!important}.grid-tech-cards{grid-gap:20px!important;align-items:stretch!important;display:grid!important;gap:20px!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;justify-items:center!important}body{overflow-x:hidden!important}#root,body{margin:0!important;padding:0!important}#root{width:100%!important}.page-header-full-width .page-title{-webkit-text-fill-color:#0000!important;align-self:flex-start!important;background:linear-gradient(135deg,#091c36,#fcd66f)!important;-webkit-background-clip:text!important;background-clip:text!important;flex-shrink:0!important;font-size:2.5rem!important;font-weight:800!important;justify-self:flex-start!important;margin:0!important;text-align:left!important}.page-header-full-width .page-header-actions{align-items:center!important;align-self:center!important;display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-left:auto!important}@media (max-width:768px){.page-header-full-width .page-header{align-items:flex-start!important;flex-direction:column!important;gap:16px!important;padding:0 16px!important}.page-header-full-width .page-header-actions{justify-content:flex-start!important;width:100%!important}.page-header-full-width .page-title{font-size:2rem!important}}@media (max-width:480px){.page-header-full-width .page-header{padding:0 12px!important}}
/*# sourceMappingURL=main.503622d8.css.map*/