*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family-primary,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif);font-size:var(--font-size-base,1rem);line-height:var(--line-height-normal,1.5);color:var(--color-text,#1f2937);background-color:var(--color-background,#ffffff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold,700);line-height:var(--line-height-tight,1.2)}h1{font-size:var(--font-size-4xl,2.25rem)}h2{font-size:var(--font-size-3xl,1.875rem)}h3{font-size:var(--font-size-2xl,1.5rem)}h4{font-size:var(--font-size-xl,1.25rem)}h5{font-size:var(--font-size-lg,1.125rem)}h6{font-size:var(--font-size-base,1rem)}p{margin:0}a{color:var(--color-primary,#3b82f6);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-family-monospace,"Courier New",monospace)}code{padding:.125rem .375rem;border-radius:var(--border-radius-sm,.25rem)}code,pre{font-size:var(--font-size-sm,.875rem);background-color:var(--color-background,#f3f4f6)}pre{padding:var(--spacing-md,1rem);border-radius:var(--border-radius-md,.5rem);overflow-x:auto;border:1px solid var(--color-border,#e5e7eb)}pre code{background:none;padding:0;border-radius:0}ol,ul{margin:0;padding-left:var(--spacing-lg,1.5rem)}li{margin:var(--spacing-xs,.25rem) 0}table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm,.875rem)}thead{background-color:var(--color-background,#f9fafb)}th{text-align:left;font-weight:var(--font-weight-semibold,600)}td,th{padding:var(--spacing-sm,.75rem);border-bottom:1px solid var(--color-border,#e5e7eb)}tbody tr:hover{background-color:var(--color-background,#f9fafb)}blockquote{margin:0;padding-left:var(--spacing-md,1rem);border-left:4px solid var(--color-border,#e5e7eb);font-style:italic;color:var(--color-text-secondary,#6b7280)}hr{border:none;border-top:1px solid var(--color-border,#e5e7eb);margin:var(--spacing-md,1rem) 0}img{max-width:100%;height:auto;display:block}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{display:block;width:100%;padding:var(--spacing-sm,.75rem);font-size:var(--font-size-base,1rem);line-height:var(--line-height-normal,1.5);color:var(--color-text,#1f2937);background-color:var(--color-input-background,var(--color-surface,#ffffff));border:1px solid var(--color-border,#e5e7eb);border-radius:var(--border-radius-md,.5rem);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}input[type=date]:disabled,input[type=datetime-local]:disabled,input[type=email]:disabled,input[type=month]:disabled,input[type=number]:disabled,input[type=password]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=text]:disabled,input[type=time]:disabled,input[type=url]:disabled,input[type=week]:disabled,select:disabled,textarea:disabled{background-color:var(--color-background,#f9fafb);cursor:not-allowed;opacity:.6}input[type=email]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=password]::-moz-placeholder,input[type=search]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=text]::-moz-placeholder,input[type=url]::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-secondary,#6b7280);opacity:.7}input[type=email]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,input[type=url]::placeholder,textarea::placeholder{color:var(--color-text-secondary,#6b7280);opacity:.7}textarea{min-height:100px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm,.75rem) center;padding-right:calc(var(--spacing-sm, .75rem) * 2.5)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;margin-right:var(--spacing-xs,.25rem);cursor:pointer;accent-color:var(--color-primary,#3b82f6)}label{display:block;margin-bottom:var(--spacing-xs,.25rem);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--color-text,#1f2937)}.form-group{margin-bottom:var(--spacing-md,1rem)}.form-help{color:var(--color-text-secondary,#6b7280)}.form-error,.form-help{display:block;margin-top:var(--spacing-xs,.25rem);font-size:var(--font-size-sm,.875rem)}.form-error{color:var(--color-error,#dc2626)}input.error,select.error,textarea.error{border-color:var(--color-error,#dc2626)}input.error:focus,select.error:focus,textarea.error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.1)}.form-success{display:block;margin-top:var(--spacing-xs,.25rem);font-size:var(--font-size-sm,.875rem);color:var(--color-success,#16a34a)}input.success,select.success,textarea.success{border-color:var(--color-success,#16a34a)}.btn,button{display:inline-block;padding:var(--spacing-sm,.75rem) var(--spacing-md,1rem);font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-medium,500);line-height:var(--line-height-normal,1.5);text-align:center;text-decoration:none;border:1px solid transparent;border-radius:var(--border-radius-md,.5rem);cursor:pointer;transition:all .2s ease}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn-primary,button[type=submit]{color:#ffffff;background-color:var(--color-primary,#3b82f6);border-color:var(--color-primary,#3b82f6)}.btn-primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background-color:var(--color-primary-dark,#2563eb);border-color:var(--color-primary-dark,#2563eb)}.btn-secondary{color:var(--color-text,#1f2937);background-color:var(--color-surface,#ffffff);border-color:var(--color-border,#e5e7eb)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background,#f9fafb)}.btn-outline{color:var(--color-primary,#3b82f6);background-color:transparent;border-color:var(--color-primary,#3b82f6)}.btn-outline:hover:not(:disabled){color:#ffffff;background-color:var(--color-primary,#3b82f6)}.btn-ghost{color:var(--color-text,#1f2937);background-color:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-background,#f9fafb)}.btn-danger{color:#ffffff;background-color:var(--color-error,#dc2626);border-color:var(--color-error,#dc2626)}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-sm{padding:calc(var(--spacing-xs, .25rem) * 1.5) var(--spacing-sm,.75rem);font-size:var(--font-size-sm,.875rem)}.btn-lg{padding:var(--spacing-md,1rem) var(--spacing-lg,1.5rem);font-size:var(--font-size-lg,1.125rem)}.input-group{display:flex;align-items:stretch}.input-group>.btn,.input-group>button,.input-group>input,.input-group>select{border-radius:0}.input-group>:first-child{border-top-left-radius:var(--border-radius-md,.5rem);border-bottom-left-radius:var(--border-radius-md,.5rem)}.input-group>:last-child{border-top-right-radius:var(--border-radius-md,.5rem);border-bottom-right-radius:var(--border-radius-md,.5rem)}.input-group>:not(:last-child){border-right:none}fieldset{margin:0;padding:var(--spacing-md,1rem);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--border-radius-md,.5rem)}legend{padding:0 var(--spacing-xs,.25rem);font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-semibold,600);color:var(--color-text,#1f2937)}.text-primary{color:var(--color-primary,#3b82f6)}.text-secondary{color:var(--color-text-secondary,#6b7280)}.bg-surface{background-color:var(--color-surface,#ffffff)}.bg-background{background-color:var(--color-background,#f9fafb)}.border{border:1px solid var(--color-border,#e5e7eb)}.rounded-sm{border-radius:var(--border-radius-sm,.25rem)}.rounded-md{border-radius:var(--border-radius-md,.5rem)}.rounded-lg{border-radius:var(--border-radius-lg,.75rem)}.shadow-sm{box-shadow:var(--shadow-sm,0 1px 2px 0 rgba(0,0,0,.05))}.shadow-md{box-shadow:var(--shadow-md,0 4px 6px -1px rgba(0,0,0,.1))}.shadow-lg{box-shadow:var(--shadow-lg,0 10px 15px -3px rgba(0,0,0,.1))}