/* ===========================================================================
   ePASSEDC ONE v2 — 디자인 토큰
   출처: epassedc_front 프로토타입 HANDOFF.md §9
   S7 에서 컴포넌트 클래스가 채워집니다.
   =========================================================================== */

:root {
    /* 색 */
    --brand:          #2f4f9e;
    --page-bg:        #eef0f2;
    --card-bg:        #ffffff;
    --card-border:    #e3e6ea;
    --divider:        #eef1f4;
    --divider-2:      #f2f4f6;
    --text:           #2e3a45;
    --text-2:         #5a6b7a;
    --text-3:         #6b7886;
    --label:          #9aa6b2;
    --action:         #2f80e0;
    --dblock:         #41505d;
    --danger:         #c0392b;
    --danger-2:       #b3392f;
    --sdv:            #2f9e83;
    --freeze:         #3f86e0;
    --freeze-2:       #5aa0d8;
    --query:          #d9544f;
    --audit:          #e3963a;
    --inactive:       #d5dbe2;

    /* 형태 */
    --radius-card:    6px;
    --radius-modal:   10px;
    --radius-btn:     6px;
    --field-border:   #d5dbe2;
    --focus:          #3f86c4;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
}

body {
    background: var(--page-bg);
    color: var(--text);
    font-family: "Open Sans", -apple-system, BlinkMacSystemFont,
                 "Apple SD Gothic Neo", "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

/* --- 임시 진입 화면 (S5 에서 로그인 화면으로 교체) --------------------- */

body:has(> .card) {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-card);
    padding: 2rem 2.5rem;
    text-align: center;
}

.card h1 {
    margin: 0 0 .35rem;
    font-size: 20px;
    font-weight: 600;
    color: var(--brand);
}

.card p {
    margin: 0;
    font-size: 13px;
    color: var(--text-2);
}

.card .meta {
    margin-top: .75rem;
    font-size: 12px;
    color: var(--label);
}

.warn { color: var(--danger); font-weight: 600; }

/* --- 입력 필드 기본 ---------------------------------------------------- */

input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea {
    border: 1px solid var(--field-border);
    border-radius: 8px;
    padding: 9px 12px;
    font: inherit;
    color: inherit;
    background: #fff;
    max-width: 280px;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--focus);
    box-shadow: 0 0 0 .5px rgba(63, 134, 196, .35);
}
