:root{--color-bg: #f5f6fa;--color-surface: #ffffff;--color-primary: #1a1a2e;--color-accent: #3a86ff;--color-success: #2bb673;--color-danger: #e63946;--color-text: #1a1a2e;--color-text-muted: #6b7280;--radius: 12px;--spacing: 16px;--nav-height: 64px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;padding:0;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.5;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 8px)}button,input,select,textarea{font-family:inherit;font-size:16px}button{min-height:44px;border:none;border-radius:var(--radius);background:var(--color-accent);color:#fff;font-weight:600;cursor:pointer;transition:opacity .15s;-webkit-appearance:none}button:active:not(:disabled){opacity:.8}button.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid #e0e0e0}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{min-height:44px;border:1.5px solid #d1d5db;border-radius:var(--radius);padding:0 12px;width:100%;background:var(--color-surface);color:var(--color-text);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s;display:block}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent)}input[type=time],input[type=date],input[type=month]{cursor:pointer}textarea{min-height:88px;padding:12px;resize:vertical}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}label{display:block;font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}.card{background:var(--color-surface);border-radius:var(--radius);padding:var(--spacing);margin-bottom:10px;box-shadow:0 1px 4px #00000012}.page{padding:var(--spacing);padding-top:20px;max-width:600px;margin:0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--color-surface);border-top:1px solid #e5e7eb;padding-bottom:env(safe-area-inset-bottom,0px);z-index:40;box-shadow:0 -2px 12px #0000000f}.bottom-nav a{flex:1;text-align:center;padding:10px 4px 8px;font-size:22px;color:var(--color-text-muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;transition:color .15s}.bottom-nav a.active{color:var(--color-accent)}.bottom-nav a:active{opacity:.7}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.gepland{background:#fef3c7;color:#92400e}.badge.bevestigd{background:#d1fae5;color:#065f46}.badge.geannuleerd{background:#fee2e2;color:#991b1b}.error-text{color:var(--color-danger);font-size:14px;margin:4px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h2{font-size:22px;margin:0 0 12px;color:var(--color-primary)}h3{font-size:17px;margin:0 0 8px;color:var(--color-primary)}.page{animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card[style*="cursor:pointer"],.card[style*="cursor: pointer"]{transition:transform .1s,box-shadow .1s}.card[style*="cursor:pointer"]:active,.card[style*="cursor: pointer"]:active{transform:scale(.99);box-shadow:0 1px 2px #0000000d}
