.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.flex-shrink-0{flex-shrink:0!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-between{justify-content:space-between!important}.gap-2{gap:.5rem!important}.w-100{width:100%!important}.text-center{text-align:center!important}.text-start{text-align:start!important}.small{font-size:.875em!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.ms-1{margin-inline-start:.25rem!important}.ms-2{margin-inline-start:.5rem!important}.ms-auto{margin-inline-start:auto!important}.me-auto{margin-inline-end:auto!important}.mx-1{margin-inline:.25rem!important}.py-2{padding-block:.5rem!important}.text-primary{color:var(--color-primary)!important}.text-secondary,.text-muted{color:var(--color-text-muted)!important}.text-dark{color:var(--color-text)!important}.text-danger{color:var(--color-danger, #dc2626)!important}.text-success{color:var(--color-success, #15803d)!important}.text-warning{color:var(--color-warning, #d97706)!important}.bg-light{background-color:var(--color-bg-muted)!important}.bg-primary{background-color:var(--color-primary)!important}.bg-secondary{background-color:var(--color-text-muted)!important}.bg-danger{background-color:var(--color-danger, #dc2626)!important}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .9rem;border:1px solid transparent;border-radius:var(--radius-md, .5rem);background:transparent;color:inherit;font:inherit;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;transition:var(--transition-fast, .15s ease)}.btn:disabled,.btn.disabled{opacity:.65;pointer-events:none}.btn-sm{padding:.25rem .55rem;font-size:.875rem}.btn-lg{padding:.75rem 1.15rem;font-size:1.1rem}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-text-inverse)}.btn-success{background:var(--color-success, #15803d);border-color:var(--color-success, #15803d);color:var(--color-text-inverse)}.btn-danger{background:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626);color:var(--color-text-inverse)}.btn-light{background:var(--color-bg-elevated);border-color:var(--color-border);color:var(--color-text)}.btn-link{border-color:transparent;color:var(--color-link);text-decoration:underline}.btn-outline-primary{border-color:var(--color-primary);color:var(--color-primary)}.btn-outline-secondary{border-color:var(--color-border-strong);color:var(--color-text-muted)}.btn-outline-danger{border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.btn-outline-success{border-color:var(--color-success, #15803d);color:var(--color-success, #15803d)}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;border:0;border-radius:.25rem;background:transparent;color:var(--color-text);font-size:1.25rem;cursor:pointer}.btn-close:before{content:"\d7";display:block;line-height:.8}.form-label{display:inline-block;margin-bottom:.5rem}.form-control,.form-select{display:block;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-strong, #cbd5e1);border-radius:var(--radius-md, .5rem);background-color:var(--color-bg-elevated, #fff);color:var(--color-text, #172033);font:inherit;line-height:1.5}.form-control:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.form-control-sm,.form-select-sm{min-height:2rem;padding:.25rem .5rem;font-size:.875rem}.form-control-lg,.form-select-lg{min-height:3rem;padding:.65rem .9rem;font-size:1.1rem}.form-text{margin-top:.25rem;color:var(--color-text-muted);font-size:.875rem}.form-check{display:block;min-height:1.5rem;padding-inline-start:1.5em}.form-check-input{float:inline-start;width:1em;height:1em;margin-block-start:.25em;margin-inline-start:-1.5em;accent-color:var(--color-primary)}.form-check-label{cursor:pointer}.alert{position:relative;padding:.75rem 1rem;border:1px solid transparent;border-radius:var(--radius-md, .5rem)}.alert-danger{color:var(--color-danger-ink);background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.alert-warning{color:var(--color-warning-ink);background:var(--color-warning-soft);border-color:var(--color-warning-soft)}.alert-success{color:var(--color-success-ink);background:var(--color-success-soft);border-color:var(--color-success-line)}.alert-info{color:var(--color-accent-ink);background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent-ink) 25%,transparent)}.alert-secondary{color:var(--color-text-muted);background:var(--color-surface-2);border-color:var(--color-border)}.alert-light{color:var(--color-text);background:var(--color-bg-muted);border-color:var(--color-border)}.border{border:1px solid var(--color-border)!important}.input-group{position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;width:100%}.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-text{display:flex;align-items:center;padding:.5rem .75rem;border:1px solid var(--color-border-strong, #cbd5e1);background:var(--color-bg-muted);color:var(--color-text-muted)}.input-group[dir=ltr]>.input-group-text{border-radius:var(--radius-md, .5rem) 0 0 var(--radius-md, .5rem)}.input-group[dir=ltr]>.form-control{border-radius:0 var(--radius-md, .5rem) var(--radius-md, .5rem) 0}.row{--public-gutter-x: 1.5rem;--public-gutter-y: 0;display:flex;flex-wrap:wrap;margin-block-start:calc(-1 * var(--public-gutter-y));margin-inline:calc(-.5 * var(--public-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;margin-block-start:var(--public-gutter-y);padding-inline:calc(.5 * var(--public-gutter-x))}.g-3{--public-gutter-x: 1rem;--public-gutter-y: 1rem}@media (min-width: 768px){.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}}.badge{display:inline-block;padding:.35em .65em;border-radius:var(--radius-full, 999px);font-size:.75em;font-weight:700;line-height:1;vertical-align:baseline}.text-bg-primary{color:var(--color-text-inverse)!important;background:var(--color-primary)!important}.text-bg-secondary{color:var(--color-text-inverse)!important;background:var(--color-text-muted)!important}.text-bg-danger{color:var(--color-text-inverse)!important;background:var(--color-danger, #dc2626)!important}.text-bg-info{color:var(--color-accent-ink)!important;background:var(--color-accent-soft)!important}.progress{display:flex;height:1rem;overflow:hidden;border-radius:var(--radius-full, 999px);background:var(--color-bg-muted, #e9ecef)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--color-primary);color:var(--color-text-inverse);text-align:center;white-space:nowrap;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,color-mix(in srgb,var(--color-surface) 15%,transparent) 25%,transparent 25%,transparent 50%,color-mix(in srgb,var(--color-surface) 15%,transparent) 50%,color-mix(in srgb,var(--color-surface) 15%,transparent) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:ai-tool-progress-stripes 1s linear infinite}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentcolor;border-inline-end-color:transparent;border-radius:50%;animation:ai-tool-spinner .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes ai-tool-spinner{to{transform:rotate(360deg)}}@keyframes ai-tool-progress-stripes{to{background-position-x:-1rem}}@media (prefers-reduced-motion: reduce){.spinner-border,.progress-bar-animated{animation:none}}
