:root{--dm-primary: #2563eb;--dm-primary-hover: #1d4ed8;--dm-primary-active: #1e40af;--dm-primary-soft: #eff6ff;--dm-secondary: #172554;--dm-success: #16a34a;--dm-success-soft: #f0fdf4;--dm-warning: #d97706;--dm-warning-soft: #fffbeb;--dm-danger: #dc2626;--dm-danger-soft: #fef2f2;--dm-background: #f8fafc;--dm-surface: #ffffff;--dm-text: #0f172a;--dm-text-secondary: #64748b;--dm-text-muted: #94a3b8;--dm-border: #e2e8f0;--dm-border-strong: #cbd5e1;--dm-font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dm-font-xs: .75rem;--dm-font-sm: .875rem;--dm-font-md: 1rem;--dm-font-lg: 1.125rem;--dm-font-xl: 1.25rem;--dm-font-2xl: 1.5rem;--dm-font-3xl: 1.875rem;--dm-font-4xl: 2.25rem;--dm-space-1: .25rem;--dm-space-2: .5rem;--dm-space-3: .75rem;--dm-space-4: 1rem;--dm-space-5: 1.25rem;--dm-space-6: 1.5rem;--dm-space-8: 2rem;--dm-space-10: 2.5rem;--dm-space-12: 3rem;--dm-radius-sm: .5rem;--dm-radius-md: .75rem;--dm-radius-lg: 1rem;--dm-radius-xl: 1.5rem;--dm-radius-full: 9999px;--dm-shadow-sm: 0 1px 2px rgb(15 23 42 / 5%), 0 1px 3px rgb(15 23 42 / 8%);--dm-shadow-md: 0 4px 12px rgb(15 23 42 / 6%), 0 1px 4px rgb(15 23 42 / 6%);--dm-shadow-lg: 0 20px 40px rgb(15 23 42 / 10%);--dm-transition-fast: .15s ease;--dm-transition-normal: .25s ease;--dm-content-max-width: 75rem;--dm-mobile-nav-height: 4.5rem}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;font-family:var(--dm-font-family);background:var(--dm-background);color:var(--dm-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-width:20rem;min-height:100vh;margin:0;background:var(--dm-background);color:var(--dm-text)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a{color:var(--dm-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin-top:0}img,svg{display:block;max-width:100%}::selection{background:var(--dm-primary-soft);color:var(--dm-primary-active)}.dm-field{display:grid;gap:var(--dm-space-2)}.dm-label{font-size:var(--dm-font-sm);font-weight:650;color:var(--dm-text)}.dm-input,.dm-select,.dm-textarea{width:100%;min-height:3rem;padding:.75rem .875rem;border:1px solid var(--dm-border-strong);border-radius:var(--dm-radius-md);background:var(--dm-surface);color:var(--dm-text);font-size:var(--dm-font-md);outline:none;transition:border-color var(--dm-transition-fast),box-shadow var(--dm-transition-fast),background-color var(--dm-transition-fast)}.dm-input::placeholder,.dm-select::placeholder,.dm-textarea::placeholder{color:var(--dm-text-muted)}.dm-input:hover:not(:disabled),.dm-select:hover:not(:disabled),.dm-textarea:hover:not(:disabled){border-color:#94a3b8}.dm-input:focus,.dm-select:focus,.dm-textarea:focus{border-color:var(--dm-primary);box-shadow:0 0 0 3px #2563eb1f}.dm-input:disabled,.dm-select:disabled,.dm-textarea:disabled{cursor:not-allowed;background:#f1f5f9;color:var(--dm-text-secondary)}.dm-textarea{min-height:7rem;resize:vertical}.dm-field-hint{margin:0;font-size:var(--dm-font-xs);color:var(--dm-text-secondary)}.dm-field-error{margin:0;font-size:var(--dm-font-sm);color:var(--dm-danger)}.dm-input--error{border-color:var(--dm-danger)}.dm-input--error:focus{border-color:var(--dm-danger);box-shadow:0 0 0 3px #dc26261a}.dm-button{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--dm-space-2);padding:.75rem 1.25rem;border:1px solid transparent;border-radius:var(--dm-radius-md);font-size:var(--dm-font-md);font-weight:700;line-height:1;cursor:pointer;transition:background-color var(--dm-transition-fast),border-color var(--dm-transition-fast),box-shadow var(--dm-transition-fast),transform var(--dm-transition-fast)}.dm-button:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.dm-button:active:not(:disabled){transform:translateY(1px)}.dm-button:disabled{cursor:not-allowed;opacity:.55}.dm-button--primary{background:var(--dm-primary);color:#fff}.dm-button--primary:hover:not(:disabled){background:var(--dm-primary-hover)}.dm-button--primary:active:not(:disabled){background:var(--dm-primary-active)}.dm-button--secondary{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text)}.dm-button--secondary:hover:not(:disabled){background:var(--dm-background);border-color:var(--dm-border-strong)}.dm-button--ghost{background:transparent;color:var(--dm-primary)}.dm-button--ghost:hover:not(:disabled){background:var(--dm-primary-soft)}.dm-button--danger{background:var(--dm-danger);color:#fff}.dm-button--full{width:100%}.dm-action--danger{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:var(--dm-danger);font:inherit;font-weight:600;cursor:pointer;transition:color var(--dm-transition-fast),opacity var(--dm-transition-fast)}.dm-action--danger:hover:not(:disabled){text-decoration:underline}.dm-action--danger:disabled{cursor:not-allowed;opacity:.55}.dm-alert{width:100%;padding:var(--dm-space-3) var(--dm-space-4);border:1px solid var(--dm-border);border-radius:var(--dm-radius-md);font-size:.875rem}.dm-alert p{margin:0}.dm-alert--danger{border-color:var(--dm-danger);background:var(--dm-danger-soft);color:var(--dm-danger)}.dm-card{background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-radius-lg);box-shadow:var(--dm-shadow-sm)}.dm-card--interactive{transition:box-shadow var(--dm-transition-normal),transform var(--dm-transition-normal),border-color var(--dm-transition-normal)}.dm-card--interactive:hover{border-color:var(--dm-border-strong);box-shadow:var(--dm-shadow-md)}.role-selector{display:grid;gap:.75rem}.role-card{width:100%;padding:var(--dm-space-4);border:1px solid var(--dm-border);border-radius:var(--dm-radius-lg);background:var(--dm-surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.role-card:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.role-card--selected{border-color:var(--dm-primary);background:var(--dm-primary-soft);box-shadow:0 0 0 1px var(--dm-primary)}.role-card__title{display:block;margin-bottom:var(--dm-space-1);color:var(--dm-text);font-weight:700}.role-card__description{display:block;color:var(--dm-text-secondary);font-size:.875rem;line-height:1.5}@media(min-width:48rem){.role-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}
