.dkm_systembx {
    --field-bgclr: #eee;
    --field-bdclr: 2px solid var(--field-bgclr);
    --field-pd: 12px;
    --field-rd: 3px;

}
.dkm_systembx { 
    input,
    textarea,
    select {
        width: 100%;
        margin: 0;
        padding: var(--field-pd);
        border: var(--field-bdclr);
        background-color: var(--field-bgclr);
        border-radius: var(--field-rd);
        outline: none;
        overflow: auto; 
        font-family: inherit;
        font-size: inherit;
    }
    input[readonly]{
        opacity: .5;
        cursor: no-drop;
    }
    textarea {
        resize: vertical;
    }

    /* Chrome, Safari, Edge, Opera */
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Firefox */
    input[type=number] {
        -moz-appearance: textfeld;
    }

    ::-webkit-calendar-picker-indicator {
        /* filter: invert(1); */
        /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 24 24"><path fill="%23bbbbbb" d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"/></svg>'); */
    }
 
}

.dkm_systembx {
    .msg400 {
        font-weight: bold; 
        color: orangered;
        padding: 15px;
        line-height: 1;
        border-radius: 15px;
        margin: 12px 0;
        border: 1px solid orangered;
    }
    .captchabx{
        gap: 6px;
        
        & input {
            height: 45px; 
        }
    }
    .captchaw{
        background-color: var(--clr02);
        line-height: 0;
        padding: 0 0 0 9px;
        height: 45px;
        overflow: hidden;
         
    
        & > * {
            filter: invert(1);
        }
    }
    .dkm_notice_top,
    .dkm_notice_bot{
        line-height: 1.2;
    }

    .cke_top,
    .cke_bottom{
        border: 1px solid #eee !important;
        background-color: #eee !important;
    }
    
    .feld.chkbx {
        line-height: 1;
        margin: 0 0 9px;

        & a {
            color: var(--clr02);
            text-decoration: underline ;
            text-underline-offset: 3px;
        }
    }
    .feld .info_pop {
        padding: 0;
        margin: 0;
        border: 0;
        background-color: transparent;
        color: inherit;
        cursor: pointer;
        vertical-align: middle;
        font-size: 120%;
        display: inline-block;
    }
    .feld.chkbx.f :is(input) {
        cursor: pointer;
        font-family: inherit; 
        line-height: inherit;
        padding: 0 !important;
    }
    .feld.chkbx.f :is(label[for]) {
        cursor: pointer;
        font-family: inherit; 
        line-height: inherit;
        padding: 0 !important; 
    }


    .feld.chkbx.f .l {
        flex: 0 0 20px;
        max-width: 20px;
    }

    .feld.chkbx.f .r {
        flex: 0 0 calc(100% - 20px);
        max-width: calc(100% - 20px);
    }

    .feld img {
        max-height: 300px
    }
    .note{
        margin: 0 0 15px;
    }
    .feld .feldw { 
        margin: 0 0 15px;
        text-align: left;
    } 
    .feldw label{ 
    
        & ~ * {
            margin: var(--prece-m); 
        }
    }
    
    .return > * {
        font-family: var(--ft-t2);
        margin: 15px 0;
        color: orangered
    } 
    label {
        line-height: 1; 
        margin: 0 0 3px;
        display: inline;
        font-family: var(--ft-t1);
    }

    input[type="button"] {
        border: 0;
        color: #fff;
        background-color: #373737;
    }

    .feld.radbx :is(input, label) {
        margin: 0 0;
        cursor: pointer;
        
    }

    .radio {
        & :is(input,label){
            width: auto !important;
            height: auto !important;
            margin: 0;
            cursor: pointer;
            padding: 0 !important;
        }
        & :is(label){
            margin: 0 0
        }
        & > .l{
            flex: 0 0 21px;
            max-width: 21px;
            line-height: 0;
        }
        & > .r{
            flex: 0 0 calc(100% - 21px);
            max-width: calc(100% - 21px);
            color: inherit;
            line-height: 1;
            padding: 0 0 3px;
        }
    }
    
    

    .optionbx {
        --div: 20px;
        display: flex;
        flex-wrap: wrap
    }
    .optionbx :is(input, label){
        cursor: pointer;
        margin: 9px 0 !important;
    }
    .optionbx > div:nth-child(1) {
        flex: 0 0 var(--div);
        max-width: 0 0 var(--div);
    }

    .optionbx > div:nth-child(2) {
        flex: 0 0 calc(100% - var(--div));
        max-width: 0 0 calc(100% - var(--div))
    }
    .optionbx label  {
        font-size: inherit;
        color: inherit;
        font-family: inherit;
        margin: 9px 0;
        line-height: 1.2
    } 
}
.dkm_systembx {
    &.form-line :is(input, textarea, select, .textarea) {
        padding: 9px 0;
        background-color: transparent;
        border: 0;
        border-bottom: 1px solid #fff;
        margin: 0 0 30px;
        color: inherit
    }
    
    &.form-line ::placeholder {
        color: #ccc
    }
    
    &.form-float :is(input,textarea,select)+label,
    &.form-line :is(input,textarea,select)+label {
        position: absolute;
        top: 9px;
        left: 0;
        transition: 0.6s all ease;
        pointer-events: none;
    }
    &.form-float :is(input,textarea,select):focus+label,
    &.form-float :is(input,textarea,select):not(:placeholder-shown) +label,
    &.form-line :is(input,textarea,select):focus+label,
    &.form-line :is(input,textarea,select):not(:placeholder-shown) +label {
        transform: translate(0, calc(-100% - 3px));
        font-size: 70%;
        left: 0 !important;
        top: 0 !important;
    }
}
.dkm_systembx {
    .imgPrev {
        position: relative;
        padding: 9px;
        background-color: #eee;
        border-radius: 6px;
        border: 1px solid #eee; 
    }
    .gal- .imgPrev {
        /* aspect-ratio: 1 / 1; */
    }
    .imgPrev img {
        max-height: 100px;
        filter: drop-shadow(0px 0px 3px rgba(0 0 0 / 20%));
    }
    .imgPrev + input {
        display: none;
    }
    .jsonFieldClose,
    .setbx .postCls,
    .imgPrev .copy,
    .imgPrev .view,
    .imgPrev .imgCls {
        position: absolute;
        right: 3px;
        top: 3px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        z-index: 10;
        color: #fff;
        background-color: red;
        width: 20px;
        height: 20px;
        cursor: pointer;
        border-radius: 3px;
        text-decoration: none;
    }
    .imgPrev .view { 
        background-color: green;
        translate: 0 calc(100% + 3px);
        font-size: 80%;
    }
    .imgPrev .copy { 
        background-color: green;
        translate: 0 calc(200% + 6px);
        font-size: 80%;
    }
}
.dkm_systembx {
    .jsonFieldSetw {
        margin: 0 -6px;
        overflow: auto; 
        padding: 0 15px 0 0;
    } 
    .jsonFieldSetw:not(.textareavalid) { 
        flex-wrap: nowrap!important; 
    } 
    .jsonFieldSetw.textareavalid .jsonField- { 
        flex: 0 0 100%;
        max-width: 100%;
    }
    .jsonField- {
        padding: 6px;
        flex: 0 0 200px;
    }
    .jsonFieldSetw.textareavalid .jsonField- > * {
        background-color: #eee;
    }
    .jsonField- > * {
        padding: 6px;
        border: 1px solid #ddd;
        border-radius: 3px;
        position: relative;
    }
    .jsonField- > * > * {
        position: relative;
    }
}

