.card{background:var(--bg-soft);border-radius:var(--radius-xl);border:1px solid var(--border);padding:14px 16px;margin-bottom:12px}.section-title{font-size:14px;color:var(--text-muted);margin-bottom:8px}.page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px 14px;margin:0;min-height:52px;box-sizing:border-box}.page-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.subtext{font-size:13px;color:var(--text-muted)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:11px;opacity:.9}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-muted);margin:0 0 4px}.empty-title{margin:0;font-weight:700;font-size:24px;line-height:1.3}.tiny{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.ghost-btn{border:1px solid var(--border);background:rgba(255,255,255,.02);color:var(--text);border-radius:var(--radius-md);padding:8px 12px;cursor:pointer;font:inherit;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ghost-btn:hover{border-color:rgba(255,255,255,.12)}.ghost-btn.danger{border-color:rgba(251,113,133,.4);color:#fecdd3}.status{font-size:12px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);width:fit-content}.status-warn{color:#fed7aa;background:rgba(223,204,177,.08);border-color:rgba(223,204,177,.4)}.status-error{color:#fecdd3;background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.5)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.modal-content{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.modal-content h3{margin:0 0 8px;font-size:20px;font-weight:700}.modal-content .subtext{margin:0 0 20px;color:var(--text-muted);font-size:13px;line-height:1.5}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions .ghost-btn,.modal-actions .primary-btn{min-width:100px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-field label{font-size:13px;font-weight:600;color:var(--text)}.form-field .input,.form-field .textarea{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;background:var(--bg-soft);color:var(--text);font-size:14px;font-family:inherit;transition:border-color .2s ease}.form-field .input:focus,.form-field .textarea:focus{outline:none;border-color:var(--accent)}.form-field .textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:12px;border-radius:var(--radius-md);background:var(--bg-soft);border:1px solid var(--border);margin-bottom:16px;transition:background .2s ease,border-color .2s ease}.checkbox-label:hover{background:var(--bg-softer);border-color:var(--accent)}.checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.checkbox-label span{flex:1 1;font-size:13px;line-height:1.5;color:var(--text)}.app-stack__scroll{flex:1 1;min-height:0;overflow-y:auto;padding:0 16px 100px;-webkit-overflow-scrolling:touch}.app-stack__category-card--full{grid-column:1/-1}.app-stack__empty-categories{grid-column:1/-1;margin:0;font-size:13px}.app-stack__toggle{display:flex;gap:8px;padding:4px;background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:24px}.app-stack__toggle-btn{flex:1 1;padding:10px 16px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-muted);font-weight:400;font-size:14px;cursor:pointer;transition:color .2s,background .2s}.app-stack__toggle-btn.is-active{background:var(--accent);color:#0a0a0a;font-weight:600}.app-stack__toggle-btn:hover:not(.is-active){color:var(--text);background:rgba(255,255,255,.05)}.app-stack__section{margin-bottom:32px}.app-stack__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.app-stack__grid--activities,.app-stack__grid--event-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.app-stack__grid--activities .app-stack__category-card--full,.app-stack__grid--event-categories .app-stack__category-card--full{grid-column:1/-1}.app-stack__category-card{border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(0,0,0,.14);background:var(--bg-soft);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),var(--shadow-sm);cursor:default;position:relative;transition:border-color .2s,background .2s,box-shadow .2s;min-height:180px;height:180px;max-height:180px;box-sizing:border-box}.app-stack__category-card.is-active{border:1px solid rgba(223,204,177,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 4px 20px rgba(0,0,0,.18);background:linear-gradient(145deg,rgba(223,204,177,.22),rgba(223,204,177,.1) 48%,rgba(28,28,28,.35))}.app-stack__category-card.is-inactive{border:1px solid #000;background:linear-gradient(135deg,rgba(55,55,55,.2),rgba(35,35,35,.12));box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.08);color:var(--text)}.app-stack__category-card.is-inactive:after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(25,25,25,.55),rgba(45,45,45,.48) 45%,rgba(20,20,20,.52));pointer-events:none;border-radius:inherit;z-index:0}.app-stack__category-card.is-inactive .app-stack__category-inner{position:relative;z-index:1}.app-stack__category-card.is-inactive .app-stack__category-header{z-index:2}.app-stack__category-card.is-active.is-clickable,.app-stack__category-card.is-inactive.is-clickable{cursor:pointer}.app-stack__category-card.is-clickable:hover{border-color:var(--accent)}.app-stack__category-card.is-inactive.is-clickable:hover{border-color:#000}.app-stack__category-card.is-inactive:not(.has-image) .app-stack__category-label{color:var(--text-muted)}.app-stack__category-card.is-inactive.has-image .app-stack__category-label{color:#f5f5f5;text-shadow:0 1px 4px rgba(0,0,0,.75)}.app-stack__category-inner{padding:16px;display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;min-width:0}.app-stack__category-header{position:absolute;top:12px;right:12px}.app-stack__category-card.has-image{background-size:cover;background-position:50%}.app-stack__category-card.has-image .app-stack__category-inner{background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%)}.app-stack__category-card.is-navigating{opacity:.7;cursor:wait}.app-stack__category-card.is-navigating .app-stack__category-inner{opacity:.5}.app-stack__category-card:not(.has-image) .app-stack__category-inner{background:transparent}.app-stack__category-card.has-image .app-stack__category-cta,.app-stack__category-card.has-image .app-stack__category-label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.app-stack__category-label{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:4px;line-height:1.22;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}.app-stack__category-cta{margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--accent);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-stack__event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.app-stack__event-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,rgba(223,204,177,.08),rgba(223,204,177,.08));cursor:pointer;position:relative;transition:border-color .2s,opacity .2s;min-height:180px;height:180px}.app-stack__event-card:hover{border-color:var(--accent)}.app-stack__event-emoji{height:80px;display:flex;align-items:center;justify-content:center;font-size:42px;background:rgba(0,0,0,.15);border-bottom:1px solid var(--border)}.app-stack__event-body{padding:14px}.app-stack__event-label{font-weight:700;font-size:15px;line-height:1.3;margin-bottom:6px}