:root{--font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--primary: #0d9488;--primary-hover: #0f766e;--primary-light: #ccfbf1;--primary-glow: rgba(13, 148, 136, .15);--secondary: #4f46e5;--secondary-light: #e0e7ff;--accent-amber: #d97706;--accent-amber-light: #fef3c7;--accent-green: #16a34a;--accent-green-light: #dcfce7;--accent-red: #dc2626;--accent-red-light: #fee2e2;--bg-app: #f1f5f9;--bg-surface: #ffffff;--bg-surface-elevated: #ffffff;--bg-input: #f8fafc;--text-main: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-focus: #0d9488;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .05);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--nav-height: 68px;--header-height: 60px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--primary: #14b8a6;--primary-hover: #2dd4bf;--primary-light: rgba(20, 184, 166, .18);--primary-glow: rgba(20, 184, 166, .25);--secondary: #818cf8;--secondary-light: rgba(129, 140, 248, .18);--bg-app: #0f172a;--bg-surface: #1e293b;--bg-surface-elevated: #334155;--bg-input: #0f172a;--text-main: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--text-inverse: #0f172a;--border-color: #334155;--border-focus: #14b8a6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app-shell{display:flex;flex-direction:column;min-height:100vh;max-width:640px;margin:0 auto;background-color:var(--bg-surface);box-shadow:0 0 30px #00000014;position:relative;padding-bottom:calc(var(--nav-height) + 20px)}.app-header{position:sticky;top:0;z-index:40;height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand-container{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}.brand-title{font-size:1.125rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em}.brand-badge{font-size:.65rem;font-weight:700;background:var(--primary-light);color:var(--primary);padding:2px 6px;border-radius:var(--radius-full);text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{background:transparent;border:none;color:var(--text-muted);width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.icon-button:hover,.icon-button:active{background:var(--bg-app);color:var(--text-main)}.offline-banner{background-color:#f59e0b;color:#fff;font-size:.75rem;font-weight:600;text-align:center;padding:4px 12px;display:none}.offline-banner.visible{display:block}.disclaimer-banner{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:1px solid #fde68a;padding:10px 16px;display:flex;align-items:flex-start;gap:10px;font-size:.78rem;color:#92400e;line-height:1.4}[data-theme=dark] .disclaimer-banner{background:linear-gradient(135deg,#2a2012,#3a2b16);border-bottom-color:#543e1d;color:#fef08a}.disclaimer-banner .material-symbols-outlined{font-size:18px;color:#d97706;flex-shrink:0;margin-top:2px}.disclaimer-banner-btn{background:transparent;border:none;color:#b45309;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;margin-left:4px}[data-theme=dark] .disclaimer-banner-btn{color:#fde047}#app-content{padding:16px;display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - var(--header-height) - var(--nav-height) - 40px)}.page-view{display:none;animation:fadeIn .2s ease-out forwards}.page-view.active{display:flex;flex-direction:column;gap:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card-header{display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:8px}.card-title .material-symbols-outlined{color:var(--primary);font-size:22px}.card-subtitle{font-size:.8rem;color:var(--text-muted)}.progress-container{width:100%;height:10px;background-color:var(--bg-app);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#2dd4bf 100%);border-radius:var(--radius-full);transition:width .4s ease-out}.progress-bar.amber{background:linear-gradient(90deg,#d97706,#f59e0b)}.progress-bar.blue{background:linear-gradient(90deg,#2563eb,#60a5fa)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-green{background:var(--accent-green-light);color:var(--accent-green)}.badge-amber{background:var(--accent-amber-light);color:var(--accent-amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:46px;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-app);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-sm{min-height:36px;padding:6px 14px;font-size:.825rem;border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.825rem;font-weight:600;color:var(--text-main)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-input);color:var(--text-main);font-family:inherit;font-size:.95rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-light)}.checklist-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-md);background-color:var(--bg-app);border:1px solid var(--border-color);cursor:pointer;transition:background-color var(--transition-fast)}.checklist-item:hover{background-color:var(--primary-light)}.checklist-label{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600}.custom-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--text-subtle);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.checklist-item.checked .custom-checkbox{background-color:var(--primary);border-color:var(--primary);color:#fff}.checklist-item.checked .checklist-text{text-decoration:line-through;color:var(--text-muted)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;height:var(--nav-height);background-color:var(--bg-surface);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-around;z-index:50;padding:0 8px;box-shadow:0 -4px 20px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;width:20%;height:100%;transition:color var(--transition-fast);text-decoration:none}.nav-item .material-symbols-outlined{font-size:24px;transition:transform var(--transition-fast)}.nav-item-label{font-size:.725rem;font-weight:600}.nav-item.active{color:var(--primary)}.nav-item.active .material-symbols-outlined{transform:translateY(-2px);font-variation-settings:"FILL" 1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-box{background-color:var(--bg-app);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:4px}.stat-value{font-size:1.4rem;font-weight:800;color:var(--text-main);letter-spacing:-.02em}.stat-unit{font-size:.8rem;font-weight:500;color:var(--text-muted)}.stat-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}#toast-container{position:fixed;bottom:calc(var(--nav-height) + 16px);left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:90%;max-width:480px}.toast{background-color:#0f172a;color:#fff;padding:12px 18px;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:slideUp .25s cubic-bezier(.16,1,.3,1) forwards;pointer-events:auto}.toast.success{background-color:#065f46}.toast.info{background-color:#1e3a8a}.toast.amber{background-color:#78350f}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.modal-backdrop.open{opacity:1;visibility:visible}.modal-content{background-color:var(--bg-surface-elevated);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:85vh;overflow-y:auto;padding:24px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transform:scale(.95);transition:transform var(--transition-normal);display:flex;flex-direction:column;gap:16px}.modal-backdrop.open .modal-content{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.15rem;font-weight:700;color:var(--text-main)}.tag-grid{display:flex;flex-wrap:wrap;gap:8px}.chip-tag{padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border-color);background-color:var(--bg-app);color:var(--text-main);font-size:.825rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.chip-tag.selected{background-color:var(--primary);color:#fff;border-color:var(--primary)}.chart-container{width:100%;height:200px;position:relative;margin-top:10px}.chart-svg{width:100%;height:100%;overflow:visible}
