/* Rpptool 互換CSS - 元サイトの app-* クラスをBootstrap5で再現 */
.app-card {
    background: #fff;
    border: 1px solid #e7e9ed;
    border-radius: 0.25rem;
    margin-bottom: 0.5rem;
}
.app-card.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
}
.app-card-header {
    border-bottom: 1px solid #e7e9ed;
}
.app-card-body {
    padding: 1rem;
}
.app-card-title {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0;
    color: #555;
}
.app-card-footer {
    border-top: 1px solid #e7e9ed;
    padding: 0.75rem;
    font-size: 0.85rem;
    color: #666;
}
.app-page-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
}
.app-btn-outline-primary {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    font-size: 0.85rem;
    color: #ff6600;
    border: 1px solid #ff6600;
    border-radius: 0.25rem;
    text-decoration: none;
    background: transparent;
}
.app-btn-outline-primary:hover {
    background: #ff6600;
    color: #fff;
    text-decoration: none;
}
.app-btn-primary {
    background: #C30D23;
    color: #fff;
    border-color: #C30D23;
}
.app-btn-primary:hover,
.app-btn-primary:focus {
    color: #fff;
    background: #d26d69;
    border-color: #d26d69;
}

/* Bootstrap 4 → 5 ユーティリティ互換 */
.text-right { text-align: right !important; }
.text-left { text-align: left !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pr-1 { padding-right: 0.25rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.app-content {
    padding-bottom: 0;
}
/* タブナビゲーション */
.app-nav-tabs.nav {
    background: #fff;
    border-radius: 0.25rem;
}
.app-nav-tabs .nav-link {
    color: #555;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.75rem 1rem;
    border: none;
    border-bottom: 3px solid transparent;
}
.app-nav-tabs .nav-link:hover {
    color: #333;
    background: #f8f9fa;
}
.app-nav-tabs .nav-link.active {
    color: #0d6efd;
    border-bottom-color: #0d6efd;
    background: #fff;
}
