:root{--primary: #d32f2f;--primary-dark: #b71c1c;--secondary: #263238;--bg: #f5f5f5;--card-bg: #ffffff;--text: #212121;--text-muted: #757575;--border: #e0e0e0;--success: #2e7d32;--error: #c62828;--warning: #ef6c00;--radius: 12px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-family);background-color:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin-top:0;font-weight:700}button{cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;border-radius:var(--radius);transition:all .2s ease;min-height:48px;padding:0 24px}input,select,textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:1rem;background:var(--card-bg);min-height:48px}input:focus{outline:2px solid var(--primary);border-color:transparent}.btn-primary{background-color:var(--primary);color:#fff;border:none}.btn-primary:active{background-color:var(--primary-dark)}.card{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.app-container{max-width:600px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.main-content{flex:1;padding:0}.app-header{background:var(--secondary);color:#fff;padding:calc(16px + var(--safe-area-top)) calc(16px + var(--safe-area-right)) 16px calc(16px + var(--safe-area-left));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.offline-banner{background:var(--warning);color:#fff;text-align:center;padding:8px;font-weight:600;font-size:.9rem}.bottom-nav{background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px calc(12px + var(--safe-area-right)) calc(10px + var(--safe-area-bottom)) calc(12px + var(--safe-area-left));position:sticky;bottom:0}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-muted);font-size:.75rem}.nav-item.active{color:var(--primary)}
