@import"https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Inter:wght@400;500;600&display=swap";:root{--color-green-dark: #2d5a3d;--color-green: #4a7c59;--color-green-light: #e8f0ea;--color-green-pale: #f2f7f3;--color-cream: #faf7f2;--color-cream-dark: #f0ebe0;--color-white: #ffffff;--color-text: #2c2c2c;--color-text-muted: #6b6b6b;--color-text-light: #9a9a9a;--color-border: #e0d8cc;--color-error: #c0392b;--color-error-bg: #fdf0ee;--color-surface: #f4f5f6;--color-surface-raised: #ffffff;--color-sidebar-bg: #1e3d2b;--color-sidebar-text: #c8dcd0;--color-sidebar-text-active: #ffffff;--color-sidebar-hover: rgba(255,255,255,.08);--color-sidebar-active: rgba(255,255,255,.15);--color-sidebar-border: rgba(255,255,255,.06);--color-status-new-bg: #e8f4e8;--color-status-new-text: #2d5a3d;--color-status-pending-bg: #fef3cd;--color-status-pending-text: #7a5000;--color-status-fulfilment-bg: #d4e9f7;--color-status-fulfilment-text: #1a5a8a;--color-status-complete-bg: #ebebeb;--color-status-complete-text: #555555;--color-status-inactive-bg: #fdf0ee;--color-status-inactive-text: #c0392b;--color-toast-success: #2d5a3d;--color-toast-error: #c0392b;--font-heading: "Lora", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 40px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.07);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--sidebar-width: 240px;--sidebar-collapsed: 60px;--header-height: 60px;--content-max-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);line-height:1.5}h1,h2,h3{font-family:var(--font-heading);line-height:1.2}a{color:var(--color-green);text-decoration:none}a:hover{color:var(--color-green-dark)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;min-height:100vh;transition:grid-template-columns .25s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.app-shell.sidebar-mobile-open{grid-template-columns:var(--sidebar-width) 1fr}.app-header{grid-column:1 / -1;grid-row:1;position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--spacing-lg);gap:var(--spacing-md)}.header-logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none}.header-logo img{height:28px;width:auto}.header-logo-text{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--color-green-dark);white-space:nowrap}.header-divider{width:1px;height:20px;background:var(--color-border)}.header-business-name{font-size:.85rem;font-weight:500;color:var(--color-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.hamburger-btn{display:none;background:none;border:none;padding:var(--spacing-xs);color:var(--color-text-muted);border-radius:var(--radius-sm)}.hamburger-btn:hover{background:var(--color-green-light);color:var(--color-green-dark)}.app-sidebar{grid-column:1;grid-row:2;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow:hidden;background:var(--color-sidebar-bg);display:flex;flex-direction:column;transition:width .25s ease;width:var(--sidebar-width);z-index:90}.app-sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-nav{flex:1;padding:var(--spacing-sm) 0;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:10px var(--spacing-md);color:var(--color-sidebar-text);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;position:relative;border-radius:0}.sidebar-nav-item:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar-nav-item.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-green-light);border-radius:0 2px 2px 0}.sidebar-nav-icon{width:20px;height:20px;flex-shrink:0}.sidebar-nav-label{transition:opacity .2s}.collapsed .sidebar-nav-label{opacity:0;pointer-events:none}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:none;border:none;border-top:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);width:100%;transition:background .15s}.sidebar-collapse-btn:hover{background:var(--color-sidebar-hover)}.app-main{grid-column:2;grid-row:2;min-height:calc(100vh - var(--header-height));padding:var(--spacing-lg)}.page-container{max-width:var(--content-max-width);margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.page-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-text)}.page-subtitle{font-size:.85rem;color:var(--color-text-muted);margin-top:2px}.card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.card-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.stat-card-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.stat-card-value{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--color-green-dark);line-height:1}.stat-card-sub{font-size:.75rem;color:var(--color-text-light);margin-top:var(--spacing-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:8px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:none;transition:background .15s,opacity .15s,box-shadow .15s;white-space:nowrap}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--color-green-dark);color:#fff}.btn-primary:hover{background:var(--color-green)}.btn-secondary{background:var(--color-cream-dark);color:var(--color-text)}.btn-secondary:hover{background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-green-dark);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-green-pale)}.btn-danger{background:transparent;color:var(--color-error);border:1px solid #f5c6c2}.btn-danger:hover{background:var(--color-error-bg)}.btn-icon{background:transparent;border:none;padding:6px;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;align-items:center}.btn-icon:hover{background:var(--color-green-light);color:var(--color-green-dark)}.btn-icon.danger:hover{background:var(--color-error-bg);color:var(--color-error)}.btn-sm{padding:5px 10px;font-size:.8rem}.form-group{margin-bottom:var(--spacing-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);background:var(--color-white);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-pale)}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:.78rem;color:var(--color-error);margin-top:var(--spacing-xs)}.form-hint{font-size:.78rem;color:var(--color-text-light);margin-top:var(--spacing-xs)}.product-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-white);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);transition:box-shadow .15s}.product-row:hover{box-shadow:var(--shadow-sm)}.product-thumb{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--color-cream-dark);display:flex;align-items:center;justify-content:center;font-size:1.2rem;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-row-name{font-weight:500;font-size:.9rem}.product-row-meta{font-size:.78rem;color:var(--color-text-muted)}.product-row-price{font-weight:600;font-size:.9rem;color:var(--color-green-dark);margin-left:auto}.product-row-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.order-row{display:grid;grid-template-columns:60px 1fr 80px 90px 100px 130px 110px;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);background:var(--color-white);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);font-size:.875rem;cursor:pointer;transition:box-shadow .15s}.order-row:hover{box-shadow:var(--shadow-sm)}.order-row-header{display:grid;grid-template-columns:60px 1fr 80px 90px 100px 130px 110px;gap:var(--spacing-sm);padding:6px var(--spacing-md);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.order-id{font-weight:600;color:var(--color-green-dark)}.order-total{font-weight:600}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-badge.new{background:var(--color-status-new-bg);color:var(--color-status-new-text)}.status-badge.pending_payment{background:var(--color-status-pending-bg);color:var(--color-status-pending-text)}.status-badge.in_fulfilment{background:var(--color-status-fulfilment-bg);color:var(--color-status-fulfilment-text)}.status-badge.complete{background:var(--color-status-complete-bg);color:var(--color-status-complete-text)}.status-badge.active{background:var(--color-status-new-bg);color:var(--color-status-new-text)}.status-badge.inactive{background:var(--color-status-inactive-bg);color:var(--color-status-inactive-text)}.avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-green-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;cursor:pointer;position:relative;flex-shrink:0;border:none}.avatar:hover{background:var(--color-green)}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;overflow:hidden;z-index:200}.avatar-menu-item{display:block;width:100%;padding:10px var(--spacing-md);font-size:.875rem;color:var(--color-text);background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background .1s}.avatar-menu-item:hover{background:var(--color-green-pale)}.avatar-menu-item.danger{color:var(--color-error)}.avatar-menu-divider{height:1px;background:var(--color-border)}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:1000}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px var(--spacing-md);border-radius:var(--radius-md);color:#fff;font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);min-width:240px;max-width:400px;animation:toast-in .2s ease}.toast.success{background:var(--color-toast-success)}.toast.error{background:var(--color-toast-error)}.toast-close{background:none;border:none;color:#ffffffb3;margin-left:auto;font-size:1.1rem;line-height:1;padding:0 2px;flex-shrink:0}.toast-close:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notification-panel{background:var(--color-status-pending-bg);border:1px solid #f0d88a;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);overflow:hidden}.notification-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid rgba(0,0,0,.06)}.notification-item:last-child{border-bottom:none}.notification-body{flex:1}.notification-title{font-weight:600;font-size:.875rem;color:var(--color-status-pending-text);margin-bottom:2px}.notification-message{font-size:.825rem;color:var(--color-text-muted)}.notification-cta{display:inline-flex;align-items:center;margin-top:var(--spacing-sm);padding:4px 12px;border-radius:var(--radius-full);background:var(--color-status-pending-text);color:#fff;font-size:.78rem;font-weight:600;text-decoration:none}.notification-dismiss{background:none;border:none;color:var(--color-text-light);font-size:1rem;padding:0;flex-shrink:0;line-height:1}.notification-dismiss:hover{color:var(--color-text)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.dialog{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);max-width:400px;width:100%}.dialog-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin-bottom:var(--spacing-sm)}.dialog-message{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.date-carousel{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg);scrollbar-width:none}.date-carousel::-webkit-scrollbar{display:none}.date-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-white);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;display:flex;flex-direction:column;align-items:center;gap:1px}.date-chip:hover{border-color:var(--color-green);color:var(--color-green-dark)}.date-chip.active{background:var(--color-green-dark);color:#fff;border-color:var(--color-green-dark)}.date-chip-count{font-size:.68rem;opacity:.8}.tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg);gap:0}.tab-btn{padding:8px var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:var(--color-text-muted);transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-green-dark)}.tab-btn.active{color:var(--color-green-dark);border-bottom-color:var(--color-green-dark)}.filter-bar{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-bar .form-input,.filter-bar .form-select{width:auto;flex:1;min-width:120px;max-width:220px}.filter-search{flex:2;min-width:200px;max-width:340px}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted)}.empty-state-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.empty-state-title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-sm)}.empty-state-text{font-size:.85rem}.spinner{width:20px;height:20px;border:2px solid var(--color-green-light);border-top-color:var(--color-green-dark);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner-lg{width:36px;height:36px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.image-upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--color-surface)}.image-upload-zone:hover,.image-upload-zone.drag-over{border-color:var(--color-green);background:var(--color-green-pale)}.image-upload-zone input[type=file]{display:none}.image-upload-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.image-upload-text{font-size:.85rem;color:var(--color-text-muted)}.image-upload-hint{font-size:.75rem;color:var(--color-text-light);margin-top:var(--spacing-xs)}.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:var(--spacing-xl)}.wizard-step{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8rem;color:var(--color-text-light)}.wizard-step.active{color:var(--color-green-dark);font-weight:600}.wizard-step.done{color:var(--color-green)}.wizard-step-num{width:24px;height:24px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.wizard-step.active .wizard-step-num{background:var(--color-green-dark);color:#fff;border-color:var(--color-green-dark)}.wizard-step.done .wizard-step-num{background:var(--color-green);color:#fff;border-color:var(--color-green)}.wizard-step-connector{flex:1;height:1px;background:var(--color-border);margin:0 var(--spacing-sm)}.inline-edit{background:none;border:none;border-bottom:1px dashed var(--color-border);padding:2px 0;font-size:inherit;font-family:inherit;color:inherit;width:auto;min-width:60px}.inline-edit:focus{outline:none;border-bottom-color:var(--color-green)}.customer-row{display:flex;align-items:center;gap:var(--spacing-md);padding:10px var(--spacing-md);background:var(--color-white);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);font-size:.875rem}.customer-name{font-weight:500;flex:1}.customer-meta{font-size:.78rem;color:var(--color-text-muted)}.order-list-row{display:flex;align-items:center;gap:var(--spacing-md);padding:12px var(--spacing-md);cursor:pointer;transition:background .1s;font-size:.875rem}.order-list-row:hover{background:var(--color-green-pale)}.order-list-info{flex:1;min-width:0}.order-list-line1{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.order-list-line2{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:3px;font-size:.78rem;color:var(--color-text-muted);flex-wrap:wrap}.customer-list-row{display:flex;align-items:center;gap:var(--spacing-md);padding:12px var(--spacing-md);font-size:.875rem}.sidebar-bottom{border-top:1px solid var(--color-sidebar-border);padding:var(--spacing-xs) 0;flex-shrink:0}.making-product-row{display:flex;align-items:center;justify-content:space-between;padding:10px var(--spacing-md);background:var(--color-white);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);font-size:.875rem}.making-qty{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--color-green-dark);min-width:50px;text-align:right}.signin-page{min-height:100vh;background:var(--color-surface);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.signin-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:400px}.signin-logo{text-align:center;margin-bottom:var(--spacing-xl)}.signin-logo img{height:36px}.signin-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;margin-bottom:var(--spacing-xs)}.signin-subtitle{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.alert-error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;margin-bottom:var(--spacing-md)}.settings-section{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.settings-section-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-surface);z-index:300;overflow-y:auto;display:flex;flex-direction:column}.fullscreen-header{position:sticky;top:0;background:var(--color-white);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-lg);height:var(--header-height);display:flex;align-items:center;gap:var(--spacing-md);z-index:10}.fullscreen-body{flex:1;padding:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto;width:100%}.product-edit-grid,.order-detail-grid{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-lg);align-items:start}@media (max-width: 768px){.app-shell{grid-template-columns:0 1fr}.app-shell.sidebar-mobile-open{grid-template-columns:var(--sidebar-width) 1fr}.app-sidebar{position:fixed;top:var(--header-height);left:0;transform:translate(-100%);transition:transform .25s ease;width:var(--sidebar-width)!important;height:calc(100vh - var(--header-height))}.app-sidebar.mobile-open{transform:translate(0)}.sidebar-collapse-btn{display:none}.hamburger-btn{display:flex}.app-main{grid-column:1 / -1;padding:var(--spacing-md)}.order-row,.order-row-header{grid-template-columns:1fr;gap:var(--spacing-xs)}.order-row-header{display:none}.order-row{display:flex;flex-wrap:wrap;padding:var(--spacing-md)}.form-row,.product-edit-grid{grid-template-columns:1fr}.stat-cards{grid-template-columns:repeat(2,1fr)}.order-detail-grid{grid-template-columns:1fr}.toast-container{right:var(--spacing-md);left:var(--spacing-md);bottom:var(--spacing-md)}.fullscreen-header{height:auto;padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.fullscreen-header .btn{padding:9px 16px;font-size:.9rem}.fullscreen-body{padding:var(--spacing-md)}.order-list-row{flex-wrap:wrap;gap:var(--spacing-sm)}.order-list-row>div:last-child{width:100%}.order-list-row>div:last-child select{width:100%;font-size:.875rem!important;padding:6px 10px!important}.product-row-actions .btn-icon:not(:first-child){display:none}}
