@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");:root{--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",system-ui,sans-serif;--font-mono:"SF Mono","Menlo","Monaco","Courier New",monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--color-background:#fff;--color-surface:#fff;--color-surface-secondary:#fafaf8;--color-surface-tertiary:#f5f5f0;--color-text-primary:#000;--color-text-secondary:#4a4a4a;--color-text-tertiary:#757575;--color-text-inverse:#fff;--color-border:#e8e8e0;--color-border-secondary:#d4d4c8;--color-primary:#2d7a3e;--color-primary-hover:#236030;--color-primary-light:#e8f5ea;--color-secondary:#7d6340;--color-secondary-hover:#644f33;--color-secondary-light:#f5f0e8;--color-success:#2d7a3e;--color-success-light:#e8f5ea;--color-warning:#7a5c2e;--color-warning-light:#fef5e8;--color-error:#af453b;--color-error-light:#ffe8e6;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--color-surface-secondary);font-size:var(--text-base);line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:1.3;letter-spacing:-.02em}h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-sans);border:none;cursor:pointer;transition:all var(--transition-base);border-radius:var(--radius-full);font-size:var(--text-base)}.btn-primary,button{font-weight:var(--font-semibold)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-6)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-secondary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-6);font-weight:var(--font-semibold)}.btn-secondary:hover{background:var(--color-secondary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-accent{background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-3) var(--space-6);border:2px solid var(--color-border-secondary);font-weight:var(--font-semibold)}.btn-accent:hover{background:var(--color-surface-tertiary);border-color:var(--color-text-secondary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-surface{background:var(--color-surface)}.bg-surface-secondary{background:var(--color-surface-secondary)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-surface-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full);border:3px solid var(--color-surface-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background:var(--color-primary-light);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}