.dashboard-layout{min-height:100vh;display:grid;grid-template-columns:270px 1fr;background:var(--bg-page)}.dashboard-sidebar{padding:2rem 1.5rem;background:#fff;color:#0f172a;display:flex;flex-direction:column;gap:2rem;position:sticky;top:0;height:100vh;border-right:1px solid var(--border-color);box-shadow:12px 0 40px #0f172a0d}.sidebar-header{display:flex;align-items:center;gap:1rem}.sidebar-logo{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.75rem;background:linear-gradient(135deg,#2563eb1f,#4f46e533);font-weight:700;font-size:1.35rem}.sidebar-title{font-size:1rem;font-weight:600}.sidebar-subtitle{font-size:.75rem;color:#94a3b8}.sidebar-nav{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.sidebar-section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.4rem}.sidebar-nav ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:.75rem;font-size:.9rem;color:#0f172a;transition:background .2s ease,color .2s ease,transform .2s ease;text-decoration:none}.sidebar-link:hover{background:#2563eb1f;color:var(--accent-color);transform:translate(2px)}.sidebar-link.active{background:#2563eb1a;color:var(--accent-color);box-shadow:inset 0 0 0 1px #2563eb33}.sidebar-link-icon{width:1.75rem;display:inline-flex;justify-content:center;align-items:center;font-size:1.15rem}.dashboard-main{display:flex;flex-direction:column;min-height:100vh;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-topbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:#fff;box-shadow:0 10px 25px #0f172a0d}.topbar-breadcrumb{display:flex;flex-direction:column;gap:.35rem;color:#1e293b}.topbar-breadcrumb span{font-size:.8rem;color:#64748b}.topbar-breadcrumb strong{font-size:1.1rem}.topbar-actions{display:flex;align-items:center;gap:.75rem}.user-badge{width:2.4rem;height:2.4rem;border-radius:.75rem;background:#2563eb1f;color:var(--accent-color);display:grid;place-items:center;font-weight:600}.signout-button{border:1px solid var(--border-color);border-radius:.75rem;background:#fff;color:var(--text-color);padding:.55rem 1.1rem;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,border .2s ease}.signout-button:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.dashboard-content{flex:1;padding:2rem 2.5rem;background:var(--bg-page);overflow-y:auto}@media(max-width:1100px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{position:static;height:auto;border-bottom:1px solid rgba(148,163,184,.25)}}.auth-wrapper{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#2563eb2e,#0ea5e90f),linear-gradient(160deg,#0f172a1a,#0f172a73);padding:2rem}.auth-card{width:min(440px,100%);background:#f8fafcf2;border-radius:1.5rem;box-shadow:0 40px 80px #0f172a2e;padding:2.5rem;display:flex;flex-direction:column;gap:2rem}.auth-header{display:flex;gap:1.25rem;align-items:center}.auth-logo{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:1.25rem;background:linear-gradient(135deg,#2563eb,#9333ea);color:#f8fafc;font-weight:700;font-size:1.5rem}.auth-header h1{font-size:1.5rem;color:#0f172a}.auth-header p{font-size:.9rem;color:#475569;margin-top:.25rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form label{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;color:#334155}.auth-form input{padding:.85rem 1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.45);background:#fffc;font-size:.95rem;color:#0f172a;transition:border .2s ease,box-shadow .2s ease}.auth-form input:focus{border-color:#2563eba6;outline:none;box-shadow:0 0 0 4px #2563eb1f}.auth-submit{border:none;border-radius:.9rem;background:linear-gradient(135deg,#2563eb,#9333ea);color:#f8fafc;padding:.9rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 35px #4f46e540}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-error{color:#dc2626;font-size:.85rem;background:#f871711f;padding:.75rem .9rem;border-radius:.75rem}.auth-footer{font-size:.8rem;color:#64748b;text-align:center}@media(max-width:640px){.auth-card{padding:2rem 1.5rem;border-radius:1.25rem}}:root{color-scheme:light;--bg-page: #f4f6fb;--bg-panel: #fefefe;--bg-soft: #f8fafc;--border-color: #e2e8f0;--text-color: #0f172a;--muted-color: #64748b;--accent-color: #2563eb;--accent-strong: #1d4ed8;--accent-soft: #e0ecff;--shadow-color: rgba(15, 23, 42, .08);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background-color:var(--bg-page);color:var(--text-color)}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit}body{min-height:100vh;background:var(--bg-page);color:var(--text-color)}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-color)}.full-screen-center{min-height:100vh;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;color:#0f172a}.spinner{display:inline-block;width:2.75rem;height:2.75rem;border:4px solid rgba(37,99,235,.15);border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page{display:flex;flex-direction:column;gap:2rem;width:min(1200px,100%);margin:0 auto}.page-header h1{font-size:2rem;color:var(--text-color);margin-bottom:.35rem}.page-header p{color:var(--muted-color)}.page-section{display:grid;gap:1.5rem}.pricing-section,.pricing-stack{display:flex;flex-direction:column;gap:2rem}.placeholder-card{border-radius:1.25rem;padding:2rem;background:#ffffffd9;border:1px solid rgba(148,163,184,.25);color:#334155}.card{border-radius:1.25rem;padding:1.75rem;background:#ffffffeb;border:1px solid rgba(221,214,254,.4);box-shadow:0 18px 35px #0f172a14;display:flex;flex-direction:column;gap:1.25rem}.card.compact{padding:1.25rem 1.5rem}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;row-gap:.75rem}.card-title{font-size:1.1rem;font-weight:600;color:#1e293b;word-break:break-word;overflow-wrap:anywhere}.card-subtitle{font-size:.85rem;color:#64748b;word-break:break-word;overflow-wrap:anywhere}.card-grid{display:grid;gap:1.5rem;align-items:start}.card-grid.two-column{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.card-grid.two-column.tight{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.card-grid.two-column-wide{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.card-grid.products-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr)}.card-grid.products-grid.stacked{grid-template-columns:1fr}.card-grid.coupons-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.card-grid.staff-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}@media(max-width:1280px){.card-grid.two-column,.card-grid.two-column.tight,.card-grid.two-column-wide,.card-grid.products-grid,.card-grid.coupons-grid,.card-grid.staff-grid{grid-template-columns:1fr}}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:.85rem;border:none;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button.primary{background:linear-gradient(135deg,#3b82f6f2,#0ea5e9e0);color:#f8fafc;box-shadow:0 15px 30px #2563eb4d}.button.secondary{background:#2563eb1f;color:#1d4ed8}.button.danger{background:#ef444426;color:#b91c1c}.text-button{background:none;border:none;color:#2563eb;font-weight:600;cursor:pointer;padding:0;transition:color .2s ease}.text-button:hover{color:#1d4ed8}.text-button.danger{color:#dc2626}.text-button:disabled{opacity:.6;cursor:not-allowed}.info-banner{padding:1rem 1.25rem;border-radius:1rem;background:#3b82f614;border:1px solid rgba(59,130,246,.25);color:#1e3a8a;font-size:.9rem;line-height:1.4}.info-banner ul{margin-top:.5rem;margin-left:1.25rem;display:flex;flex-direction:column;gap:.25rem}.section-divider{margin-top:.5rem;margin-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#94a3b8}.segmented-control{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.segmented-control button{border:1px solid rgba(148,163,184,.6);padding:.45rem .9rem;border-radius:999px;background:transparent;color:#475569;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.segmented-control button.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.tab-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding:.35rem;border-radius:999px;background:var(--bg-panel);border:1px solid var(--border-color);box-shadow:0 10px 25px #0f172a0d}.tab-button{border:none;border-radius:999px;padding:.5rem 1.4rem;background:transparent;color:var(--muted-color);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.tab-button.active{background:var(--accent-color);color:#fff;box-shadow:0 8px 20px #2563eb40}.push-preview{border:1px solid var(--border-color);border-radius:1rem;padding:.85rem 1rem;background:var(--bg-panel);color:var(--text-color);display:flex;flex-direction:column;gap:.35rem;box-shadow:0 12px 24px #0f172a0f}.push-compose-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:1rem;align-items:start}.push-compose-fields{display:flex;flex-direction:column;gap:.75rem}.push-preview__title{font-weight:600;font-size:1rem}.push-preview__body{font-size:.92rem;color:var(--muted-color)}@media(max-width:1200px){.push-compose-grid{grid-template-columns:1fr}}.input-with-button{display:flex;gap:.5rem;align-items:stretch}.input-with-button input{flex:1}.input-with-button .button{white-space:nowrap}.product-image-preview{margin-top:.6rem;border-radius:.9rem;overflow:hidden;border:1px solid rgba(148,163,184,.3);max-width:180px;background:#f8fafc}.product-image-preview img{display:block;width:100%;height:auto}.button.ghost{background:transparent;color:#1e293b;border:1px solid rgba(148,163,184,.4)}.button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.button:not(:disabled):hover{transform:translateY(-1px)}.data-table{width:100%;border-collapse:collapse}.data-table thead tr{background:var(--bg-soft);text-align:left}.data-table th,.data-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(148,163,184,.2);font-size:.92rem;color:#1f2937;vertical-align:top}.data-table tbody tr:hover{background:#2563eb14}.data-table tbody tr.active{background:#2563eb1f}.data-table .table-section td{background:var(--bg-soft);font-weight:700;color:#0f172a;border-bottom:1px solid rgba(148,163,184,.3)}.data-table .table-expansion td{padding:1.25rem;background:#f1f5f999;border-bottom:1px solid rgba(148,163,184,.2)}.table-expansion-content{display:grid;gap:1.5rem}.coupons-compact .data-table th,.coupons-compact .data-table td{padding:.6rem .75rem;font-size:.88rem}.toggle-switch{position:relative;display:inline-flex;align-items:center;width:46px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#cbd5f5;border-radius:999px;transition:background .2s ease;border:1px solid rgba(148,163,184,.6)}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;top:2px;background:#fff;border-radius:999px;box-shadow:0 2px 6px #0f172a40;transition:transform .2s ease}.toggle-switch input:checked+.toggle-slider{background:#22c55e;border-color:#22c55e99}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.option-size-list{display:flex;flex-direction:column;gap:1rem}.option-size-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.option-size-row:last-of-type{border-bottom:none}.add-option-button{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-color);font-weight:600}.add-option-button__icon{width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid rgba(37,99,235,.4);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.option-selector{border:1px solid var(--border-color);border-radius:.85rem;background:var(--bg-soft);padding:.5rem;display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto;margin-top:.5rem}.option-selector__item{display:flex;align-items:flex-start;gap:.65rem;padding:.35rem .4rem}.option-selector__item input{margin-top:.35rem;accent-color:var(--accent-color)}.product-selection{border:1px solid var(--border-color);border-radius:.85rem;background:var(--bg-soft);padding:.75rem;margin:.75rem 0 1rem;display:flex;flex-direction:column;gap:.5rem}.product-selection__header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#475569}.product-selection__actions{display:flex;gap:.5rem}.product-selection__actions .button{padding:.2rem .6rem;font-size:.78rem}.product-selection__list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.product-selection__item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#0f172a}.product-selection__item input{accent-color:var(--accent-color)}.size-price-stack{display:flex;flex-direction:column;gap:1.25rem}.size-card{border:1px solid rgba(148,163,184,.25);border-radius:1rem;padding:1rem 1.25rem;background:#fffc;display:flex;flex-direction:column;gap:.75rem}.size-card[open]{box-shadow:0 18px 25px #0f172a14}.size-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.size-card summary::-webkit-details-marker{display:none}.size-card__header{display:flex;justify-content:space-between;align-items:center;font-size:1rem;color:#0f172a}.size-row-info{display:flex;align-items:center;gap:.5rem}.option-category table input[type=number]{max-width:120px;text-align:right}.option-category table input[type=text]{min-width:180px}.option-category table td{vertical-align:middle}.chip-group{display:flex;flex-wrap:wrap;gap:.35rem}.chip-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}.chip .text-button{font-size:.72rem;padding:0}.chip.success{background:#22c55e26;color:#15803d}.chip.warning{background:#f973162e;color:#c2410c}.chip.neutral{background:#94a3b826;color:#334155}.chip.danger{background:#f8717126;color:#b91c1c}.form-grid{display:grid;gap:1.1rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.coupons-compact .form-grid,.coupons-compact .form-row{gap:.75rem}.form-field{display:flex;flex-direction:column;gap:.45rem;min-width:200px;flex:1;font-size:.85rem;color:#475569}.form-field.checkbox{flex-direction:row;align-items:center;gap:.65rem}.form-field.checkbox input{width:auto;min-width:1rem;height:1rem}.form-field.inline-checkbox{flex:0 0 auto;min-width:0}.form-field input,.form-field textarea,.form-field select{padding:.75rem 1rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.45);background:#ffffffe6;font-size:.95rem;color:#0f172a;transition:border .2s ease,box-shadow .2s ease}.form-field textarea{min-height:120px;resize:vertical}.coupons-compact .form-field input,.coupons-compact .form-field textarea,.coupons-compact .form-field select{padding:.6rem .8rem;border-radius:.7rem;font-size:.9rem}.coupons-compact .form-field textarea{min-height:84px}.form-fieldset{border:1px solid var(--border-color);border-radius:1rem;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;background:#f8fafc8c}.form-fieldset legend{font-size:.95rem;font-weight:600;color:var(--text-color);padding:0 .25rem}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#2563eba6;outline:none;box-shadow:0 0 0 4px #2563eb1f}.inline-input{width:100%;min-width:120px;padding:.65rem .85rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.5);background:#fffffff2;font-size:.95rem;font-weight:600;color:#0f172a;transition:border .2s ease,box-shadow .2s ease}.inline-input.size-price-input{width:120px;min-width:120px}.inline-input.size-price-input.compact{width:90px;min-width:90px;padding:.45rem .6rem;font-size:.85rem}.form-field .compact-textarea{min-height:80px}.inline-input:focus{border-color:#3b82f6cc;outline:none;box-shadow:0 0 0 4px #3b82f626}.input-stack{display:flex;flex-direction:column;gap:.25rem}.table-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.status-banner{border-radius:.85rem;padding:.75rem 1rem;font-size:.92rem;font-weight:600;background:#3b82f626;color:#1d4ed8;border:1px solid rgba(59,130,246,.25)}.hint-banner{display:flex;gap:.75rem;padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--border-color);background:var(--bg-soft);font-size:.9rem;color:var(--muted-color)}.hint-banner:before{content:"ℹ️";font-size:1rem}.status-banner.success{background:#22c55e2e;color:#15803d;border-color:#22c55e40}.status-banner.error{background:#f8717133;color:#b91c1c;border-color:#f871714d}.helper-text{font-size:.75rem;color:#64748b}.error-text{font-size:.8rem;color:#dc2626}.empty-state{padding:2rem;border-radius:1.25rem;border:1px dashed rgba(148,163,184,.45);background:#fffc;text-align:center;color:#64748b;display:grid;gap:.75rem}.page-stack{display:flex;flex-direction:column;gap:2rem}.form-grid.two-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid.three-columns{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-field label{font-size:.85rem;font-weight:600;color:#334155}.form-field input,.form-field select,.form-field textarea{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.checkbox-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}.checkbox-list.scrollable{max-height:340px;overflow-y:auto;border:1px solid rgba(148,163,184,.35);border-radius:.9rem;padding:.5rem .75rem;background:#f8fafccc}.checkbox-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#475569}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.45rem}.checkbox-item input[type=checkbox]{width:1rem;height:1rem}.toggle-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .65rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-soft);font-size:.85rem;font-weight:600;color:var(--muted-color)}.toggle-pill input{accent-color:var(--accent-color)}.option-matrix{width:100%;overflow-x:auto}.rules-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem}.rule-form{display:flex;flex-direction:column;gap:1rem}.rule-table-wrapper{overflow-x:auto}.option-section{display:grid;gap:1.5rem}.option-category{border:1px solid rgba(148,163,184,.25);border-radius:1rem;padding:1.25rem;background:#f8fafc99;display:flex;flex-direction:column;gap:1rem}.table-wrapper{width:100%;overflow-x:auto}@media(max-width:1200px){.rules-grid{grid-template-columns:1fr}}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.insight-card{border-radius:1.1rem;padding:1.5rem;background:linear-gradient(135deg,#3b82f61f,#0ea5e91f);display:grid;gap:.55rem}.insight-card strong{font-size:1.6rem;color:#0f172a}.insight-card span{font-size:.9rem;color:#475569}.trend-up{color:#16a34a}.trend-down{color:#dc2626}
