/* ダークテーマスタイル */

/* ベース背景とテキスト色 */
body {
    background-color: #0f172a !important;
    color: #e2e8f0 !important;
}

/* ヘッダー */
header {
    background: linear-gradient(135deg, #1e293b, #0f172a) !important;
    border-bottom: 1px solid #334155;
}

/* ボタン */
.bg-orange-600 {
    background-color: #ea580c !important;
}

.bg-orange-600:hover {
    background-color: #c2410c !important;
}

.bg-orange-500 {
    background-color: #f97316 !important;
}

.bg-orange-500:hover {
    background-color: #ea580c !important;
}

.bg-green-600 {
    background-color: #16a34a !important;
}

.bg-green-600:hover {
    background-color: #15803d !important;
}

.bg-blue-600 {
    background-color: #2563eb !important;
}

.bg-blue-600:hover {
    background-color: #1d4ed8 !important;
}

.bg-red-600 {
    background-color: #dc2626 !important;
}

.bg-red-600:hover {
    background-color: #b91c1c !important;
}

/* ツールバー */
.bg-white {
    background-color: #1e293b !important;
}

.border-gray-200 {
    border-color: #334155 !important;
}

.border-gray-300 {
    border-color: #475569 !important;
}

/* テキスト色 */
.text-gray-700 {
    color: #cbd5e1 !important;
}

.text-gray-600 {
    color: #94a3b8 !important;
}

.text-gray-500 {
    color: #64748b !important;
}

.text-gray-900 {
    color: #f1f5f9 !important;
}

/* カード */
.bg-white {
    background-color: #1e293b !important;
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3) !important;
}

/* ガントチャート */
.gantt-header {
    background: #1e293b !important;
    border-bottom: 2px solid #334155 !important;
}

.vessel-label, .cargo-label {
    background: #1e293b !important;
    border-right: 2px solid #334155 !important;
}

.gantt-row {
    border-bottom: 1px solid #334155 !important;
}

.gantt-cell {
    border-right: 1px solid #2d3748 !important;
}

.weekend {
    background-color: #1a202c !important;
}

.bg-red-50 {
    background-color: #7f1d1d !important;
}

/* ドロップゾーン */
.drop-zone {
    background-color: rgba(59, 130, 246, 0.1) !important;
    border: 2px dashed #3b82f6 !important;
}

/* フォーム */
input[type="text"],
input[type="number"],
input[type="date"],
select,
textarea {
    background-color: #0f172a !important;
    border-color: #475569 !important;
    color: #e2e8f0 !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
    border-color: #3b82f6 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

/* フリー日セレクター */
.free-date-selector {
    background-color: #0f172a !important;
    border: 1px solid #475569 !important;
    color: #e2e8f0 !important;
    font-size: 11px;
    padding: 2px 4px;
    border-radius: 4px;
    width: 100%;
    margin-top: 2px;
}

/* モーダル */
.bg-black {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* フリーバー（ダークテーマ用） */
.free-bar {
    background: repeating-linear-gradient(
        45deg,
        #475569,
        #475569 10px,
        #334155 10px,
        #334155 20px
    ) !important;
    border: 2px dashed #64748b !important;
    color: #cbd5e1 !important;
}

/* 今日のマーカー */
.today-marker {
    background: #ef4444 !important;
}

/* ホバー効果 */
.hover\:bg-gray-50:hover {
    background-color: #334155 !important;
}

.hover\:shadow-md:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.3) !important;
}

/* テーブル */
table {
    color: #e2e8f0 !important;
}

th {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
}

/* カード（貨物リスト等） */
.bg-orange-50 {
    background-color: #422006 !important;
    border-color: #78350f !important;
}

/* スクロールバー（Webkit系ブラウザ） */
::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ボーダー */
.border-b {
    border-bottom-color: #334155 !important;
}

.border-t {
    border-top-color: #334155 !important;
}

.border-l {
    border-left-color: #334155 !important;
}

.border-r {
    border-right-color: #334155 !important;
}

/* 凡例 */
.legend-item {
    background-color: #1e293b !important;
    border-color: #475569 !important;
}

/* リンク */
a {
    color: #60a5fa !important;
}

a:hover {
    color: #93c5fd !important;
}

/* パターン番号のハイライト */
.text-blue-600 {
    color: #60a5fa !important;
}

/* グラデーション維持（3フェーズ航海バー） */
.loading-stay {
    background: linear-gradient(135deg, #1e40af, #1e3a8a) !important;
}

.laden-voyage {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.4), rgba(37, 99, 235, 0.4)) !important;
    border-top: 2px dashed #3b82f6 !important;
    border-bottom: 2px dashed #3b82f6 !important;
}

.discharging-stay {
    background: linear-gradient(135deg, #059669, #047857) !important;
}

/* 貨物バー（オレンジ） */
.cargo-bar {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
}

/* 透明度 */
.bg-opacity-50 {
    --tw-bg-opacity: 0.5 !important;
}
