*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-dark: #121212;--color-dark-soft: #252525;--color-white: #ffffff;--color-gray-bg: #F5F7FA;--color-gray-border: #E6E8EC;--color-gray-text: #6B7280;--color-green: #1B4D3E;--color-green-light: #E0F2EA;--color-accent: #121212;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Archivo", system-ui, -apple-system, sans-serif;--sidebar-width: 280px;--header-height: 80px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-sans);background-color:var(--color-gray-bg);background-image:radial-gradient(circle at top right,rgba(255,255,255,.8),transparent 40%);color:var(--color-dark);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4,.logo-text{font-family:var(--font-display);font-weight:700;color:var(--color-dark);letter-spacing:-.02em}h1{font-size:32px;margin-bottom:24px}h2{font-size:20px;margin-bottom:16px}h3{font-size:16px;margin-bottom:8px}a{color:inherit;text-decoration:none;transition:var(--transition)}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar-width);background:var(--color-dark);color:var(--color-white);display:flex;flex-direction:column;padding:32px 24px;position:fixed;height:100vh;z-index:10}.sidebar-logo{font-size:24px;color:var(--color-white);margin-bottom:60px;display:flex;align-items:center;gap:8px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.sidebar-link{display:flex;align-items:center;padding:14px 16px;color:#fff9;border-radius:var(--radius-sm);font-weight:500;font-size:15px;transition:var(--transition)}.sidebar-link:hover,.sidebar-link.active{background:#ffffff1a;color:var(--color-white);transform:translate(4px)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}.sidebar-logout{background:none;border:none;color:#ffffff80;cursor:pointer;font-family:var(--font-sans);font-size:14px;padding:0 16px;transition:var(--transition)}.sidebar-logout:hover{color:var(--color-white)}.admin-main{flex:1;margin-left:var(--sidebar-width);padding:48px 64px;max-width:1400px}.card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:32px;border:1px solid rgba(0,0,0,.02);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-title{font-size:32px;font-family:var(--font-display);font-weight:700;color:var(--color-dark)}.card-meta{color:var(--color-gray-text);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;transition:var(--transition);border:none}.btn-primary{background:var(--color-dark);color:var(--color-white)}.btn-primary:hover{background:var(--color-dark-soft);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-white);color:var(--color-dark);border:1px solid var(--color-gray-border)}.btn-secondary:hover{border-color:var(--color-dark);background:var(--color-dark);color:var(--color-white)}.btn-danger{color:#ef476f;background:#ef476f1a}.btn-danger:hover{background:#ef476f;color:#fff}.form-group{margin-bottom:24px}.form-label{display:block;font-weight:600;font-size:13px;margin-bottom:8px;color:var(--color-dark);letter-spacing:.02em}.form-input,.form-select,.form-textarea{width:100%;border:1px solid var(--color-gray-border);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-sans);font-size:15px;transition:var(--transition);background:var(--color-white)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-dark);box-shadow:0 0 0 3px #0000000d}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-available{background:var(--color-green-light);color:var(--color-green)}.status-paused{background:#f0f0f0;color:#888}.status-hidden{background:#ffebeb;color:#ef476f}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;padding:20px 24px;color:var(--color-gray-text);font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--color-gray-border)}.table td{padding:20px 24px;border-bottom:1px solid var(--color-gray-border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#fafafa}.image-upload-zone{border:2px dashed var(--color-gray-border);border-radius:var(--radius-md);padding:48px;text-align:center;transition:var(--transition);background:#fafafa;cursor:pointer}.image-upload-zone:hover{border-color:var(--color-dark);background:var(--color-white)}.image-preview{margin-top:16px;border-radius:var(--radius-md);overflow:hidden;position:relative;box-shadow:var(--shadow-card)}.image-preview img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover}.image-preview-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.image-preview:hover .image-preview-overlay{opacity:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-dark);padding:24px}.login-box{background:var(--color-white);border-radius:var(--radius-lg);padding:48px;width:100%;max-width:400px;text-align:center}.login-logo{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:.1em;margin-bottom:32px}.login-title{font-size:24px;margin-bottom:8px}.login-subtitle{color:var(--color-gray-text);margin-bottom:24px}.login-error{background:#ffebeb;color:#ef476f;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;text-align:left}.login-hint{color:var(--color-gray-text);font-size:13px;margin-top:24px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--color-gray-text)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-border);border-top-color:var(--color-dark);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{padding:48px 0;display:flex;flex-direction:column;gap:24px;animation:fade-in .2s ease}.skeleton{background:linear-gradient(90deg,var(--color-gray-border) 25%,#f0f2f5 50%,var(--color-gray-border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}.skeleton-title{height:32px;width:220px}.skeleton-subtitle{height:16px;width:160px;margin-top:8px}.skeleton-card{height:200px;border-radius:var(--radius-md)}.skeleton-row{height:56px;width:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-content{animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.status-active{background:var(--color-green-light);color:var(--color-green)}.status-pending{background:#fff3cd;color:#856404}.status-growing{background:#d1ecf1;color:#0c5460}.status-ready{background:var(--color-green-light);color:var(--color-green)}.status-delivered{background:#f0f0f0;color:#666}.status-seasonal{background:#fff3cd;color:#856404}.stage-timeline{display:flex;align-items:center;gap:2px;width:100%}.stage-segment{flex:1;height:8px;background:var(--color-gray-border);border-radius:4px;position:relative;transition:background .3s ease}.stage-segment:first-child{border-radius:4px 0 0 4px}.stage-segment:last-child{border-radius:0 4px 4px 0}.stage-segment.completed{background:var(--color-green)}.stage-segment.active{background:#2563eb}.stage-label{font-size:11px;color:var(--color-gray-text);text-align:center;margin-top:4px}.stage-label.active{color:#2563eb;font-weight:600}.product-data-table td{border-bottom:1px solid var(--color-gray-border)}.product-row-indicator{position:relative}.completeness-bar{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.completeness-complete{background:#22c55e}.completeness-partial{background:#f59e0b}.completeness-empty{background:#ef476f}.product-subrow{font-size:12.5px;color:var(--color-gray-text);margin-top:4px;line-height:1.5}.product-stages{color:var(--color-gray-text)}.product-total-time{font-weight:600;color:var(--color-dark);margin-left:6px}.product-subrow-divider{margin:0 8px;color:var(--color-gray-border)}.product-yield{color:var(--color-gray-text)}.product-prices{font-size:13px;color:var(--color-dark);font-weight:500;line-height:1.6}.product-missing{font-size:12px;color:#ef476f;font-style:italic;opacity:.8}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;gap:24px}.page-header h1{margin-bottom:4px}.page-header .page-subtitle{font-size:14px;color:var(--color-gray-text)}.back-link{display:inline-block;font-size:14px;color:var(--color-gray-text);margin-bottom:4px;text-decoration:none;transition:var(--transition)}.back-link:hover{color:var(--color-dark)}.filters{display:flex;align-items:center;gap:12px;padding-bottom:20px;margin-bottom:0;border-bottom:1px solid var(--color-gray-border)}.filters .filter-label{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-text);white-space:nowrap}.btn-small{height:34px;padding:0 16px;font-size:13px}.text-right{text-align:right}.text-center{text-align:center}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.empty-state{text-align:center;padding:48px 24px;color:var(--color-gray-text)}.empty-state p{margin-bottom:16px;font-size:15px}.alert-error{background:#ffebeb;color:#ef476f;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:24px}.card-static{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:32px;border:1px solid rgba(0,0,0,.02)}.tab-bar{display:flex;gap:8px;margin-bottom:32px}.tab-btn{padding:8px 20px;border:none;background:transparent;color:var(--color-gray-text);border-radius:100px;cursor:pointer;font-weight:600;font-size:14px;font-family:var(--font-sans);transition:var(--transition)}.tab-btn:hover{background:var(--color-gray-border);color:var(--color-dark)}.tab-btn.active{background:var(--color-dark);color:var(--color-white)}.order-product-row{display:flex;align-items:center;padding:12px 16px;gap:16px;border-radius:12px;border:1px solid var(--color-gray-border);background:var(--color-white);transition:all .2s ease}.order-product-row:hover{border-color:var(--color-dark-soft)}.order-product-row.selected{border-color:var(--color-green);background:var(--color-green-light)}.order-product-row .product-thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;background:#f5f5f5;flex-shrink:0}.order-product-row .product-info{flex:1;min-width:0}.order-product-row .product-info .product-name{font-weight:600;font-size:14px;color:var(--color-dark)}.order-product-row .product-info .product-meta{font-size:12px;color:var(--color-gray-text)}.order-product-row .product-price{min-width:50px;text-align:right;font-size:13px;color:var(--color-gray-text)}.qty-controls{display:flex;align-items:center;gap:8px}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-gray-border);background:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:var(--transition);color:var(--color-dark);line-height:1}.qty-btn:hover:not(:disabled){border-color:var(--color-dark);background:var(--color-dark);color:var(--color-white)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-value{width:28px;text-align:center;font-weight:600;font-size:15px}.summary-line-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-gray-border)}.summary-line-item:last-child{border-bottom:none}.summary-remove-btn{background:none;border:none;color:#ef476f;cursor:pointer;font-size:16px;padding:2px;transition:var(--transition);line-height:1}.summary-remove-btn:hover{opacity:.7}.edit-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.header-actions{display:flex;gap:16px;flex-shrink:0;align-items:center}.order-sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:24px}.sidebar-actions{display:flex;flex-direction:column;gap:12px}.toast-success{position:fixed;top:24px;right:24px;background:var(--color-green);color:var(--color-white);padding:14px 28px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;box-shadow:0 8px 24px #00000026;z-index:1000;animation:toast-in .3s ease,toast-out .3s ease 2.7s forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@media(max-width:1024px){.edit-grid{grid-template-columns:1fr}}@media(max-width:1100px){.admin-main{padding:32px}}@media(max-width:768px){.admin-sidebar{display:none}.admin-main{margin-left:0;padding:24px 16px}.page-header{flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions .btn{flex:1}.filters{flex-wrap:wrap}.form-row,.edit-grid{grid-template-columns:1fr}.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}}
