:root{--v-green:#7cb342;--v-green-bright:#8bc34a;--v-green-dark:#4f7d1f;--v-amber:#ffb300;--v-berry:#e91e63;--v-cyan:#00bcd4;--v-dark:#2d2d2d;--v-muted:#68716c;--v-bg-soft:#f9f9f9;--v-white:#fff;--v-green-light:#7cb3421a;--v-amber-light:#ffb3001f;--v-cyan-light:#00bcd41f;--v-berry-light:#e91e631a;--v-border:#7cb34224;--v-shadow:0 24px 70px #2d2d2d1a;--v-radius-xl:28px;color:var(--v-dark);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 10% 20%, var(--v-green-light) 0%, transparent 38%), radial-gradient(circle at 86% 14%, var(--v-cyan-light) 0%, transparent 35%), radial-gradient(circle at 84% 92%, var(--v-amber-light) 0%, transparent 36%), linear-gradient(180deg, #fbfdfb 0%, #fff 100%);min-height:100vh;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.font-accent,h1,h2,h3{letter-spacing:.02em;font-family:Philosopher,Georgia,serif}.app-shell{min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.app-card{border:1px solid var(--v-border);border-radius:var(--v-radius-xl);width:min(100%,1180px);height:calc(100dvh - 24px);box-shadow:var(--v-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;grid-template-rows:auto 1fr auto;margin:0 auto;display:grid;overflow:hidden}.app-header{color:#fff;background:linear-gradient(100deg, var(--v-green), var(--v-green-bright));justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:16px 20px;display:flex;box-shadow:0 12px 28px #7cb3422e}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:#ffffff29;border:1px solid #ffffff42;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.brand-title{margin:0;font-size:21px;line-height:1.05}.brand-subtitle,.eyebrow{text-transform:uppercase;letter-spacing:.16em;margin:3px 0 0;font-size:10px;font-weight:800}.brand-subtitle{opacity:.9}.header-actions{align-items:center;gap:8px;display:flex}.main-layout{grid-template-columns:92px minmax(0,1fr);min-height:0;display:grid}.side-nav{background:#ffffff8c;border-right:1px solid #7cb3421c;padding:18px 12px;display:none}.content-scroll{min-height:0;padding:18px;overflow:auto}.view-grid{gap:18px;display:grid}.view-grid.wide{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}.card{background:#ffffffeb;border:1px solid #7cb3421f;border-radius:24px;padding:18px;box-shadow:0 14px 36px #2d2d2d0f}.card.soft{background:linear-gradient(160deg,#f1f8e9db,#fffffff5)}.card.berry{background:linear-gradient(160deg,#fce4ece6,#fffffff5)}.card.dark{color:#fff;background:linear-gradient(145deg,#254848,#2d2d2d)}.section-title{margin:0 0 6px;font-size:clamp(26px,4vw,40px);line-height:1.06}.section-copy{color:var(--v-muted);margin:0;line-height:1.6}.button{color:#fff;background:var(--v-green);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 18px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 10px 22px #7cb34238}.button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #7cb34242}.button:disabled{cursor:not-allowed;opacity:.58;transform:none}.button.berry{background:var(--v-berry);box-shadow:0 10px 22px #e91e6338}.button.dark{background:var(--v-dark);box-shadow:0 10px 22px #2d2d2d2e}.button.ghost{color:var(--v-dark);box-shadow:none;background:#ffffffb8;border:1px solid #7cb3422e}.icon-button{width:42px;height:42px;color:inherit;background:#fff3;border:1px solid #ffffff47;border-radius:50%;place-items:center;display:inline-grid}.field,.textarea{width:100%;color:var(--v-dark);background:#ffffffd6;border:1px solid #7cb34229;border-radius:18px;outline:none;padding:13px 15px}.field:focus,.textarea:focus{border-color:#7cb3428a;box-shadow:0 0 0 4px #7cb3421a}.textarea{resize:vertical;min-height:82px}.status-pill{color:var(--v-green-dark);background:#f1f8e9;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.bottom-nav{min-height:76px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #7cb3421f;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid}.nav-button{color:#98a29d;letter-spacing:.02em;background:0 0;border:0;place-items:center;gap:4px;min-width:0;font-size:10px;font-weight:800;display:grid}.nav-button.active{color:var(--nav-color,var(--v-green))}.nav-button.scanner{transform:translateY(-12px)}.nav-button.scanner .nav-icon{color:#fff;background:var(--v-dark);border-radius:50%;width:58px;height:58px;box-shadow:0 12px 26px #2d2d2d38}.nav-button.scanner.active .nav-icon{background:var(--v-amber)}.nav-icon{place-items:center;display:grid}.action-list{gap:12px;display:grid}.action-card{background:#fff;border:1px solid #7cb3421c;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.check{color:#0000;background:#fff;border:2px solid #7cb34247;border-radius:50%;width:32px;height:32px}.check.done{color:#fff;background:var(--v-green);border-color:var(--v-green);place-items:center;display:grid}.chat-shell{grid-template-rows:auto 1fr auto;height:100%;min-height:0;display:grid}.messages{flex-direction:column;gap:12px;min-height:0;padding:16px 0;display:flex;overflow:auto}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message{white-space:pre-wrap;border-radius:20px;max-width:min(85%,680px);padding:12px 14px;font-size:14px;line-height:1.55}.message.bot{color:var(--v-dark);background:#7cb34212;border:1px solid #7cb3421a;border-top-left-radius:6px}.message.user{color:#fff;background:linear-gradient(135deg, var(--v-green), var(--v-green-bright));border-top-right-radius:6px}.message img{border-radius:16px;width:min(220px,100%);margin-bottom:8px;display:block}.composer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd6;border:1px solid #7cb34224;border-radius:24px;align-items:flex-end;gap:8px;padding:12px;display:flex}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:46px;max-height:120px}.scanner-panel{gap:16px;display:grid}.scanner-drop{background:radial-gradient(circle at 50% 5%,#fffc,#0000 45%),linear-gradient(160deg,#f8fcf3,#fff);border:1px dashed #4f7d1f4d;border-radius:32px;place-items:center;min-height:320px;padding:22px;display:grid;position:relative;overflow:hidden}.scanner-drop img{object-fit:contain;border-radius:24px;width:100%;max-height:420px}.scanner-result{background:#fff;border:1px solid #7cb3421f;border-radius:28px;overflow:hidden}.scanner-result-header{color:#fff;background:linear-gradient(100deg, var(--v-green-dark), var(--v-green));padding:16px}.scanner-result-body{padding:16px}.typing{gap:4px;display:inline-flex}.typing i{background:var(--v-green);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}.spin,button svg.lucide-loader-2{animation:1s linear infinite spin}@keyframes typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}.hidden-file{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric{background:#f9f9f9d6;border-radius:18px;padding:12px}.muted{color:var(--v-muted)}.danger{color:var(--v-berry)}@media (width>=820px){.app-card{height:min(860px,100dvh - 28px)}.side-nav{align-content:start;gap:10px;display:grid}.bottom-nav{display:none}.content-scroll{padding:24px}.nav-button{border-radius:22px;min-height:70px}.nav-button.active{background:#7cb34214}}@media (width<=819px){.app-shell{padding:0}.app-card{border:0;border-radius:0;width:100%;height:100dvh}.main-layout{grid-template-columns:1fr}.content-scroll{padding:14px 14px 88px}.view-grid.wide{grid-template-columns:1fr}.app-header{padding-top:calc(14px + env(safe-area-inset-top))}}
