:root{--hot-pink: #810947;--hot-pink-soft: rgba(129, 9, 71, .08);--hot-pink-hover: #6a073a;--blush-pink: #E6D5D8;--ivory: #FDFBF7;--warm-beige: #F5EBE6;--rose-gold: #B76E79;--deep-mauve: #4A0529;--burgundy: #810947;--white: #FFFFFF;--sidebar-bg: #4A0529;--sidebar-hover: #5A0A33;--sidebar-active: #6A0F3D;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Montserrat", "Segoe UI", sans-serif;--radius-pill: 50px;--radius-card: 12px;--radius-sm: 8px;--radius-input: 8px;--shadow-soft: 0 2px 10px rgba(129, 9, 71, .05);--shadow-card: 0 4px 20px rgba(129, 9, 71, .08);--shadow-elevated: 0 8px 30px rgba(129, 9, 71, .12);--transition: .25s cubic-bezier(.4, 0, .2, 1);--status-nouveau: var(--hot-pink);--status-confirme: #2E86AB;--status-expedie: #F18F01;--status-livre: #3DA35D;--status-annule: #9B9B9B}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px}body{font-family:var(--font-body);color:var(--deep-mauve);background:var(--ivory);min-height:100vh;display:flex;-webkit-font-smoothing:antialiased}#dashboard-app{width:100%;flex:1}h1,h2,h3{font-family:var(--font-heading);font-weight:600}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--blush-pink);border-radius:3px}.sidebar{width:260px;background:var(--sidebar-bg);color:#ffffffd9;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-brand{padding:28px 24px 24px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo-img{height:64px;max-height:64px;width:auto;max-width:200px;object-fit:contain;border-radius:8px;display:block;margin:0 auto;box-shadow:0 4px 15px #0003}.sidebar-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;font-style:italic;color:#fff}.sidebar-subtitle{font-size:.7rem;color:#fff6;margin-top:2px}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:#ffffffa6;font-size:.9rem;font-weight:500;border:none;background:transparent;width:100%;text-align:left;transition:all var(--transition)}.sidebar-link:hover{background:var(--sidebar-hover);color:#ffffffe6}.sidebar-link.active{background:var(--sidebar-active);color:#fff}.sidebar-link i{width:20px;text-align:center;font-size:.95rem}.sidebar-link .badge{margin-left:auto;background:var(--hot-pink);color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:20px;min-width:22px;text-align:center}.sidebar-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer a{display:flex;align-items:center;gap:10px;color:#ffffff73;font-size:.8rem;text-decoration:none;transition:color var(--transition)}.sidebar-footer a:hover{color:#fffc}.sidebar-toggle{display:none;position:fixed;top:16px;left:16px;z-index:200;background:var(--sidebar-bg);color:#fff;border:none;width:44px;height:44px;border-radius:12px;font-size:1.1rem;box-shadow:var(--shadow-card)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.sidebar-overlay.show{display:block}}.main{flex:1;margin-left:260px;min-height:100vh;display:flex;flex-direction:column}@media (max-width: 768px){.main{margin-left:0}}.topbar{padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf6f1cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,213,196,.4);position:sticky;top:0;z-index:50}@media (max-width: 768px){.topbar{padding:16px 16px 16px 68px}}.topbar-title{font-size:1.5rem;font-style:italic;color:var(--burgundy)}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-date{font-size:.8rem;color:var(--rose-gold)}.content{flex:1;padding:28px 32px}@media (max-width: 768px){.content{padding:20px 16px}}.page{display:none}.page.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--white);border-radius:var(--radius-card);padding:22px 24px;box-shadow:var(--shadow-soft);display:flex;align-items:flex-start;gap:16px;transition:all var(--transition);border:1px solid rgba(242,196,206,.2)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.stat-icon.pink{background:#8109471a;color:var(--hot-pink)}.stat-icon.gold{background:#b76e791a;color:var(--rose-gold)}.stat-icon.green{background:#3da35d1a;color:#3da35d}.stat-icon.blue{background:#2e86ab1a;color:#2e86ab}.stat-info{flex:1}.stat-number{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--burgundy);line-height:1}.stat-label{font-size:.8rem;color:var(--rose-gold);margin-top:4px}.clickable-card{cursor:pointer;position:relative}.clickable-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated);border-color:var(--hot-pink)}.clickable-card:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--hot-pink);opacity:0;transition:all var(--transition)}.clickable-card:hover:after{opacity:1;right:16px}.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}@media (max-width: 992px){.overview-grid{grid-template-columns:1fr}}.best-sellers-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.best-seller-item{background:var(--white);border-radius:var(--radius-sm);padding:16px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-soft);border:1px solid rgba(242,196,206,.2)}.best-seller-info{display:flex;align-items:center;gap:12px}.best-seller-rank{width:28px;height:28px;border-radius:50%;background:#8109471a;color:var(--hot-pink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.best-seller-rank.top-1{background:#ffd70033;color:#b8860b}.best-seller-rank.top-2{background:#c0c0c033;color:#708090}.best-seller-rank.top-3{background:#cd7f3233;color:#8b4513}.best-seller-name{font-weight:600;color:var(--burgundy);font-size:.95rem}.best-seller-sales{font-size:.85rem;color:var(--rose-gold);background:#b76e791a;padding:4px 10px;border-radius:20px;font-weight:600}.widget-list{display:flex;flex-direction:column;gap:12px;margin-top:16px;margin-bottom:24px}.action-alert{background:var(--white);border-radius:var(--radius-sm);padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-soft);border-left:4px solid var(--rose-gold);cursor:pointer;transition:all var(--transition)}.action-alert:hover{transform:translate(4px);box-shadow:var(--shadow-card)}.action-alert.urgent{border-left-color:var(--hot-pink)}.action-alert.warning{border-left-color:#f18f01}.action-alert-icon{font-size:1.2rem;color:var(--text-light)}.action-alert.urgent .action-alert-icon{color:var(--hot-pink)}.action-alert.warning .action-alert-icon{color:#f18f01}.action-alert-text{font-weight:500;font-size:.95rem;color:var(--burgundy)}.stock-alert-item{background:var(--white);border-radius:var(--radius-sm);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(242,196,206,.2)}.stock-alert-name{font-weight:500;color:var(--burgundy);font-size:.9rem}.stock-alert-badge{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700;background:#8109471a;color:var(--hot-pink)}.stock-alert-badge.critical{background:#ff4d4f22;color:#ff4d4f}.wilaya-item{background:var(--white);border-radius:var(--radius-sm);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(242,196,206,.2)}.wilaya-name{font-weight:500;color:var(--burgundy);font-size:.95rem}.wilaya-bar-container{flex:1;margin:0 16px;height:6px;background:var(--warm-beige);border-radius:3px;overflow:hidden}.wilaya-bar{height:100%;background:var(--rose-gold);border-radius:3px}.wilaya-count{font-size:.85rem;font-weight:600;color:var(--text-light)}.table-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.table-title{font-size:1.2rem;font-style:italic;color:var(--burgundy)}.table-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;background:var(--white);border:1.5px solid var(--blush-pink);border-radius:var(--radius-pill);padding:8px 16px;transition:all var(--transition)}.search-box:focus-within{border-color:var(--hot-pink);box-shadow:0 0 0 3px #81094714}.search-box i{color:var(--rose-gold);font-size:.85rem}.search-box input{border:none;outline:none;background:transparent;font-size:.85rem;color:var(--deep-mauve);width:160px}.filter-select{padding:8px 32px 8px 14px;border:1.5px solid var(--blush-pink);border-radius:var(--radius-pill);background:var(--white);font-size:.85rem;color:var(--deep-mauve);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237D4E57' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:all var(--transition)}.filter-select:focus{border-color:var(--hot-pink)}.table-wrap{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);overflow:hidden;border:1px solid rgba(242,196,206,.2)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}thead th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--rose-gold);background:#faf6f199;border-bottom:1px solid rgba(232,213,196,.3);white-space:nowrap}tbody td{padding:14px 16px;font-size:.88rem;border-bottom:1px solid rgba(232,213,196,.15);vertical-align:middle}tbody tr{transition:background var(--transition)}tbody tr:hover{background:#f2c4ce14}tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;white-space:nowrap}.status-nouveau{background:#8109471a;color:var(--status-nouveau)}.status-confirme,.status-confirmé{background:#2e86ab1a;color:var(--status-confirme)}.status-expedie,.status-expédié{background:#f18f011a;color:var(--status-expedie)}.status-livre,.status-livré{background:#3da35d1a;color:var(--status-livre)}.status-annule,.status-annulé{background:#9b9b9b26;color:var(--status-annule)}.row-actions{display:flex;align-items:center;gap:4px}.row-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--deep-mauve);font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.row-btn:hover{background:var(--hot-pink-soft);color:var(--hot-pink)}.row-btn.danger:hover{background:#b4282814;color:#b42828}.empty-state{text-align:center;padding:60px 24px;color:var(--rose-gold)}.empty-state i{font-size:3rem;margin-bottom:16px;opacity:.4}.empty-state p{font-size:.95rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.product-card{background:var(--white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(242,196,206,.2);transition:all var(--transition)}.product-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.product-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.product-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.product-card-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;font-style:italic;color:var(--burgundy)}.product-card-price{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--hot-pink);white-space:nowrap}.product-card-desc{font-size:.85rem;color:var(--deep-mauve);line-height:1.55;margin-bottom:14px}.product-card-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.product-card-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.meta-label{font-size:.75rem;font-weight:600;color:var(--rose-gold);text-transform:uppercase;letter-spacing:.5px}.meta-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);background:#f2c4ce33;font-size:.75rem;color:var(--deep-mauve)}.meta-chip.stock-low{background:#f18f0126;color:var(--status-expedie)}.meta-chip.stock-out{background:#b428281a;color:#b42828}.meta-chip .color-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(125,78,87,.15)}.product-card-actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid rgba(232,213,196,.2);margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:var(--radius-pill);font-size:.82rem;font-weight:600;border:none;transition:all var(--transition)}.btn-outline{background:transparent;color:var(--deep-mauve);border:1.5px solid var(--blush-pink)}.btn-outline:hover{border-color:var(--hot-pink);color:var(--hot-pink);background:var(--hot-pink-soft)}.btn-primary{background:var(--hot-pink);color:#fff;box-shadow:0 2px 10px #e91e8c33}.btn-primary:hover{background:var(--hot-pink-hover);transform:translateY(-1px);box-shadow:0 4px 16px #e91e8c4d}.btn-danger{background:transparent;color:#b42828;border:1.5px solid rgba(180,40,40,.2)}.btn-danger:hover{background:#b4282814}.btn-sm{padding:6px 14px;font-size:.78rem}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#2d152080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center;padding:24px}.modal-overlay.show{display:flex}.modal{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-elevated);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid rgba(232,213,196,.3)}.modal-title{font-size:1.3rem;font-style:italic;color:var(--burgundy)}.modal-close{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--deep-mauve);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.modal-close:hover{background:#e91e8c14;color:var(--hot-pink)}.modal-body{padding:24px 28px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid rgba(232,213,196,.3)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.8rem;font-weight:600;color:var(--deep-mauve)}.field input,.field select,.field textarea{padding:10px 14px;border:1.5px solid var(--blush-pink);border-radius:var(--radius-input);font-size:.88rem;color:var(--deep-mauve);background:var(--ivory);outline:none;transition:all var(--transition)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--hot-pink);box-shadow:0 0 0 3px #e91e8c14}.field textarea{resize:vertical;min-height:80px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-note{font-size:.75rem;color:var(--rose-gold);font-style:italic}.tags-editor{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tag-item{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#f2c4ce33;border-radius:var(--radius-pill);font-size:.78rem;color:var(--deep-mauve)}.tag-remove{width:16px;height:16px;border-radius:50%;border:none;background:#7d4e5726;color:var(--deep-mauve);font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition)}.tag-remove:hover{background:var(--hot-pink);color:#fff}.tag-add-input{display:inline-flex;align-items:center;gap:4px}.tag-add-input input{width:90px;padding:4px 8px;border:1px dashed var(--blush-pink);border-radius:var(--radius-pill);font-size:.78rem;outline:none;background:transparent;color:var(--deep-mauve)}.tag-add-input input:focus{border-color:var(--hot-pink)}.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;font-size:.88rem}.detail-label{font-weight:600;color:var(--rose-gold)}.detail-value{color:var(--deep-mauve)}.toast{position:fixed;bottom:24px;right:24px;background:var(--sidebar-bg);color:#fff;padding:14px 22px;border-radius:var(--radius-sm);font-size:.88rem;box-shadow:var(--shadow-elevated);z-index:600;display:flex;align-items:center;gap:10px;transform:translateY(20px);opacity:0;transition:all .3s ease;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.toast i{color:var(--hot-pink)}.hide-mobile{display:table-cell}@media (max-width: 640px){.hide-mobile{display:none!important}.stats-grid{grid-template-columns:1fr 1fr}.products-grid,.field-row{grid-template-columns:1fr}}@media (max-width: 768px){.table-wrap{border:none;box-shadow:none;background:transparent}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap th,.table-wrap td,.table-wrap tr{display:block;width:100%}.table-wrap table{min-width:100%}.table-wrap thead tr{display:none}.table-wrap tr{margin-bottom:16px;background:var(--white);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);border:1px solid rgba(242,196,206,.2);overflow:hidden}.table-wrap td{border-bottom:1px solid rgba(232,213,196,.15);display:flex;justify-content:space-between;align-items:center;text-align:right;padding:12px 16px}.table-wrap td:before{content:attr(data-label);flex-shrink:0;margin-right:16px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--rose-gold)}.table-wrap td:last-child{border-bottom:none}.table-wrap td.hide-mobile{display:none!important}}.image-upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--text-light);cursor:pointer;transition:all .2s ease;background:var(--bg-body)}.image-upload-area:hover{border-color:var(--rose-gold);color:var(--rose-gold);background:var(--surface)}.image-upload-area i{font-size:2rem;margin-bottom:.5rem;display:block}.image-preview-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.image-preview-item{position:relative;width:80px;height:80px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-remove-btn{position:absolute;top:4px;right:4px;background:#0009;color:#fff;border:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer}.image-remove-btn:hover{background:var(--danger)}.variants-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.variants-table{width:100%;border-collapse:collapse}.variants-table th{background:var(--bg-body);padding:.75rem 1rem;text-align:left;font-size:.85rem;font-weight:600;color:var(--text-light);border-bottom:1px solid var(--border)}.variants-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}.variants-table tr:last-child td{border-bottom:none}.variant-stock-input{width:80px;padding:.4rem;border:1px solid var(--border);border-radius:4px}.product-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.product-card-thumb{height:200px;background-size:cover;background-position:center;border-bottom:1px solid var(--blush-pink);background-color:var(--warm-beige)}.modal-lg{max-width:800px}.admin-login-container{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/assets/img/laceluxe_bg.png) center/cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-login-card{background:var(--white);padding:40px;border-radius:var(--radius-card);box-shadow:var(--shadow-elevated);width:100%;max-width:400px;border:1px solid rgba(242,196,206,.2)}.login-header{text-align:center;margin-bottom:32px}.login-logo-img{height:60px;width:auto;object-fit:contain;margin-bottom:12px;display:block;margin-left:auto;margin-right:auto}.login-subtitle{font-size:.9rem;color:var(--rose-gold)}