.dkm_systembx .dkm_filebx{

    input{
        display: none;
        pointer-events: none;
    }

    .indicator{
        font-family: var(--ft-t1);
        line-height: 1.5;
        margin: 15px 0 0;
    }

    &:has(.previewbx){
        .dkm_cloudbx{
            display: none;
        }
        .dkm_cloudbx{
            pointer-events: none;
        }
    }

    .dkm_cloudbx{
        padding: 15px;
        border: 1px solid #ddd;
        border-radius: 15px;

        .bimgbx{
            line-height: 0;
            text-align: center;

            .bimgw{
                width: 150px;
                
                .bimg{
                    padding-top: 75%;
                }
            }
        }
    }

    .drag_over_lyrbx{
        font-family: var(--ft-t1);
        font-size: 200%;
        position: absolute;
        height: 100%;
        width: 100%;
        left: 0;
        top: 0;
        line-height: 1;
        text-align: center;
        padding: 15px;
        pointer-events: none;
    }

    &:not(.drag-over){
        .drag_over_lyrbx{
            opacity: 0;
        }
    }
    &.drag-over{
        .dkm_cloudw{
            opacity: 0;
        }
    }

    .previewbx{
        text-align: center;

        .previeww{
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 15px;
        }

        img {
            max-height: 210px;
        }

        .close{

            position: absolute;
            top: 15px;
            right: 15px;
            z-index: 9;
            aspect-ratio: 1;
            width: 30px;
            background-color: #ddd;
            padding: 9px;
            border-radius: 50%;
            cursor: pointer;

            .closew{
                aspect-ratio: 1;
                width: 100%;
                height: 100%;
                mask-size: contain;
                -webkit-mask-size: contain;
                mask-position: center;
                -webkit-mask-position: center;
                mask-repeat: no-repeat;
                -webkit-mask-repeat: no-repeat;
                mask-image: url(_src/icon_xmark.svg?n);
                -webkit-mask-image: url(_src/icon_xmark.svg?n);
                background-color: #999;
            }

            &:hover{
                background-color: #ff9c9c;

                .closew{
                    background-color: rgb(211, 0, 0);
                }
            }
            
        }
    }
}
.dkm_systembx .dkm_list_choosebx.design_full {
    --div: 60px;
    --div-l: var(--div);
    --div-r: calc(100% - var(--div-l));
    gap: 6px;

    .div-{
        &.div-l{
            flex: 0 0 var(--div-l);
            max-width: var(--div-l);
        }
        &.div-r{
            flex: 0 0 var(--div-r);
            max-width: var(--div-r);
            padding-left: 12px;
        }
    }

    [option]{
        border-radius: 6px;
        width: 100%;
    }

    .bimgw{
        border-radius: 3px;
    }
    .name{
        font-size: 120%;
    }
}
.dkm_systembx .dkm_list_choosebx {
    line-height: 1.1;
    font-family: var(--ft-t1);
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 9px;

    .dkm_list_choosew{
        gap: 6px;
    }

    .bimgbx.icon {
        width: 21px;
        line-height: 0;

        .bg-mask{
            background-color: #000;
        }
    }

    [option]{
        border: 1px solid #ddd;
        padding: 9px;
        cursor: pointer;
        gap: 6px;
        font-size: 80%;
        border-radius: 50px;
        background-color: #eee;

        &:hover{
            border: 1px solid #ddd;
            background-color: #ddd;
        }
        &.active{
            color: #fff;
            border: 1px solid var(--clr01);
            background-color: var(--clr01);

            .bg-mask{
                background-color: #fff;
            }
        }
    } 
}

