/*!
 * Cropper.js v1.6.2 (Merged)
 */
.cropper-container{-webkit-touch-callout:none;direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}

/* Outer Suite Container (Matches existing layout and design system) */
.jq-cropper-container {
    background: linear-gradient(135deg, #1a1a24 0%, #4d5667 100%);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 48px;
    width: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: #fff;
    box-sizing: border-box;
}

.jq-cropper-container * {
    box-sizing: border-box;
}

/* Top Section layout */
.jq-cropper-top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 48px;
}

/* Left Column Editor Styles */
.jq-cropper-left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.jq-cropper-title {
    font-size: 32px !important;
    font-weight: 500 !important;
    margin: 0 0 16px 0 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px;
}

.jq-cropper-intro {
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.6 !important;
}

/* Checklist Features list */
.jq-cropper-features {
    list-style: none;
    padding: 0;
    margin: 0 0 32px 0;
}

.jq-cropper-features li {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 12px;
}

.jq-cropper-features li:last-child {
    margin-bottom: 0;
}

.jq-cropper-features svg {
    flex-shrink: 0;
    margin-right: 12px;
}

/* Large Drag & Drop Upload Zone */
.jq-cropper-dropzone {
    background: #1a1a24;
    border: 2px dashed rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s, transform 0.1s;
    position: relative;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.jq-cropper-dropzone:hover {
    border-color: #b2ffff;
    background-color: rgba(255, 255, 255, 0.05);
}

.jq-cropper-dropzone.dragover {
    border-color: #b2ffff;
    background-color: rgba(178, 255, 255, 0.1);
    transform: scale(1.01);
}

.jq-cropper-hidden-input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
}

.jq-cropper-upload-icon {
    color: #b2ffff;
    margin-bottom: 16px;
    transition: transform 0.2s;
}

.jq-cropper-dropzone:hover .jq-cropper-upload-icon {
    transform: translateY(-4px);
}

.jq-cropper-upload-text {
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 8px 0;
}

.jq-cropper-highlight {
    color: #b2ffff;
    text-decoration: underline;
    font-weight: 600;
}

.jq-cropper-upload-subtext {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
    margin: 0;
}

/* Section Options Box */
.jq-cropper-section {
    background: #1a1a24;
    padding: 24px;
    border-radius: 12px;
    border: none;
    margin-bottom: 24px;
}

.jq-cropper-section-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 20px 0 !important;
    color: #b2ffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 8px;
    letter-spacing: 0.5px;
}

.jq-cropper-grid-1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.jq-cropper-field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.jq-cropper-field-group label {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Styled Dropdowns/Selects */
.jq-cropper-select {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 12px 14px;
    color: #ffffff !important;
    font-size: 14px;
    outline: none;
    width: 100%;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    height: 44px;
}

.jq-cropper-select:focus {
    border-color: #b2ffff;
    box-shadow: 0 0 0 3px rgba(178, 255, 255, 0.15);
}

.jq-cropper-select option {
    background-color: #1a1a24;
    color: #fff;
}

/* Range input container */
.jq-cropper-range-container {
    display: flex;
    align-items: center;
    height: 44px;
}

.jq-cropper-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.1);
    outline: none;
    border: none;
}

.jq-cropper-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #b2ffff;
    cursor: pointer;
    transition: transform 0.1s, background-color 0.2s;
    border: none;
}

.jq-cropper-range::-webkit-slider-thumb:hover {
    transform: scale(1.2);
    background: #ffffff;
}

.jq-cropper-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 50%;
    background: #b2ffff;
    cursor: pointer;
    transition: transform 0.1s, background-color 0.2s;
}

.jq-cropper-range::-moz-range-thumb:hover {
    transform: scale(1.2);
    background: #ffffff;
}

/* Bottom Section */
.jq-cropper-bottom {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

/* Crop Workspace Container */
.jq-cropper-workspace-container {
    background-color: #fff;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 600px;
    min-height: 300px;
    overflow: hidden;
    width: 100%;
}

.jq-cropper-image-wrapper {
    width: 100%;
    height: 100%;
    max-height: 550px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Buttons style */
.jq-cropper-btn {
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.jq-cropper-btn:active {
    transform: translateY(0);
}

.jq-btn-icon {
    flex-shrink: 0;
}

.jq-cropper-btn--crop {
    background-color: #fff;
    color: #1a1a24;
    padding: 16px 24px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex: 1;
}

.jq-cropper-btn--crop:hover {
    background-color: #e0e0e0;
}

.jq-cropper-btn--download {
    background-color: #b2ffff;
    color: #1a1a24;
    padding: 16px 24px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex: 1;
}

.jq-cropper-btn--download:hover {
    background-color: #6eb7b5;
}

.jq-cropper-btn--download:disabled {
    background-color: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.25);
    box-shadow: none;
    cursor: not-allowed;
}

.jq-cropper-btn--reset {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    padding: 16px 24px;
    font-size: 14px;
    letter-spacing: 1px;
}

.jq-cropper-btn--reset:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.jq-cropper-editor-actions {
    display: flex;
    gap: 12px;
    width: 100%;
}

/* Success and Error Message Box */
.jq-cropper-message-wrapper {
    margin-top: 10px;
    margin-bottom: 10px;
}

.jq-cropper-message {
    font-size: 14px;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 8px;
    animation: fadeIn 0.2s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.jq-cropper-message--error {
    background-color: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.jq-cropper-message--success {
    background-color: rgba(16, 185, 129, 0.2);
    color: #a7f3d0;
    border: 1px solid rgba(16, 185, 129, 0.3);
}


/* Adjust Cropper library CSS selectors for seamless UI blending */
.cropper-modal {
    background-color: #000;
    opacity: 0.5;
}

.cropper-view-box {
    outline: 2px solid #b2ffff;
    outline-color: rgba(178, 255, 255, 0.9);
}

.cropper-line {
    background-color: #b2ffff;
}

.cropper-point {
    background-color: #b2ffff;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.cropper-point.point-se {
    width: 12px;
    height: 12px;
    background-color: #b2ffff;
    opacity: 1;
}

/* Responsive Rules */
@media (max-width: 992px) {
    .jq-cropper-top {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    
    .jq-cropper-container {
        padding: 32px 24px;
        gap: 32px;
    }
    
    .jq-cropper-workspace-container {
        min-height: 320px;
        max-height: 400px;
    }
}

@media (max-width: 576px) {
    .jq-cropper-editor-actions {
        flex-direction: column;
        gap: 8px;
    }
    
    .jq-cropper-btn--crop, .jq-cropper-btn--download, .jq-cropper-btn--reset {
        padding: 14px 20px;
        width: 100%;
    }
}
