:root{--brand:#ff9d5c;--brand-dark:#e07c3a;--bg:#faf8f5;--surface:#fff;--text:#2c2418;--text-muted:#8a7e70;--border:#e8e0d6;--radius:12px;--shadow:0 2px 12px #2c24180f;--sidebar-w:240px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:0;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border);padding:24px 20px 20px}.sidebar-logo{align-items:center;gap:10px;display:flex}.sidebar-logo-icon{background:var(--brand);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.sidebar-logo-text{color:var(--text);font-size:14px;font-weight:700;line-height:1.2}.sidebar-logo-sub{color:var(--text-muted);font-size:11px;font-weight:400}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.sidebar-nav button{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .15s;display:flex}.sidebar-nav button:hover{background:var(--bg);color:var(--text)}.sidebar-nav button.active{background:var(--brand);color:#fff;font-weight:600}.sidebar-nav .nav-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:16px 20px;font-size:12px}.main-panel{flex:1;max-width:960px;padding:32px 40px;overflow-y:auto}.main-panel h1{color:var(--text);margin-bottom:4px;font-size:28px;font-weight:800}.main-panel .subtitle{color:var(--text-muted);margin-bottom:32px;font-size:15px}.abo-builder{flex-direction:column;gap:24px;display:flex}.builder-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.builder-step h2{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.builder-step h2 .step-num{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:10px;font-size:12px;display:inline-flex}.option-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.option-card{border:2px solid var(--border);cursor:pointer;background:var(--surface);border-radius:10px;padding:14px 16px;transition:all .15s}.option-card:hover{border-color:var(--brand);background:#fff8f0}.option-card.selected{border-color:var(--brand);background:#fff3e6}.option-card h3{margin-bottom:2px;font-size:14px;font-weight:600}.option-card .desc{color:var(--text-muted);font-size:12px;line-height:1.4}.option-card .price{color:var(--brand-dark);margin-top:6px;font-size:13px;font-weight:600}.grind-options{flex-wrap:wrap;gap:8px;display:flex}.grind-options button{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:20px;padding:8px 18px;font-family:inherit;font-size:13px;transition:all .15s}.grind-options button:hover{border-color:var(--brand)}.grind-options button.selected{border-color:var(--brand);background:var(--brand);color:#fff}.freq-select{flex-wrap:wrap;gap:8px;display:flex}.freq-select button{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:10px;padding:10px 20px;font-family:inherit;font-size:13px;transition:all .15s}.freq-select button:hover{border-color:var(--brand)}.freq-select button.selected{border-color:var(--brand);background:var(--brand);color:#fff}.summary-card{background:var(--surface);border:2px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.summary-card h2{color:var(--text);margin-bottom:16px;font-size:18px;font-weight:700}.summary-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.summary-row:last-child{border-bottom:none;padding-top:12px;font-size:16px;font-weight:700}.summary-row .label{color:var(--text-muted)}.summary-row .value{color:var(--text)}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;margin-top:16px;padding:12px 28px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.cafe-content{flex-direction:column;gap:24px;display:flex}.cafe-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:32px;padding:32px;display:flex}.cafe-hero-info h2{margin-bottom:8px;font-size:22px;font-weight:700}.cafe-hero-info p{color:var(--text-muted);margin-bottom:12px;font-size:14px;line-height:1.6}.cafe-meta{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.cafe-meta-item{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.cafe-meta-item .icon{font-size:16px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.menu-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.menu-card h3{margin-bottom:4px;font-size:15px;font-weight:600}.menu-card p{color:var(--text-muted);font-size:13px}.menu-card .price-tag{color:var(--brand-dark);margin-top:6px;font-size:14px;font-weight:600}.workshops-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.workshop-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:24px;display:flex}.workshop-card .badge{background:var(--brand);color:#fff;border-radius:20px;align-self:flex-start;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.workshop-card h3{margin-bottom:6px;font-size:16px;font-weight:700}.workshop-card p{color:var(--text-muted);flex:1;font-size:13px;line-height:1.5}.workshop-card .meta{color:var(--text-muted);gap:12px;margin:12px 0;font-size:12px;display:flex}.workshop-card .meta span{align-items:center;gap:4px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:48px 16px}.empty-state .big-icon{margin-bottom:12px;font-size:48px}.empty-state h3{color:var(--text);margin-bottom:4px;font-size:18px;font-weight:600}.about-content{flex-direction:column;gap:20px;display:flex}.about-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.about-section h2{margin-bottom:10px;font-size:18px;font-weight:700}.about-section p{color:var(--text-muted);font-size:14px;line-height:1.7}.success-banner{border-radius:var(--radius);color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7;align-items:center;gap:12px;padding:16px 20px;font-size:14px;font-weight:500;display:flex}@media (max-width:768px){.app-layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;position:static}.sidebar-nav{flex-flow:wrap;gap:4px;padding:8px 10px}.sidebar-nav button{width:auto;padding:8px 14px;font-size:13px}.sidebar-nav .nav-label,.sidebar-footer{display:none}.main-panel{padding:20px}.cafe-hero{flex-direction:column}.option-grid{grid-template-columns:1fr}}
