.site-header[data-v-ecf996bb]{position:sticky;top:0;z-index:10;background:#fffffff5;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--neutral-200)}.sync-status[data-v-ecf996bb]{border-bottom:1px solid #e8dfc7;background:#fffcf4;color:#705c32}.sync-status-inner[data-v-ecf996bb]{display:flex;min-height:48px;align-items:center;gap:10px;padding-top:6px;padding-bottom:6px}.sync-status-mark[data-v-ecf996bb]{display:grid;flex:0 0 20px;place-items:center;width:20px;height:20px;border-radius:50%;background:#f0e5c7;font-size:12px;font-weight:700}.sync-status-inner p[data-v-ecf996bb]{flex:1;margin:0;font-size:12px}.sync-status-inner strong[data-v-ecf996bb]{color:#4e4127}.sync-retry[data-v-ecf996bb]{flex:0 0 auto;min-height:36px;border:1px solid #d5c9a9;border-radius:8px;padding:0 12px;background:#fff;color:#66542e;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.sync-retry[data-v-ecf996bb]:hover{background:#f7f0dd}.sync-retry[data-v-ecf996bb]:disabled{opacity:.6;cursor:wait}.header-inner[data-v-ecf996bb]{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.brand[data-v-ecf996bb]{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:700;color:var(--primary-700)}.brand-mark[data-v-ecf996bb]{width:30px;height:30px;fill:var(--primary-600);stroke:var(--neutral-0);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.site-nav[data-v-ecf996bb]{display:flex;gap:4px}.sync-chip[data-v-ecf996bb]{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:var(--success-700);font-size:12px;font-weight:700}.sync-chip i[data-v-ecf996bb]{width:8px;height:8px;border-radius:50%;background:var(--success-700);box-shadow:0 0 0 3px var(--success-50)}.nav-link[data-v-ecf996bb]{padding:10px 14px;border-radius:12px;color:var(--neutral-700);font-size:14px;font-weight:600;transition:background-color .2s ease,color .2s ease}.nav-link[data-v-ecf996bb]:hover{background:var(--primary-50);color:var(--primary-700)}.nav-link.router-link-active[data-v-ecf996bb]{background:var(--primary-100);color:var(--primary-700)}.bottom-nav[data-v-ecf996bb]{display:none}.site-footer[data-v-ecf996bb]{border-top:1px solid var(--neutral-200);background:var(--neutral-0);padding:36px 0;margin-top:48px}.footer-brand[data-v-ecf996bb]{font-weight:700;color:var(--primary-700);margin-bottom:8px}.footer-note[data-v-ecf996bb]{font-size:14px;max-width:720px;margin-bottom:0}@media (max-width: 767px){.desktop-nav[data-v-ecf996bb]{display:none}.app-main[data-v-ecf996bb]{padding-bottom:88px}.site-footer[data-v-ecf996bb]{margin-top:48px;padding-bottom:108px}.bottom-nav[data-v-ecf996bb]{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--neutral-200);box-shadow:0 -6px 24px #11182714;padding-bottom:env(safe-area-inset-bottom)}.bottom-link[data-v-ecf996bb]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;font-size:12px;font-weight:600;color:var(--neutral-500);transition:color .2s ease}.bottom-link svg[data-v-ecf996bb]{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bottom-link.router-link-active[data-v-ecf996bb]{color:var(--primary-700)}.sync-status-inner[data-v-ecf996bb]{flex-wrap:wrap;gap:7px 9px;padding:8px 20px}.sync-status-inner p[data-v-ecf996bb]{flex-basis:calc(100% - 30px)}.sync-retry[data-v-ecf996bb]{margin-left:29px}}:root{--primary-50: #eff7f0;--primary-100: #dceee0;--primary-600: #28774b;--primary-700: #174f32;--secondary-600: #176f70;--secondary-50: #edf6f3;--accent-500: #d99a4e;--success-700: #277247;--success-50: #eff7f0;--warning-700: #b45309;--warning-50: #fffbeb;--error-700: #b91c1c;--error-50: #fef2f2;--neutral-0: #ffffff;--neutral-50: #f6f8f5;--neutral-200: #e0e7e0;--neutral-500: #647269;--neutral-700: #34443a;--neutral-900: #18231c;--radius: 14px;--shadow: 0 3px 8px rgba(27, 48, 32, .045), 0 16px 36px rgba(27, 48, 32, .065);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;line-height:1.5;color:var(--neutral-900);background-color:var(--neutral-50);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3{line-height:1.2;margin:0 0 16px;font-weight:700}h1{font-size:42px;letter-spacing:0}h2{font-size:29px;letter-spacing:0}h3{font-size:20px}p{margin:0 0 16px}a{color:var(--primary-700);font-weight:600;text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-600)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--secondary-600);outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:64px 0}.section-muted{background:var(--neutral-0)}.section-head{margin-bottom:26px}.section-head h2{margin-bottom:8px}.section-head p{color:var(--neutral-500);max-width:640px;margin-bottom:0}.eyebrow{display:inline-block;font-size:14px;font-weight:600;color:var(--primary-700);background:var(--primary-100);padding:8px 16px;border-radius:999px;margin-bottom:16px}.muted{color:var(--neutral-500)}.card{background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.grid{display:grid;gap:24px;grid-template-columns:1fr}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary-600);color:var(--neutral-0)}.btn-primary:hover{background:var(--primary-700);color:var(--neutral-0);box-shadow:0 8px 18px #20593633}.btn-outline{background:var(--neutral-0);color:var(--primary-700);border-color:var(--primary-600)}.btn-outline:hover{background:var(--primary-50);color:var(--primary-700)}.btn-block{width:100%}.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--neutral-200);background:var(--neutral-0);color:var(--neutral-700);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.chip:hover{border-color:var(--primary-600);color:var(--primary-700)}.chip.active{background:var(--primary-600);border-color:var(--primary-600);color:var(--neutral-0)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;background:var(--secondary-50);color:var(--secondary-600)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label,.field-label{font-size:14px;font-weight:600;color:var(--neutral-700)}.input{width:100%;min-height:48px;padding:0 16px;border-radius:8px;border:1px solid var(--neutral-200);background:var(--neutral-0);color:var(--neutral-900);font:inherit}.input:focus{border-color:var(--primary-600);outline:none;box-shadow:0 0 0 3px var(--primary-100)}.field-error{font-size:13px;color:var(--error-700)}.alert{border-radius:8px;padding:16px;margin-bottom:16px;font-size:15px}.alert-warning{background:var(--warning-50);color:var(--warning-700);border:1px solid #fde68a}.alert-error{background:var(--error-50);color:var(--error-700);border:1px solid #fecaca}.alert-success{background:var(--success-50);color:var(--success-700);border:1px solid #bbf7d0}.stat-value{font-size:32px;font-weight:700;color:var(--primary-700);line-height:1.2}.stat-unit{font-size:14px;color:var(--neutral-500)}.empty-state{text-align:center;padding:48px 24px;color:var(--neutral-500)}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding:76px 0}}@media (max-width: 600px){h1{font-size:34px}h2{font-size:26px}.container{padding:0 20px}.section{padding:44px 0}.card{padding:20px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
