body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    background-color: #f3f4f6; /* 全体の背景色を薄いグレーに設定 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.table-input {
    width: 100%; height: 100%; padding: 8px; border-radius: 6px; border: 1px solid transparent; background-color: transparent;
}
.table-input:focus {
    outline: none; border: 1px solid #3b82f6; background-color: white;
}
/* ドラッグ&ドロップの視認性改善 */
.dragging { 
    opacity: 0.7; 
    /* background: linear-gradient(135deg, #e0f2fe, #f0f8ff);  */
    background: #ffffff;
    transform: scale(1.02);
    border: 2px dashed #3b82f6;
    /* box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3); */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1), 0 6px 6px rgba(0,0,0,0.15);
    z-index: 1000;
    pointer-events: none;
}

.drag-over { 
    border-top: 3px solid #1089b9; 
    background-color: rgba(16, 145, 185, 0.1);
    box-shadow: inset 0 3px 0 rgba(16, 145, 185, 0.2);
}

/* ドラッグハンドルの改善 */
.drag-handle {
    transition: all 0.2s ease;
}

.drag-handle:hover {
    background-color: rgba(59, 130, 246, 0.1);
}

/* ドラッグ可能な行のホバー効果 */
tr:not(.completed):hover .drag-handle {
    color: #3b82f6;
}
.completed { background-color: #f8fafc; color: #94a3b8; }
.completed .table-input, .completed .time-display { text-decoration: line-through; color: #94a3b8; }
.completed .cursor-grab { cursor: default; }

/* Backlogタスクの編集不可フィールドのカーソル設定 */
.table-input:disabled,
.project-select:disabled,
.description-input:disabled {
    cursor: not-allowed;
}

/* 時間計測中の行の背景色 */
.timer-running {
    background-color: #FEF3C7 !important; /* 薄い黄色 */
    transition: background-color 0.3s ease;
}

/* 時間計測中の行のホバー効果（通常のhover:bg-gray-50を上書き） */
tr.timer-running:hover {
    background-color: #FDE68A !important; /* ホバー時の濃い黄色 */
}

/* 通常の行のホバー効果が時間計測中に適用されないようにする */
tr.timer-running.hover\:bg-gray-50:hover {
    background-color: #FDE68A !important;
}
.modal-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex; align-items: center; justify-content: center;
    z-index: 50;
}
.main-content.blurred {
    filter: blur(4px);
}

/* 作業内容のカスタムドロップダウン用スタイル */
.work-item-dropdown {
    position: absolute; /* ページ全体を基準に配置 */
    max-height: 320px; /* 表示件数を8件程度に増やす */
    overflow-y: auto;
    background-color: white;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    z-index: 60; /* 他の要素より手前に表示 */
    margin-top: 2px;
}
.work-item-dropdown-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px;
}
.work-item-dropdown-item:hover {
    background-color: #f3f4f6;
}

/* Table layout stability improvements */
.table-fixed {
    table-layout: fixed;
    width: 100%;
    min-width: 700px; /* Reduced minimum width for smaller screens */
}

/* Project select styling for long names */
.project-select {
    max-width: 350px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* Prevent layout shifts during time field editing */
.time-display {
    position: relative;
    min-height: 1.5rem;
    display: block;
}

/* Ensure table cells maintain their dimensions */
table.table-fixed td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Prevent ellipsis on drag handle and checkbox columns */
table.table-fixed td:nth-child(1),
table.table-fixed td:nth-child(2) {
    text-overflow: clip;
}


/* Allow wrapping for description column */
table.table-fixed td:nth-child(4) {
    white-space: normal;
    word-wrap: break-word;
}

/* Allow wrapping for issue key column */
table.table-fixed td:nth-child(5) {
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1.2;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* Column specific styling - apply to both th and td */
/* 列幅はHTMLのcolgroupで設定済みのためコメントアウト
table.table-fixed th:nth-child(1),
table.table-fixed td:nth-child(1) { width: 25px; } /* ドラッグハンドル */

/*
table.table-fixed th:nth-child(2),
table.table-fixed td:nth-child(2) { width: 33px; } /* 非公開チェックボックス */

/*
table.table-fixed th:nth-child(3),
table.table-fixed td:nth-child(3) { width: 150px; } /* 案件名 */

/*
table.table-fixed th:nth-child(4),
table.table-fixed td:nth-child(4) { width: 150px; } /* 作業内容 */

/*
table.table-fixed th:nth-child(5),
table.table-fixed td:nth-child(5) { width: 50px; } /* 課題キー */

/* 時間列の最小幅保証 - コメント削除 */

/*
table.table-fixed th:nth-child(7),
table.table-fixed td:nth-child(7) { width: 120px; } /* 操作 */

/* Team view specific styles */
.team-member-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
}

.team-member-header {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 1rem 1.5rem;
    border-radius: 12px 12px 0 0;
}

.team-table {
    table-layout: fixed;
    width: 100%;
}

/* チームビューテーブルの列幅設定（colgroupなしのため必要） */
.team-table th:nth-child(1),
.team-table td:nth-child(1) { width: 350px; } /* 案件名 */

.team-table th:nth-child(2),
.team-table td:nth-child(2) { width: auto; } /* 作業内容 */

.team-table th:nth-child(3),
.team-table td:nth-child(3) { width: 100px; } /* 課題キー */

.team-table th:nth-child(4),
.team-table td:nth-child(4) { width: 100px; } /* 時間 */

.team-table th:nth-child(5),
.team-table td:nth-child(5) { width: 80px; } /* 状態 */
