*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8f9fa;--surface:#fff;--border:#e9ecef;--text:#212529;--text-muted:#6c757d;--primary:#2d6a4f;--primary-light:#e8f5e9;--primary-dark:#1b4332;--danger:#e63946;--danger-light:#fce4e6;--accent:#f4a261;--accent-light:#fff3e0;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--nav-height:64px}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:1rem}.app{flex-direction:column;min-height:100dvh;display:flex}.page{padding:16px 16px calc(var(--nav-height) + 16px);flex:1;width:100%;max-width:600px;margin:0 auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding-top:8px;display:flex}.page-title{color:var(--text);font-size:1.5rem;font-weight:700}.bottom-nav{height:var(--nav-height);background:var(--surface);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 0;font-size:.7rem;font-weight:500;transition:color .15s;display:flex}.nav-btn.active{color:var(--primary)}.nav-btn svg{width:22px;height:22px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{opacity:.85}.btn-ghost{color:var(--primary);border:1.5px solid var(--primary);background:0 0}.btn-ghost:active{background:var(--primary-light)}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon svg{width:20px;height:20px}.btn-icon-sm{width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon-sm:active{background:var(--border)}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;width:100%;padding:10px 12px;font-size:1rem;transition:border-color .15s}.input:focus{border-color:var(--primary)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:72px}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:flex-end;padding:0;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:600px;max-height:90dvh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));animation:.2s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.modal-title{margin-bottom:20px;font-size:1.2rem;font-weight:700}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-actions .btn{flex:1}.divider{background:var(--border);height:1px;margin:4px 0}.badge{background:var(--primary-light);color:var(--primary);border-radius:20px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state p{margin-top:8px;font-size:.9rem}.chip{background:var(--accent-light);color:#c05621;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.row{align-items:center;gap:10px;display:flex}.flex-1{flex:1}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}
