.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .85rem;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.4;white-space:nowrap;transition:opacity .15s,background .15s,filter .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#f89db1;color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:#f3f4f6;color:#111}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.9)}.btn-ghost{background:none;color:#6b7280;border:1px solid #d1d5db}.btn-ghost:hover:not(:disabled){background:#f3f4f6}.btn-gradient{width:100%;padding:.65rem;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#a36774,#952d9f);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600}.btn-gradient:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-gradient:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.25rem .6rem;font-size:.75rem}.btn-lg{padding:.55rem 1.25rem;font-size:1rem;border-radius:8px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;background:none;border:none;border-radius:4px;cursor:pointer;color:#9ca3af;transition:background .12s,color .12s}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.btn-icon-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-icon.btn-icon-info:hover:not(:disabled){background:#dbeafe;color:#1e40af}.btn-icon.btn-icon-muted:hover:not(:disabled){background:#f3f4f6;color:#111}.input{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.875rem;color:#111;background:#fff;transition:border-color .15s}.input:focus{outline:none;border-color:#f89db1}.input[readonly],.input:read-only{background:#f9fafb;color:#6b7280;cursor:default}.input:disabled{background:#f3f4f6;cursor:not-allowed}textarea.input{resize:vertical}select.input{cursor:pointer;accent-color:#f89db1}input[type=date].input{color-scheme:light;accent-color:#f89db1}.input-dark{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-family:inherit;font-size:.875rem;color:#fff;background:#ffffff0f;outline:none;transition:border-color .2s,background .2s}.input-dark::placeholder{color:#ffffff40}.input-dark:focus{border-color:#f89db180;background:#ffffff17}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.form-label-dark{font-size:.75rem;font-weight:500;color:#fff9;letter-spacing:.03em}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.badge-primary{background:#fbc9cf;color:#a36774}.badge-success{background:#d1fae5;color:#065f46}.badge-info{background:#dbeafe;color:#1e40af}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-muted{background:#f3f4f6;color:#6b7280}.badge-purple{background:#ede9fe;color:#5b21b6}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.error-msg{margin:0;padding:.55rem .75rem;background:#dc26261f;border:1px solid rgba(220,38,38,.25);border-radius:8px;color:#fca5a5;font-size:.82rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;background:#0b0b14}
