@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md)}.error-icon{font-size:3rem;color:var(--color-danger)}.error-message{color:var(--color-text);text-align:center;font-size:var(--font-size-base)}.language-switcher{display:inline-flex;align-items:center}.language-switcher-buttons{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.language-option{min-width:2.25rem;border:none;background:var(--color-bg);color:var(--color-text-light);cursor:pointer;font-size:var(--font-size-xs);font-weight:600;padding:.25rem .45rem;transition:all .15s ease}.language-option:hover{background:var(--color-bg-alt);color:var(--color-text)}.language-option.active{background:var(--color-primary);color:#fff}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 0}.header-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary);margin:0}.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.user-menu{display:flex;align-items:center;gap:var(--spacing-sm);padding:.3rem .4rem .3rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-alt)}.user-name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500;line-height:1}.btn-logout{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .15s ease}.btn-logout:hover{background-color:var(--color-bg-alt)}.nav{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-md);display:flex;gap:var(--spacing-xs);max-width:1200px;margin:0 auto;width:100%}.nav a{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-light);font-weight:500;font-size:var(--font-size-sm);border-bottom:2px solid transparent;transition:all .15s ease}.nav a:hover{color:var(--color-primary)}.nav a.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.main{flex:1;max-width:1200px;margin:0 auto;width:100%;padding:var(--spacing-lg) var(--spacing-md)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-title{margin:0;font-size:var(--font-size-2xl);font-weight:600}.page-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.page-content{background-color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.header-content{flex-wrap:wrap;gap:var(--spacing-sm)}.header-right{width:100%;justify-content:space-between}.user-menu{margin-left:auto}.nav{padding:0}.nav a{flex:1;text-align:center;padding:var(--spacing-md) var(--spacing-sm)}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.page-actions .btn{flex:1}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:var(--color-text-light);font-size:var(--font-size-sm)}.history-summary{padding:var(--spacing-md);background-color:var(--color-bg-alt);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.history-summary p{margin:0;color:var(--color-text-light)}.history-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.history-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.history-date-header{background-color:var(--color-bg-alt);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.history-date-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;text-transform:capitalize}.history-store{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.history-store:last-child{border-bottom:none}.store-header-history{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.store-header-history h4{margin:0;font-size:var(--font-size-base);font-weight:600}.store-count{font-size:var(--font-size-sm);color:var(--color-text-light)}.purchases-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.purchase-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm);background-color:var(--color-bg-alt);border-radius:var(--radius-md);gap:var(--spacing-md)}.purchase-info{flex:1;min-width:0}.purchase-product-name{display:block;font-weight:500;font-size:var(--font-size-sm);margin-bottom:.25rem}.purchase-quantity{font-size:var(--font-size-xs);color:var(--color-text-light)}.purchase-price{font-weight:600;color:var(--color-text);white-space:nowrap}.purchase-notes{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-light);font-style:italic}.store-total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.store-total strong{font-size:var(--font-size-base)}@media (max-width: 640px){.store-header-history{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.purchase-item{flex-direction:column}.purchase-price{align-self:flex-end}}:root{--landing-ink: #10131d;--landing-muted: #4d5568;--landing-surface: rgba(255, 255, 255, .78);--landing-border: rgba(16, 19, 29, .12);--landing-accent: #ff6f3c;--landing-accent-2: #17a398;--landing-shadow: 0 18px 50px rgba(16, 19, 29, .12)}.landing{position:relative;min-height:100vh;padding:2rem clamp(1rem,4vw,3rem) 4rem;background:radial-gradient(circle at 20% 10%,rgba(255,111,60,.18),transparent 42%),radial-gradient(circle at 85% 0%,rgba(23,163,152,.2),transparent 38%),linear-gradient(180deg,#fffaf2,#f4f8ff 45%,#fef8f6);color:var(--landing-ink);overflow:hidden;font-family:Sora,Segoe UI,sans-serif}.landing-bg-shape{position:absolute;pointer-events:none;border-radius:999px;filter:blur(10px);opacity:.6}.landing-bg-shape-1{width:280px;height:280px;right:-120px;top:180px;background:#ff6f3c38}.landing-bg-shape-2{width:220px;height:220px;left:-100px;top:420px;background:#17a39838}.landing-nav{position:sticky;top:1rem;z-index:20;max-width:1100px;margin:0 auto 2.5rem;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--landing-border);border-radius:999px;background:var(--landing-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 30px #10131d14}.brand-wrap{display:flex;align-items:center;gap:.65rem}.brand-mark{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.65rem;background:linear-gradient(135deg,var(--landing-accent),#ffa64a);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.02em}.brand-name{font-family:Space Grotesk,Sora,sans-serif;font-size:1.02rem;font-weight:700;letter-spacing:.01em}.nav-actions,.hero-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:.75rem;font-weight:700;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{padding:.62rem .95rem;color:#fff;background:linear-gradient(135deg,var(--landing-accent),#ff944f);box-shadow:0 10px 24px #ff6f3c4d}.btn-ghost{padding:.62rem .95rem;color:var(--landing-ink);border-color:var(--landing-border);background:#ffffffb8}.btn-lg{padding:.9rem 1.2rem}.full-width{width:100%}.hero{max-width:860px;margin:0 auto;text-align:center;display:grid;justify-items:center;gap:1rem;animation:rise-in .6s ease both}.pill{display:inline-flex;border-radius:999px;padding:.34rem .75rem;font-size:.8rem;font-weight:600;color:#13313a;background:#17a39824;border:1px solid rgba(23,163,152,.35)}.hero h1{margin:0;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(2rem,5.2vw,4rem);line-height:1.05}.hero p{margin:0;max-width:700px;color:var(--landing-muted);font-size:clamp(1rem,1.9vw,1.18rem);line-height:1.6}.trust-line{color:#4a5465}.social-proof{max-width:1100px;margin:1.4rem auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric-card{border:1px solid var(--landing-border);border-radius:.9rem;background:#ffffffc7;padding:.9rem .8rem;display:grid;gap:.22rem;text-align:center}.metric-card strong{font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1}.metric-card span{font-size:.82rem;color:#2f394b}.tagline-strip{max-width:1100px;margin:2.4rem auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.tagline-strip span{font-size:.84rem;text-align:center;border:1px solid var(--landing-border);border-radius:.7rem;background:#ffffffc2;padding:.56rem;color:#243043}.section{max-width:1100px;margin:2.6rem auto 0;padding:clamp(1.1rem,2.1vw,2rem);border-radius:1.2rem;border:1px solid var(--landing-border);background:#ffffffbd;box-shadow:var(--landing-shadow);animation:rise-in .7s ease both}.section-heading h2{margin:0;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.45rem,2.5vw,2rem)}.section-heading p{margin:.5rem 0 0;color:var(--landing-muted);line-height:1.6}.cards-grid{margin-top:1.3rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{border-radius:1rem;border:1px solid var(--landing-border);padding:1rem;background:#ffffffe6}.card h3{margin:0 0 .45rem;font-family:Space Grotesk,Sora,sans-serif}.card p{margin:0;color:var(--landing-muted);line-height:1.55}.section-contrast{background:linear-gradient(145deg,#ff6f3c14,#17a39814)}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.split-grid article{border-radius:1rem;border:1px solid var(--landing-border);background:#ffffffe0;padding:1rem}.split-grid h2{margin:0 0 .6rem}.split-grid p{margin:0;color:var(--landing-muted);line-height:1.6}.steps-grid{margin:1.2rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.steps-grid li{border:1px solid var(--landing-border);border-radius:1rem;background:#ffffffe6;padding:1rem}.steps-grid strong{display:block;margin-bottom:.5rem}.steps-grid p{margin:0;color:var(--landing-muted);line-height:1.55}.section-pricing{background:linear-gradient(155deg,#10131df5,#272e40f0);color:#f8f9fe}.section-pricing .section-heading p{color:#f8f9fec7}.pricing-card{margin-top:1.2rem;border-radius:1rem;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;padding:1rem}.price-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#f8f9fec7}.price-value{margin:.3rem 0;font-size:clamp(2rem,4vw,2.8rem);font-family:Space Grotesk,Sora,sans-serif}.price-subtitle{margin:0;color:#f8f9fec7}.pricing-card ul{margin:1rem 0;padding-left:1.1rem}.pricing-card li{margin:.45rem 0;color:#f8f9fef0}.faq-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.faq-item{border:1px solid var(--landing-border);border-radius:1rem;background:#ffffffe6;padding:1rem}.faq-item h3{margin:0 0 .5rem;font-size:1rem}.faq-item p{margin:0;color:var(--landing-muted);line-height:1.55}.final-cta{text-align:center;display:grid;gap:.8rem;justify-items:center}.final-cta h2{margin:0;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.6rem,3.2vw,2.3rem)}.final-cta p{margin:0;color:var(--landing-muted)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.social-proof,.tagline-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid,.steps-grid,.split-grid,.faq-grid{grid-template-columns:1fr}}@media (max-width: 640px){.landing{padding-top:1rem}.landing-nav{position:static;border-radius:.9rem;flex-direction:column;align-items:stretch}.brand-wrap,.nav-actions{justify-content:center}.hero-actions{width:100%;justify-content:center}.social-proof{grid-template-columns:1fr}.btn-lg{width:100%}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{width:100%;max-width:400px;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-language-switcher{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.auth-logo{font-size:2rem;font-weight:700;color:var(--color-primary);margin:0 0 var(--spacing-sm) 0}.auth-subtitle{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-error{padding:var(--spacing-sm) var(--spacing-md);background-color:#fee2e2;color:#991b1b;border-radius:var(--radius-md);font-size:var(--font-size-sm);border:1px solid #fecaca}.btn-full{width:100%;justify-content:center;margin-top:var(--spacing-sm)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-light)}.auth-footer a{font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-light);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .15s ease}.modal-close:hover{background-color:var(--color-bg-alt)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}@media (max-width: 640px){.modal-overlay{padding:0}.modal-content{max-width:100%;max-height:100%;border-radius:0}}.products-filters{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.search-bar{display:flex;gap:var(--spacing-sm)}.search-bar .input{flex:1}.filter-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-group .select{flex:1;min-width:200px}.products-table-container{overflow-x:auto}.products-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.products-table th{text-align:left;padding:var(--spacing-md);background-color:var(--color-bg-alt);font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border);white-space:nowrap}.products-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);vertical-align:middle}.products-table tbody tr:hover{background-color:var(--color-bg-alt)}.product-name-cell{display:flex;gap:var(--spacing-sm);align-items:center}.product-name{font-weight:500}.product-link{font-size:var(--font-size-lg);text-decoration:none}.edit-product-form{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 768px){.search-bar{flex-direction:column}.filter-group .select{min-width:100%}.products-table{display:block;overflow-x:auto}.products-table th,.products-table td{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}.settings-panel{max-width:760px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:linear-gradient(180deg,#fff,#f5fbff);box-shadow:var(--shadow-sm)}.settings-title{margin-bottom:var(--spacing-xs)}.settings-helper{color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.settings-form{display:grid;gap:var(--spacing-lg)}.settings-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.settings-toggle input{width:18px;height:18px}.settings-number-group{max-width:320px}.settings-hint{display:block;margin-top:var(--spacing-xs);color:var(--color-text-light)}.settings-success{margin-top:var(--spacing-md);color:#166534;font-weight:500}.settings-error{margin-top:var(--spacing-md);color:var(--color-danger);font-weight:500}@media (max-width: 640px){.settings-panel{padding:var(--spacing-md)}.settings-number-group{max-width:none}}.add-product-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.store-creation{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-alt);border-radius:var(--radius-md)}.shopping-summary{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-bg-alt);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.summary-item{display:flex;gap:var(--spacing-xs);align-items:baseline}.summary-label{font-size:var(--font-size-sm);color:var(--color-text-light)}.summary-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.stores-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.store-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.store-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.store-name{font-size:var(--font-size-lg);font-weight:600;margin:0}.store-header-actions{display:flex;gap:var(--spacing-sm)}.products-list{padding:var(--spacing-sm)}.product-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);align-items:center}.product-item:last-child{border-bottom:none}.product-checkbox{flex-shrink:0}.product-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.product-info{flex:1;min-width:0}.product-name{font-size:var(--font-size-base);font-weight:500;color:var(--color-text);cursor:pointer;display:block;margin-bottom:var(--spacing-xs)}.product-meta{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.quantity-display{background:none;border:none;padding:0;font-size:var(--font-size-sm);color:var(--color-text-light);cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.quantity-display:hover{color:var(--color-primary)}.quantity-edit{display:flex;gap:var(--spacing-xs);align-items:center}.quantity-input{width:4rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.frequency{font-size:var(--font-size-xs);color:var(--color-text-light)}.product-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.prepared-stores-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.prepared-store-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.prepared-store-item h4{margin:0;font-size:var(--font-size-base)}.prepared-store-item p{margin:var(--spacing-xs) 0 0;color:var(--color-text-light);font-size:var(--font-size-sm)}.shopping-action-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.shopping-action-form p{margin:0}.shopping-action-form .quantity-input{width:100%}@media (max-width: 640px){.shopping-summary{flex-direction:column;gap:var(--spacing-sm)}.store-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.store-header .btn{width:100%}.store-header-actions{width:100%;flex-direction:column}.product-item{flex-wrap:wrap}.product-actions{width:100%;justify-content:flex-end}.prepared-store-item{flex-direction:column;align-items:flex-start}.prepared-store-item .btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-secondary: #64748b;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-bg: #ffffff;--color-bg-alt: #f8fafc;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-light: #64748b;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg-alt);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}a{color:var(--color-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;line-height:1.5;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;gap:var(--spacing-xs)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-alt)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-xs{padding:.25rem .5rem;font-size:var(--font-size-xs)}.btn-link{background:none;border:none;color:var(--color-primary);padding:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.btn-link:hover{color:var(--color-primary-dark);text-decoration:underline}.btn-icon{background:none;border:none;padding:var(--spacing-xs);font-size:var(--font-size-lg);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.btn-icon:hover{background-color:var(--color-bg-alt)}.input,.select,.textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.textarea{resize:vertical}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-light)}.empty-state p{margin-bottom:var(--spacing-md)}.button-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.action-buttons{display:flex;gap:var(--spacing-xs)}.status-badge{display:inline-block;padding:.25rem .5rem;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm)}.status-active{background-color:#d1fae5;color:#065f46}.status-paused{background-color:#fed7aa;color:#92400e}.status-discontinued{background-color:#fee2e2;color:#991b1b}
