/* ===== Reset & Base ===== */
* {
    box-sizing: border-box;
    touch-action: manipulation; /* ダブルタップによる拡大などを防止しつつ、スクロールは許可する */
}

body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background: var(--bg);
    color: var(--text);
    font-family: 'Inter', -apple-system, sans-serif;
    overflow: hidden;
    font-size: 13px;
}

/* Form refinement (Original Lines 272-293) */
select,
input[type="text"],
input[type="number"],
input[type="date"] {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    padding: 8px 10px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    width: 100%;
    outline: none;
    transition: border-color 0.2s;
}

select:focus,
input:focus {
    border-color: var(--accent) !important;
}

/* Animation (303-313) */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInX {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Labels (334-343) */
.field-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-dim);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    margin-top: 16px;
}

/* Form Elements (354-372) */
select,
input {
    width: 100%;
    background: var(--input-bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    padding: 10px;
    font-size: 12px;
    outline: none;
    transition: border-color 0.2s;
}

select:focus,
input:focus {
    border-color: var(--accent) !important;
}

/* Scrollbar (731-748) */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-dim);
}