.dkm_systembx [droplist] {
    --index: -1;
    z-index: calc(-1 * var(--index));
    position: relative;

    input {
        pointer-events: none;
        margin: 0;
    }
    .feldw .vcover {
        content: '';
        display: block;
        position: absolute;
        height: 100%;
        width: 100%;
        z-index: 2;
        cursor: pointer;
    }
    &:not(.active) .valbx {
        display: none
    }
    i {
        position: absolute;
        right: 6px;
        top: 50%;
        translate: 0 -50%
    }

    .valbx {
        width: 100%; 
        max-width: 100%;
        max-height: 200px;
        overflow: hidden;
        overflow-y: auto;
        position: absolute;
        bottom: 0;
        left: 0%;
        translate: 0% 100%;
        background-color: transparent;
        padding: 1px;
        border-radius: 6px;

        &.droplist [itemid] {
            display: none
        }
        [itemid] {
            padding: 9px 6px;
            background-color: #333;
            color: #fff;
            cursor: pointer;

            &:hover {   
                background-color: var(--clr01);
                cursor: pointer;
            }
            & ~ & {  
                border-top: 1px solid #ccc;
            }
            .l { 
                flex: 0 0 30px;
                max-width: 30px;
            }
            .r { 
                flex: 0 0 calc(100% - 30px);
                max-width: calc(100% - 30px);
                padding: 0 0 0 9px;
            }
        }
        
        
    }
    
    
}

.dkm_calandarbx{
    --cal-width: 300px;
    --cal-font: var(--ft-t1);
    line-height: 1.1;

    .categorylistbx{
        --listset-gap: 3px;
        --listset-count: 7 !important;

        text-align: center;
        
        font-family: var(--cal-font) !important;
    }

    .dkm_calandarw{
        padding: 15px;
        background-color: #eee;
        width: var(--cal-width);
        max-width: 100%;
        border-radius: 6px;
    }

    .weekdays{
        color: #666;
    }

    .categorybx {
        padding: 6px 0;
        aspect-ratio: 1;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        
        &[box_index]{
            background-color: #ddd;
            

            &.with_number:hover{
                cursor: pointer;
                background-color: #ccc;
            }

            &.today{
                background-color: #000;
                color: #fff;
            }
        } 
    }

    .titlebx{
        padding: 9px 0;
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;

        .navbx{
            position: absolute;
            width: 100%;
            top: 50%;
            left: 50%;
            translate: -50% -50%;
            pointer-events: none;
    
            & > *.nav- {
                pointer-events: all;
                cursor: pointer;
                line-height: 1;
                aspect-ratio: 1;
                width: 25px;
                background-color: #ddd; 
                display: inline-flex;
                justify-content: center;
                align-items: center;
                border-radius: 50%;
                font-size: 80%;

                &:hover{
                    background-color: #ccc;
                }
            }
        }
    }

    .year{
        margin: 0 0 9px;
    }

    .taste:has(.btn_today){
        margin: 15px 0 0;

        .btn_today{
            padding: 9px 15px;
            border-radius: 50px;
            cursor: pointer;
            background-color: #ddd;
            font-size: 80%;

            &:hover{
                background-color: #ccc;
            }
        }
    }

}

.formbx.form-line{
    --transition: .6s all ease;
    label{
        position: absolute;
        left: 19px;
        top: 18px;
        translate: 0 0;
        transition: var(--transition);
        pointer-events: none;
        line-height: 1;
    }

    :is(input, select, textarea){
        margin: 0 0 12px;
        min-height: 50px;
    }

    div:has(>.p-r){
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .p-r{
        line-height: 1;
        width: 100%;
        transition: var(--transition);

        &:has(:is(input, select, textarea)){
            padding-top: 0;
        }

        &:has(
            > :is(input:valid, select:valid, textarea:valid), 
            > :is(input:focus, select:focus, textarea:focus)
        ){
            margin-top: 15px;

            label{ 
                left: 0;
                top: 0;
                translate: 0 -100%;
                font-size: 80%;
            }
        }
    } 
}