/* ==========================================
   button.css
========================================== */

/* ---------- 通常ボタン ---------- */

button{

    padding:10px 12px;

    border:none;

    border-radius:8px;

    background:#007aff;

    color:#ffffff;

    font-size:14px;

    cursor:pointer;

    transition:.2s;

    box-shadow:0 5px 12px rgba(0,0,0,.20);
}

button:hover{

    background:#005ecb;

    box-shadow:0 7px 16px rgba(0,0,0,.28);
}

button:disabled{

    background:#aaaaaa;

    cursor:not-allowed;
}

/* ---------- 完了 ---------- */

button.done{

    background:#28a745 !important;
}

button.done:hover{

    background:#218838 !important;
}

/* ---------- 管理 ---------- */

.admin-buttons{

    display:flex;

    gap:10px;

    margin-bottom:15px;
}

.admin-buttons button{

    min-width:120px;
}

/* ---------- アップロード ---------- */

.hidden-file-input{

    display:none;
}

.upload-group{

    display:flex;

    gap:10px;

    margin-bottom:0;
}

.upload-btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:4px;

    height:36px;

    padding:5px 15px;

    background:#868aa5;

    color:#ffffff;

    border-radius:8px;

    cursor:pointer;

    box-shadow:0 6px 14px rgba(0,0,0,.22);

    transition:.2s;
}

.upload-btn:hover{

    background:#74778e;

    box-shadow:0 8px 18px rgba(0,0,0,.28);
}

.upload-btn span{

    line-height:1;
}

/* アイコン */
.btn-icon {

    width: 36px;

    height: 36px;

    flex-shrink: 0;

    position: relative;

    top: 6px;
}

/* ---------- 操作 ---------- */

.action-group{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

}

.action-group button{

    flex:1;

    min-width:60px;
    max-width:160px;

    white-space:nowrap;

}

/* ==========================================

   モバイル（データ操作ボタン）

========================================== */

@media (max-width:768px){

    .action-group{

        display:flex;

        gap:6px;

        flex-wrap:nowrap;

    }

    .action-group button{

        flex:1;

        min-width:0;

        padding:8px 4px;

        font-size:12px;

        white-space:nowrap;

    }

}