:root{--primary: #2563eb;--primary-dark: #1d4ed8;--text: #111827;--muted: #6b7280;--bg: #ffffff;--card: #f9fafb;--border: #e5e7eb;--booked: #dbeafe;--danger: #dc2626;--success: #16a34a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4}.app-shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{font-size:18px;font-weight:700}.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.navlink{padding:6px 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:600}.navlink.active{color:var(--primary);background:var(--booked)}.content{padding:16px;max-width:720px;width:100%;margin:0 auto;flex:1}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px}.h1{font-size:28px;font-weight:700;margin:0 0 16px}.h2{font-size:20px;font-weight:600;margin:8px 0}.h3{font-size:16px;font-weight:600;margin:8px 0}.muted{color:var(--muted)}.bold{font-weight:700}.code{font-family:monospace;color:#555}.error{color:var(--danger)}.info{color:var(--muted)}.link{color:var(--primary);background:none;border:none;padding:0;font:inherit;cursor:pointer;text-align:left}.link:hover{text-decoration:underline}.btn{padding:10px 14px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){background:var(--primary-dark)}.btn:disabled{background:#aaa;cursor:not-allowed}.btn-secondary{background:var(--muted)}.btn-danger{background:var(--danger)}.btn-confirm{background:var(--success)}.btn-nav{padding:6px 10px}.section{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.form{display:flex;flex-direction:column;gap:8px;max-width:360px}.form-group{display:flex;flex-direction:column;gap:4px}.label{font-size:13px;color:#444}.input,.date-field{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;color:var(--text);background:var(--bg);font-family:inherit}.input.invalid,.date-field.invalid{border-color:var(--danger)}.textarea{min-height:60px;resize:vertical}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid #ccc;border-radius:999px;padding:4px 10px;background:#fff;color:#444;font-size:12px;font-weight:600;cursor:pointer}.chip.selected{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer}.org-list{display:flex;flex-direction:column;gap:12px}.user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.user-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.org-item{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:8px;padding:12px}.org-option{display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:1px solid transparent;border-radius:6px;padding:8px;cursor:pointer;text-align:left;width:100%}.org-option.selected{border-color:var(--primary);background:var(--booked)}.active-badge{background:var(--success);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.verification-notice{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px;border:1px solid #f0c36d;background:#fdf6e3;border-radius:8px}.actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal-content{background:var(--bg);border-radius:12px;padding:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:768px){body{font-size:15px}.content{max-width:1120px;padding:24px 32px}}
