/* 管理画面用カスタムCSS */

/* レスポンシブデザインの調整 */
@media (max-width: 768px) {
    /* モバイル画面での調整 */
    .fi-sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
    }
    
    .fi-sidebar.open {
        transform: translateX(0);
    }
    
    /* テーブルのレスポンシブ対応 */
    .fi-ta-table {
        font-size: 0.875rem;
    }
    
    .fi-ta-cell {
        padding: 0.5rem;
    }
    
    /* フォームの調整 */
    .fi-fo-field-wrp {
        margin-bottom: 1rem;
    }
    
    /* ボタンの調整 */
    .fi-btn {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 640px) {
    /* 小さなモバイル画面での調整 */
    .fi-header {
        padding: 0.5rem 1rem;
    }
    
    .fi-page-heading {
        font-size: 1.5rem;
    }
    
    /* ウィジェットの調整 */
    .fi-wi-stats-overview-stat {
        padding: 1rem;
    }
    
    .fi-wi-stats-overview-stat-value {
        font-size: 1.5rem;
    }
}

/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
    .fi-body {
        background-color: #1f2937;
        color: #f9fafb;
    }
    
    .fi-sidebar {
        background-color: #111827;
        border-color: #374151;
    }
    
    .fi-header {
        background-color: #111827;
        border-color: #374151;
    }
}

/* 印刷用スタイル */
@media print {
    .fi-sidebar,
    .fi-header,
    .fi-btn,
    .fi-pagination {
        display: none !important;
    }
    
    .fi-main {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .fi-page {
        box-shadow: none !important;
        border: none !important;
    }
}

/* アクセシビリティの向上 */
.fi-btn:focus,
.fi-input:focus,
.fi-select:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* 高コントラストモード */
@media (prefers-contrast: high) {
    .fi-btn {
        border: 2px solid currentColor;
    }
    
    .fi-input,
    .fi-select {
        border: 2px solid #000;
    }
}

/* アニメーション無効化 */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* カスタムスタイル */
.admin-dashboard-widget {
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease-in-out;
}

.admin-dashboard-widget:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.admin-stats-card {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.admin-alert-card {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: white;
}

.admin-revenue-card {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: white;
}

/* 日本語フォントの最適化 */
.fi-body {
    font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif;
}

/* テーブルの日本語対応 */
.fi-ta-table {
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* フォームラベルの調整 */
.fi-fo-field-wrp-label {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* エラーメッセージのスタイル */
.fi-fo-field-wrp-error-message {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* 成功メッセージのスタイル */
.fi-no-success {
    background-color: #10b981;
    color: white;
    border-radius: 0.375rem;
    padding: 0.75rem 1rem;
}

/* 警告メッセージのスタイル */
.fi-no-warning {
    background-color: #f59e0b;
    color: white;
    border-radius: 0.375rem;
    padding: 0.75rem 1rem;
}