﻿/* 共通スタイル */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
    background: #f7f8fb;
    color: #222;
}

.wrapper {
    max-width: 1080px;
    margin: 0 auto;
    padding: 24px;
    box-sizing: border-box;
}

h2, h3 {
    color: #333;
}

form {
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid #dde3ef;
    border-radius: 8px;
    padding: 14px;
}

input, select, button {
    font-size: 15px;
    border-radius: 6px;
    border: 1px solid #bbb;
}

input[type="user_id"], input[type="text"], input[type="password"], input[type="date"], input[type="month"], input[type="number"], input[type="email"], select {
    width: 220px;
    padding: 10px;
    margin: 6px 6px 6px 0;
    background: #fff;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.08);
}

button {
    background: #2563eb;
    color: white;
    border: 0;
    padding: 10px 18px;
    margin-top: 6px;
    margin-bottom: 10px;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(37,99,235,.3);
}

button:hover {
    background: #1d4ed8;
}

table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    border: 1px solid #d7dee9;
    margin-top: 16px;
}

th, td {
    border: 1px solid #d7dee9;
    padding: 10px;
    text-align: center;
}

th {
    background: #f1f5f9;
}

a {
    color: #2563eb;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.error {
    color: #d9534f;
    background: #fdecea;
    padding: 8px;
    border-radius: 5px;
    margin-bottom: 12px;
    display: inline-block;
}

.card {
    display: inline-block;
    margin: 8px;
    padding: 14px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 170px;
    box-shadow: 0 2px 3px rgba(0,0,0,0.06);
}

.top-buttons {
    margin: 18px 0;
}

.top-buttons a button {
    margin-right: 8px;
}

@media (max-width: 768px) {
    .wrapper { padding: 14px; }
    table, input[type="text"], input[type="password"], input[type="date"], select { width: 100%; }
    input, select, button { width: 100%; margin-bottom: 8px; }
    .top-buttons a button { width: 100%; margin-bottom: 8px; }
}

.profit.negative { color: #d9534f; }
.profit.positive { color: #2d8a2d; }


.password-field { position: relative; }
.toggle-password { position: relative; top: 20px; transform: translateY(-50%); cursor: pointer; user-select: none; }


.toggle-password { width: 24px; height: 24px; cursor: pointer; user-select: none; }


.filters { margin: 18px 0; }
.filters select {
    width: 180px;
    margin-right: 12px;
}
.section { 
    margin-bottom: 24px; 
    border: 2px solid #e2e8f0; 
    border-radius: 8px; 
    padding: 16px; 
    background: #fff; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
}

