:root{--bg-0: #f6fbf3;--bg-1: #eaf6e0;--fg: #14361f;--fg-muted: rgba(20, 54, 31, .62);--fg-dim: rgba(20, 54, 31, .38);--accent: #16a34a;--accent-2: #65a30d;--accent-3: #14b8a6;--surface: rgba(255, 255, 255, .72);--surface-border: rgba(20, 54, 31, .1);--surface-border-focus: rgba(22, 163, 74, .4);--glow: 0 0 0 1px rgba(22, 163, 74, .28), 0 18px 48px -16px rgba(22, 163, 74, .35)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01";color:var(--fg);background:var(--bg-0);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font-family:inherit;color:inherit;background:none;border:none;outline:none}input:-webkit-autofill{-webkit-text-fill-color:var(--fg);-webkit-box-shadow:0 0 0 1000px transparent inset;transition:background-color 5000s ease-in-out 0s}.app{position:relative;height:100vh;height:100dvh;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:radial-gradient(1200px 800px at 15% 10%,rgba(134,239,172,.45),transparent 60%),radial-gradient(900px 700px at 85% 90%,rgba(190,242,100,.4),transparent 60%),radial-gradient(700px 500px at 50% 50%,rgba(94,234,212,.22),transparent 70%),linear-gradient(180deg,var(--bg-0) 0%,var(--bg-1) 100%)}.blob{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.blob:before,.blob:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}.blob:before{width:520px;height:520px;top:-120px;left:-120px;background:radial-gradient(circle,#bbf7d0,transparent 70%);animation:drift-a 18s ease-in-out infinite alternate}.blob:after{width:480px;height:480px;bottom:-140px;right:-100px;background:radial-gradient(circle,#d9f99d,transparent 70%);animation:drift-b 22s ease-in-out infinite alternate}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(80px,60px) scale(1.1)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-60px,-40px) scale(1.05)}}.app-shell{position:relative;z-index:5;width:100%;max-width:880px;margin:0 auto;padding:22px 24px 8px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.shell-title{display:flex;align-items:center;min-width:0;padding:6px 4px 6px 0}.shell-title-text{font-size:18px;font-weight:600;letter-spacing:-.018em;color:var(--fg);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:inline-block}.shell-title-text span{display:inline-block}.shell-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.shell-hamburger{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#ffffffb3;border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:var(--fg);box-shadow:0 1px #ffffffe6 inset,0 10px 24px -16px #14361f40;transition:background .2s ease,box-shadow .25s ease;flex-shrink:0}.shell-hamburger:hover{background:#ffffffeb}.shell-hamburger.is-open{background:#fffffff0}.shell-hamburger svg{width:20px;height:20px}.stage-wrap{position:relative;z-index:1;width:100%;flex:1;display:flex;flex-direction:column;align-items:center;min-height:0;padding:0 24px 24px;overflow:hidden}.stage-center{justify-content:center}.stage-fill{justify-content:stretch}.step-frame{width:100%;max-width:560px}.step-frame-fill{max-width:880px;flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.stage{position:relative;z-index:1;width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:24px}.stage-wide{max-width:640px;height:min(85vh,720px);justify-content:flex-end}.stage-dashboard{max-width:880px;height:min(92vh,880px);justify-content:flex-start}.step{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.step-chat{align-items:stretch;gap:18px}.chat-bubble{align-self:flex-start;max-width:90%;padding:14px 18px;border-radius:20px 20px 20px 6px;background:#ffffffd9;border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 10px 30px -16px #14361f2e;color:var(--fg);font-size:16px;line-height:1.55;font-weight:400;letter-spacing:-.005em}.chat-bubble-text{white-space:pre-wrap}.typing-bubble .typing-text{white-space:pre-wrap;position:relative}.typing-bubble .typing-text .typed,.typing-bubble .typing-text .ghost{white-space:pre-wrap}.typing-bubble .typing-text .ghost{visibility:hidden}.caret{display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:text-bottom;background:var(--accent);border-radius:1px;animation:caret-blink .95s steps(2,start) infinite}@keyframes caret-blink{to{visibility:hidden}}.chat-input-row{width:100%;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 22px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 10px 30px -16px #14361f2e;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.chat-input-row:focus-within{border-color:var(--surface-border-focus);background:#fffffff0;box-shadow:var(--glow),0 1px #ffffffe6 inset}.chat-input-row input{flex:1;min-width:0;padding:14px 0;font-size:18px;font-weight:400;letter-spacing:-.005em;text-align:left;color:var(--fg)}.chat-input-row input::placeholder{color:var(--fg-dim);font-weight:300}.send-btn{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 8px 22px -10px #16a34a8c,inset 0 1px #ffffff4d;flex-shrink:0;position:relative;overflow:hidden}.send-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.send-btn:disabled{cursor:not-allowed}.send-btn svg{width:18px;height:18px;position:relative;transform:translate(-1px)}.inline-question{width:100%;display:flex;align-items:center;gap:8px;padding:9px 9px 9px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 14px 36px -18px #14361f40;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.inline-question:focus-within{border-color:var(--surface-border-focus);background:#fffffff0;box-shadow:var(--glow),0 1px #ffffffe6 inset}.inline-question input{flex:1;min-width:0;padding:18px 20px;font-size:22px;font-weight:400;letter-spacing:-.01em;text-align:left;color:var(--fg)}.inline-question input::placeholder{color:var(--fg-dim);font-weight:300}.inline-pill-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.005em;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 26px -10px #16a34a99,0 4px 10px -4px #65a30d66,inset 0 1px #ffffff4d;white-space:nowrap;flex-shrink:0;position:relative;overflow:hidden;transform-origin:right center}.inline-pill-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.inline-pill-btn .pill-label{position:relative;display:inline-block}.inline-pill-btn .pill-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;position:relative}.inline-pill-btn .pill-icon svg{width:100%;height:100%}.loading-step{display:flex;flex-direction:column;align-items:center;gap:36px;padding:32px 0}.orbit{position:relative;width:112px;height:112px}.orbit-ring{position:absolute;border-radius:50%;border:2px solid transparent}.orbit-ring.r1{top:0;right:0;bottom:0;left:0;border-top-color:var(--accent);border-right-color:#16a34a66}.orbit-ring.r2{top:12px;right:12px;bottom:12px;left:12px;border-top-color:var(--accent-2);border-left-color:#65a30d66}.orbit-ring.r3{top:24px;right:24px;bottom:24px;left:24px;border-bottom-color:var(--accent-3);border-right-color:#14b8a666}.orbit-core{position:absolute;top:36px;right:36px;bottom:36px;left:36px;border-radius:50%;background:radial-gradient(circle,rgba(22,163,74,.85) 0%,rgba(101,163,13,.45) 60%,transparent 80%);filter:blur(2px);box-shadow:0 0 24px #16a34a73,0 0 48px #65a30d40}.loading-status{font-size:16px;font-weight:400;color:var(--fg-muted);min-height:1.6em;text-align:center;letter-spacing:-.005em}.loading-status span{display:inline-block}.chat-screen{width:100%;height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}.chat-messages{display:flex;flex-direction:column;gap:10px;padding:4px 2px}.msg-assistant{align-self:flex-start}.msg-user{align-self:flex-end;max-width:85%;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);border-radius:20px 20px 6px;border-color:transparent;box-shadow:0 10px 30px -14px #16a34a73,inset 0 1px #ffffff2e}.composer{position:relative;width:100%;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 22px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 14px 36px -18px #14361f40;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;flex-shrink:0}.composer:focus-within{border-color:var(--surface-border-focus);background:#fffffff0;box-shadow:var(--glow),0 1px #ffffffe6 inset}.composer input{flex:1;min-width:0;padding:14px 0;font-size:16px;font-weight:400;letter-spacing:-.005em;text-align:left;color:var(--fg)}.composer input::placeholder{color:var(--fg-dim);font-weight:300}.recording-pane{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 0}.rec-indicator{width:10px;height:10px;border-radius:50%;background:#dc2626;box-shadow:0 0 10px #dc2626b3;animation:rec-blink 1s ease-in-out infinite;flex-shrink:0}@keyframes rec-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.recording-waveform{flex:1;display:flex;align-items:center;gap:3px;height:28px;min-width:0}.rec-bar{flex:1;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-2) 100%);border-radius:2px;min-height:6px;transition:height .06s linear}.recording-time{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600;font-size:14px;letter-spacing:-.005em;flex-shrink:0}.send-btn.recording{background:linear-gradient(135deg,#dc2626,#f97316);box-shadow:0 10px 28px -10px #dc262699,inset 0 1px #ffffff4d}.recording-pulse{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(220,38,38,.55);pointer-events:none;animation:rec-pulse 1.2s ease-out infinite}@keyframes rec-pulse{0%{transform:scale(.85);opacity:1}to{transform:scale(1.55);opacity:0}}.voice-msg{display:flex;align-items:center;gap:10px;padding:2px 4px}.voice-play{width:30px;height:30px;border-radius:50%;background:#ffffff38;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.voice-play svg{width:12px;height:12px;color:#fff;transform:translate(1px)}.voice-bars{display:flex;align-items:center;gap:2px;height:24px;min-width:120px}.vbar{width:2px;background:#ffffffd9;border-radius:1px;min-height:4px}.voice-time{font-variant-numeric:tabular-nums;font-size:12px;opacity:.92;font-weight:500}.dashboard,.main-step{width:100%;height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}.main-content{flex:1;min-height:0;display:grid;grid-template-areas:"stack";grid-template-columns:1fr;grid-template-rows:1fr;overflow:hidden}.view-pane{grid-area:stack;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 8px 8px 2px;scrollbar-width:thin;scrollbar-color:rgba(20,54,31,.18) transparent;transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1),filter .35s ease;will-change:opacity,transform,filter}.view-pane::-webkit-scrollbar{width:6px}.view-pane::-webkit-scrollbar-thumb{background:#14361f2e;border-radius:3px}.view-pane.is-active{opacity:1;transform:translateY(0);filter:blur(0px);pointer-events:auto;z-index:2}.view-pane.is-hidden{opacity:0;transform:translateY(14px);filter:blur(6px);pointer-events:none;z-index:1}.tools-view{gap:22px}.chat-view .chat-messages{padding:4px 0;display:flex;flex-direction:column;gap:10px}.campo-inline-composer{align-self:stretch;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 18px;margin:2px 0 6px;border-radius:999px;background:#fffffff5;border:1px solid var(--surface-border-focus);box-shadow:var(--glow),0 12px 30px -18px #14361f59}.campo-inline-composer input{flex:1;min-width:0;padding:13px 0;font-size:16px;color:var(--fg)}.campo-inline-composer input::placeholder{color:var(--fg-dim)}.campo-inline-composer button{flex-shrink:0;padding:12px 16px;border-radius:999px;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 24px -14px #16a34ab3}.campo-inline-composer button:disabled{opacity:.45}.widgets-section{display:flex;flex-direction:column;gap:12px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px dashed rgba(20,54,31,.08)}.widgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.tool-widget{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;background:#ffffffc7;border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 10px 24px -16px #14361f33;text-align:left;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.tool-widget:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);opacity:.7}.tool-widget:hover{border-color:#16a34a40;box-shadow:0 1px #ffffffe6 inset,0 14px 30px -16px #16a34a4d}.widget-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:inset 0 1px #ffffff59}.widget-icon span{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.widget-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.widget-head{display:flex;align-items:center;gap:6px;justify-content:space-between}.widget-name{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--fg-muted);text-transform:uppercase}.widget-trend{width:14px;height:14px;flex-shrink:0}.widget-trend.up{color:#16a34a}.widget-trend.down{color:#dc2626}.widget-primary{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--fg);line-height:1.2}.widget-secondary{font-size:12px;color:var(--fg-muted)}.composer.is-search{background:#ffffffd1}.composer-leading{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--fg-muted);flex-shrink:0;margin-right:-4px}.composer-leading svg{width:100%;height:100%}.clear-search-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#14361f0f;color:var(--fg);flex-shrink:0;transition:background .2s ease}.clear-search-btn:hover{background:#14361f1f}.clear-search-btn svg{width:14px;height:14px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 2px;flex-shrink:0}.dashboard-title{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.dashboard-emoji{width:52px;height:52px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 12px 28px -10px #16a34a80,inset 0 1px #ffffff4d;flex-shrink:0}.dashboard-title-text{min-width:0;display:flex;flex-direction:column}.dashboard-title-text h1{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--fg);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-title-text p{font-size:13px;color:var(--fg-muted);margin-top:2px;letter-spacing:-.005em}.header-action{display:inline-flex;align-items:center;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:-.005em;flex-shrink:0;transition:background .25s ease,box-shadow .25s ease,color .25s ease;position:relative;overflow:hidden}.header-action.primary{color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 12px 28px -10px #16a34a8c,inset 0 1px #ffffff47}.header-action.primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.header-action.ghost{color:var(--fg);background:#ffffffb8;border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 10px 24px -16px #14361f40}.header-action.ghost:hover{background:#ffffffeb}.action-label{display:inline-flex;align-items:center;gap:8px;position:relative}.action-label svg{flex-shrink:0}.dashboard-content{flex:1;min-height:0;overflow-y:auto;padding:4px 2px 12px;margin-top:4px;scrollbar-width:thin;scrollbar-color:rgba(20,54,31,.18) transparent}.dashboard-content::-webkit-scrollbar{width:6px}.dashboard-content::-webkit-scrollbar-thumb{background:#14361f2e;border-radius:3px}.dashboard-view{display:flex;flex-direction:column;gap:22px}.search-bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 10px 30px -16px #14361f2e;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.search-bar:focus-within{border-color:var(--surface-border-focus);background:#fffffff0;box-shadow:var(--glow),0 1px #ffffffe6 inset}.search-icon{display:inline-flex;width:18px;height:18px;color:var(--fg-muted);flex-shrink:0}.search-icon svg{width:100%;height:100%}.search-bar input{flex:1;font-size:15px;color:var(--fg);background:transparent;padding:2px 0}.search-bar input::placeholder{color:var(--fg-dim);font-weight:300}.section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding-left:2px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.tool-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;background:#ffffffc7;border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffffe6 inset,0 12px 30px -18px #14361f33;text-align:left;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.tool-card:hover{border-color:#16a34a40;box-shadow:0 1px #ffffffe6 inset,0 18px 40px -18px #16a34a4d}.tool-card.installed{border-color:#16a34a66;background:#ffffffeb}.tool-card.installed:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%)}.tool-card-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:inset 0 1px #ffffff59}.tool-card-icon span{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.tool-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.tool-card-head{display:flex;align-items:center;gap:8px}.tool-card-head h3{font-size:16px;font-weight:600;color:var(--fg);letter-spacing:-.005em}.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;background:#f59e0b1f;color:#b45309;white-space:nowrap}.badge-installed{background:#16a34a24;color:#15803d}.tool-card-desc{font-size:13px;line-height:1.45;color:var(--fg-muted)}.tool-card-meta{display:flex;align-items:center;gap:10px;margin-top:2px}.tool-card-category{font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--fg-dim);text-transform:uppercase}.tool-card-uses{font-size:11px;color:var(--fg-dim)}.tool-card-uses:before{content:"·";margin-right:6px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;text-align:center;background:#ffffff80;border:1px dashed var(--surface-border);border-radius:18px}.empty-emoji{font-size:40px;margin-bottom:8px}.empty-state h3{font-size:17px;font-weight:600;color:var(--fg)}.empty-state p{font-size:13px;color:var(--fg-muted);max-width:320px;line-height:1.5}.primary-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:500;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 26px -10px #16a34a8c,inset 0 1px #ffffff47;margin-top:10px;transition:transform .15s ease,box-shadow .15s ease}.primary-btn:hover:not(:disabled){transform:translateY(-1px)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.ghost-btn{display:inline-flex;align-items:center;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;color:var(--fg);background:#14361f0d;transition:background .2s ease}.ghost-btn:hover{background:#14361f1a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14361f52;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:20px;box-shadow:0 32px 60px -20px #14361f59,0 0 0 1px #14361f0f}.modal-detail{max-width:480px}.modal-header{display:flex;align-items:center;gap:14px}.modal-icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:inset 0 1px #ffffff59}.modal-head-text h2{font-size:19px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.modal-head-text p{font-size:13px;color:var(--fg-muted);margin-top:2px}.modal-form{display:flex;flex-direction:column;gap:14px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field span{font-size:12px;font-weight:500;color:var(--fg-muted);letter-spacing:.01em}.form-field input{padding:12px 16px;border-radius:12px;font-size:15px;color:var(--fg);background:#14361f0a;border:1px solid transparent;transition:border-color .2s ease,background .2s ease}.form-field input:focus{border-color:var(--surface-border-focus);background:#fff;box-shadow:0 0 0 3px #16a34a1f}.form-field input::placeholder{color:var(--fg-dim)}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-actions .primary-btn{margin-top:0}.modal-body{display:flex;flex-direction:column;gap:16px}.modal-body-desc{font-size:14px;line-height:1.55;color:var(--fg-muted)}.placeholder-pane{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:#16a34a0d;border:1px dashed rgba(22,163,74,.22);border-radius:16px;text-align:center}.placeholder-emoji{font-size:36px}.placeholder-pane p{font-size:13px;color:var(--fg-muted);line-height:1.5;max-width:320px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14361f47;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);z-index:90}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);z-index:91;background:#fff;display:flex;flex-direction:column;padding:22px 22px 28px;gap:14px;box-shadow:-20px 0 60px -20px #14361f59}.drawer-header{display:flex;align-items:center;gap:12px;padding:4px 2px}.drawer-avatar{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 22px -10px #16a34a8c,inset 0 1px #ffffff4d;flex-shrink:0}.drawer-user{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.drawer-user h3{font-size:16px;font-weight:600;color:var(--fg);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user p{font-size:12px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user-campo{font-size:11px;font-weight:500;color:var(--accent);margin-top:2px;display:inline-block}.drawer-close{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#14361f0f;color:var(--fg);transition:background .2s ease;flex-shrink:0}.drawer-close:hover{background:#14361f1f}.drawer-close svg{width:16px;height:16px}.drawer-divider{height:1px;background:#14361f14;margin:4px -4px}.drawer-menu{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;gap:2px;flex:1}.drawer-menu li{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:background .2s ease}.drawer-menu li:hover{background:#16a34a0f}.drawer-menu-icon{font-size:18px;width:22px;text-align:center;flex-shrink:0}.drawer-menu-chev{width:14px;height:14px;margin-left:auto;color:var(--fg-dim)}.drawer-logout{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;font-size:14px;font-weight:500;color:#dc2626;transition:background .2s ease}.drawer-logout:hover{background:#dc262614}.field{width:100%;position:relative}.field input{width:100%;padding:22px 26px;font-size:26px;font-weight:400;letter-spacing:-.01em;text-align:center;border-radius:18px;background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:var(--fg);box-shadow:0 1px #ffffffe6 inset,0 10px 30px -16px #1a1a2e2e;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.field input::placeholder{color:var(--fg-dim);font-weight:300}.field input:focus{border-color:var(--surface-border-focus);background:#ffffffeb;box-shadow:var(--glow),0 1px #ffffffe6 inset}.hint{font-size:13px;color:var(--fg-muted);text-align:center;letter-spacing:.01em;font-weight:400;max-width:380px;line-height:1.5}.submit{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:999px;font-size:16px;font-weight:500;letter-spacing:-.005em;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 28px -10px #16a34a80,0 4px 12px -4px #65a30d66,inset 0 1px #ffffff47;white-space:nowrap;overflow:hidden}.submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 50%);pointer-events:none}.submit:disabled{opacity:.5;cursor:not-allowed}.submit .icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.submit .icon svg{width:100%;height:100%}
