@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.login-page{min-height:100vh;background:linear-gradient(to bottom right,#e0e7ff,#f0f9ff);display:flex;align-items:center;justify-content:center;padding:1.5rem;font-family:Inter,sans-serif}.login-box{max-width:30rem;width:100%}.login-card{background:#fff;border-radius:1.25rem;padding:2.5rem;box-shadow:0 10px 30px #00000012;transition:box-shadow .3s ease}.login-card:hover{box-shadow:0 12px 35px #0000001a}.login-header{text-align:center;margin-bottom:2rem}.login-icon{background-color:#3b82f6;height:4.5rem;width:4.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 10px #3b82f666;animation:pop .3s ease-in-out}@keyframes pop{0%{transform:scale(.9);opacity:.7}to{transform:scale(1);opacity:1}}.login-icon .icon{color:#fff;height:2rem;width:2rem}.login-title{font-size:2rem;font-weight:700;color:#111827}.login-subtitle{margin-top:.5rem;color:#6b7280;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.label{display:block;margin-bottom:.5rem;color:#374151;font-weight:600;font-size:.875rem}.input-group{position:relative}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1.25rem;width:1.25rem;color:#9ca3af;pointer-events:none}.input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;outline:none;transition:border .2s ease,box-shadow .2s ease}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.error-box{background-color:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;animation:shake .2s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.submit-button{width:100%;padding:.75rem;background-color:#2563eb;color:#fff;font-size:.95rem;font-weight:600;border:none;border-radius:.5rem;transition:background-color .25s ease,transform .15s ease;cursor:pointer}.submit-button:hover{background-color:#1d4ed8;transform:translateY(-1px)}.submit-button:disabled{background-color:#a5b4fc;cursor:not-allowed;opacity:.8}.demo-button{width:100%;padding:.75rem;background-color:#f3f4f6;color:#374151;font-size:.9rem;font-weight:500;border:1px solid #d1d5db;border-radius:.5rem;transition:background-color .25s ease,border-color .25s ease;cursor:pointer;margin-top:.5rem}.demo-button:hover{background-color:#e5e7eb;border-color:#9ca3af}.demo-button:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}@layer base{html{font-family:Inter,system-ui,sans-serif}body{@apply bg-gray-50 text-gray-900;}}@layer components{.btn-primary{@apply bg-primary-600 hover:bg-primary-700 text-white font-medium py-2 px-4 rounded-lg transition-colors duration-200;}.btn-secondary{@apply bg-gray-200 hover:bg-gray-300 text-gray-900 font-medium py-2 px-4 rounded-lg transition-colors duration-200;}.btn-danger{@apply bg-red-600 hover:bg-red-700 text-white font-medium py-2 px-4 rounded-lg transition-colors duration-200;}.card{@apply bg-white rounded-lg shadow-sm border border-gray-200 p-6;}}
