*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    margin:0;
    padding:0;

    font-family:'Noto Sans KR', sans-serif;

    background:
    linear-gradient(
        135deg,
        #f8fbff 0%,
        #eef4ff 50%,
        #f8fbff 100%
    );

    overflow-x:hidden;
}
html,
body{
    min-width:1200px;
}
.site-bg{

    position:fixed;
    inset:0;

    width:100%;
    height:100%;

    background:
    url('../../images/bg/배경(메인).png')
    center top / cover no-repeat;

    opacity:1;

    pointer-events:none;

    z-index:-3;
}
/* 네비게이션 */

nav{
    background: linear-gradient(
    90deg,
    #0f172a 0%,
    #1e3a8a 50%,
    #2563eb 100%
    );
    min-width:1200px;
    height:90px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
}   

.logo img{
    height:55px;
}

nav ul{
    list-style:none;
    display:flex;
    gap:60px;
}

nav ul li{
    color:white;
    cursor:pointer;
    font-size:20px;
}

nav ul li:hover{
    transform:scale(1.5);
    font-weight:bold;
}
nav ul li a{
    color:white;
    text-decoration:none;
}
.user-menu{
    display:flex;
    align-items:center;
    gap:10px;
    color:white;
    font-size:16px;
    white-space:nowrap;
}
.user-name-box{
    color:white;
    font-weight:700;
    padding:8px 6px;
}

.user-menu a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:38px;
    padding:0 13px;
    color:white;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.45);
    border-radius:9px;
    font-size:15px;
    font-weight:700;
    transition:.25s;
}

.user-menu a:hover{
    background:white;
    color:#2563eb !important;
}
/* 메인영역 */

.service-menu{
    width:90%;
    max-width:1800px;
    margin:35px auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:35px;
}

.service-card{
    display:block;
    background:white;
    border-radius:24px;
    overflow:hidden;
    text-decoration:none;
    color:#071b4d;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
    transition:.35s;
}

.service-img{
    height:220px;
    position:relative;
    overflow:hidden;
    background:#f5f7fb;
}

.service-img img{
    width:100%;
    height:100%;
    object-fit:cover;

    display:block;
    transition:.45s;
}

.service-content{
    padding:32px 28px 34px;
    text-align:center;
}

.service-content h3{
    font-size:32px;
    margin-bottom:14px;
}

.service-content p{
    font-size:18px;
    color:#555;
    line-height:1.6;
    margin-bottom:26px;
}

.service-content span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:80%;
    height:56px;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:800;
}

.service-hover{
    position:absolute;
    inset:0;
    background:rgba(7,27,77,.72);
    color:white;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    opacity:0;
    transition:.35s;
    text-align:center;
}

.service-hover strong{
    font-size:24px;
    margin-bottom:8px;
}

.service-hover p{
    font-size:16px;
    color:white;
}

.service-card:hover .service-img img{
    transform:scale(1.08);
    filter:blur(2px) brightness(.45);
}

.service-card:hover .service-hover{
    opacity:1;
}
@keyframes rainbowBorder{

    0%{
        background-position:0% 50%;
    }

    100%{
        background-position:400% 50%;
    }
}
.slider-wrap{
    width:90%;
    max-width:1800px;
    margin:20px auto 10px auto;
    position:relative;
}

.slider{
    width:100%;
    height:400px;
    overflow:hidden;
    border-radius:25px;
    position:relative;
    box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.slider-track{
    display:flex;
    height:100%;
    transition:transform .5s ease;
}

.slide{
    flex:0 0 100%;
}

.slider img{
    width:100%;
    height:100%;
    object-fit:fill;
    pointer-events:none;
    -webkit-user-drag:none;
}

.prev-btn,
.next-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:#0f172a;
    color:white;
    font-size:28px;
    cursor:pointer;
    z-index:30;
    opacity:.9;
}

.prev-btn{
    left:-80px;
}

.next-btn{
    right:-80px;
}

.prev-btn:hover,
.next-btn:hover{
    opacity:1;
    transform:translateY(-50%) scale(1.08);
}
/* 게시글 + 리뷰 */

.content-section{

    width:90%;
    max-width:1800px;

    margin:80px auto;

    display:flex;

    gap:40px;
}

/* 공통 박스 */

.board-box,
.review-box{

    flex:1;

    background:white;

    border-radius:20px;

    padding:30px;

    box-shadow:0 5px 20px rgba(0,0,0,0.08);
}
.review-card{

    overflow:hidden;
}

.review-image{

    width:220px;
    height:220px;
    overflow:hidden;

    border-radius:12px;

    margin-bottom:15px;
}

.review-image img{

    width:130px;
    height:150px;

    object-fit:fill;

    transition:.4s;
}

.review-card:hover .review-image img{

    transform:scale(1.05);
}
/* 제목 */

.section-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;
}

.section-title h2{

    font-size:28px;

    color:#222;
}

.section-title a{

    text-decoration:none;

    color:#1f0cb0;

    font-weight:bold;
}

/* 게시판 */

.board-table{

    width:100%;

    border-collapse:collapse;
}

.board-table th{

    background:#f8f8f8;

    padding:15px;

    text-align:left;

    border-bottom:2px solid #ddd;
}

.board-table td{

    padding:15px;

    border-bottom:1px solid #eee;
}

.board-table tr:hover{

    background:#f7faff;
}

/* 리뷰 */

.review-card{

    background:#fafafa;

    padding:20px;

    border-radius:15px;

    margin-bottom:15px;

    transition:.3s;
}

.review-card:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 20px rgba(0,0,0,0.1);
}

.review-star{

    color:#ffb400;

    font-size:20px;

    margin-bottom:10px;
}

.review-name{

    font-weight:bold;

    margin-bottom:8px;
}

.review-text{

    color:#555;

    line-height:1.6;
}

.slider-control{

    width:fit-content;

    margin:8px auto 0;

    display:flex;

    align-items:center;

    gap:10px;

    background:rgba(0,0,0,.55);

    padding:8px 18px;

    border-radius:20px;

    color:#fff;

    backdrop-filter:blur(4px);
}

.slider-control span{

    font-size:15px;

    font-weight:600;

    min-width:12px;

    text-align:center;
}

/* 재생정지 */

.slider-control span{

    font-size:18px;

    font-weight:bold;
}
#slideImage{

    cursor:grab;

    user-select:none;
}

#slideImage:active{

    cursor:grabbing;
}
.slider,
.slider *{

    user-select:none;
    -webkit-user-select:none;
}

.slider img{

    pointer-events:none;
    -webkit-user-drag:none;
}
.store-intro-banner{
    width:100%;
    height:550px;
    background:#000;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.store-intro-banner img{
    width:100%;
    height:100%;
    object-fit:fill;
    display:block;
}

.store-intro-banner2{
    width:100%;
    height:300px;
    background:#000;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.store-intro-banner2 img{
    width:100%;
    height:100%;
    object-fit:fill;
    display:block;
}

body::before{

    content:'';

    position:fixed;

    top:120px;
    left:-250px;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    rgba(93,132,255,0.08);

    z-index:-1;
}

body::after{

    content:'';

    position:fixed;

    right:-300px;
    bottom:100px;

    width:800px;
    height:800px;

    border-radius:50%;

    background:
    rgba(93,132,255,0.06);

    z-index:-2;
}
.page-container{
    width:90%;
    max-width:1800px;
    margin-left:auto;
    margin-right:auto;
}
/* 신뢰할 수 있는 수리 서비스 */
.trust-section{
    width:90%;
    max-width:1800px;
    margin:80px auto 90px auto;
    text-align:center;
}

.trust-section h2{
    font-size:42px;
    color:#071b4d;
    margin-bottom:12px;
}

.trust-section > p{
    font-size:20px;
    color:#555;
    line-height:1.6;
    margin-bottom:45px;
}

/* 2행 2열 */
.trust-cards{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:35px;
}

/* 카드 전체 */
.trust-card{
    background:#fff;
    border-radius:24px;
    overflow:visible;
    box-shadow:0 12px 35px rgba(0,0,0,0.10);
    transition:0.35s ease;
}

/* 카드 hover */
.trust-card:hover{
    transform:translateY(-8px);
    box-shadow:0 22px 50px rgba(30,100,255,0.20);
}

/* 이미지 영역 */
.trust-img-box{
    position:relative;
    width:100%;
    height:300px;
    overflow:visible;
    background:#eee;
}

/* 배경 이미지 - 절대 커지지 않음 */
.trust-bg{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* hover 이미지 - 처음에는 안 보임 */
.trust-hover{
    position:absolute;
    left:50%;
    top:50%;

    width:55%;
    height:auto;

    transform:translate(-50%, -50%) scale(0.6);
    opacity:0;

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease;

    pointer-events:none;
    z-index:20;
}

/* 카드 hover 시 hover 이미지만 중앙에서 커지며 나타남 */
.microscope-card:hover .trust-hover{

    opacity:1;

    transform:
    translate(-50%, -60%)
    scale(2.8);

    filter:
    drop-shadow(0 0 25px rgba(59,130,246,.55))
    drop-shadow(0 0 70px rgba(59,130,246,.30));
}

/* 정품부품 */
.parts-card:hover .trust-hover{

    opacity:1;

    transform:
    translate(-50%, -58%)
    scale(2.6);

    filter:
    drop-shadow(0 0 25px rgba(59,130,246,.55))
    drop-shadow(0 0 70px rgba(59,130,246,.30));
}

/* 데이터보호 */
.security-card:hover .trust-hover{

    opacity:1;

    transform:
    translate(-55%, -55%)
    scale(2);

    filter:
    drop-shadow(0 0 25px rgba(59,130,246,.55))
    drop-shadow(0 0 70px rgba(59,130,246,.30));
}

/* 당일수리 */
.speed-card:hover .trust-hover{

    opacity:1;

    transform:
    translate(-69%, -58%)
    scale(2.3);

    filter:
    drop-shadow(0 0 25px rgba(59,130,246,.55))
    drop-shadow(0 0 70px rgba(59,130,246,.30));
}

/* 어두운 그라데이션 오버레이 */
.trust-img-box::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:45%;
    background:linear-gradient(
        to top,
        rgba(0,0,0,0.55),
        rgba(0,0,0,0)
    );
    z-index:2;
    pointer-events:none;
}

/* 설명 영역 */
.trust-text{
    padding:28px 25px 32px 25px;
    text-align:center;
}

.trust-text h3{
    font-size:28px;
    color:#071b4d;
    margin-bottom:12px;
}

.trust-text span{
    display:block;
    width:40px;
    height:3px;
    background:#2563eb;
    border-radius:10px;
    margin:0 auto 18px auto;
}

.trust-text p{
    font-size:18px;
    color:#333;
    line-height:1.7;
    margin:0;
}

/* 모바일 대응 */
@media screen and (max-width:768px){

    .trust-section{
        width:92%;
        margin:60px auto;
    }

    .trust-section h2{
        font-size:30px;
    }

    .trust-section > p{
        font-size:16px;
    }

    .trust-cards{
        grid-template-columns:1fr;
        gap:25px;
    }

    .trust-img-box{
        height:240px;
    }

    .trust-hover{
        width:65%;
    }

    .trust-text h3{
        font-size:24px;
    }

    .trust-text p{
        font-size:16px;
    }
}
/* =========================
   Footer
========================= */

.footer{

    margin-top:80px;

    background:
    linear-gradient(
        90deg,
        #081225,
        #0f1f45,
        #12316f
    );

    color:white;
}

.footer-container{

    width:90%;
    max-width:1800px;

    margin:0 auto;

    padding:50px 0;

    display:grid;

    grid-template-columns:
    1.3fr
    1fr
    1fr
    1fr;

    gap:60px;
}

.footer-col h3{

    margin-bottom:20px;

    font-size:22px;
}

.footer-col p{

    line-height:1.8;

    color:#d7dff5;
}

.footer-logo{

    width:180px;

    margin-bottom:20px;
}

.footer-desc{

    font-size:15px;

    color:#d7dff5;
}

.footer-map-btn{

    display:inline-block;

    margin-top:15px;

    padding:12px 20px;

    background:#22c55e;

    color:white;

    text-decoration:none;

    border-radius:10px;

    font-weight:bold;
}

.footer-map-btn:hover{

    background:#16a34a;
}

.footer-sns{

    display:flex;

    gap:15px;
}

.footer-sns a{

    width:60px;
    height:60px;

    background:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.3s;
}

.footer-sns a:hover{

    transform:translateY(-5px);
}

.footer-sns img{

    width:32px;
    height:32px;
}

.footer-copy{

    text-align:center;

    padding:25px;

    border-top:1px solid rgba(255,255,255,.15);

    color:#b7c2df;
}
/*.kakao-btn{

    background:#FEE500;

    color:#111 !important;
}

.kakao-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(254,229,0,.35);
}

.insta-btn{

    background:
    linear-gradient(
        45deg,
        #f58529,
        #dd2a7b,
        #8134af,
        #515bd4
    );
}

.insta-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(221,42,123,.35);
}
.footer-info strong{

    color:white;

    min-width:120px;

    display:inline-block;
}

.footer-copy{

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.1);

    text-align:center;

    font-size:13px;

    color:#94a3b8;
}*/
/* =========================
   수리 현황
========================= */

.repair-status-section{
    width:90%;
    max-width:1800px;
    margin:50px auto 30px auto;
}

.repair-status-box{
    background:white;
    border-radius:22px;
    padding:28px 35px;
    box-shadow:0 8px 25px rgba(0,0,0,0.08);
    overflow:hidden;
}

.repair-status-title{
    margin-bottom:20px;
}

.repair-status-title h2{
    font-size:28px;
    color:#071b4d;
}

.status-header,
.status-item{
    display:grid;
    grid-template-columns:1fr 1fr 1.4fr 1.4fr 1.5fr 1fr;
    align-items:center;
    text-align:center;
}

.status-header{
    height:60px;

    background:
    linear-gradient(
        90deg,
        #071b4d,
        #2563eb
    );

    color:white;

    border-radius:16px;

    font-size:16px;
    font-weight:700;
}

.status-view{
    height:390px;
    overflow:hidden;
    position:rlative;
}

.status-item{
    height:52px;
    margin:8px 0;
    border-radius:14px;
    background:#ffffff;
    border:1px solid #e5e7eb;
    transition:.25s;
    box-shadow:0 3px 12px rgba(0,0,0,.04);
}

.status-list{
    animation:
    statusLoop 12s linear infinite;
}

.status-item:hover{

    transform:translateY(-2px);

    box-shadow:
    0 10px 24px rgba(37,99,235,.10);
}

.status-badge{

    min-width:110px;

    padding:10px 18px;

    border-radius:999px;

    font-size:14px;
    font-weight:800;

    display:inline-flex;
    justify-content:center;
    align-items:center;
}

.status-received{

    background:
    linear-gradient(
        90deg,
        #f59e0b,
        #f97316
    );
}

.status-progress{

    background:
    linear-gradient(
        90deg,
        #2563eb,
        #3b82f6
    );
}

.status-complete{

    background:
    linear-gradient(
        90deg,
        #16a34a,
        #22c55e
    );
}
.status-item div:nth-child(4){

    font-weight:700;

    color:#071b4d;
}
.status-item div:nth-child(5){

    color:#2563eb;

    font-weight:700;
}
@keyframes statusMove{
    0%{
        transform:translateY(0);
    }

    25%{
        transform:translateY(0);
    }

    35%{
        transform:translateY(-60px);
    }

    60%{
        transform:translateY(-60px);
    }

    70%{
        transform:translateY(-120px);
    }

    95%{
        transform:translateY(-120px);
    }

    100%{
        transform:translateY(0);
    }
}
.slide-dot{

    width:10px;
    height:10px;

    background:#cbd5e1;

    border-radius:50%;
}

.slide-dot.active{

    width:26px;

    border-radius:30px;

    background:#2563eb;
}
.today-status{
    width:90%;
    max-width:1800px;
    margin:30px auto 35px auto;

    display:flex;

    background:white;
    border-radius:18px;

    box-shadow:0 8px 25px rgba(0,0,0,0.08);

    overflow:hidden;
}

.status-card{
    flex:1;

    padding:28px 25px;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:22px;

    text-align:left;

    position:relative;
}

.status-card:not(:last-child)::after{
    content:'';

    position:absolute;
    right:0;
    top:25%;

    width:1px;
    height:50%;

    background:#dbe3f0;
}

.status-icon{
    font-size:50px;
    color:#2196f3;
    line-height:1;
}

.status-card h3{
    font-size:18px;
    color:#0f172a;
    margin-bottom:8px;
}

.status-card strong{
    font-size:38px;
    color:#0b4bb3;
    font-weight:800;
}

.status-card strong span{
    font-size:24px;
}
.star-icon{
    color:#fbbf24;
}
/* =========================
   회원가입
========================= */

.join-section{
    width:90%;
    max-width:1100px;
    margin:70px auto;
}

.join-box{
    background:white;
    border-radius:24px;
    padding:50px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.join-box h2{
    font-size:38px;
    color:#071b4d;
    text-align:center;
    margin-bottom:12px;
}

.join-sub{
    text-align:center;
    color:#555;
    margin-bottom:35px;
}

.agree-box{
    border:1px solid #dbe3f0;
    border-radius:18px;
    padding:25px;
    margin-bottom:35px;
    background:#f8fbff;
}

.agree-all{
    display:block;
    font-size:20px;
    font-weight:bold;
    color:#071b4d;
    margin-bottom:20px;
}

.agree-item{
    margin-bottom:20px;
}

.agree-item label{
    font-size:17px;
    font-weight:bold;
}

.agree-item span{
    color:#2563eb;
    font-size:14px;
    margin-left:6px;
}

.agree-text{
    height:80px;
    overflow-y:auto;
    background:white;
    border:1px solid #e5eaf3;
    border-radius:12px;
    padding:15px;
    margin-top:10px;
    color:#555;
    line-height:1.6;
}

.agree-row{
    display:flex;
    gap:30px;
    font-size:16px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group label{
    font-weight:bold;
    margin-bottom:10px;
    color:#071b4d;
}

.form-group input,
.form-group select{
    height:52px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
}

.form-group input:focus,
.form-group select:focus{
    outline:none;
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,0.12);
}

.phone-row{
    display:flex;
    gap:10px;
}

.phone-row input{
    flex:1;
}

.phone-row button{
    width:120px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-weight:bold;
    cursor:pointer;
}

.phone-row button:hover{
    background:#1d4ed8;
}

.phone-group small{
    margin-top:8px;
    color:#777;
}

.join-submit{
    width:100%;
    height:60px;
    margin-top:40px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:20px;
    font-weight:bold;
    cursor:pointer;
}

.join-submit:hover{
    background:linear-gradient(90deg,#0f172a,#1d4ed8);
}
/* =========================
   로그인
========================= */

.login-section{
    width:90%;
    max-width:520px;
    margin:80px auto;
}

.login-box{
    background:white;
    border-radius:24px;
    padding:45px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.login-box h2{
    text-align:center;
    font-size:36px;
    color:#071b4d;
    margin-bottom:10px;
}

.login-sub{
    text-align:center;
    color:#555;
    margin-bottom:35px;
}

.login-form .form-group{
    margin-bottom:22px;
}

.login-submit{
    width:100%;
    height:56px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
}

.login-links{
    margin:22px 0;
    text-align:center;
}

.login-links a{
    color:#2563eb;
    text-decoration:none;
    font-weight:bold;
}

.login-links span{
    margin:0 10px;
    color:#ccc;
}

.social-login{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.social-btn{
    height:52px;
    border:none;
    border-radius:12px;
    font-size:17px;
    font-weight:bold;
    cursor:pointer;
}

.social-btn.kakao{
    background:#FEE500;
    color:#111;
}

.social-btn.naver{
    background:#03C75A;
    color:white;
}

.social-btn.google{
    background:white;
    color:#222;
    border:1px solid #ddd;
}

.social-btn{
    height:52px;
    border:none;
    border-radius:12px;
    font-size:17px;
    font-weight:bold;
    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    position:relative;
    overflow:hidden;
}

.social-icon{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);

    width:28px;
    height:28px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.social-icon img{
    width:28px !important;
    height:28px !important;
    object-fit:contain !important;
    display:block;
}

.social-btn span{
    width:100%;
    text-align:center;
}
/* =========================
   아이디 / 비밀번호 찾기
========================= */

.find-section{
    width:90%;
    max-width:1100px;
    margin:80px auto;
}

.find-box{
    background:white;
    border-radius:24px;
    padding:50px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.find-box h2{
    text-align:center;
    font-size:36px;
    color:#071b4d;
    margin-bottom:40px;
}

.find-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
}

.find-card{
    border:1px solid #dbe3f0;
    border-radius:20px;
    padding:30px;
    background:#f8fbff;
}

.find-card h3{
    font-size:24px;
    color:#071b4d;
    margin-bottom:25px;
}

.find-submit{
    width:100%;
    height:54px;
    border:none;
    border-radius:12px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:17px;
    font-weight:bold;
    cursor:pointer;
    margin-top:10px;
}

.find-result{
    margin-top:20px;
    padding:15px;
    background:white;
    border-radius:12px;
    color:#071b4d;
    font-weight:bold;
    text-align:center;
    border:1px solid #dbe3f0;
}

.find-bottom{
    margin-top:35px;
    text-align:center;
}

.find-bottom a{
    color:#2563eb;
    text-decoration:none;
    font-weight:bold;
}
/* 관리자 영역 */
.admin-section{
    width:90%;
    max-width:1700px;
    margin:80px auto;
}

.admin-box{
    background:white;
    border-radius:24px;
    padding:50px 36px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.admin-box h2{
    text-align:center;
    font-size:38px;
    color:#071b4d;
}

.admin-sub{
    text-align:center;
    color:#555;
    margin:12px 0 40px;
}

.admin-menu{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:25px;
}

.admin-card{
    display:block;
    padding:30px;
    border-radius:20px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    text-decoration:none;
    color:#222;
    transition:.3s;
}

.admin-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(37,99,235,.15);
    border-color:#2563eb;
}

.admin-card h3{
    color:#071b4d;
    font-size:24px;
    margin-bottom:10px;
}

.admin-card p{
    color:#555;
    line-height:1.6;
}
/* 관리자 구매, 판매관리 */
.admin-empty{
    padding:50px;
    text-align:center;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    color:#555;
    font-size:18px;
}
/* =========================
   공통 서브 페이지
========================= */

.page-section{
    width:90%;
    max-width:1200px;
    margin:80px auto;
}

.page-box{
    background:white;
    border-radius:24px;
    padding:60px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
    text-align:center;
}

.page-box h2{
    font-size:38px;
    color:#071b4d;
    margin-bottom:15px;
}

.page-box p{
    font-size:18px;
    color:#555;
}
.slide-link{
    display:block;
    width:100%;
    height:100%;
}

.slide-link img{
    width:100%;
    height:100%;
    display:block;
}
/* =========================
   수리 접수 페이지
========================= */

.repair-select-section{
    width:90%;
    max-width:1300px;
    margin:80px auto;
}

.repair-select-box{
    background:white;
    border-radius:24px;
    padding:55px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.repair-select-box h2{
    text-align:center;
    font-size:40px;
    color:#071b4d;
    margin-bottom:12px;
}

.repair-select-box > p{
    text-align:center;
    color:#555;
    font-size:18px;
    margin-bottom:45px;
}

.repair-step{
    margin-top:35px;
}

.repair-step h3{
    font-size:24px;
    color:#071b4d;
    margin-bottom:18px;
}

.repair-btn-group{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.repair-main-btn,
.repair-series-btn,
.repair-model-btn{
    border:none;
    border-radius:14px;
    cursor:pointer;
    font-weight:bold;
    transition:.25s;
}

.repair-main-btn{
    flex:1;
    min-width:180px;
    height:70px;
    background:white;
    color:#071b4d;
    border:1px solid #dbe3f0;
    font-size:22px;
}

.repair-series-btn{
    min-width:190px;
    height:56px;
    background:#f1f5ff;
    border:1px solid #dbe3f0;
    color:#071b4d;
    font-size:17px;
}

.repair-model-btn{
    min-width:180px;
    height:52px;
    background:white;
    border:1px solid #dbe3f0;
    color:#222;
    font-size:16px;
}

.repair-main-btn:hover,
.repair-series-btn:hover,
.repair-model-btn:hover{
    transform:none;
    box-shadow:none;
    border-color:#dbe3f0;
}

.repair-model-btn:hover{
    color:#2563eb;
}
.repair-main-btn.active,
.repair-series-btn.active,
.repair-model-btn.active{

    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    border-color:#2563eb;
    box-shadow:0 12px 28px rgba(37,99,235,.28);
}
.repair-symptom-btn.active{
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    border-color:#2563eb;
    box-shadow:0 12px 28px rgba(37,99,235,.28);
    transform:translateY(-2px);

    box-shadow:
        0 0 15px rgba(37,99,235,.35),
        0 0 30px rgba(79,70,229,.25);

    transform:translateY(-2px);
}
.repair-symptom-btn:hover{

    transform:none;
    box-shadow:none;
}
.selected-model{
    margin-top:35px;
    padding:22px;
    border-radius:16px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    text-align:center;
    font-size:20px;
    color:#071b4d;
}

.selected-model strong{
    color:#2563eb;
}

.repair-symptom-btn{
    min-width:180px;
    height:52px;
    border-radius:14px;
    border:1px solid #dbe3f0;
    background:white;
    color:#222;
    font-weight:bold;
    cursor:pointer;
    transition:.25s;
}

.repair-textarea{
    width:100%;
    height:140px;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:18px;
    font-size:16px;
    resize:none;
}

.store-guide{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:16px;
    padding:22px;
    line-height:1.8;
    margin-bottom:20px;
    color:#071b4d;
}

.repair-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.repair-form-grid input,
.repair-form-grid select{
    height:52px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
}

.repair-agree-box{
    margin-top:35px;
    padding:22px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    border-radius:16px;
    color:#7c2d12;
    line-height:1.6;
    font-weight:600;
}

.repair-submit-btn{
    width:100%;
    height:62px;
    margin-top:28px;
    border:none;
    border-radius:16px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:20px;
    font-weight:bold;
    cursor:pointer;
}

.birth-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.birth-row select{
    height:52px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 12px;
    font-size:16px;
}
.visit-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:18px;
}

.visit-info-grid input{
    height:58px;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:0 18px;
    font-size:17px;
}

.repair-date-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:14px;
    margin-bottom:22px;
}

.repair-date-row select{
    height:58px;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:0 16px;
    font-size:17px;
    background:white;
}

.visit-time-buttons{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:14px;
}

.visit-time-btn{
    height:58px;
    border:1px solid #dbe3f0;
    border-radius:16px;
    background:#ffffff;
    color:#071b4d;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    transition:.25s;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

.visit-time-btn:hover{
    transform:translateY(-3px);
    border-color:#2563eb;
    box-shadow:0 10px 25px rgba(37,99,235,.16);
}

.visit-time-btn.active{
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    border-color:#2563eb;
    box-shadow:0 12px 28px rgba(37,99,235,.28);
}
.repair-main-btn:hover,
.repair-series-btn:hover,
.repair-model-btn:hover,
.repair-symptom-btn:hover{
    background:#f1f5ff;
    color:#2563eb;
    border-color:#2563eb;
}

.repair-main-btn.active,
.repair-series-btn.active,
.repair-model-btn.active,
.repair-symptom-btn.active{
    background:linear-gradient(90deg,#1e3a8a,#2563eb) !important;
    color:white !important;
    border-color:#2563eb !important;
    box-shadow:0 12px 28px rgba(37,99,235,.28) !important;
}
.repair-main-btn.active,
.repair-series-btn.active,
.repair-model-btn.active,
.repair-symptom-btn.active{
    background:linear-gradient(90deg,#1e3a8a,#2563eb) !important;
    color:white !important;
    border-color:#2563eb !important;
    box-shadow:0 12px 28px rgba(37,99,235,.28) !important;
    transform:translateY(-2px);
}
/* =========================
   마이페이지
========================= */

.mypage-section{
    width:90%;
    max-width:1200px;
    margin:80px auto;
}

.mypage-box{
    background:white;
    border-radius:24px;
    padding:50px;
    box-shadow:0 10px 35px rgba(0,0,0,0.08);
}

.mypage-box h2{
    text-align:center;
    font-size:38px;
    color:#071b4d;
}

.mypage-sub{
    text-align:center;
    color:#555;
    margin:12px 0 40px;
}

.mypage-menu{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.mypage-card{
    padding:30px;
    border-radius:20px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.mypage-card h3{
    color:#071b4d;
    font-size:24px;
    margin-bottom:12px;
}

.mypage-card p{
    color:#555;
}
.mypage-list{
    margin-top:18px;
    padding:18px;
    border-radius:14px;
    background:white;
    border:1px solid #dbe3f0;
}

.mypage-list strong{
    display:block;
    color:#071b4d;
    margin-bottom:10px;
    font-size:18px;
}

.mypage-list p{
    margin:5px 0;
    color:#555;
}

.mypage-list span{
    display:inline-block;
    margin-top:10px;
    padding:7px 14px;
    border-radius:20px;
    background:#2563eb;
    color:white;
    font-weight:bold;
    font-size:14px;
}

/* 관리자 수리현황 관리 */
.admin-table{
    width:100%;
    table-layout:auto;
    border-collapse:collapse;
    margin-top:25px;
}

.admin-table th{
    background:#f1f5ff;
    color:#071b4d;
    padding:15px;
    border-bottom:2px solid #dbe3f0;
    font-size:15px;
}

.admin-table td{
    padding:14px;
    border-bottom:1px solid #eef2ff;
    text-align:center;
    font-size:14px;

    white-space:nowrap;
}

.admin-table tr:hover{
    background:#f8fbff;
}
/* 기종은 풀로 표시 */
.admin-table td:nth-child(5){
    overflow:visible;
    text-overflow:clip;
    max-width:none;
}
/* 관리 버튼 잘림 방지 */
.admin-table th:nth-child(9),
.admin-table td:nth-child(9){
    min-width:140px;
}
.admin-status{
    display:inline;
    min-width:auto;
    height:auto;
    padding:0;
    border-radius:0;
    background:none !important;
    font-weight:800;
    font-size:14px;
}

.admin-status-progress{
    color:#2563eb;
}

.admin-status-received{
    color:#f97316;
}

.admin-status-complete{
    color:#16a34a;
}

.admin-action-btns{
    flex-wrap:nowrap;
    min-width:130px;
    display:flex;
    justify-content:center;
    gap:6px;
}

.admin-small-btn,
.admin-delete-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:34px;
    min-width:58px;
    padding:0 10px;
    border-radius:8px;
    color:white;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}

.admin-small-btn{
    background:#1e3a8a;
}

.admin-delete-btn{
    background:#dc2626;
}
/* 관리자 수리상태 편집 */
.status-edit-info{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:18px;
    padding:25px;
    margin-bottom:30px;
}

.status-edit-info p{
    margin:10px 0;
    color:#333;
    line-height:1.6;
}

.status-edit-info strong{
    color:#071b4d;
    display:inline-block;
    min-width:90px;
}

.status-edit-form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.status-edit-form label{
    font-weight:bold;
    color:#071b4d;
}

.status-edit-form select{
    height:56px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
}

.status-edit-form button{
    height:58px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
}
/* 관리자 수리현황 검색기 */
.admin-search-form{
    margin-top:22px;
    margin-bottom:25px;

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:12px;
    padding:20px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:16px;
}

.admin-search-form input,
.admin-search-form select{
    height:46px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
    background:white;
}

.admin-search-form button,
.admin-search-form a{
    height:46px;
    border:none;
    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.admin-search-form button{
    background:#2563eb;
    color:white;
}

.admin-search-form a{
    background:#f1f5ff;
    color:#071b4d;
    border:1px solid #dbe3f0;
}

/* 관리자 수리현황 수동등록 */
.admin-form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.admin-form input,
.admin-form select,
.admin-form textarea{
    width:100%;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:15px;
    font-size:16px;
}

.admin-form textarea{
    height:130px;
    resize:none;
}

.admin-form button{
    height:58px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
}
.admin-status-select{
    width:100%;
    height:58px;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:0 16px;
    font-size:17px;
    background:white;
}
.search-btn-area{
    grid-column:4;

    display:flex;

    justify-content:flex-end;

    gap:10px;

    margin-top:10px;
}

.search-btn-area button,
.search-btn-area a{
    width:110px;
}
/* 관리자 고객 접수 구분 */
.source-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:62px;
    height:30px;
    padding:0 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.source-admin{
    background:#ede9fe;
    color:#5b21b6;
}

.source-customer{
    background:#dcfce7;
    color:#166534;
}
.repair-date-row{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    margin-bottom:15px;
}

.repair-date-row select{
    height:58px;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:0 14px;
    font-size:16px;
}
@keyframes statusLoop{

    0%{
        transform:translateY(0);
    }

    100%{
        transform:translateY(-50%);
    }
}
/* 관리자 고객 수리내역 메모 */
.admin-memo-textarea{
    width:100%;
    height:130px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:15px;
    font-size:16px;
    resize:none;
}

.memo-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:30px;
    padding:0 10px;
    border-radius:8px;
    background:#fff7ed;
    color:#c2410c;
    font-size:13px;
    font-weight:800;
}

.memo-empty{
    color:#aaa;
}
/* 관리자 고객 메모 노출 */
.repair-click-row{
    cursor:pointer;
}
.repair-click-row.selected-row{
    background:#eef4ff !important;
    border-top:2px solid #2563eb;
}
.repair-click-row.selected-row td{
    background:#eef4ff;
    font-weight:700;
}
.admin-memo-row{
    display:none;
}

.admin-memo-row.active{
    display:table-row;
}

.admin-memo-row td{
    padding:0 !important;
    background:#f8fbff;
}

.admin-memo-box{
    width:100%;
    min-height:130px;
    padding:28px 36px;
    background:#f8fbff;
    border-top:2px solid #2563eb;
    border-bottom:1px solid #dbe3f0;
    text-align:left;
}

.admin-memo-box strong{
    display:block;
    color:#071b4d;
    margin-bottom:18px;
    font-size:17px;
}

.admin-memo-box p{
    width:100%;
    color:#333;
    line-height:1.8;
    font-size:15px;
    white-space:pre-line;
}
/* 수리현황 증상 박스형태 레이아웃 */
.symptom-box{
    display:inline-block;

    max-width:220px;

    padding:8px 12px;

    background:#f8fbff;

    border:1px solid #dbe3f0;

    border-radius:10px;

    white-space:normal;

    word-break:keep-all;

    line-height:1.5;

    text-align:left;
}
/* 수리현황 기종 글자 가려짐 방지 */
.admin-table td{
    overflow:hidden;
    text-overflow:ellipsis;
}

.admin-table td:nth-child(5){
    max-width:150px;
}
/* 관리자 수리현황 증상 개별 컬러 박스 지정 */
.symptom-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:center;
    max-width:180px;
    margin:0 auto;
    white-space:normal;
}

.symptom-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 9px;
    border-radius:8px;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
}

.symptom-color-1{
    background:#eff6ff;
    color:#1d4ed8;
    border:1px solid #bfdbfe;
}

.symptom-color-2{
    background:#ecfdf5;
    color:#047857;
    border:1px solid #bbf7d0;
}

.symptom-color-3{
    background:#fff7ed;
    color:#c2410c;
    border:1px solid #fed7aa;
}

.symptom-color-4{
    background:#f5f3ff;
    color:#6d28d9;
    border:1px solid #ddd6fe;
}
/* 관리자 수리현황 날짜 2줄 표시 */
.date-cell{
    white-space:normal !important;
    line-height:1.5;
}

.date-time{
    color:#888;
    font-size:12px;
}
/* 관리자 수리비 계산기 */
.complete-calc-box{
    margin-top:25px;
    padding:25px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:18px;
}

.complete-calc-box h3,
.complete-calc-box h4{
    color:#071b4d;
    margin-bottom:15px;
}

.complete-calc-box label{
    display:block;
    margin:15px 0 8px;
    font-weight:800;
    color:#071b4d;
}

.complete-calc-box select,
.complete-calc-box input{
    width:100%;
    height:50px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:15px;
    background:white;
}

.calc-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.add-repair-item-btn{
    width:100%;
    height:48px;
    margin-top:12px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-weight:800;
    cursor:pointer;
}

.selected-repair-items{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:15px 0 20px;
}

.selected-repair-item{
    display:grid;
    grid-template-columns:1fr 130px 40px;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:12px;
    background:white;
    border:1px solid #dbe3f0;
}

.selected-repair-item span{
    color:#071b4d;
    font-weight:800;
}

.selected-repair-item strong{
    text-align:right;
    color:#2563eb;
}

.selected-repair-item button{
    border:none;
    background:#fee2e2;
    color:#dc2626;
    border-radius:8px;
    height:32px;
    font-weight:900;
    cursor:pointer;
}

.calc-result{
    margin-top:22px;
    padding:18px;
    background:white;
    border:1px solid #dbe3f0;
    border-radius:14px;
}

.calc-result p{
    margin:8px 0;
    font-size:17px;
    color:#071b4d;
}
.calc-title-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.add-repair-card-btn{
    width:150px;
    height:42px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.repair-items-3col{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:18px;
    align-items:start;
}

.repair-calc-card{
    background:white;
    border:1px solid #dbe3f0;
    border-radius:16px;
    padding:18px;
}

.repair-calc-card h4{
    text-align:center;
    color:#071b4d;
    margin-bottom:14px;
}

.repair-calc-card input,
.repair-calc-card select,
.repair-calc-card textarea{
    width:100%;
    height:44px;
    margin-bottom:10px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
}

.repair-calc-card textarea{
    height:70px;
    padding:12px;
    resize:none;
}

.split-pay-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.service-box{
    padding:12px;
    margin:10px 0;
    border-radius:12px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.service-box strong{
    display:block;
    margin-bottom:10px;
    color:#071b4d;
}

.item-result{
    margin-top:12px;
    padding:12px;
    border-radius:12px;
    background:#fff7ed;
    border:1px solid #fed7aa;
}

.item-result p{
    display:flex;
    justify-content:space-between;
    margin:6px 0;
    font-size:14px;
}

.item-result strong{
    color:#2563eb;
}

.total-result{
    margin-top:20px;
    background:#fff7d6;
    border-color:#facc15;
}
/* 부가가치세 레이아웃*/
.result-expense,
#expenseText{
    color:#dc2626 !important;
}

.expense-input{
    color:#dc2626;
    font-weight:800;
}

.pay-box{
    margin-bottom:10px;
}

.split-pay-box{
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.field-box{
    margin-bottom:10px;
}

.field-box label,
.expense-field label{
    display:block;
    margin-bottom:5px;
    font-size:12px;
    font-weight:800;
    color:#64748b;
}

.expense-field label{
    color:#dc2626;
}

.expense-field input{
    color:#dc2626;
    font-weight:800;
}

.result-material,
.result-expense,
#materialTotalText,
#expenseText{
    color:#dc2626 !important;
}

.vat-box,
.bank-fee-box{
    margin-bottom:10px;
}
.service-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin:10px 0;
}

.service-row{
    padding:12px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#f8fbff;
}

.add-service-btn{
    width:100%;
    height:42px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-weight:800;
    cursor:pointer;
    margin-bottom:12px;
}

.remove-service-btn{
    width:100%;
    height:34px;
    border:none;
    border-radius:8px;
    background:#fee2e2;
    color:#dc2626;
    font-weight:900;
    cursor:pointer;
}

.repair-customer-card{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:18px;
    padding:25px;
    margin-bottom:25px;
}

.customer-row{
    display:flex;
    gap:15px;
    padding:11px 0;
    border-bottom:1px solid #eef2ff;
}

.customer-row:last-child{
    border-bottom:none;
}

.customer-row span{
    width:90px;
    color:#64748b;
    font-size:13px;
    font-weight:800;
}

.customer-row strong{
    flex:1;
    color:#071b4d;
    font-size:15px;
    line-height:1.6;
}

.admin-detail-box{
    padding:25px;
    background:#f8fbff;
}

.detail-section{
    margin-bottom:25px;
}

.detail-section h4{
    margin-bottom:15px;
    color:#071b4d;
}

.detail-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.repair-item-view{
    background:white;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:15px;
    margin-bottom:12px;
}

.repair-item-view div{
    margin-bottom:8px;
}

.admin-memo-row td{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

.admin-detail-box{
    width:100%;
    min-height:180px;
    padding:28px 34px;
    background:#f8fbff;
    border-top:2px solid #2563eb;
    text-align:left;
    white-space:normal;
}

.detail-section p{
    white-space:pre-line;
    line-height:1.7;
}

.repair-item-view{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    background:white;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:18px;
    margin-bottom:12px;
    white-space:normal;
}

.repair-item-view div{
    margin-bottom:0;
    padding:8px 10px;
    border-radius:10px;
    background:#f8fbff;
    line-height:1.5;
}

.repair-item-view div:nth-child(4),
.repair-item-view div:nth-child(5){
    color:#dc2626;
    font-weight:800;
}

/* 관리자 재고관리 레이아웃 */
.inventory-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin:25px 0;
}

.inventory-summary div{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:18px;
    text-align:center;
}

.inventory-summary span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.inventory-summary strong{
    color:#071b4d;
    font-size:22px;
}

.stock-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    height:30px;
    padding:0 10px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
}

.stock-in{
    background:#dcfce7;
    color:#166534;
}

.stock-out{
    background:#fee2e2;
    color:#dc2626;
}

.inventory-table td{
    font-size:13px;
}

.stock-low{
    background:#fef3c7;
    color:#b45309;
}
.inventory-search-box{
    margin-top:22px;
    margin-bottom:25px;
    padding:24px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:18px;
}

.inventory-search-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:16px;
}

.inventory-search-row:first-child{
    grid-template-columns:repeat(3,1fr);
}

.inventory-field{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.inventory-field label{
    font-size:13px;
    font-weight:800;
    color:#071b4d;
}

.inventory-field input,
.inventory-field select{
    height:46px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    font-size:14px;
}

.inventory-search-bottom{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:end;
}

.inventory-search-buttons{
    display:flex;
    gap:10px;
}

.inventory-search-buttons button,
.inventory-search-buttons a{
    width:110px;
    height:46px;
    border:none;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.inventory-search-buttons button{
    background:#2563eb;
    color:white;
}

.inventory-search-buttons a{
    background:white;
    color:#071b4d;
    border:1px solid #dbe3f0;
}
/* 재고 호출 */
.stock-select{
    color:#071b4d;
    font-weight:700;
}

.stock-select option:disabled{
    color:#dc2626;
}

/* 재고검색 날짜 form */
.inventory-date-selects{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
}

.inventory-date-field{
    min-width:0px;
}

.inventory-date-selects select{
    width:100%;
}

/* 재고검색 고객 표시 */
.inventory-customer-link{
    color:#2563eb;
    font-weight:800;
    text-decoration:none;
}

.inventory-customer-link:hover{
    text-decoration:underline;
}

.group-repair-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:12px;
}

.group-repair-item{
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#f8fbff;
    overflow:hidden;
}

.group-item-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    padding:6px 12px;
    min-height:30px;
    background:white;
    border-bottom:1px solid #eef2ff;
}

.group-item-title{
    color:#071b4d;
    font-size:13px;
    font-weight:900;
}

.group-item-actions{
    display:flex;
    gap:4px;
}

.toggle-group-item-btn,
.remove-group-item-btn{
    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:18px;

    padding:0;

    border:none;
    border-radius:4px;

    font-size:10px;
    font-weight:700;

    color:#fff;
    cursor:pointer;
    line-height:1;
}

.toggle-group-item-btn{
    background:#22c55e;
}
.toggle-group-item-btn:hover{
    background:#16a34a;
}
.remove-group-item-btn{
    background:#ef4444;
}
.remove-group-item-btn:hover{
    background:#dc2626;
}

.group-item-body{
    padding:12px;
}

.add-group-item-btn{
    width:auto;
    min-width:82px;
    height:22px;
    padding:0 8px;
    margin:2px 0 10px auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px dashed #2563eb;
    border-radius:6px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.add-group-item-btn:hover{
    background:#2563eb;
    color:white;
}
/* 수리완료 정산 - 작은 버튼 강제 적용 */
.status-edit-form .toggle-group-item-btn,
.status-edit-form .remove-group-item-btn{
    width:40px !important;
    min-width:34px !important;
    height:20px !important;
    padding:0 !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:none !important;
    border-radius:5px !important;

    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;

    color:#fff !important;
    cursor:pointer;
}

.status-edit-form .toggle-group-item-btn{
    background:#22c55e !important;
}

.status-edit-form .remove-group-item-btn{
    background:#ef4444 !important;
}

.status-edit-form .group-item-actions{
    display:flex !important;
    gap:4px !important;
    align-items:center !important;
    flex-shrink:0 !important;
}

.status-edit-form .group-item-head{
    padding:7px 10px !important;
    min-height:34px !important;
}

.status-edit-form .add-group-item-btn{
    width:auto !important;
    min-width:90px !important;
    height:28px !important;
    padding:0 10px !important;
    margin:4px 0 12px auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:7px !important;
    border:none !important;
    background:#1e3a8a !important;
    color:white !important;

    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

.inventory-top-buttons{
    display:flex;
    gap:10px;
    margin-bottom:20px;
}

.inventory-top-buttons a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:38px;
    padding:0 16px;
    border-radius:9px;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
}

.inventory-main-btn{
    background:#2563eb;
    color:white;
}

.inventory-sub-btn{
    background:#f1f5ff;
    color:#071b4d;
    border:1px solid #dbe3f0;
}

.inventory-view-buttons{
    display:flex;
    gap:8px;
    align-items:center;
}

.inventory-view-buttons button{
    height:34px;
    padding:0 14px;
    border:none;
    border-radius:8px;
    background:#e5e7eb;
    color:#071b4d;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}

.inventory-view-buttons button.active{
    background:#1e3a8a;
    color:white;
}

.model-stock-row{
    cursor:pointer;
}

.model-stock-row:hover{
    background:#f8fbff;
}

.model-stock-detail-row{
    display:none;
}

.model-stock-detail-row.active{
    display:table-row;
}

.model-stock-detail-row td{
    padding:0 !important;
    background:#f8fbff;
}

.model-stock-detail-box{
    padding:22px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    border-top:2px solid #2563eb;
}

.model-stock-category{
    background:white;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:16px;
}

.model-stock-category h4{
    color:#071b4d;
    margin-bottom:12px;
}

.model-stock-items{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.model-stock-items span{
    display:inline-flex;
    align-items:center;
    height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
}

/* =========================
   관리자 수익장부
========================= */

.profit-search-form{
    margin:25px 0;
    display:flex;
    gap:10px;
    justify-content:flex-end;
}
.ledger-sub-search{
    margin:10px 0 20px;
    display:flex;
    gap:10px;
    justify-content:flex-end;
}

.ledger-sub-search select,
.ledger-sub-search button{
    height:44px;
    border-radius:10px;
    font-size:14px;
}

.ledger-sub-search select{
    width:180px;
    border:1px solid #dbe3f0;
    padding:0 12px;
    background:white;
}

.ledger-sub-search button{
    width:90px;
    border:none;
    background:#2563eb;
    color:white;
    font-weight:800;
    cursor:pointer;
}
.profit-search-form input{
    width:180px;
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
}

.profit-search-form button{
    width:90px;
    height:44px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.profit-ledger-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.profit-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    margin:20px 0 30px;
}

.profit-summary-grid div{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:16px;
    padding:18px;
}

.profit-summary-grid span{
    display:block;
    margin-bottom:10px;
    color:#64748b;
    font-size:13px;
    font-weight:800;
}

.profit-summary-grid strong{
    display:block;
    color:#071b4d;
    font-size:22px;
    font-weight:900;
}

.profit-summary-grid input{
    width:100%;
    height:42px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:15px;
}

.minus-text{
    color:#dc2626 !important;
    font-weight:900;
}

.expense-rows{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.expense-row input,
.expense-row select{
    height:42px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 10px;
    font-size:14px;
    background:white;
}

.expense-row input[name="amount[]"]{
    text-align:right;
    font-weight:800;
}

.profit-add-buttons{
    display:flex;
    gap:10px;
    margin:15px 0;
}

.profit-add-buttons button,
.apply-btn,
.delete-btn{
    min-width:42px;
    height:42px;
    border:none;
    border-radius:10px;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.profit-add-income,
.apply-btn{
    background:#2563eb;
}

.profit-add-expense,
.delete-btn{
    background:#dc2626 !important;
    color:white !important;
}
.minus-select{
    color:#dc2626 !important;
}
.plus-select{
    color:#2563eb !important;
}
.expense-row input[name="amount[]"]{
    text-align:right;
    font-weight:800;
}

.expense-row .apply-btn,
.expense-row .delete-btn{
    height:42px;
    border:none;
    border-radius:10px;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.expense-row .apply-btn{
    background:#2563eb;
}

.expense-row .delete-btn{
    background:#dc2626;
}

.profit-add-buttons{
    display:flex;
    gap:10px;
    margin:15px 0;
}

.profit-add-buttons button{
    height:44px;
    padding:0 22px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.profit-add-buttons button.expense-add-btn{
    background:#dc2626;
}

.add-expense-btn{
    width:160px;
    height:40px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.add-expense-btn.personal{
    background:#7c3aed;
}

.profit-ledger-form > h3{
    margin-top:15px;
    color:#071b4d;
    font-size:22px;
}

.profit-ledger-form > button[type="submit"]{
    height:56px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}
.plus-text{
    color:#2563eb !important;
    font-weight:900;
}


/* =========================
   기초잔고 설정
========================= */

.profit-setting-box{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}

.profit-warning-box{
    margin:25px 0;
    padding:20px;
    border-radius:16px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#7c2d12;
    line-height:1.7;
}

.profit-warning-box strong{
    display:block;
    margin-bottom:8px;
    font-size:17px;
}

.profit-setting-error{
    margin-top:20px;
    padding:15px;
    border-radius:12px;
    background:#fee2e2;
    border:1px solid #fecaca;
    color:#dc2626;
    font-weight:800;
    text-align:center;
}

.profit-setting-form{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.profit-setting-form label{
    color:#071b4d;
    font-size:14px;
    font-weight:900;
}

.profit-setting-form input{
    height:52px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
}

.profit-setting-form input:focus{
    outline:none;
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.profit-setting-form button{
    height:56px;
    margin-top:15px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}

.profit-back-btn{
    height:46px;
    border-radius:12px;
    background:#f1f5ff;
    border:1px solid #dbe3f0;
    color:#071b4d;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

/* 금전출납부 기초설정 */

.cashbook-setting-box{

max-width:720px;

margin:auto;

}

.cashbook-warning{

background:#fff8e6;

border:1px solid #ffd76a;

padding:20px;

border-radius:15px;

margin:25px 0;

}

.cashbook-warning strong{

display:block;

margin-bottom:10px;

color:#d97706;

}

.cashbook-warning p{

line-height:1.8;

color:#444;

}

.cashbook-setting-form{

display:flex;

flex-direction:column;

gap:18px;

}

.cashbook-setting-form label{

font-weight:700;

color:#071b4d;

}

.cashbook-setting-form input{

height:52px;

padding:0 15px;

border:1px solid #dbe3f0;

border-radius:12px;

font-size:16px;

}

.cashbook-setting-form button{

height:58px;

border:none;

border-radius:12px;

background:#2563eb;

color:#fff;

font-size:17px;

font-weight:700;

cursor:pointer;

}

.cashbook-setting-form button:hover{

background:#1d4ed8;

}

.store-add-section{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.store-add-row{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px;
    border-radius:14px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.store-add-row strong{
    width:90px;
    color:#071b4d;
    font-size:14px;
}

.store-add-row button{
    height:38px;
    padding:0 15px;
    border:none;
    border-radius:9px;
    color:white;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.income-row button{
    background:#2563eb;
}

.expense-row-btns button{
    background:#dc2626;
}

/* =========================
   매장 수익/지출 버튼
========================= */

.ledger-action-box{

    margin-top:20px;
    margin-bottom:18px;

    padding:20px;

    border-radius:16px;

    border:1px solid #dbe3f0;

    background:#f8fbff;
}

.ledger-action-box h3{

    margin-bottom:15px;

    color:#071b4d;

    font-size:18px;
}

.ledger-action-buttons{

    display:flex;

    gap:12px;
}

.ledger-action-buttons button{

    width:170px;
    height:46px;

    border:none;

    border-radius:10px;

    font-size:15px;

    font-weight:800;

    color:white;

    cursor:pointer;

    transition:.25s;
}

.ledger-income-btn{

    background:#2563eb;
}

.ledger-income-btn:hover{

    background:#1d4ed8;
}

.ledger-expense-btn{

    background:#dc2626;
}

.ledger-expense-btn:hover{

    background:#b91c1c;
}

.profit-ledger-form .ledger-income-btn{
    background:#2563eb !important;
    color:white !important;
}

.profit-ledger-form .ledger-expense-btn{
    background:#dc2626 !important;
    color:white !important;
}

/* 매장 수익/지출 버튼 최종 강제 적용 */
.store-add-section .ledger-action-buttons .ledger-income-btn{
    background:#2563eb !important;
    background-color:#2563eb !important;
    color:#ffffff !important;
}

.store-add-section .ledger-action-buttons .ledger-expense-btn{
    background:#dc2626 !important;
    background-color:#dc2626 !important;
    color:#ffffff !important;
}

.store-ledger-table{
    min-width:1900px;
}

.store-ledger-table th,
.store-ledger-table td{
    font-size:12px;
    padding:10px 8px;
}

.ledger-symptom-cell{
    max-width:180px;
    white-space:normal !important;
    line-height:1.5;
    word-break:keep-all;
}

.clickable-ledger-row{
    cursor:pointer;
}

.clickable-ledger-row:hover td{
    background:#eef4ff !important;
}

.compact-ledger-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed;
}

.compact-ledger-table th,
.compact-ledger-table td{
    white-space:normal !important;
    word-break:keep-all;
    vertical-align:top;
    font-size:13px;
    line-height:1.7;
}

.compact-ledger-table th:nth-child(1),
.compact-ledger-table td:nth-child(1){
    width:16%;
}

.compact-ledger-table th:nth-child(2),
.compact-ledger-table td:nth-child(2){
    width:30%;
}

.compact-ledger-table th:nth-child(3),
.compact-ledger-table td:nth-child(3){
    width:30%;
}

.compact-ledger-table th:nth-child(4),
.compact-ledger-table td:nth-child(4){
    width:13%;
}

.compact-ledger-table th:nth-child(5),
.compact-ledger-table td:nth-child(5){
    width:11%;
}

.ledger-detail-cell{
    text-align:left !important;
}

.ledger-money-cell{
    text-align:left !important;
}

.plus-text{
    color:#2563eb !important;
    font-weight:800;
}

.minus-text{
    color:#dc2626 !important;
    font-weight:800;
}

.clickable-ledger-row{
    cursor:pointer;
}

.clickable-ledger-row:hover td{
    background:#eef4ff !important;
}

.store-ledger-card-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 16px;
}

.store-ledger-card-table td{
    border:none !important;
    padding:0 !important;
}

.ledger-card-row{
    display:grid;
    grid-template-columns:1fr 1.4fr 1.5fr 0.55fr;
    gap:14px;
    padding:16px;
    border:1px solid #dbe3f0;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.ledger-card{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:14px;
    padding:16px;
}

.ledger-card-title{
    font-size:15px;
    font-weight:900;
    color:#071b4d;
    margin-bottom:12px;
    padding-bottom:8px;
    border-bottom:1px solid #dbe3f0;
}

.ledger-card p{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin:8px 0;
    font-size:14px;
    line-height:1.5;
}

.ledger-card p span{
    color:#64748b;
    font-weight:800;
    white-space:nowrap;
}

.ledger-card p strong{
    color:#071b4d;
    text-align:right;
    word-break:keep-all;
}

.money-card{
    background:#fffdf5;
}

.ledger-profit-box{
    margin-top:12px;
    padding:12px;
    border-radius:12px;
    background:white;
    border:1px solid #facc15;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.ledger-profit-box span{
    color:#071b4d;
    font-weight:900;
}

.ledger-profit-box strong{
    font-size:18px;
    font-weight:900;
}

.manage-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
    justify-content:center;
}

.manage-card a,
.ledger-detail-btn{
    width:100%;
    height:36px;
    border-radius:9px;
    background:#1e3a8a;
    color:white;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}

.plus-text{
    color:#2563eb !important;
    font-weight:900 !important;
}

.minus-text{
    color:#dc2626 !important;
    font-weight:900 !important;
}

.clickable-ledger-row{
    cursor:pointer;
}

.clickable-ledger-row:hover{
    border-color:#2563eb;
    box-shadow:0 10px 28px rgba(37,99,235,0.15);
}

.store-period-form{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
}

.store-period-form select,
.store-period-form input{
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
}

.ledger-simple-table{
    width:100%;
    table-layout:fixed;
}

.ledger-simple-table th,
.ledger-simple-table td{
    font-size:13px;
    padding:12px 8px;
    text-align:center;
    vertical-align:middle;
    white-space:normal !important;
}

.ledger-simple-table th:nth-child(1),
.ledger-simple-table td:nth-child(1){
    width:10%;
}

.ledger-simple-table th:nth-child(2),
.ledger-simple-table td:nth-child(2){
    width:10%;
}

.ledger-simple-table th:nth-child(3),
.ledger-simple-table td:nth-child(3){
    width:17%;
}

.ledger-simple-table th:nth-child(4),
.ledger-simple-table td:nth-child(4){
    width:22%;
}

.ledger-simple-table th:nth-child(5),
.ledger-simple-table td:nth-child(5),
.ledger-simple-table th:nth-child(6),
.ledger-simple-table td:nth-child(6),
.ledger-simple-table th:nth-child(7),
.ledger-simple-table td:nth-child(7){
    width:12%;
}

.ledger-simple-table th:nth-child(8),
.ledger-simple-table td:nth-child(8){
    width:5%;
}

.ledger-repair-text{
    text-align:left !important;
    line-height:1.5;
    word-break:keep-all;
}

.ledger-toggle-btn{
    width:34px;
    height:30px;
    border:none;
    border-radius:8px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.ledger-detail-row td{
    background:#f8fbff !important;
    padding:0 !important;
}

.ledger-detail-box{
    padding:18px 22px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:12px;
    border-top:2px solid #2563eb;
    text-align:left;
}

.ledger-detail-box div{
    background:white;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:13px 15px;
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.ledger-detail-box span{
    color:#64748b;
    font-weight:800;
}

.ledger-detail-box strong{
    color:#071b4d;
}

.plus-text{
    color:#2563eb !important;
    font-weight:900 !important;
}

.minus-text{
    color:#dc2626 !important;
    font-weight:900 !important;
}

.ledger-new-date-row td{
    border-top:2px solid #dbe3f0 !important;
    background:#fbfdff !important;
}

.ledger-new-date-row td:first-child{
    position:relative;
}

.ledger-new-date-row td:first-child::before{
    content:'';
    position:absolute;
    left:0;
    top:-2px;
    width:100%;
    height:2px;
    background:#2563eb;
}

.ledger-main-row:nth-child(4n+1) td{
    background:#ffffff;
}

.ledger-main-row:nth-child(4n+3) td{
    background:#fbfdff;
}

.daily-profit-empty{
    color:#cbd5e1;
    font-weight:800;
}

.ledger-simple-table th:nth-child(8),
.ledger-simple-table td:nth-child(8){
    width:12%;
}

.ledger-simple-table th:nth-child(9),
.ledger-simple-table td:nth-child(9){
    width:5%;
}

.ledger-group-even td{
    background:#ffffff !important;
}

.ledger-group-odd td{
    background:#f6f9ff !important;
}

.ledger-date-start td{
    border-top:3px solid #c3c9f7 !important;
}

.ledger-date-total-row td{
    padding:0 8px 16px 8px !important;
    border-bottom:2px solid #dbe3f0 !important;
}

.ledger-date-total-box{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:18px;
    padding:14px 18px;
    background:#e6f5e1;
    border:1px solid #facc15;
    border-radius:12px;
    font-weight:900;
}

.ledger-date-total-box span{
    color:#071b4d;
}

.ledger-date-total-box strong{
    font-size:17px;
}


.ledger-category-form{

display:flex;

gap:10px;

margin-bottom:25px;

align-items:center;

}

.ledger-category-form select{

width:120px;

}

.ledger-category-form input{

width:250px;

}

.ledger-category-form button{

padding:10px 20px;

background:#2563eb;

color:white;

border:none;

border-radius:8px;

cursor:pointer;

}

.single-expense-box{
    grid-template-columns:130px 150px 1fr 140px 1fr 70px 70px !important;
    align-items:center;
}

.single-save-btn{
    height:42px;
    border:none;
    border-radius:9px;
    background:#2563eb;
    color:white;
    font-weight:900;
    cursor:pointer;
}

.single-delete-btn{
    height:42px;
    border:none;
    border-radius:9px;
    background:#dc2626;
    color:white;
    font-weight:900;
    cursor:pointer;
}

.ledger-summary-wrap{
    margin:30px 0 40px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.ledger-summary-line{
    display:grid;
    grid-template-columns:110px 1fr;
    align-items:stretch;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #dbe3f0;
    background:white;
}

.summary-line-title{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    font-weight:900;
    color:white;
}

.income-summary-line .summary-line-title{
    background:linear-gradient(180deg,#1e3a8a,#2563eb);
}

.expense-summary-line .summary-line-title{
    background:linear-gradient(180deg,#991b1b,#dc2626);
}

.summary-line-items{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
    gap:0;
}

.summary-line-items > div{
    min-height:86px;
    padding:14px 12px;
    border-right:1px solid #eef2ff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.summary-line-items > div:last-child{
    border-right:none;
}

.summary-line-items span{
    color:#64748b;
    font-size:14px;
    font-weight:800;
}

.summary-line-items strong{
    color:#071b4d;
    font-size:18px;
    font-weight:900;
    white-space:nowrap;
}

.income-summary-line .summary-line-items strong{
    color:#2563eb;
}

.expense-summary-line .summary-line-items strong{
    color:#dc2626;
}

.summary-total{
    background:#f8fbff;
}

.summary-total span{
    color:#071b4d;
}

.summary-total strong{
    font-size:21px;
}

.ledger-profit-line{
    min-height:90px;
    border-radius:18px;
    background:#ffffff;
    border:2px solid #dbe3f0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 36px;
    box-shadow:0 8px 22px rgba(0,0,0,.05);
}

.ledger-profit-line span{
    font-size:24px;
    font-weight:900;
    color:#071b4d;
}

.ledger-profit-line strong{
    font-size:34px;
    font-weight:900;
}

.split-pay-box{
    display:none;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.split-item{
    display:flex;
    flex-direction:column;
}

.split-item label{
    font-weight:700;
    margin-bottom:6px;
    text-align:center;
}

.split-item input{
    width:100%;
    text-align:center;
}

.cashbook-summary{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:20px;

    margin:25px 0 35px;

}

.summary-card{

    background:#fff;

    border-radius:16px;

    padding:28px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    text-align:center;

}

.summary-card span{

    display:block;

    color:#64748b;

    font-size:15px;

    margin-bottom:12px;

}

.summary-card strong{

    font-size:34px;

    font-weight:900;

}

.summary-card.bank{

    border-top:6px solid #2563eb;

}

.summary-card.cash{

    border-top:6px solid #16a34a;

}
.summary-card.card{

    border-top:6px solid #7c3aed;

}
.summary-card.total{

    border-top:6px solid #f59e0b;

}
.summary-card.card{
    border-top:6px solid #7c3aed;
}

.cashbook-summary{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:14px;
}

.summary-card.stock-asset{
    border-top:6px solid #f59e0b;
}

.ledger-mini-summary{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:10px;
    margin:14px 0 25px;
}

.mini-summary-card{
    background:#f8fbff;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:12px 14px;
    min-height:68px;
}

.mini-summary-card span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    margin-bottom:7px;
}

.mini-summary-card strong{
    display:block;
    font-size:17px;
    font-weight:900;
}

.mini-summary-card.minus strong{
    color:#dc2626;
}

.mini-summary-card.plus strong{
    color:#2563eb;
}
.cashbook-summary{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:14px !important;
    margin-bottom:14px;
}

.ledger-mini-summary{
    display:grid !important;
    grid-template-columns:repeat(4, 120px) !important;
    gap:8px !important;
    margin:8px 0 30px;
}

.mini-summary-card{
    min-height:58px !important;
    padding:10px 12px !important;
    border-radius:10px !important;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.mini-summary-card span{
    font-size:11px !important;
    line-height:1.2;
}

.mini-summary-card strong{
    font-size:14px !important;
}

.cashbook-summary{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:14px !important;
    margin:25px 0 14px !important;
}

.cashbook-summary .summary-card{
    min-height:112px;
    padding:24px 18px;
    border-radius:14px;
    background:white;
    box-shadow:0 8px 25px rgba(0,0,0,0.06);
}

.summary-card.stock-asset{
    border-top:4px solid #f59e0b;
}

.summary-card.total{
    border-top:4px solid #f97316;
}

.ledger-mini-summary{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:10px !important;
    margin:0 0 34px !important;
}

.mini-summary-card{
    min-height:72px !important;
    padding:13px 14px !important;
    border-radius:12px !important;
    background:#f8fbff !important;
    border:1px solid #dbe3f0 !important;
    box-shadow:none !important;
}

.mini-summary-card span{
    display:block;
    color:#64748b;
    font-size:12px !important;
    font-weight:800;
    margin-bottom:7px;
}

.mini-summary-card strong{
    display:block;
    font-size:17px !important;
    font-weight:900;
}

.mini-summary-card.minus strong{
    color:#dc2626 !important;
}

.mini-summary-card.plus strong{
    color:#2563eb !important;
}
.cashbook-summary{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:14px !important;
    margin:25px 0 12px !important;
}

.cashbook-summary .summary-card{
    min-height:112px !important;
}

.ledger-mini-summary{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:10px !important;
    margin:0 0 34px 0 !important;
}

.mini-summary-card{
    min-height:70px !important;
    padding:12px 14px !important;
    border-radius:12px !important;
    background:#f8fbff !important;
    border:1px solid #dbe3f0 !important;
    box-shadow:none !important;
}

.mini-summary-card span{
    display:block !important;
    font-size:12px !important;
    font-weight:800 !important;
    color:#64748b !important;
    margin-bottom:7px !important;
}

.mini-summary-card strong{
    display:block !important;
    font-size:17px !important;
    font-weight:900 !important;
}

.mini-summary-card.minus strong{
    color:#dc2626 !important;
}
.ledger-mini-summary{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:14px !important;
    margin:12px 0 34px 0 !important;
}

.ledger-mini-summary .mini-summary-card{
    width:100% !important;
    min-width:0 !important;
    min-height:78px !important;
    padding:14px 16px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    border:1px solid #dbe3f0 !important;
    border-top:4px solid #dc2626 !important;
    box-shadow:0 8px 22px rgba(0,0,0,0.04) !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
}

.ledger-mini-summary .mini-summary-card span{
    display:block !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    margin-bottom:8px !important;
    white-space:nowrap !important;
}

.ledger-mini-summary .mini-summary-card strong{
    display:block !important;
    color:#dc2626 !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

.summary-prev{
    display:block;
    margin-top:9px;
    font-size:13px;
    font-weight:800;
    color:#64748b;
}

.diff-up{
    color:#2563eb;
    font-weight:900;
}

.diff-down{
    color:#dc2626;
    font-weight:900;
}

.diff-zero{
    color:#64748b;
    font-weight:900;
}

.summary-prev .diff-up,
.diff-up{
    color:#2563eb !important;
    font-weight:900 !important;
}

.summary-prev .diff-down,
.diff-down{
    color:#dc2626 !important;
    font-weight:900 !important;
}

.summary-prev .diff-zero,
.diff-zero{
    color:#64748b !important;
    font-weight:900 !important;
}
.cashbook-dashboard{
    display:grid !important;
    grid-template-columns:3fr 1fr !important;
    gap:14px !important;
    margin:25px 0 14px !important;
}

.asset-left-grid{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:14px !important;
}

.cashbook-dashboard .summary-card{
    min-height:118px !important;
    padding:22px 18px !important;
    border-radius:16px !important;
    background:white !important;
    border:1px solid #dbe3f0 !important;
    box-shadow:0 8px 22px rgba(0,0,0,0.05) !important;
}

.asset-total-card{
    min-height:250px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    border-top:6px solid #0f172a !important;
}

.asset-total-card strong{
    font-size:30px !important;
}

.ledger-detail-toggle{
    width:100% !important;
    height:44px !important;
    border:none !important;
    border-radius:12px !important;
    background:#f1f5ff !important;
    color:#071b4d !important;
    font-size:15px !important;
    font-weight:900 !important;
    cursor:pointer !important;
    margin:8px 0 14px !important;
}

.ledger-detail-box{
    display:none !important;
    padding:16px !important;
    border:1px solid #dbe3f0 !important;
    border-radius:16px !important;
    background:#f8fbff !important;
    margin-bottom:30px !important;
}

.ledger-detail-box.active{
    display:block !important;
}

.ledger-detail-row{
    display:grid !important;
    grid-template-columns:70px repeat(3, 1fr) !important;
    gap:12px !important;
    align-items:center !important;
}

.ledger-detail-row + .ledger-detail-row{
    margin-top:12px !important;
}

.ledger-detail-title{
    font-size:16px !important;
    font-weight:900 !important;
    color:#071b4d !important;
    text-align:center !important;
}

.ledger-detail-row .mini-summary-card{
    min-height:76px !important;
    padding:13px 14px !important;
    border-radius:14px !important;
    background:white !important;
    border:1px solid #dbe3f0 !important;
    box-shadow:0 5px 16px rgba(0,0,0,0.04) !important;
    text-align:center !important;
}

.ledger-detail-row .mini-summary-card span{
    display:block !important;
    font-size:12px !important;
    font-weight:800 !important;
    color:#64748b !important;
    margin-bottom:8px !important;
}

.ledger-detail-row .mini-summary-card strong{
    display:block !important;
    font-size:18px !important;
    font-weight:900 !important;
}

.ledger-detail-row.income .mini-summary-card{
    border-top:4px solid #2563eb !important;
}

.ledger-detail-row.income .mini-summary-card strong{
    color:#2563eb !important;
}

.ledger-detail-row.expense .mini-summary-card{
    border-top:4px solid #dc2626 !important;
}

.ledger-detail-row.expense .mini-summary-card strong{
    color:#dc2626 !important;
}

.pending-link{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-decoration:none !important;
    color:inherit !important;
}

.pending-row-form{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
}

.pending-row-form select{
    height:32px;
    border:1px solid #dbe3f0;
    border-radius:7px;
    padding:0 8px;
    font-size:12px;
}

.pending-row-form button{
    height:32px;
    border:none;
    border-radius:7px;
    background:#2563eb;
    color:white;
    font-size:12px;
    font-weight:800;
    padding:0 10px;
    cursor:pointer;
}

.pending-row-form a{
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border-radius:7px;
    background:#dc2626;
    color:white;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.settlement-status-select.status-pending{
    background:#dc2626 !important;
    color:white !important;
    border-color:#dc2626 !important;
}

.settlement-status-select.status-complete{
    background:#03b800 !important;
    color:white !important;
    border-color:#03b800 !important;
}

.settlement-status-select.status-pending{
    background:#dc2626 !important;
    color:white !important;
    border-color:#dc2626 !important;
}

.settlement-status-select.status-complete{
    background:#16a34a !important;
    color:white !important;
    border-color:#16a34a !important;
}

.summary-link{
    text-decoration:none !important;
    color:inherit !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.summary-link:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(37,99,235,.12) !important;
}

.settlement-text-pending{
    color:#dc2626;
    font-weight:900;
}

.settlement-text-complete{
    color:#16a34a;
    font-weight:900;
}

.bank-toggle-card{
    cursor:pointer;
}

.bank-detail-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:8px;
    font-size:16px;
}

.bank-detail-line em{
    font-style:normal;
    color:#64748b;
    font-weight:800;
}

.bank-detail-line b{
    color:#0f172a;
    font-weight:900;
    white-space:nowrap;
}

.bulk-delete-btn{
    height:34px;
    padding:0 14px;
    border:none;
    border-radius:8px;
    background:#dc2626;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    margin:8px 0 12px;
}

.sales-toggle-card .bank-detail-line,
.card-toggle-card .card-detail-line{
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:3px 0 !important;
    margin-top:4px !important;
}

.sales-toggle-card .bank-detail-line em,
.card-toggle-card .card-detail-line em{
    font-style:normal !important;
    font-size:12px !important;
    font-weight:800 !important;
    color:#64748b !important;
}

.sales-toggle-card .bank-detail-line b,
.card-toggle-card .card-detail-line b{
    font-size:13px !important;
    font-weight:900 !important;
    color:#2563eb !important;
}

.card-detail-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:6px;
}

.card-detail-line em{
    font-style:normal;
    font-size:12px;
    font-weight:800;
    color:#64748b;
}

.card-detail-line b{
    font-size:13px;
    font-weight:900;
}

.card-detail-line .plus-text{
    color:#2563eb !important;
}

.card-detail-line .minus-text{
    color:#dc2626 !important;
}

.fee-text{
    color:#dc2626;
    font-weight:800;
}

.card-fee-red{
    color:#dc2626 !important;
    font-weight:900;
}

.card-total-purple{
    color:#7c3aed !important;
    font-weight:900;
    font-size:14px;
}
.card-toggle-card .card-detail-line .card-fee-red{
    color:#dc2626 !important;
    font-weight:900 !important;
}

.card-toggle-card .card-detail-line .card-total-purple{
    color:#7c3aed !important;
    font-weight:900 !important;
    font-size:14px !important;
}
.inventory-add-section{
    padding:50px 20px;
}

.inventory-add-wrap{
    max-width:1500px;
    margin:0 auto;
    background:#fff;
    border-radius:22px;
    padding:38px;
    box-shadow:0 18px 45px rgba(15, 23, 42, 0.12);
}

.inventory-add-title{
    text-align:left;
    margin-bottom:28px;
}

.inventory-add-title h2{
    font-size:32px;
    color:#0f2a5f;
    margin:0 0 8px;
    font-weight:900;
}

.inventory-add-title p{
    color:#64748b;
    margin:0;
    font-size:15px;
}

.inventory-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 330px;
    gap:24px;
    align-items:start;
}

.inventory-form-left{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.inventory-card{
    border:1px solid #dbe5f3;
    border-radius:18px;
    padding:22px;
    background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.inventory-card-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}

.inventory-card-title span{
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#2563eb;
    color:#fff;
    font-weight:900;
    font-size:15px;
}

.inventory-card-title h3{
    margin:0;
    font-size:20px;
    color:#0f2a5f;
    font-weight:900;
}

.inventory-grid-3{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px 22px;
}

.inventory-settlement-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.inventory-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.inventory-field label{
    font-size:13px;
    font-weight:800;
    color:#0f172a;
}

.inventory-field select,
.inventory-field input,
.inventory-field textarea{
    width:100%;
    height:46px;
    border:1px solid #d8e2ef;
    border-radius:10px;
    padding:0 14px;
    font-size:14px;
    color:#0f172a;
    background:#fff;
    box-sizing:border-box;
}

.inventory-field textarea{
    height:86px;
    padding:14px;
    resize:vertical;
}

.inventory-full{
    grid-column:1 / -1;
}

.input-unit-wrap{
    display:flex;
    align-items:center;
}

.input-unit-wrap input{
    border-radius:10px 0 0 10px;
}

.input-unit-wrap span{
    height:46px;
    min-width:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d8e2ef;
    border-left:0;
    border-radius:0 10px 10px 0;
    background:#f1f5f9;
    color:#334155;
    font-weight:800;
    box-sizing:border-box;
}

.readonly-total input{
    background:#eef4ff;
    color:#64748b;
}

.settlement-radio-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.settlement-radio{
    height:46px;
    border:1px solid #d8e2ef;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    background:#fff;
    color:#334155;
    font-weight:800;
}

.settlement-radio input{
    width:auto;
    height:auto;
    margin-right:8px;
}

.settlement-radio:has(input:checked){
    border-color:#2563eb;
    background:#eff6ff;
    color:#1d4ed8;
}

.settlement-guide{
    background:#eaf2ff;
    color:#2563eb;
    font-size:12px;
    font-weight:700;
    padding:8px 10px;
    border-radius:8px;
}

.memo-help{
    background:#eaf2ff;
    color:#2563eb;
    font-size:12px;
    font-weight:700;
    padding:9px 12px;
    border-radius:8px;
    margin-bottom:10px;
}

.item-memo-wrap{
    display:grid;
    gap:8px;
}

.item-memo-row{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:10px;
    align-items:center;
}

.item-memo-row span{
    font-size:13px;
    color:#334155;
    font-weight:800;
}

.inventory-submit-btn{
    height:56px;
    border:0;
    border-radius:13px;
    background:linear-gradient(135deg, #1e40af, #2563eb);
    color:#fff;
    font-size:17px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(37, 99, 235, 0.25);
}

.inventory-summary-panel{
    position:sticky;
    top:100px;
    border:1px solid #dbe5f3;
    border-radius:18px;
    padding:22px;
    background:#ffffff;
    box-shadow:0 12px 28px rgba(15, 23, 42, 0.08);
}

.summary-panel-title{
    margin-bottom:20px;
}

.summary-panel-title h3{
    margin:0 0 6px;
    color:#0f2a5f;
    font-size:21px;
    font-weight:900;
}

.summary-panel-title p{
    margin:0;
    color:#64748b;
    font-size:13px;
}

.summary-group{
    border-top:1px solid #e2e8f0;
    padding:18px 0;
}

.summary-group h4{
    margin:0 0 12px;
    color:#1d4ed8;
    font-size:15px;
    font-weight:900;
}

.summary-group dl{
    margin:0;
    display:grid;
    gap:9px;
}

.summary-group dt,
.summary-group dd{
    font-size:13px;
}

.summary-group dl{
    grid-template-columns:95px 1fr;
}

.summary-group dt{
    color:#64748b;
    font-weight:800;
}

.summary-group dd{
    margin:0;
    color:#0f172a;
    text-align:right;
    font-weight:800;
}

.summary-group dd strong{
    color:#1d4ed8;
}

.summary-notice{
    margin-top:8px;
    padding:14px;
    border-radius:12px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:13px;
    font-weight:800;
    line-height:1.5;
}

@media(max-width:1100px){
    .inventory-layout{
        grid-template-columns:1fr;
    }

    .inventory-summary-panel{
        position:static;
    }
}

@media(max-width:760px){
    .inventory-add-wrap{
        padding:24px 16px;
    }

    .inventory-grid-3,
    .inventory-settlement-grid{
        grid-template-columns:1fr;
    }
}
.inventory-edit-buttons{
    display:grid;
    grid-template-columns:1fr 160px;
    gap:12px;
}

.inventory-cancel-btn{
    height:56px;
    border-radius:13px;
    background:#f1f5f9;
    color:#334155;
    font-size:16px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border:1px solid #d8e2ef;
}

.inventory-table{
    width:100%;
    table-layout:fixed;
}

.inventory-table th,
.inventory-table td{
    white-space:normal;
    word-break:break-all;
    overflow-wrap:anywhere;
    vertical-align:middle;
}

.inventory-table .memo-th,
.inventory-table .inventory-memo-cell{
    width:180px;
    max-width:180px;
}

.inventory-table th:last-child,
.inventory-table td:last-child{
    width:120px;
    min-width:120px;
}

.inventory-memo-cell{
    line-height:1.5;
    text-align:left;
}

.inventory-table .admin-action-btns{
    display:flex;
    gap:6px;
    justify-content:center;
    align-items:center;
    flex-wrap:nowrap;
    min-width:110px;
}

.inventory-table .admin-small-btn,
.inventory-table .admin-delete-btn{
    white-space:nowrap;
    min-width:45px;
    height:34px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}
/* 거래내역 표가 페이지 밖으로 튀어나가지 않도록 감싸는 영역 */
.ledger-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:10px;
}

/* 금전출납부 거래내역 전용 테이블 */
.ledger-transaction-table{
    width:100%;
    min-width:1500px;
    table-layout:fixed;
    border-collapse:collapse;
}

/* 제목은 무조건 1행 유지 */
.ledger-transaction-table thead th{
    white-space:nowrap;
    word-break:keep-all;
    text-align:center;
    vertical-align:middle;
    font-size:13px;
    padding:13px 8px;
    line-height:1.2;
}

/* 일반 내용 정렬 */
.ledger-transaction-table tbody td{
    text-align:center;
    vertical-align:middle;
    font-size:13px;
    padding:11px 8px;
    line-height:1.35;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    box-sizing:border-box;
}

/* 컬럼별 폭 */
.ledger-transaction-table .col-check{width:34px;}
.ledger-transaction-table .col-date{width:95px;}
.ledger-transaction-table .col-target{width:58px;}
.ledger-transaction-table .col-type{width:72px;}
.ledger-transaction-table .col-settlement{width:85px;}
.ledger-transaction-table .col-payment{width:85px;}
.ledger-transaction-table .col-bank{width:120px;}
.ledger-transaction-table .col-category{width:230px;}
.ledger-transaction-table .col-amount{width:105px;}
.ledger-transaction-table .col-material{width:95px;}
.ledger-transaction-table .col-fee{width:85px;}
.ledger-transaction-table .col-vat{width:85px;}
.ledger-transaction-table .col-source{width:95px;}
.ledger-transaction-table .col-memo{width:180px;}
.ledger-transaction-table .col-manage{width:275px;}

/* 세부항목, 메모는 길어질 수 있으므로 줄바꿈 허용 */
.ledger-transaction-table tbody td:nth-child(8),
.ledger-transaction-table tbody td:nth-child(14){
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:anywhere;
    text-overflow:clip;
    text-align:center;
}

/* 금액, 수수료는 오른쪽 정렬 */
.ledger-transaction-table tbody td:nth-child(9),
.ledger-transaction-table tbody td:nth-child(10),
.ledger-transaction-table tbody td:nth-child(11),
.ledger-transaction-table tbody td:nth-child(12){
    text-align:right;
    font-weight:800;
}

/* 관리 칸은 잘리지 않게 */
.ledger-transaction-table tbody td:nth-child(15){
    overflow:visible;
    white-space:nowrap;
}

/* 관리 폼 한 줄 정렬 */
.ledger-transaction-table .pending-row-form{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:nowrap;
    width:100%;
}

/* 관리 칸 select 크기 고정 */
.ledger-transaction-table .pending-row-form select{
    width:108px;
    min-width:0;
    height:32px;
    padding:0 6px;
    font-size:12px;
    border-radius:6px;
    box-sizing:border-box;
}

/* 정산상태 select는 조금 작게 */
.ledger-transaction-table .pending-row-form .settlement-status-select{
    width:82px;
}

/* 관리 버튼 크기 고정 */
.ledger-transaction-table .pending-row-form button,
.ledger-transaction-table .pending-row-form a{
    height:32px;
    min-width:42px;
    padding:0 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    font-size:12px;
    font-weight:800;
    border-radius:6px;
    box-sizing:border-box;
    flex:0 0 auto;
}

/* 체크박스 중앙 정렬 */
.ledger-transaction-table input[type="checkbox"]{
    margin:0;
}

/* 모바일이나 좁은 화면에서는 가로 스크롤로 처리 */
@media(max-width:1450px){
    .ledger-table-wrap{
        overflow-x:auto;
    }

    .ledger-transaction-table{
        width:1500px;
    }
}
.ledger-stock-view{
    width:100%;
    margin-top:18px;
}

.ledger-stock-summary{
    margin:18px 0 22px;
}

.ledger-stock-section-title{
    margin:26px 0 14px;
    font-size:20px;
    color:#0f2a5f;
    font-weight:900;
}

.ledger-stock-model-table,
.ledger-stock-latest-table{
    width:100%;
    table-layout:fixed;
}

.ledger-stock-model-table th,
.ledger-stock-model-table td,
.ledger-stock-latest-table th,
.ledger-stock-latest-table td{
    text-align:center;
    vertical-align:middle;
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

.ledger-stock-latest-table th:nth-child(11),
.ledger-stock-latest-table td:nth-child(11){
    width:180px;
    max-width:180px;
}

.ledger-stock-latest-table .inventory-memo-cell{
    text-align:left;
    line-height:1.45;
}

.ledger-stock-latest-table .admin-action-btns{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
}

.ledger-stock-latest-table .admin-small-btn{
    min-width:48px;
    height:32px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

.model-stock-detail-box{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding:14px 0;
}

.model-stock-category{
    min-width:260px;
    border:1px solid #dbe5f3;
    border-radius:10px;
    padding:12px;
    background:#fff;
}

.model-stock-category h4{
    margin:0 0 10px;
    font-size:14px;
    color:#0f2a5f;
    font-weight:900;
}

.model-stock-items{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.model-stock-items span{
    display:inline-flex;
    align-items:center;
    padding:6px 9px;
    border-radius:999px;
    background:#eef4ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
}

.stock-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.stock-in{
    background:#dcfce7;
    color:#15803d;
}

.stock-low{
    background:#fff3cd;
    color:#b45309;
}

.stock-out{
    background:#fee2e2;
    color:#dc2626
}

.now-date-btn{
    height:44px;
    padding:0 18px;
    border:0;
    border-radius:10px;
    background:#1e40af;
    color:#fff;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}

.now-date-btn:hover{
    background:#2563eb;
}

.ledger-detail-title-cell{
    text-align:left !important;
    line-height:1.45;
    white-space:normal !important;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

.ledger-transaction-table .col-vat{
    width:85px;
}

.ledger-transaction-table .vat-text{
    color:#dc2626;
    font-weight:800;
    text-align:right;
}

.ledger-transaction-table .fee-text{
    color:#dc2626;
    font-weight:800;
    text-align:right;
}

.bulk-mode-toggle-btn{
    padding:10px 14px;
    border:0;
    border-radius:10px;
    background:#2563eb;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.bulk-mode-toggle-btn:hover{
    background:#1d4ed8;
}

.bulk-mode-help{
    margin-top:8px;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}
.minus-text,
.card-fee-red,
.fee-text,
.vat-text{
    color:#dc2626 !important;
    font-weight:800;
}
.plus-text{
    color:#2563eb;
    font-weight:800;
}

/* =========================
   관리자 메인 대시보드 - 시안 3
========================= */

.admin-dashboard-section{
    width:90%;
    max-width:1700px;
    margin:70px auto;
}

.admin-dashboard-box{
    background:rgba(255,255,255,0.96);
    border:1px solid rgba(219,227,240,0.9);
    border-radius:26px;
    padding:42px;
    box-shadow:
        0 20px 55px rgba(15,23,42,0.08),
        inset 0 1px 0 rgba(255,255,255,0.7);
    position:relative;
    overflow:hidden;
}

.admin-dashboard-box::before{
    content:'';
    position:absolute;
    right:-160px;
    top:-160px;
    width:420px;
    height:420px;
    background:radial-gradient(circle, rgba(37,99,235,0.12), transparent 65%);
    pointer-events:none;
}

.admin-dashboard-box::after{
    content:'';
    position:absolute;
    left:-160px;
    bottom:-160px;
    width:420px;
    height:420px;
    background:radial-gradient(circle, rgba(59,130,246,0.10), transparent 65%);
    pointer-events:none;
}

.admin-dashboard-head{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:28px;
}

.admin-dashboard-head h2{
    font-size:38px;
    color:#071b4d;
    margin:0 0 8px;
}

.admin-dashboard-head p{
    color:#64748b;
    font-size:16px;
    line-height:1.5;
}

.admin-user-badge{
    min-width:190px;
    padding:16px 18px;
    border-radius:18px;
    background:linear-gradient(135deg,#0f172a,#2563eb);
    color:white;
    text-align:right;
    box-shadow:0 12px 30px rgba(37,99,235,0.20);
}

.admin-user-badge strong{
    display:block;
    font-size:17px;
    margin-bottom:5px;
}

.admin-user-badge span{
    font-size:13px;
    opacity:.9;
}

.admin-stat-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:24px;
}

.admin-stat-card{
    min-height:128px;
    padding:22px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e2e8f0;
    display:flex;
    align-items:center;
    gap:17px;
    box-shadow:0 10px 25px rgba(15,23,42,0.06);
    transition:.25s;
}

.admin-stat-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 36px rgba(15,23,42,0.10);
}

.admin-stat-card .stat-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex-shrink:0;
}

.admin-stat-card span{
    display:block;
    font-size:14px;
    color:#64748b;
    font-weight:800;
    margin-bottom:6px;
}

.admin-stat-card strong{
    display:block;
    font-size:28px;
    color:#0f172a;
    line-height:1.2;
    margin-bottom:6px;
}

.admin-stat-card small{
    color:#94a3b8;
    font-weight:700;
}

.admin-stat-card.blue .stat-icon{
    background:#dbeafe;
    color:#2563eb;
}

.admin-stat-card.green .stat-icon{
    background:#dcfce7;
    color:#16a34a;
}

.admin-stat-card.orange .stat-icon{
    background:#ffedd5;
    color:#f97316;
}

.admin-stat-card.purple .stat-icon{
    background:#ede9fe;
    color:#7c3aed;
}

.admin-quick-box{
    position:relative;
    z-index:2;
    margin:28px 0;
    padding:22px;
    border-radius:22px;
    border:1px solid #dbeafe;
    background:
        linear-gradient(135deg, rgba(239,246,255,0.95), rgba(255,255,255,0.95));
    display:grid;
    grid-template-columns:210px 1fr 150px;
    gap:18px;
    align-items:center;
}

.quick-info strong{
    display:block;
    color:#071b4d;
    font-size:20px;
    margin-bottom:6px;
}

.quick-info p{
    color:#64748b;
    font-size:14px;
    line-height:1.5;
}

.quick-menu-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.quick-menu-btn{
    height:64px;
    border-radius:16px;
    background:#ffffff;
    border:1px solid #dbe3f0;
    color:#071b4d;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-size:16px;
    font-weight:900;
    box-shadow:0 7px 18px rgba(15,23,42,0.05);
    transition:.25s;
}

.quick-menu-btn span{
    font-size:24px;
}

.quick-menu-btn:hover{
    transform:translateY(-3px);
    border-color:#2563eb;
    box-shadow:0 12px 28px rgba(37,99,235,0.15);
    color:#2563eb;
}

.quick-setting-btn{
    height:48px;
    border:none;
    border-radius:14px;
    background:linear-gradient(90deg,#1e3a8a,#2563eb);
    color:white;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(37,99,235,0.20);
}

.quick-setting-panel{
    position:relative;
    z-index:2;
    display:none;
    margin-bottom:28px;
    padding:24px;
    border:1px solid #c7d2fe;
    border-radius:22px;
    background:#f8fbff;
}

.quick-setting-panel.active{
    display:block;
}

.quick-setting-title{
    margin-bottom:18px;
}

.quick-setting-title strong{
    display:block;
    color:#071b4d;
    font-size:20px;
    margin-bottom:5px;
}

.quick-setting-title p{
    color:#64748b;
    font-size:14px;
}

.quick-setting-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.quick-check-item{
    min-height:58px;
    padding:12px 14px;
    border:1px solid #dbe3f0;
    border-radius:15px;
    background:white;
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    transition:.2s;
}

.quick-check-item:hover{
    border-color:#2563eb;
    box-shadow:0 8px 18px rgba(37,99,235,0.12);
}

.quick-check-item input{
    width:18px;
    height:18px;
}

.quick-check-item span{
    font-size:22px;
}

.quick-check-item strong{
    color:#071b4d;
    font-size:14px;
}

.quick-setting-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}

.quick-setting-actions button{
    height:42px;
    padding:0 18px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-weight:900;
    cursor:pointer;
}

.quick-setting-actions .cancel-btn{
    background:#64748b;
}

.admin-menu-section-title{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin:30px 0 16px;
}

.admin-menu-section-title h3{
    color:#071b4d;
    font-size:24px;
}

.admin-menu-section-title p{
    color:#64748b;
    font-size:14px;
}

.admin-new-menu-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.admin-menu-group{
    border:1px solid #dbe3f0;
    border-radius:22px;
    background:rgba(255,255,255,0.86);
    overflow:hidden;
    box-shadow:0 8px 22px rgba(15,23,42,0.04);
}

.admin-menu-group-head{
    height:58px;
    padding:0 20px;
    display:flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(90deg,#f1f5ff,#ffffff);
    border-bottom:1px solid #e2e8f0;
}

.admin-menu-group-head span{
    font-size:24px;
}

.admin-menu-group-head strong{
    color:#071b4d;
    font-size:18px;
}

.admin-menu-items{
    padding:16px;
    display:grid;
    gap:12px;
}

.admin-new-card{
    min-height:84px;
    padding:16px;
    display:grid;
    grid-template-columns:54px 1fr 24px;
    gap:14px;
    align-items:center;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    text-decoration:none;
    color:#0f172a;
    transition:.25s;
}

.admin-new-card:hover{
    transform:translateY(-3px);
    border-color:#2563eb;
    box-shadow:0 14px 28px rgba(37,99,235,0.12);
}

.new-card-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    background:#eff6ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:27px;
}

.new-card-text strong{
    display:block;
    color:#071b4d;
    font-size:17px;
    margin-bottom:5px;
}

.new-card-text p{
    color:#64748b;
    font-size:14px;
    line-height:1.45;
}

.new-card-arrow{
    color:#94a3b8;
    font-size:30px;
    font-weight:300;
}

.admin-new-card:hover .new-card-arrow{
    color:#2563eb;
}

.store-card-fee-text{
    display:block;
    margin-top:4px;
    font-size:12px;
    font-weight:800;
    color:#dc2626;
    line-height:1.35;
}

/* =========================
   매장 수익/지출 자세히 전용
   기존 ledger-detail-row / ledger-detail-box 충돌 방지
========================= */

.store-ledger-toggle-btn{
    width:34px;
    height:30px;
    border:none;
    border-radius:8px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.store-ledger-toggle-btn:hover{
    background:#2563eb;
}

.store-ledger-detail-row{
    display:none;
}

.store-ledger-detail-row td{
    background:#f8fbff !important;
    padding:0 !important;
}

.store-ledger-detail-box{
    padding:18px 22px !important;
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:12px !important;
    border-top:2px solid #2563eb !important;
    text-align:left !important;
    background:#f8fbff !important;
}

.store-ledger-detail-box div{
    background:white !important;
    border:1px solid #dbe3f0 !important;
    border-radius:12px !important;
    padding:13px 15px !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:12px !important;
}

.store-ledger-detail-box span{
    color:#64748b !important;
    font-weight:800 !important;
}

.store-ledger-detail-box strong{
    color:#071b4d !important;
}

/* =========================
   판매관리 / 고객 구매하기
========================= */

.sales-admin-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px;
}

.sales-admin-thumb{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #dbe3f0;
}

.sales-product-form label{
    display:block;
    margin:18px 0 8px;
    font-size:14px;
    font-weight:900;
    color:#0f172a;
}

.sales-product-form input,
.sales-product-form select,
.sales-product-form textarea{
    width:100%;
    min-height:44px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 14px;
    font-size:14px;
    box-sizing:border-box;
}

.sales-product-form textarea{
    min-height:150px;
    padding:14px;
    resize:vertical;
}

.sales-form-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:16px 20px;
}

.sales-form-help{
    margin-top:8px;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

.sales-submit-btn{
    margin-top:28px;
    width:100%;
    height:54px;
    border:none;
    border-radius:14px;
    background:#1e3a8a;
    color:white;
    font-size:17px;
    font-weight:900;
    cursor:pointer;
}

.sales-submit-btn:hover{
    background:#2563eb;
}

/* 고객 구매하기 목록 */

.buy-page-section{
    width:90%;
    max-width:1500px;
    margin:70px auto;
}

.buy-page-head{
    margin-bottom:35px;
    text-align:center;
}

.buy-page-head h2{
    font-size:36px;
    font-weight:900;
    color:#0f172a;
    margin-bottom:10px;
}

.buy-page-head p{
    color:#64748b;
    font-size:16px;
}

.buy-product-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:26px;
}

.buy-product-card{
    display:block;
    text-decoration:none;
    color:inherit;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 34px rgba(15,23,42,0.08);
    transition:0.25s;
}

.buy-product-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 42px rgba(15,23,42,0.14);
}

.buy-product-img-box{
    position:relative;
    height:280px;
    background:#f8fafc;
}

.buy-product-img-box img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.buy-status-badge{
    position:absolute;
    top:14px;
    left:14px;
    padding:7px 12px;
    border-radius:999px;
    background:#1e3a8a;
    color:white;
    font-size:12px;
    font-weight:900;
}

.buy-product-info{
    padding:22px;
}

.buy-product-info h3{
    font-size:19px;
    font-weight:900;
    color:#0f172a;
    margin-bottom:10px;
    line-height:1.35;
}

.buy-product-spec{
    color:#475569;
    font-size:14px;
    font-weight:700;
    margin-bottom:10px;
}

.buy-product-desc{
    color:#64748b;
    font-size:13px;
    line-height:1.5;
    min-height:38px;
    margin-bottom:16px;
}

.buy-product-price{
    display:block;
    font-size:22px;
    font-weight:900;
    color:#2563eb;
}

.buy-empty-box{
    grid-column:1 / -1;
    padding:70px 20px;
    text-align:center;
    border-radius:24px;
    background:#f8fafc;
    color:#64748b;
    font-weight:800;
}

.buy-no-image{
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#94a3b8;
    font-weight:900;
}

.buy-no-image.detail{
    height:520px;
}

/* 고객 상세 */

.buy-detail-section{
    width:90%;
    max-width:1500px;
    margin:70px auto;
}

.buy-detail-box{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:50px;
    background:white;
    border-radius:30px;
    padding:40px;
    box-shadow:0 16px 48px rgba(15,23,42,0.1);
}

.buy-detail-main-image{
    width:100%;
    height:580px;
    border-radius:24px;
    overflow:hidden;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.buy-detail-main-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.buy-thumb-list{
    display:flex;
    gap:12px;
    margin-top:16px;
    overflow-x:auto;
    padding-bottom:8px;
}

.buy-thumb-btn{
    flex:0 0 auto;
    width:86px;
    height:86px;
    border:2px solid #e2e8f0;
    border-radius:14px;
    overflow:hidden;
    padding:0;
    background:white;
    cursor:pointer;
}

.buy-thumb-btn:hover{
    border-color:#2563eb;
}

.buy-thumb-btn img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.buy-detail-status{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:#dbeafe;
    color:#1e40af;
    font-size:13px;
    font-weight:900;
    margin-bottom:18px;
}

.buy-detail-info h2{
    font-size:34px;
    font-weight:900;
    color:#0f172a;
    line-height:1.3;
    margin-bottom:14px;
}

.buy-detail-short{
    color:#64748b;
    font-size:16px;
    line-height:1.6;
    margin-bottom:22px;
}

.buy-detail-price{
    display:block;
    font-size:34px;
    font-weight:900;
    color:#2563eb;
    margin-bottom:28px;
}

.buy-spec-table{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
    margin-bottom:28px;
}

.buy-spec-table div{
    padding:16px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
}

.buy-spec-table span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    margin-bottom:7px;
}

.buy-spec-table strong{
    color:#0f172a;
    font-size:16px;
    font-weight:900;
}

.buy-detail-description{
    padding:22px;
    border-radius:18px;
    background:#f8fafc;
    color:#334155;
    line-height:1.7;
    font-size:15px;
    margin-bottom:28px;
}

.buy-action-box button{
    width:100%;
    height:56px;
    border:none;
    border-radius:16px;
    background:#1e3a8a;
    color:white;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}

.buy-action-box button:disabled{
    background:#94a3b8;
    cursor:not-allowed;
}

@media screen and (max-width:1200px){
    .buy-product-grid{
        grid-template-columns:repeat(3, 1fr);
    }

    .buy-detail-box{
        grid-template-columns:1fr;
    }
}

@media screen and (max-width:800px){
    .sales-form-grid{
        grid-template-columns:1fr;
    }

    .buy-product-grid{
        grid-template-columns:1fr;
    }

    .buy-detail-box{
        padding:20px;
    }

    .buy-detail-main-image{
        height:420px;
    }

    .buy-spec-table{
        grid-template-columns:1fr;
    }
}


/* =========================
   시안 4번 구매하기 페이지
========================= */

.shop-hero-section{
    width:100%;
    min-height:270px;
    background:
        radial-gradient(circle at 38% 20%, rgba(96,165,250,0.25), transparent 28%),
        linear-gradient(135deg, #06132f 0%, #0b1f4d 48%, #123f91 100%);
    color:white;
    overflow:hidden;
}

.shop-hero-inner{
    width:92%;
    max-width:1800px;
    margin:0 auto;
    min-height:270px;
    display:grid;
    grid-template-columns:1.05fr 1fr;
    align-items:center;
    gap:46px;
    position:relative;
}

.shop-hero-inner::before{
    content:"";
    position:absolute;
    left:42%;
    top:-80px;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(59,130,246,0.16);
    filter:blur(10px);
}

.shop-hero-label{
    display:inline-block;
    margin-bottom:16px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(255,255,255,0.12);
    color:#bfdbfe;
    font-size:12px;
    font-weight:900;
    letter-spacing:0.5px;
}

.shop-hero-left{
    position:relative;
    z-index:2;
}

.shop-hero-left h1{
    margin:0 0 16px;
    font-size:46px;
    font-weight:950;
    letter-spacing:-1.5px;
    color:white;
}

.shop-hero-left p{
    margin:0;
    color:#dbeafe;
    font-size:18px;
    font-weight:600;
    line-height:1.6;
}

.shop-hero-points{
    display:flex;
    flex-wrap:wrap;
    gap:26px;
    margin-top:28px;
}

.shop-hero-points div{
    color:#c7d2fe;
    font-size:14px;
    font-weight:800;
}

.shop-hero-points span{
    display:inline-flex;
    width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
    margin-right:6px;
    border-radius:50%;
    background:rgba(37,99,235,0.45);
    color:#bfdbfe;
}

.shop-hero-right{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}

.shop-promo-card{
    min-height:135px;
    padding:22px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(59,130,246,0.34), rgba(37,99,235,0.18));
    border:1px solid rgba(147,197,253,0.25);
    box-shadow:0 14px 34px rgba(0,0,0,0.18);
    backdrop-filter:blur(10px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.shop-promo-card span{
    display:block;
    color:#bfdbfe;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.shop-promo-card strong{
    display:block;
    color:white;
    font-size:22px;
    font-weight:950;
    line-height:1.25;
}

.shop-promo-card p{
    margin:8px 0 0;
    color:#dbeafe;
    font-size:13px;
}

.shop-promo-card a{
    width:30px;
    height:30px;
    border-radius:50%;
    background:white;
    color:#1d4ed8;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:18px;
    font-weight:900;
}

/* 전체 레이아웃 */

.shop-page-section{
    width:100%;
    background:#f8fafc;
    padding:28px 0 60px;
}

.shop-layout{
    width:92%;
    max-width:1800px;
    margin:0 auto;
    display:grid;
    grid-template-columns:280px 1fr;
    gap:34px;
    align-items:start;
}

/* 왼쪽 필터 */

.shop-filter-box{
    position:sticky;
    top:110px;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:20px;
    box-shadow:0 14px 40px rgba(15,23,42,0.07);
    padding:18px;
}

.filter-group{
    padding:14px 0;
    border-bottom:1px solid #e2e8f0;
}

.filter-group:last-of-type{
    border-bottom:none;
}

.filter-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
    color:#0f172a;
    font-size:16px;
    font-weight:950;
}

.filter-title span{
    color:#2563eb;
    font-size:15px;
}

.filter-group label{
    display:flex;
    align-items:center;
    gap:8px;
    margin:10px 0;
    color:#475569;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
}

.filter-group input{
    accent-color:#2563eb;
}

.filter-reset-btn{
    width:100%;
    height:48px;
    margin-top:18px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(37,99,235,0.22);
}

.filter-reset-btn:hover{
    background:#1d4ed8;
}

/* 상품 영역 */

.shop-main-area{
    min-width:0;
}

.shop-list-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
}

.shop-list-head h2{
    margin:0 0 5px;
    color:#0f172a;
    font-size:18px;
    font-weight:950;
}

.shop-list-head p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.shop-list-controls{
    display:flex;
    align-items:center;
    gap:10px;
}

.shop-list-controls select{
    height:42px;
    min-width:135px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:white;
    padding:0 13px;
    color:#0f172a;
    font-size:13px;
    font-weight:800;
}

.shop-product-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
}

.shop-product-card{
    position:relative;
    display:block;
    min-height:360px;
    padding:18px;
    border-radius:18px;
    background:white;
    border:1px solid #e2e8f0;
    text-decoration:none;
    color:inherit;
    box-shadow:0 10px 32px rgba(15,23,42,0.05);
    transition:0.22s;
}

.shop-product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 44px rgba(15,23,42,0.12);
    border-color:#bfdbfe;
}

.shop-card-badges{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    display:flex;
    gap:6px;
}

.badge-blue,
.badge-pink,
.badge-orange{
    padding:5px 8px;
    border-radius:6px;
    color:white;
    font-size:11px;
    font-weight:950;
}

.badge-blue{
    background:#2563eb;
}

.badge-pink{
    background:#e11d48;
}

.badge-orange{
    background:#f97316;
}

.shop-wish-btn{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:30px;
    height:30px;
    border:none;
    border-radius:50%;
    background:white;
    color:#64748b;
    font-size:19px;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(15,23,42,0.08);
}

.shop-product-image{
    height:170px;
    margin-bottom:20px;
    border-radius:16px;
    background:
        radial-gradient(circle at center, #ffffff 0%, #f1f5f9 70%);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}

.shop-product-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    transition:0.25s;
}

.shop-product-card:hover .shop-product-image img{
    transform:scale(1.06);
}

.shop-no-image{
    color:#94a3b8;
    font-size:12px;
    font-weight:900;
}

.shop-product-info h3{
    margin:0 0 8px;
    color:#0f172a;
    font-size:17px;
    font-weight:950;
    line-height:1.35;
    min-height:45px;
}

.shop-product-spec{
    margin:0 0 9px;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.shop-product-spec span{
    color:#cbd5e1;
    margin:0 5px;
}

.shop-product-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-height:25px;
    margin-bottom:10px;
}

.shop-product-meta span{
    display:inline-flex;
    padding:4px 7px;
    border-radius:6px;
    background:#eff6ff;
    color:#2563eb;
    font-size:11px;
    font-weight:900;
}

.shop-product-price{
    display:block;
    margin-bottom:13px;
    color:#0f172a;
    font-size:20px;
    font-weight:950;
    letter-spacing:-0.4px;
}

.shop-detail-btn{
    height:38px;
    border:1px solid #2563eb;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2563eb;
    font-size:13px;
    font-weight:950;
    transition:0.2s;
}

.shop-product-card:hover .shop-detail-btn{
    background:#2563eb;
    color:white;
}

.shop-empty-box{
    grid-column:1 / -1;
    min-height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:white;
    border:1px dashed #cbd5e1;
    color:#64748b;
    font-size:16px;
    font-weight:900;
}

/* 인기 상품 */

.shop-popular-box{
    margin-top:28px;
    padding:18px;
    border-radius:20px;
    background:white;
    border:1px solid #e2e8f0;
    box-shadow:0 10px 32px rgba(15,23,42,0.05);
    display:grid;
    grid-template-columns:190px 1fr;
    gap:18px;
    align-items:center;
}

.shop-popular-title h3{
    margin:0 0 8px;
    color:#0f172a;
    font-size:22px;
    font-weight:950;
}

.shop-popular-title p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
}

.shop-popular-list{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:10px;
}

.shop-popular-item{
    display:grid;
    grid-template-columns:28px 52px 1fr;
    gap:9px;
    align-items:center;
    padding:10px;
    border-left:1px solid #e2e8f0;
    color:inherit;
    text-decoration:none;
}

.popular-rank{
    width:24px;
    height:24px;
    border-radius:6px;
    background:#dbeafe;
    color:#1d4ed8;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:950;
}

.popular-img{
    width:52px;
    height:52px;
    border-radius:10px;
    background:#f1f5f9;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:10px;
    font-weight:900;
}

.popular-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.popular-info{
    min-width:0;
}

.popular-info strong{
    display:block;
    color:#0f172a;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.popular-info p{
    margin:3px 0;
    color:#64748b;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.popular-info b{
    color:#0f172a;
    font-size:12px;
    font-weight:950;
}

/* 반응형 */

@media screen and (max-width:1400px){
    .shop-product-grid{
        grid-template-columns:repeat(3, 1fr);
    }

    .shop-popular-list{
        grid-template-columns:repeat(3, 1fr);
    }
}

@media screen and (max-width:1050px){
    .shop-hero-inner{
        grid-template-columns:1fr;
        padding:36px 0;
    }

    .shop-hero-right{
        grid-template-columns:1fr;
    }

    .shop-layout{
        grid-template-columns:1fr;
    }

    .shop-filter-box{
        position:static;
    }

    .shop-popular-box{
        grid-template-columns:1fr;
    }
}

@media screen and (max-width:760px){
    .shop-hero-left h1{
        font-size:34px;
    }

    .shop-hero-points{
        gap:12px;
    }

    .shop-product-grid{
        grid-template-columns:1fr;
    }

    .shop-list-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .shop-popular-list{
        grid-template-columns:1fr;
    }

    .shop-popular-item{
        border-left:none;
        border-top:1px solid #e2e8f0;
    }
}

/* =========================
   구매문의 관리
========================= */

.buy-inquiry-form{
    display:grid;
    gap:10px;
}

.buy-inquiry-form label{
    color:#0f172a;
    font-size:13px;
    font-weight:900;
}

.buy-inquiry-form input,
.buy-inquiry-form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:13px 14px;
    font-size:14px;
    font-weight:700;
    outline:none;
}

.buy-inquiry-form textarea{
    min-height:110px;
    resize:vertical;
}

.buy-inquiry-form input:focus,
.buy-inquiry-form textarea:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,0.12);
}

.sales-inquiry-product{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:260px;
}

.sales-inquiry-product img{
    width:58px;
    height:58px;
    border-radius:12px;
    object-fit:cover;
    border:1px solid #e2e8f0;
    background:#f8fafc;
}

.sales-inquiry-product strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    font-weight:900;
    margin-bottom:4px;
}

.sales-inquiry-product span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:700;
    margin-bottom:4px;
}

.sales-inquiry-product b{
    color:#2563eb;
    font-size:13px;
    font-weight:900;
}

    /* =========================
   판매관리 상태 필터 / 삭제 / 판매완료 배지
========================= */

.sales-status-filter{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0 22px;
}

.sales-status-filter a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:78px;
    height:36px;
    padding:0 14px;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    border:1px solid #e2e8f0;
}

.sales-status-filter a.active{
    background:#2563eb;
    color:white;
    border-color:#2563eb;
}

.admin-small-btn.danger{
    background:#dc2626 !important;
    color:white !important;
}

.admin-small-btn.danger:hover{
    background:#b91c1c !important;
}

.badge-gray{
    padding:5px 8px;
    border-radius:6px;
    color:white;
    font-size:11px;
    font-weight:950;
    background:#64748b;
}

.shop-product-card:has(.badge-gray):hover .shop-detail-btn{
    background:#64748b;
    color:white;
}

/* 판매완료 상품 이미지 흐림 처리 */
.shop-product-card:has(.badge-gray) .shop-product-image{
    position:relative;
    background:#0f172a;
}

/* 판매완료 상품 이미지만 흐리게 */
.shop-product-card:has(.badge-gray) .shop-product-image img{
    filter:blur(2.5px) grayscale(35%);
    opacity:0.45;
    transform:scale(1.04);
}

/* hover 시에도 판매완료 이미지는 과하게 확대되지 않게 */
.shop-product-card:has(.badge-gray):hover .shop-product-image img{
    filter:blur(2.5px) grayscale(35%);
    opacity:0.45;
    transform:scale(1.04);
}

/* 이미지 중앙 판매완료 문구 */
.shop-product-card:has(.badge-gray) .shop-product-image::after{
    content:"판매완료";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    z-index:5;
    min-width:105px;
    height:42px;
    padding:0 18px;
    border-radius:999px;
    background:rgba(15,23,42,0.82);
    border:1px solid rgba(255,255,255,0.32);
    color:white;
    font-size:16px;
    font-weight:950;
    display:flex;
    align-items:center;
    justify-content:center;
    letter-spacing:-0.3px;
    box-shadow:0 12px 28px rgba(15,23,42,0.32);
    backdrop-filter:blur(8px);
}

/* 판매완료 상품 버튼 색상 */
.shop-product-card:has(.badge-gray) .shop-detail-btn{
    border-color:#94a3b8;
    color:#64748b;
}

.shop-product-card:has(.badge-gray):hover .shop-detail-btn{
    background:#64748b;
    color:white;
}

/* =========================
   메인페이지 판매중 인기제품 배너
========================= */

.main-sales-banner-section{
    width:90%;
    max-width:1800px;
    margin:70px auto 40px;
    padding:34px;
    border-radius:32px;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,0.14), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 48%, #eef6ff 100%);
    border:1px solid #dbeafe;
    box-shadow:0 20px 60px rgba(15,23,42,0.09);
    box-sizing:border-box;
}

.main-sales-banner-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:28px;
}

.main-sales-banner-head span{
    display:inline-block;
    margin-bottom:9px;
    padding:7px 12px;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
    font-size:12px;
    font-weight:950;
    letter-spacing:0.4px;
}

.main-sales-banner-head h2{
    margin:0 0 8px;
    color:#0f172a;
    font-size:32px;
    font-weight:950;
    letter-spacing:-0.8px;
}

.main-sales-banner-head p{
    margin:0;
    color:#64748b;
    font-size:15px;
    font-weight:700;
}

.main-sales-more-btn{
    flex:0 0 auto;
    height:44px;
    padding:0 18px;
    border-radius:999px;
    background:#1e3a8a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:14px;
    font-weight:950;
    box-shadow:0 10px 24px rgba(30,58,138,0.22);
}

.main-sales-more-btn:hover{
    background:#2563eb;
}

.main-sales-banner-list{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:18px;
}

.main-sales-card{
    position:relative;
    display:block;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:22px;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    box-shadow:0 12px 34px rgba(15,23,42,0.07);
    transition:0.25s;
}

.main-sales-card:hover{
    transform:translateY(-7px);
    box-shadow:0 20px 48px rgba(15,23,42,0.14);
    border-color:#bfdbfe;
}

.main-sales-img-box{
    position:relative;
    height:190px;
    background:
        radial-gradient(circle at center, #ffffff 0%, #f1f5f9 72%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.main-sales-img-box img{
    width:100%;
    height:100%;
    object-fit:contain;
    transition:0.28s;
}

.main-sales-card:hover .main-sales-img-box img{
    transform:scale(1.06);
}

.main-sales-status{
    position:absolute;
    top:12px;
    left:12px;
    padding:6px 10px;
    border-radius:999px;
    background:#e11d48;
    color:white;
    font-size:11px;
    font-weight:950;
    box-shadow:0 8px 18px rgba(225,29,72,0.26);
}

.main-sales-info{
    padding:17px 17px 18px;
}

.main-sales-info h3{
    margin:0 0 8px;
    min-height:43px;
    color:#0f172a;
    font-size:16px;
    font-weight:950;
    line-height:1.35;
    letter-spacing:-0.3px;
}

.main-sales-info p{
    margin:0 0 10px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    line-height:1.4;
}

.main-sales-meta{
    min-height:24px;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-bottom:10px;
}

.main-sales-meta span{
    display:inline-flex;
    align-items:center;
    height:22px;
    padding:0 7px;
    border-radius:7px;
    background:#eff6ff;
    color:#2563eb;
    font-size:11px;
    font-weight:900;
}

.main-sales-info strong{
    display:block;
    color:#0f172a;
    font-size:20px;
    font-weight:950;
    letter-spacing:-0.4px;
}

.main-sales-no-image{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:12px;
    font-weight:950;
}

@media screen and (max-width:1450px){
    .main-sales-banner-list{
        grid-template-columns:repeat(4, 1fr);
    }
}

@media screen and (max-width:1000px){
    .main-sales-banner-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .main-sales-banner-list{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media screen and (max-width:620px){
    .main-sales-banner-section{
        width:92%;
        margin:45px auto 30px;
        padding:22px;
        border-radius:24px;
    }

    .main-sales-banner-head h2{
        font-size:25px;
    }

    .main-sales-banner-list{
        grid-template-columns:1fr;
    }

    .main-sales-img-box{
        height:230px;
    }
}

/* =========================
   판매관리 상단 정렬 수정
========================= */

.sales-admin-top-buttons{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:24px;
}

.sales-admin-title-center{
    text-align:center;
    margin-bottom:28px;
}

.sales-admin-title-center h2{
    text-align:center !important;
    font-size:42px;
    font-weight:950;
    color:#071b4d;
    margin-bottom:12px;
}

.sales-admin-title-center .admin-sub{
    text-align:center !important;
    margin:0;
    color:#555;
    font-size:16px;
}

/* =========================
   매장 수익/지출 요약 박스 깨짐 방지
========================= */

.ledger-summary-line{
    overflow:hidden;
}

.summary-line-items > div{
    min-width:0;
    overflow:hidden;
}

.summary-line-items span,
.summary-line-items strong{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.summary-line-items strong{
    display:block;
}

/* =========================
   판매상품 사용 자재
========================= */

.sales-material-box{
    margin-top:28px;
    padding:22px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dbeafe;
}

.sales-material-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
}

.sales-material-head h3{
    margin:0;
    color:#071b4d;
    font-size:20px;
    font-weight:950;
}

.sales-material-head button{
    height:38px;
    padding:0 14px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-weight:900;
    cursor:pointer;
}

.sales-material-row{
    display:grid;
    grid-template-columns:1fr 110px 80px;
    gap:10px;
    margin-top:10px;
}

.sales-material-row select,
.sales-material-row input{
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
    font-weight:700;
    background:white;
}

.sales-material-row button{
    border:none;
    border-radius:10px;
    background:#dc2626;
    color:white;
    font-weight:900;
    cursor:pointer;
}

/* =========================
   기종관리
========================= */

.device-admin-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    margin-top:28px;
}

.device-admin-card{
    background:#f8fbff;
    border:1px solid #dbeafe;
    border-radius:18px;
    padding:22px;
}

.device-admin-card.full{
    grid-column:1 / -1;
}

.device-admin-card h3{
    margin:0 0 16px;
    color:#071b4d;
    font-size:20px;
    font-weight:950;
}

.device-admin-card form{
    display:grid;
    gap:10px;
}

.device-admin-card label{
    font-size:13px;
    font-weight:900;
    color:#334155;
}

.device-admin-card input,
.device-admin-card select{
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    font-size:14px;
    font-weight:700;
    background:white;
}

.device-admin-card button{
    height:44px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.device-model-form{
    grid-template-columns:2fr 2fr 120px 100px;
    align-items:end;
}

.device-list-title{
    margin:34px 0 14px;
    color:#071b4d;
    font-size:22px;
    font-weight:950;
}

.device-tree-box{
    padding:22px;
    border-radius:18px;
    background:#0f172a;
    color:white;
    font-size:14px;
    line-height:1.9;
    overflow:auto;
}

.device-tree-box a{
    margin-left:8px;
    color:#93c5fd;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.device-tree-manufacturer{
    margin-top:14px;
    color:#ffffff;
    font-size:17px;
    font-weight:950;
}

.device-tree-type1{
    color:#bfdbfe;
    padding-left:16px;
}

.device-tree-type2{
    color:#dbeafe;
    padding-left:26px;
}

.device-tree-series{
    color:#e0f2fe;
    padding-left:36px;
}

.device-tree-model{
    color:#f8fafc;
    padding-left:46px;
}

@media screen and (max-width:900px){
    .device-admin-grid{
        grid-template-columns:1fr;
    }

    .device-model-form{
        grid-template-columns:1fr;
    }
}


/* =========================
   기종관리 쉬운 등록 UI
========================= */

.device-simple-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:24px;
}

.device-simple-head h2{
    margin:0 0 8px;
    color:#071b4d;
    font-size:38px;
    font-weight:950;
}

.device-simple-head p{
    margin:0;
    color:#64748b;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
}

.device-guide-box{
    display:grid;
    gap:8px;
    padding:18px 20px;
    border-radius:18px;
    background:linear-gradient(135deg, #eff6ff, #f8fafc);
    border:1px solid #bfdbfe;
    margin-bottom:24px;
}

.device-guide-box strong{
    color:#1e3a8a;
    font-size:15px;
    font-weight:950;
}

.device-guide-box span{
    color:#334155;
    font-size:14px;
    font-weight:800;
}

.device-quick-form{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:22px;
    border-radius:22px;
    background:#f8fbff;
    border:1px solid #dbeafe;
    margin-bottom:34px;
}

.device-step-card{
    display:flex;
    gap:14px;
    padding:18px;
    border-radius:18px;
    background:white;
    border:1px solid #e2e8f0;
}

.device-step-card.main-model{
    grid-column:1 / -1;
    border-color:#93c5fd;
    background:#eff6ff;
}

.device-step-card.small-order{
    grid-column:1 / -1;
}

.step-num{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2563eb;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:950;
}

.step-content{
    flex:1;
    display:grid;
    gap:8px;
}

.step-content label{
    color:#0f172a;
    font-size:14px;
    font-weight:950;
}

.step-content select,
.step-content input{
    width:100%;
    height:44px;
    box-sizing:border-box;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 13px;
    background:white;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
}

.step-content small{
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.device-main-submit{
    grid-column:1 / -1;
    height:56px;
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg, #1d4ed8, #2563eb);
    color:white;
    font-size:17px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(37,99,235,0.25);
}

.device-current-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:12px;
    margin-bottom:14px;
}

.device-current-head h3{
    margin:0;
    color:#071b4d;
    font-size:24px;
    font-weight:950;
}

.device-current-head p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.device-tree-simple{
    padding:22px;
    border-radius:22px;
    background:#0f172a;
    color:white;
    overflow:auto;
}

.tree-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    min-height:32px;
    border-bottom:1px solid rgba(255,255,255,0.06);
    font-size:14px;
    font-weight:800;
}

.tree-row a{
    color:#93c5fd;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.tree-row.manufacturer{
    margin-top:12px;
    color:white;
    font-size:17px;
    font-weight:950;
}

.tree-row.type1{
    padding-left:22px;
    color:#bfdbfe;
}

.tree-row.type2{
    padding-left:46px;
    color:#dbeafe;
}

.tree-row.series{
    padding-left:70px;
    color:#e0f2fe;
}

.tree-row.model{
    padding-left:94px;
    color:#f8fafc;
}

@media screen and (max-width:900px){

    .device-simple-head{
        flex-direction:column;
    }

    .device-quick-form{
        grid-template-columns:1fr;
    }
}

/* =========================
   기종관리 트리형 추가/삭제 UI
========================= */

.device-inline-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:22px;
}

.device-inline-head h2{
    margin:0 0 8px;
    color:#071b4d;
    font-size:38px;
    font-weight:950;
}

.device-inline-head p{
    margin:0;
    color:#64748b;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
}

.device-top-add-box{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.device-top-add-box > button{
    height:42px;
    padding:0 16px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.device-inline-guide{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
}

.device-inline-guide span{
    padding:8px 12px;
    border-radius:999px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1e3a8a;
    font-size:12px;
    font-weight:900;
}

.device-tree-inline{
    padding:22px;
    border-radius:18px;
    background:#0f172a;
    color:white;
    overflow:auto;
}

.device-tree-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:34px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    font-size:14px;
    font-weight:850;
}

.device-tree-row .tree-title{
    flex:1;
}

.device-tree-row.manufacturer{
    margin-top:14px;
    color:white;
    font-size:17px;
    font-weight:950;
}

.device-tree-row.type1{
    padding-left:22px;
    color:#bfdbfe;
}

.device-tree-row.type2{
    padding-left:46px;
    color:#dbeafe;
}

.device-tree-row.series{
    padding-left:70px;
    color:#e0f2fe;
}

.device-tree-row.model{
    padding-left:94px;
    color:#f8fafc;
}

.tree-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.tree-actions button{
    height:24px;
    padding:0 9px;
    border:none;
    border-radius:999px;
    background:#1d4ed8;
    color:white;
    font-size:11px;
    font-weight:950;
    cursor:pointer;
}

.tree-actions a{
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(239,68,68,0.18);
    color:#fecaca;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:950;
    text-decoration:none;
}

.device-inline-form{
    display:grid;
    grid-template-columns:1fr 70px 70px;
    gap:8px;
    align-items:center;
    margin:8px 0 8px 0;
    padding:10px;
    border-radius:12px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.12);
}

.device-inline-form.hidden{
    display:none !important;
}

.device-inline-form.level-form{
    margin-left:22px;
}

.device-inline-form.type1-form{
    margin-left:46px;
}

.device-inline-form.type2-form{
    margin-left:70px;
}

.device-inline-form.series-form{
    margin-left:94px;
}

.device-inline-form input{
    height:38px;
    border:none;
    border-radius:10px;
    padding:0 12px;
    font-size:13px;
    font-weight:800;
    background:white;
    color:#0f172a;
}

.device-inline-form button{
    height:38px;
    border:none;
    border-radius:10px;
    font-size:12px;
    font-weight:950;
    cursor:pointer;
}

.device-inline-form button[type="submit"]{
    background:#2563eb;
    color:white;
}

.device-inline-form button[type="button"]{
    background:#e2e8f0;
    color:#334155;
}

@media screen and (max-width:900px){

    .device-inline-head{
        flex-direction:column;
    }

    .device-tree-row{
        align-items:flex-start;
        flex-direction:column;
        padding-top:8px;
        padding-bottom:8px;
    }

    .device-inline-form{
        grid-template-columns:1fr;
    }

    .device-tree-row.type1,
    .device-tree-row.type2,
    .device-tree-row.series,
    .device-tree-row.model,
    .device-inline-form.level-form,
    .device-inline-form.type1-form,
    .device-inline-form.type2-form,
    .device-inline-form.series-form{
        margin-left:0;
        padding-left:0;
    }
}

/* 기종관리 제목 가운데 정렬 */
.device-inline-head{
    justify-content:center !important;
    text-align:center !important;
    position:relative;
}

.device-inline-head > div{
    width:100%;
    text-align:center !important;
}

.device-inline-head h2,
.device-inline-head p{
    text-align:center !important;
}

.device-inline-head .admin-small-btn{
    position:absolute;
    right:0;
    top:0;
}

/* 기종관리 순서변경 버튼 */
.tree-actions .order-btn{
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(59,130,246,0.18);
    color:#bfdbfe;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:950;
    text-decoration:none;
}

.tree-actions .order-btn:hover{
    background:#2563eb;
    color:white;
}

.tree-actions .delete-btn{
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(239,68,68,0.18);
    color:#fecaca;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:950;
    text-decoration:none;
}

.tree-actions .delete-btn:hover{
    background:#dc2626;
    color:white;
}

/* 기종관리 트리 줄 깨짐 방지 */
.device-tree-row{
    width:100% !important;
    box-sizing:border-box !important;
}

.device-tree-row .tree-title{
    min-width:0 !important;
    word-break:keep-all !important;
}

.device-tree-row.model .tree-title span{
    display:inline-block !important;
    white-space:normal !important;
}

/* 순서버튼 / 삭제버튼 구분 */
.tree-actions .order-btn{
    width:24px !important;
    height:24px !important;
    border-radius:50% !important;
    background:rgba(59,130,246,0.18) !important;
    color:#bfdbfe !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:12px !important;
    font-weight:950 !important;
    text-decoration:none !important;
}

.tree-actions .delete-btn{
    width:24px !important;
    height:24px !important;
    border-radius:50% !important;
    background:#dc2626 !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
    font-weight:950 !important;
    text-decoration:none !important;
}

/* =========================
   금전출납부 자세히 - 매출/지출/순이익 균형 보정
========================= */

.ledger-detail-box .ledger-detail-summary-wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;

    padding:20px !important;
    margin:0 !important;

    background:#f8fbff !important;
    border:1px solid #dbeafe !important;
    border-radius:20px !important;
    box-shadow:none !important;
}

/* 매출 / 지출 한 줄 */
.ledger-detail-box .ledger-summary-line{
    display:grid !important;
    grid-template-columns:120px 1fr !important;
    gap:18px !important;
    align-items:stretch !important;

    padding:14px !important;
    margin:0 !important;

    background:white !important;
    border:1px solid #dbe3f0 !important;
    border-radius:16px !important;
}

/* 왼쪽 매출/지출 제목 박스 */
.ledger-detail-box .summary-line-title{
    width:120px !important;
    min-width:120px !important;
    height:auto !important;
    min-height:88px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:12px !important;

    color:white !important;
    font-size:20px !important;
    font-weight:950 !important;
}

/* 매출 제목 색상 */
.ledger-detail-box .income-summary-line .summary-line-title{
    background:linear-gradient(135deg, #1d4ed8, #2563eb) !important;
}

/* 지출 제목 색상 */
.ledger-detail-box .expense-summary-line .summary-line-title{
    background:linear-gradient(135deg, #b91c1c, #dc2626) !important;
}

/* 오른쪽 카드 묶음 */
.ledger-detail-box .summary-line-items{
    display:grid !important;
    grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
    gap:10px !important;

    width:100% !important;
    align-items:stretch !important;
}

/* 각각의 작은 카드 */
.ledger-detail-box .summary-line-items > div{
    min-width:0 !important;
    height:78px !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;

    padding:10px 8px !important;

    background:#ffffff !important;
    border:1px solid #dbe3f0 !important;
    border-radius:12px !important;

    text-align:center !important;
}

/* 카드 제목 */
.ledger-detail-box .summary-line-items span{
    display:block !important;
    margin-bottom:6px !important;

    color:#475569 !important;
    font-size:12px !important;
    font-weight:900 !important;

    white-space:nowrap !important;
}

/* 카드 금액 */
.ledger-detail-box .summary-line-items strong{
    display:block !important;

    color:#2563eb !important;
    font-size:15px !important;
    font-weight:950 !important;

    white-space:nowrap !important;
}

/* 지출 금액은 빨강 */
.ledger-detail-box .expense-summary-line .summary-line-items strong{
    color:#dc2626 !important;
}

/* 총매출 / 총지출 강조 */
.ledger-detail-box .summary-line-items .summary-total{
    background:#eff6ff !important;
    border-color:#93c5fd !important;
}

.ledger-detail-box .expense-summary-line .summary-line-items .summary-total{
    background:#fff1f2 !important;
    border-color:#fecaca !important;
}

.ledger-detail-box .summary-line-items .summary-total span{
    color:#1e3a8a !important;
}

.ledger-detail-box .expense-summary-line .summary-total span{
    color:#991b1b !important;
}

.ledger-detail-box .summary-line-items .summary-total strong{
    font-size:17px !important;
}

/* 순이익 줄 */
.ledger-detail-box .ledger-profit-line{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;

    height:72px !important;
    padding:0 22px !important;
    margin:0 !important;

    background:white !important;
    border:1px solid #dbe3f0 !important;
    border-radius:16px !important;
}

.ledger-detail-box .ledger-profit-line span{
    color:#071b4d !important;
    font-size:22px !important;
    font-weight:950 !important;
}

.ledger-detail-box .ledger-profit-line strong{
    font-size:28px !important;
    font-weight:950 !important;
}

/* 좁은 화면 대비 */
@media screen and (max-width:1400px){

    .ledger-detail-box .summary-line-items{
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    }
}

/* =========================
   매장 수익/지출 관리 - 시안 2 적용
========================= */

.store-v2-summary{
    margin:30px 0 40px;
    display:grid;
    grid-template-columns:280px 1fr;
    gap:24px;
    align-items:stretch;
}

.store-v2-left{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

.store-v2-total-card{
    min-height:126px;
    padding:24px 26px;
    border-radius:22px;
    background:white;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 26px rgba(15,23,42,0.06);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.store-v2-total-card span{
    color:#475569;
    font-size:15px;
    font-weight:900;
    margin-bottom:10px;
}

.store-v2-total-card strong{
    color:#071b4d;
    font-size:28px;
    font-weight:950;
    letter-spacing:-0.5px;
    white-space:nowrap;
}

.store-v2-total-card small{
    margin-top:10px;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

.store-v2-total-card.income strong{
    color:#059669;
}

.store-v2-total-card.expense strong{
    color:#dc2626;
}

.store-v2-total-card.profit strong{
    color:#2563eb;
}

.store-v2-total-card.stock strong{
    color:#7c3aed;
}

.store-v2-total-card.stock{
    background:
        radial-gradient(circle at top left, rgba(124,58,237,0.10), transparent 38%),
        #ffffff;
}

.store-v2-right{
    display:grid;
    gap:18px;
}

.store-v2-section{
    padding:22px;
    border-radius:24px;
    background:white;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 26px rgba(15,23,42,0.06);
}

.store-v2-section.income{
    border-color:#bfdbfe;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,0.08), transparent 32%),
        #ffffff;
}

.store-v2-section.expense{
    border-color:#fecaca;
    background:
        radial-gradient(circle at top left, rgba(220,38,38,0.06), transparent 34%),
        #ffffff;
}

.store-v2-section.appendix{
    border-color:#dbeafe;
    background:#f8fbff;
}

.store-v2-section-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}

.store-v2-section-title h3{
    margin:0;
    color:#0f172a;
    font-size:24px;
    font-weight:950;
}

.store-v2-section-title p{
    margin:0 0 0 8px;
    color:#64748b;
    font-size:13px;
    font-weight:800;
}

.store-v2-icon{
    width:36px;
    height:36px;
    border-radius:50%;
    background:#2563eb;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:17px;
}

.store-v2-section.expense .store-v2-icon{
    background:#dc2626;
}

.store-v2-section.appendix .store-v2-icon{
    background:#1d4ed8;
}

.store-v2-card-grid{
    display:grid;
    gap:14px;
}

.store-v2-card-grid.income-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.store-v2-card-grid.expense-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.store-v2-card-grid.appendix-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.store-v2-card{
    min-height:92px;
    padding:18px 16px;
    border-radius:18px;
    background:white;
    border:1px solid #dbe3f0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow:0 6px 16px rgba(15,23,42,0.04);
}

.store-v2-card span{
    color:#475569;
    font-size:14px;
    font-weight:900;
    margin-bottom:8px;
}

.store-v2-card strong{
    color:#2563eb;
    font-size:21px;
    font-weight:950;
    letter-spacing:-0.3px;
    white-space:nowrap;
}

.store-v2-section.expense .store-v2-card strong{
    color:#dc2626;
}

.store-v2-section.appendix .store-v2-card strong{
    color:#2563eb;
}

.store-v2-card small{
    margin-top:6px;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

.store-v2-card.vat-card{
    background:#faf5ff;
    border-style:dashed;
    border-color:#d8b4fe;
}

.store-v2-card.vat-card strong{
    color:#7c3aed;
}

@media screen and (max-width:1300px){
    .store-v2-summary{
        grid-template-columns:1fr;
    }

    .store-v2-left{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    .store-v2-card-grid.income-grid,
    .store-v2-card-grid.expense-grid,
    .store-v2-card-grid.appendix-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* =========================
   매장 수익/지출 SVG 아이콘 개선
========================= */

.store-v2-icon,
.store-v2-total-icon,
.store-v2-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.store-v2-icon svg,
.store-v2-total-icon svg,
.store-v2-card-icon svg{
    width:22px;
    height:22px;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* 섹션 제목 아이콘 */
.store-v2-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    color:white;
    box-shadow:0 10px 22px rgba(15,23,42,0.12);
}

.store-v2-icon.income-icon{
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
}

.store-v2-icon.expense-icon{
    background:linear-gradient(135deg,#ef4444,#dc2626);
}

.store-v2-icon.appendix-icon{
    background:linear-gradient(135deg,#3b82f6,#2563eb);
}

/* 상단 총매출/총지출/순이익/재고 아이콘 */
.store-v2-total-card{
    position:relative;
    overflow:hidden;
}

.store-v2-total-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    margin-bottom:14px;
}

.store-v2-total-card.income .store-v2-total-icon{
    color:#059669;
    background:#d1fae5;
}

.store-v2-total-card.expense .store-v2-total-icon{
    color:#dc2626;
    background:#fee2e2;
}

.store-v2-total-card.profit .store-v2-total-icon{
    color:#2563eb;
    background:#dbeafe;
}

.store-v2-total-card.stock .store-v2-total-icon{
    color:#7c3aed;
    background:#ede9fe;
}

/* 작은 카드 아이콘 */
.store-v2-card-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    margin-bottom:12px;
}

.store-v2-card-icon.blue{
    color:#2563eb;
    background:#dbeafe;
}

.store-v2-card-icon.green{
    color:#059669;
    background:#d1fae5;
}

.store-v2-card-icon.red{
    color:#dc2626;
    background:#fee2e2;
}

.store-v2-card-icon.purple{
    color:#7c3aed;
    background:#ede9fe;
}

.store-v2-card-icon.orange{
    color:#ea580c;
    background:#ffedd5;
}

.store-v2-card-icon.gray{
    color:#475569;
    background:#f1f5f9;
}

/* 카드 정렬 보정 */
.store-v2-card{
    align-items:flex-start;
}

.store-v2-card span,
.store-v2-card strong,
.store-v2-card small{
    text-align:left;
}

/* =========================
   기종 데이터 관리 - 대량관리형
========================= */

.device-center-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:26px;
}

.device-center-head h2{
    margin:0 0 8px;
    color:#071b4d;
    font-size:38px;
    font-weight:950;
}

.device-center-head p{
    margin:0;
    color:#64748b;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
}

.device-stat-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-bottom:26px;
}

.device-stat-card{
    min-height:100px;
    padding:20px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #dbe3f0;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.device-stat-card span{
    color:#64748b;
    font-size:13px;
    font-weight:900;
    margin-bottom:8px;
}

.device-stat-card strong{
    color:#071b4d;
    font-size:28px;
    font-weight:950;
}

.device-stat-card.active{
    border-top:5px solid #2563eb;
}

.device-stat-card.hidden{
    border-top:5px solid #64748b;
}

.device-stat-card.repair{
    border-top:5px solid #16a34a;
}

.device-manage-layout{
    display:grid;
    grid-template-columns:1.25fr 0.75fr;
    gap:22px;
    align-items:start;
    margin-bottom:34px;
}

.device-panel{
    padding:24px;
    border-radius:22px;
    background:#f8fbff;
    border:1px solid #dbeafe;
}

.device-panel-title{
    margin-bottom:16px;
}

.device-panel-title h3{
    margin:0 0 6px;
    color:#071b4d;
    font-size:24px;
    font-weight:950;
}

.device-panel-title p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.device-bulk-textarea{
    width:100%;
    min-height:210px;
    padding:16px;
    border:1px solid #dbe3f0;
    border-radius:16px;
    background:white;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
    line-height:1.7;
    resize:vertical;
    box-sizing:border-box;
}

.device-form-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.device-form-grid input{
    width:100%;
    height:46px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:0 14px;
    background:white;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
    box-sizing:border-box;
}

.device-check-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
    margin:16px 0;
}

.single-panel .device-check-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.device-check-grid label{
    min-height:42px;
    padding:0 12px;
    border-radius:12px;
    background:white;
    border:1px solid #dbe3f0;
    color:#334155;
    font-size:13px;
    font-weight:900;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}

.device-check-grid input{
    width:16px;
    height:16px;
    accent-color:#2563eb;
}

.device-main-btn,
.device-sub-btn{
    width:100%;
    height:52px;
    border:none;
    border-radius:14px;
    background:linear-gradient(135deg,#1d4ed8,#2563eb);
    color:white;
    font-size:16px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(37,99,235,0.22);
}

.device-sub-btn{
    background:#1e3a8a;
}

.device-helper-box{
    margin-top:16px;
    padding:15px;
    border-radius:14px;
    background:#ffffff;
    border:1px solid #dbe3f0;
}

.device-helper-box strong{
    display:block;
    margin-bottom:8px;
    color:#071b4d;
    font-size:14px;
    font-weight:950;
}

.device-helper-box p{
    margin:5px 0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.device-list-head{
    margin:28px 0 16px;
}

.device-list-head h3{
    margin:0 0 6px;
    color:#071b4d;
    font-size:26px;
    font-weight:950;
}

.device-list-head p{
    margin:0;
    color:#64748b;
    font-size:14px;
    font-weight:700;
}

.device-filter-form{
    display:grid;
    grid-template-columns:1.4fr repeat(3, 1fr) 90px 90px;
    gap:10px;
    padding:18px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dbeafe;
    margin-bottom:16px;
}

.device-filter-form input,
.device-filter-form select{
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    color:#0f172a;
    font-size:13px;
    font-weight:800;
}

.device-filter-form button,
.device-filter-form a{
    height:44px;
    border:none;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:13px;
    font-weight:950;
}

.device-filter-form button{
    background:#2563eb;
    color:white;
    cursor:pointer;
}

.device-filter-form a{
    background:white;
    color:#071b4d;
    border:1px solid #dbe3f0;
}

.device-bulk-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.device-bulk-actions select{
    height:40px;
    min-width:190px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    color:#0f172a;
    font-size:13px;
    font-weight:800;
}

.device-bulk-actions button{
    height:40px;
    padding:0 16px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:13px;
    font-weight:950;
    cursor:pointer;
}

.device-bulk-actions span{
    margin-left:auto;
    color:#64748b;
    font-size:13px;
    font-weight:900;
}

.device-model-table-wrap{
    width:100%;
    overflow-x:auto;
}

.device-model-table{
    min-width:1350px;
    table-layout:fixed;
}

.device-model-table th,
.device-model-table td{
    white-space:normal !important;
    word-break:keep-all;
    vertical-align:middle;
}

.device-model-table th:nth-child(1),
.device-model-table td:nth-child(1){
    width:46px;
}

.device-model-table th:nth-child(2),
.device-model-table td:nth-child(2){
    width:120px;
}

.device-model-table th:nth-child(3),
.device-model-table td:nth-child(3){
    width:120px;
}

.device-model-table th:nth-child(4),
.device-model-table td:nth-child(4){
    width:130px;
}

.device-model-table th:nth-child(5),
.device-model-table td:nth-child(5){
    width:150px;
}

.device-model-table th:nth-child(6),
.device-model-table td:nth-child(6){
    width:230px;
}

.device-model-name-cell{
    text-align:left !important;
    color:#071b4d;
    font-weight:950;
}

.device-status-badge,
.usage-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    height:28px;
    border-radius:999px;
    font-size:12px;
    font-weight:950;
}

.device-status-badge.active{
    background:#dbeafe;
    color:#1d4ed8;
}

.device-status-badge.hidden{
    background:#e2e8f0;
    color:#475569;
}

.usage-badge.on{
    background:#dcfce7;
    color:#15803d;
}

.usage-badge.off{
    background:#fee2e2;
    color:#dc2626;
}

.device-row-hidden td{
    background:#f8fafc !important;
    color:#94a3b8;
}

.device-row-hidden .device-model-name-cell{
    color:#64748b;
}

@media screen and (max-width:1200px){

    .device-manage-layout{
        grid-template-columns:1fr;
    }

    .device-stat-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .device-filter-form{
        grid-template-columns:1fr 1fr;
    }

    .device-check-grid,
    .single-panel .device-check-grid{
        grid-template-columns:1fr 1fr;
    }
}

/* =========================
   기종 데이터 관리 - 쉬운 다중등록
========================= */

.device-path-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin-bottom:16px;
}

.device-path-field{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.device-path-field label,
.device-model-textarea-box label{
    color:#071b4d;
    font-size:13px;
    font-weight:950;
}

.device-path-field select,
.device-path-field input{
    width:100%;
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:11px;
    padding:0 12px;
    background:white;
    color:#0f172a;
    font-size:13px;
    font-weight:800;
    box-sizing:border-box;
}

.device-new-input{
    border-color:#2563eb !important;
    background:#eff6ff !important;
}

.device-new-input.hidden{
    display:none !important;
}

.device-model-textarea-box{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:16px;
}

.easy-model-textarea{
    min-height:160px !important;
}

.device-model-textarea-box p{
    margin:0;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

@media screen and (max-width:1200px){

    .device-path-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* =========================
   기종관리 - 모델별 색상관리
========================= */

.device-color-manage-box{
    margin:22px 0;
    padding:22px;
    border-radius:20px;
    background:#f8fbff;
    border:1px solid #bfdbfe;
    box-shadow:0 10px 26px rgba(15,23,42,0.05);
}

.device-color-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px;
}

.device-color-head h3{
    margin:0 0 6px;
    color:#071b4d;
    font-size:22px;
    font-weight:950;
}

.device-color-head p{
    margin:0;
    color:#64748b;
    font-size:14px;
    font-weight:800;
}

.device-color-head strong{
    color:#2563eb;
}

.device-color-close{
    height:34px;
    padding:0 13px;
    border-radius:8px;
    background:#64748b;
    color:white;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}

.device-color-add-form{
    display:grid;
    grid-template-columns:1fr 130px;
    gap:10px;
    align-items:end;
    margin-bottom:16px;
}

.device-color-add-form label{
    grid-column:1 / -1;
    color:#071b4d;
    font-size:13px;
    font-weight:950;
}

.device-color-add-form textarea{
    width:100%;
    min-height:100px;
    padding:14px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:white;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
    line-height:1.6;
    resize:vertical;
    box-sizing:border-box;
}

.device-color-add-form button{
    height:100px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.device-color-actions{
    display:flex;
    gap:8px;
    margin-bottom:12px;
}

.device-color-actions select{
    width:180px;
    height:38px;
    border:1px solid #dbe3f0;
    border-radius:9px;
    padding:0 10px;
    background:white;
    font-size:13px;
    font-weight:800;
}

.device-color-actions button{
    height:38px;
    padding:0 14px;
    border:none;
    border-radius:9px;
    background:#1e3a8a;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.device-color-chip-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.device-color-chip{
    min-height:36px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid #dbe3f0;
    background:white;
    display:inline-flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
}

.device-color-chip span{
    color:#071b4d;
    font-size:13px;
    font-weight:900;
}

.device-color-chip em{
    font-style:normal;
    font-size:11px;
    font-weight:900;
}

.device-color-chip.active{
    background:#eff6ff;
    border-color:#bfdbfe;
}

.device-color-chip.active em{
    color:#2563eb;
}

.device-color-chip.hidden{
    background:#f8fafc;
    color:#94a3b8;
}

.device-color-chip.hidden span{
    color:#94a3b8;
}

.device-color-chip.hidden em{
    color:#64748b;
}

.device-color-empty{
    padding:18px;
    border-radius:12px;
    background:white;
    border:1px dashed #cbd5e1;
    color:#64748b;
    font-weight:800;
}

.device-color-manage-btn{
    min-width:72px;
    height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#ede9fe;
    color:#6d28d9;
    text-decoration:none;
    font-size:12px;
    font-weight:950;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.device-color-manage-btn:hover{
    background:#7c3aed;
    color:white;
}

.usage-toggle{
    border:none;
    cursor:pointer;
}

.usage-toggle:hover{
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(15,23,42,0.10);
}

/* =========================
   기종관리 - 기존 명칭 일괄 수정
========================= */

.device-rename-box{
    margin:22px 0 28px;
    padding:22px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dbeafe;
}

.device-rename-title{
    margin-bottom:18px;
}

.device-rename-title h3{
    margin:0 0 7px;
    color:#071b4d;
    font-size:21px;
    font-weight:950;
}

.device-rename-title p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
}

.device-rename-form{
    display:grid;
    gap:14px;
}

.device-rename-grid{
    display:grid;
    grid-template-columns:1fr 1fr 220px;
    gap:12px;
}

.device-rename-grid div{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.device-rename-grid label{
    color:#0f172a;
    font-size:13px;
    font-weight:900;
}

.device-rename-grid input,
.device-rename-grid select{
    width:100%;
    height:44px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    font-size:14px;
    font-weight:700;
}

.device-rename-check{
    display:flex;
    align-items:center;
    gap:8px;
    color:#334155;
    font-size:14px;
    font-weight:800;
}

.device-rename-check input{
    width:17px;
    height:17px;
}

.device-rename-form button{
    height:46px;
    border:none;
    border-radius:11px;
    background:#1e3a8a;
    color:white;
    font-size:15px;
    font-weight:950;
    cursor:pointer;
}

.device-rename-form button:hover{
    background:#2563eb;
}

.device-rename-help{
    margin-top:16px;
    padding:14px;
    border-radius:12px;
    background:white;
    border:1px solid #dbe3f0;
}

.device-rename-help strong{
    display:block;
    margin-bottom:8px;
    color:#071b4d;
    font-size:14px;
    font-weight:950;
}

.device-rename-help p{
    margin:5px 0;
    color:#475569;
    font-size:13px;
    line-height:1.5;
}

.device-rename-help b{
    color:#2563eb;
}

/* =========================
   회원관리 - 직원별 세부권한
========================= */

.member-permission-cell{
    min-width:320px;
    text-align:left !important;
}

.member-permission-form{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.member-permission-checks{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
}

.member-permission-checks label{
    min-height:30px;
    padding:6px 8px;
    border-radius:8px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    font-size:12px;
    font-weight:800;
    color:#071b4d;
}

.member-permission-checks input{
    width:14px;
    height:14px;
}

.member-permission-checks label:has(input:checked){
    background:#eff6ff;
    border-color:#93c5fd;
    color:#1d4ed8;
}

.permission-save-btn{
    width:100%;
    height:32px !important;
    font-size:12px !important;
}

.permission-disabled-text{
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

/* =========================
   권한 설정관리 - 카드형 레이아웃
========================= */

.permission-admin-table{
    display:none !important;
}

.member-permission-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:24px;
}

.member-permission-head h2{
    margin:0;
    color:#071b4d;
    font-size:34px;
    font-weight:950;
}

.permission-franchise-filter{
    display:flex;
    align-items:center;
    gap:8px;
    margin:18px 0;
    padding:14px 16px;
    border-radius:14px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.permission-franchise-filter label{
    color:#071b4d;
    font-size:14px;
    font-weight:900;
}

.permission-franchise-filter select{
    width:220px;
    height:38px;
    border:1px solid #dbe3f0;
    border-radius:9px;
    padding:0 10px;
    background:white;
    font-size:14px;
    font-weight:800;
}

.permission-franchise-filter button{
    height:38px;
    padding:0 14px;
    border:none;
    border-radius:9px;
    background:#1e3a8a;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.permission-guide-box{
    margin:18px 0 24px;
    padding:16px;
    border-radius:14px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}

.permission-guide-box strong{
    display:block;
    margin-bottom:7px;
    color:#1e3a8a;
    font-size:15px;
    font-weight:950;
}

.permission-guide-box p{
    margin:4px 0;
    color:#334155;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
}

.permission-card-list{
    display:grid;
    gap:18px;
    margin-top:20px;
}

.permission-user-card{
    padding:20px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.05);
}

.permission-user-info{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin-bottom:18px;
    padding-bottom:16px;
    border-bottom:1px solid #e5edf8;
}

.permission-user-info div{
    min-height:58px;
    padding:11px 13px;
    border-radius:12px;
    background:#f8fbff;
    border:1px solid #edf2fb;
}

.permission-user-info span{
    display:block;
    margin-bottom:5px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.permission-user-info strong{
    display:block;
    color:#071b4d;
    font-size:14px;
    font-weight:950;
    word-break:break-all;
}

.permission-menu-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
}

.permission-menu-item{
    min-height:46px;
    padding:0 12px;
    border-radius:12px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    box-sizing:border-box;
    transition:.18s;
}

.permission-menu-item input{
    width:15px;
    height:15px;
    accent-color:#2563eb;
    flex-shrink:0;
}

.permission-menu-icon{
    font-size:17px;
    flex-shrink:0;
}

.permission-menu-text{
    color:#071b4d;
    font-size:13px;
    font-weight:900;
    white-space:normal;
    word-break:keep-all;
}

.permission-menu-item:has(input:checked){
    background:#eff6ff;
    border-color:#93c5fd;
    box-shadow:0 6px 14px rgba(37,99,235,0.10);
}

.permission-menu-item:has(input:checked) .permission-menu-text{
    color:#1d4ed8;
}

.permission-card-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}

.permission-card-actions button{
    height:40px;
    padding:0 20px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.permission-card-actions button:hover{
    background:#2563eb;
}

.permission-empty-box{
    padding:30px;
    border-radius:16px;
    background:#f8fbff;
    border:1px dashed #cbd5e1;
    color:#64748b;
    font-size:15px;
    font-weight:900;
    text-align:center;
}

@media(max-width:1200px){
    .permission-user-info{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .permission-menu-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:700px){
    .member-permission-head{
        flex-direction:column;
    }

    .permission-franchise-filter{
        flex-direction:column;
        align-items:stretch;
    }

    .permission-franchise-filter select,
    .permission-franchise-filter button{
        width:100%;
    }

    .permission-user-info{
        grid-template-columns:1fr;
    }

    .permission-menu-grid{
        grid-template-columns:1fr;
    }

    .permission-card-actions button{
        width:100%;
    }
}

/* =========================
   기종별 부자재 설정
========================= */

.device-part-setting-btn{
    margin-top:4px;
    min-width:72px;
    height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#e0f2fe;
    color:#0369a1;
    text-decoration:none;
    font-size:12px;
    font-weight:950;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.device-part-setting-btn:hover{
    background:#0284c7;
    color:white;
}

.part-model-select-box{
    display:flex;
    align-items:center;
    gap:10px;
    margin:20px 0;
    padding:16px;
    border-radius:14px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.part-model-select-box label{
    color:#071b4d;
    font-size:14px;
    font-weight:950;
}

.part-model-select-box select{
    flex:1;
    height:42px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    font-size:14px;
    font-weight:800;
}

.part-model-select-box button{
    width:90px;
    height:42px;
    border:none;
    border-radius:10px;
    background:#1e3a8a;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.part-selected-model-box{
    margin:18px 0;
    padding:16px;
    border-radius:14px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}

.part-selected-model-box strong{
    display:block;
    margin-bottom:6px;
    color:#1e3a8a;
    font-size:14px;
    font-weight:950;
}

.part-selected-model-box p{
    margin:0;
    color:#334155;
    font-size:14px;
    font-weight:800;
}

.part-selected-model-box b{
    color:#2563eb;
}

.part-setting-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:start;
}

.part-setting-form-box,
.part-preview-box{
    padding:20px;
    border-radius:18px;
    background:white;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.04);
}

.part-setting-form-box h3,
.part-preview-box h3{
    margin:0 0 16px;
    color:#071b4d;
    font-size:20px;
    font-weight:950;
}

.part-setting-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.part-setting-grid div,
.part-textarea-grid div{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.part-setting-grid label,
.part-textarea-grid label{
    color:#071b4d;
    font-size:13px;
    font-weight:950;
}

.part-setting-grid select,
.part-setting-grid input{
    height:42px;
    border:1px solid #dbe3f0;
    border-radius:10px;
    padding:0 12px;
    background:white;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
}

.part-textarea-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
}

.part-textarea-grid textarea{
    min-height:130px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    padding:12px;
    resize:vertical;
    font-size:14px;
    font-weight:800;
    line-height:1.6;
}

.part-textarea-grid p{
    margin:0;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.part-save-btn{
    width:100%;
    height:46px;
    margin-top:16px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-size:15px;
    font-weight:950;
    cursor:pointer;
}

.part-save-btn:hover{
    background:#1d4ed8;
}

.part-empty{
    padding:24px;
    border-radius:14px;
    background:#f8fafc;
    border:1px dashed #cbd5e1;
    color:#64748b;
    font-size:14px;
    font-weight:900;
    text-align:center;
}

.part-card{
    padding:16px;
    border-radius:16px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    margin-bottom:12px;
}

.part-card-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.part-card-head strong{
    display:block;
    color:#071b4d;
    font-size:16px;
    font-weight:950;
}

.part-card-head span{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.part-card-head button{
    height:30px;
    padding:0 10px;
    border:none;
    border-radius:8px;
    background:#94a3b8;
    color:white;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.part-option-row{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:10px;
    align-items:flex-start;
    margin-top:8px;
}

.part-option-row b{
    color:#1e3a8a;
    font-size:13px;
    font-weight:950;
}

.part-chip-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.part-chip-form{
    display:inline-block;
}

.part-chip-form button{
    min-height:28px;
    padding:0 10px;
    border:none;
    border-radius:999px;
    background:#e0f2fe;
    color:#0369a1;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.part-chip-form button:hover{
    background:#dc2626;
    color:white;
}

@media(max-width:1100px){
    .part-setting-layout{
        grid-template-columns:1fr;
    }

    .part-setting-grid,
    .part-textarea-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   부자재 설정 - 재고구분/세부항목 관리
========================= */

.inventory-option-manage-box{
    margin:20px 0;
    padding:20px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.04);
}

.inventory-option-head{
    margin-bottom:16px;
}

.inventory-option-head h3{
    margin:0 0 6px;
    color:#071b4d;
    font-size:20px;
    font-weight:950;
}

.inventory-option-head p{
    margin:0;
    color:#64748b;
    font-size:13px;
    font-weight:750;
}

.inventory-option-layout{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}

.inventory-option-card{
    padding:16px;
    border-radius:14px;
    background:white;
    border:1px solid #dbe3f0;
}

.inventory-option-card h4{
    margin:0 0 12px;
    color:#071b4d;
    font-size:15px;
    font-weight:950;
}

.inventory-option-card form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}

.inventory-option-card .option-two-action-form{
    grid-template-columns:1fr 1fr auto auto;
}

.inventory-option-card input,
.inventory-option-card select{
    height:38px;
    border:1px solid #dbe3f0;
    border-radius:9px;
    padding:0 10px;
    background:white;
    color:#0f172a;
    font-size:13px;
    font-weight:800;
}

.inventory-option-card button{
    height:38px;
    padding:0 13px;
    border:none;
    border-radius:9px;
    background:#2563eb;
    color:white;
    font-size:13px;
    font-weight:950;
    cursor:pointer;
}

.inventory-option-card button:hover{
    background:#1d4ed8;
}

.inventory-option-card .danger-btn{
    background:#64748b;
}

.inventory-option-card .danger-btn:hover{
    background:#dc2626;
}

@media(max-width:1000px){
    .inventory-option-layout{
        grid-template-columns:1fr;
    }

    .inventory-option-card form,
    .inventory-option-card .option-two-action-form{
        grid-template-columns:1fr;
    }
}

/* =========================
   재고 조직도 설정 - 관리방식 / 다중모델
========================= */

.part-target-model-box{
    margin:16px 0;
    padding:16px;
    border-radius:14px;
    background:#f8fbff;
    border:1px solid #dbe3f0;
}

.part-target-head{
    margin-bottom:12px;
}

.part-target-head strong{
    display:block;
    color:#071b4d;
    font-size:15px;
    font-weight:950;
    margin-bottom:5px;
}

.part-target-head span{
    color:#64748b;
    font-size:12px;
    font-weight:750;
    line-height:1.5;
}

.part-target-actions{
    display:flex;
    gap:8px;
    margin-bottom:12px;
}

.part-target-actions button{
    height:32px;
    padding:0 12px;
    border:none;
    border-radius:8px;
    background:#1e3a8a;
    color:white;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.part-target-actions button:hover{
    background:#2563eb;
}

.part-target-model-list{
    max-height:180px;
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    padding-right:4px;
}

.part-target-model-list label{
    min-height:34px;
    padding:7px 9px;
    border-radius:9px;
    background:white;
    border:1px solid #dbe3f0;
    display:flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
}

.part-target-model-list label.current{
    background:#eff6ff;
    border-color:#93c5fd;
}

.part-target-model-list input{
    width:14px;
    height:14px;
    accent-color:#2563eb;
}

.part-target-model-list span{
    color:#071b4d;
    font-size:12px;
    font-weight:850;
    word-break:keep-all;
}

#colorInputBox,
#kindInputBox{
    transition:.15s;
}

@media(max-width:900px){
    .part-target-model-list{
        grid-template-columns:1fr;
    }
}

/* =========================
   시스템 > 수리종목 관리
========================= */

.repair-subject-warning{
    margin:16px 0;
    padding:16px;
    border-radius:14px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}

.repair-subject-warning strong{
    display:block;
    color:#1e3a8a;
    font-size:15px;
    font-weight:950;
    margin-bottom:6px;
}

.repair-subject-warning p{
    margin:0;
    color:#334155;
    font-size:13px;
    font-weight:750;
    line-height:1.6;
}

.repair-subject-reset-btn{
    height:40px;
    padding:0 16px;
    border:none;
    border-radius:10px;
    background:#dc2626;
    color:white;
    font-size:13px;
    font-weight:950;
    cursor:pointer;
    margin-bottom:16px;
}

.repair-subject-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}

.repair-subject-card{
    padding:18px;
    border-radius:18px;
    background:#fff;
    border:1px solid #dbe3f0;
    box-shadow:0 10px 24px rgba(15,23,42,0.04);
}

.repair-subject-card.full{
    margin-top:14px;
}

.repair-subject-card h3{
    margin:0 0 14px;
    color:#071b4d;
    font-size:19px;
    font-weight:950;
}

.repair-subject-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.repair-subject-form label{
    color:#071b4d;
    font-size:13px;
    font-weight:950;
}

.repair-subject-form input[type="text"],
.repair-subject-form select,
.repair-subject-form textarea{
    width:100%;
    border:1px solid #dbe3f0;
    border-radius:10px;
    background:#fff;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
}

.repair-subject-form input[type="text"],
.repair-subject-form select{
    height:42px;
    padding:0 12px;
}

.repair-subject-form textarea{
    min-height:110px;
    padding:12px;
    resize:vertical;
    line-height:1.6;
}

.repair-subject-form button{
    height:42px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.repair-subject-form button:hover{
    background:#1d4ed8;
}

.repair-subject-form .danger-btn{
    background:#64748b;
}

.repair-subject-form .danger-btn:hover{
    background:#dc2626;
}

.repair-subject-btn-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.repair-subject-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.repair-subject-help{
    margin:-4px 0 4px;
    color:#64748b;
    font-size:12px;
    font-weight:750;
}

.inventory-link-list{
    max-height:220px;
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
    padding:10px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#f8fbff;
}

.inventory-link-list label{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:7px 9px;
    border-radius:9px;
    background:white;
    border:1px solid #dbe3f0;
    cursor:pointer;
}

.inventory-link-list input{
    accent-color:#2563eb;
}

.inventory-link-list span{
    color:#071b4d;
    font-size:12px;
    font-weight:850;
}

.repair-subject-chip-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.repair-subject-chip-wrap span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    background:#e0f2fe;
    color:#0369a1;
    font-size:12px;
    font-weight:900;
}

.text-muted{
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

@media(max-width:1100px){
    .repair-subject-layout,
    .repair-subject-grid{
        grid-template-columns:1fr;
    }

    .inventory-link-list{
        grid-template-columns:1fr;
    }
}

/* =========================
   재고등록 - 일반 다중등록 / 다음칸 강조
========================= */

.inventory-add-row-control{
    margin:14px 0;
    padding:16px;
    border-radius:16px;
    background:#f8fbff;
    border:1px dashed #93c5fd;
}

.inventory-add-row-control button{
    height:42px;
    padding:0 18px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.inventory-add-row-control button:hover{
    background:#1d4ed8;
}

.inventory-add-row-control p{
    margin:8px 0 0;
    color:#64748b;
    font-size:12px;
    font-weight:750;
    line-height:1.5;
}

.extra-stock-row{
    margin:14px 0;
    padding:18px;
    border-radius:18px;
    background:#ffffff;
    border:2px solid #dbeafe;
    box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.extra-stock-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
}

.extra-stock-head strong{
    color:#071b4d;
    font-size:17px;
    font-weight:950;
}

.remove-extra-stock-btn{
    height:34px;
    padding:0 12px;
    border:none;
    border-radius:8px;
    background:#64748b;
    color:white;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.remove-extra-stock-btn:hover{
    background:#dc2626;
}

/* 다음 입력해야 할 칸 */
.next-input-guide{
    background:#fff7cc !important;
    border:2px solid #facc15 !important;
    box-shadow:0 0 0 4px rgba(250,204,21,0.25);
    border-radius:12px;
    padding:8px;
}

.next-input-guide label::after{
    content:"  ← 다음 입력";
    color:#ca8a04;
    font-size:12px;
    font-weight:950;
}

/* =========================
   재고등록 - 다중 재고 요약
========================= */

.multi-stock-summary{
    display:none;
}

.inventory-summary-panel.multi-mode .summary-group,
.inventory-summary-panel.multi-mode .summary-notice{
    display:none;
}

.inventory-summary-panel.multi-mode .multi-stock-summary{
    display:block;
}

.multi-stock-summary h4{
    margin:0 0 12px;
    color:#071b4d;
    font-size:16px;
    font-weight:950;
}

.multi-stock-total-box{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:14px;
}

.multi-stock-total-box div{
    padding:12px;
    border-radius:12px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}

.multi-stock-total-box span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:850;
    margin-bottom:4px;
}

.multi-stock-total-box strong{
    color:#1e3a8a;
    font-size:18px;
    font-weight:950;
}

.multi-stock-summary-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.multi-stock-summary-card{
    padding:13px;
    border-radius:14px;
    background:#ffffff;
    border:1px solid #dbeafe;
    box-shadow:0 6px 16px rgba(15,23,42,0.04);
}

.multi-stock-summary-card.incomplete{
    background:#fff7cc;
    border-color:#facc15;
}

.multi-stock-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:10px;
}

.multi-stock-card-head strong{
    color:#071b4d;
    font-size:14px;
    font-weight:950;
}

.multi-stock-card-head span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    background:#dcfce7;
    color:#166534;
    font-size:11px;
    font-weight:950;
}

.multi-stock-summary-card.incomplete .multi-stock-card-head span{
    background:#fef3c7;
    color:#92400e;
}

.multi-stock-summary-card dl{
    display:grid;
    grid-template-columns:75px 1fr;
    gap:6px 8px;
    margin:0;
}

.multi-stock-summary-card dt{
    color:#64748b;
    font-size:12px;
    font-weight:850;
}

.multi-stock-summary-card dd{
    margin:0;
    color:#0f172a;
    font-size:12px;
    font-weight:850;
    word-break:keep-all;
}

.multi-stock-summary-card dd strong{
    color:#1d4ed8;
    font-weight:950;
}


/* =========================
   재고등록 - 계산서 이미지 출력 버튼
========================= */

.invoice-summary-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.invoice-image-btn{
    flex:0 0 auto;
    height:34px;
    padding:0 12px;
    border:none;
    border-radius:9px;
    background:#0f172a;
    color:white;
    font-size:12px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 6px 14px rgba(15,23,42,0.18);
}

.invoice-image-btn:hover{
    background:#2563eb;
    transform:translateY(-1px);
}

/* =========================
   재고등록 - 계산서 미리보기
========================= */

.invoice-preview-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(15,23,42,0.72);
    padding:30px;
    overflow:auto;
}

.invoice-preview-modal.active{
    display:block;
}

.invoice-preview-box{
    width:min(980px, 100%);
    margin:0 auto;
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 24px 80px rgba(0,0,0,0.35);
    overflow:hidden;
}

.invoice-preview-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 22px;
    background:#0f172a;
    color:white;
}

.invoice-preview-head strong{
    display:block;
    font-size:20px;
    font-weight:950;
}

.invoice-preview-head p{
    margin:4px 0 0;
    color:#cbd5e1;
    font-size:13px;
    font-weight:700;
}

.invoice-preview-head button{
    height:36px;
    padding:0 13px;
    border:none;
    border-radius:9px;
    background:#334155;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.invoice-preview-head button:hover{
    background:#475569;
}

.invoice-preview-image-wrap{
    padding:22px;
    background:#e2e8f0;
    text-align:center;
    max-height:70vh;
    overflow:auto;
}

.invoice-preview-image-wrap img{
    display:block;
    max-width:100%;
    height:auto;
    margin:0 auto;
    border-radius:10px;
    background:white;
    box-shadow:0 10px 30px rgba(15,23,42,0.18);
}

.invoice-preview-actions{
    display:flex;
    justify-content:flex-end;
    padding:16px 22px;
    background:#f8fafc;
    border-top:1px solid #e2e8f0;
}

.invoice-preview-actions button{
    height:42px;
    padding:0 18px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

.invoice-preview-actions button:hover{
    background:#1d4ed8;
}

.invoice-preview-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(15,23,42,0.72);
    padding:30px;
    overflow:auto;
}

.invoice-preview-modal.active{
    display:block;
}

.invoice-preview-box{
    width:min(980px, 100%);
    margin:0 auto;
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 24px 80px rgba(0,0,0,0.35);
    overflow:hidden;
}

.invoice-preview-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 22px;
    background:#0f172a;
    color:white;
}

.invoice-preview-head strong{
    display:block;
    font-size:20px;
    font-weight:950;
}

.invoice-preview-head p{
    margin:4px 0 0;
    color:#cbd5e1;
    font-size:13px;
    font-weight:700;
}

.invoice-preview-head button{
    height:36px;
    padding:0 13px;
    border:none;
    border-radius:9px;
    background:#334155;
    color:white;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.invoice-preview-image-wrap{
    padding:22px;
    background:#e2e8f0;
    text-align:center;
    max-height:70vh;
    overflow:auto;
}

.invoice-preview-image-wrap img{
    display:block;
    max-width:100%;
    height:auto;
    margin:0 auto;
    border-radius:10px;
    background:white;
    box-shadow:0 10px 30px rgba(15,23,42,0.18);
}

.invoice-preview-actions{
    display:flex;
    justify-content:flex-end;
    padding:16px 22px;
    background:#f8fafc;
    border-top:1px solid #e2e8f0;
}

.invoice-preview-actions button{
    height:42px;
    padding:0 18px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:white;
    font-size:14px;
    font-weight:950;
    cursor:pointer;
}

/* =========================================================
   모바일 반응형 공통 설정
   ========================================================= */

@media screen and (max-width: 768px) {

    html {
        zoom: 1;
        width: 100%;
        overflow-x: hidden;
    }

    body {
        width: 100%;
        min-width: 0;
        margin: 0;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    img,
    video,
    iframe {
        max-width: 100%;
        height: auto;
    }

    /* 전체 콘텐츠 여백 */
    main,
    section,
    .admin-section {
        width: 100%;
        max-width: none;
    }

    .admin-section {
        padding: 15px 10px;
    }

    .admin-box {
        width: 100%;
        max-width: none;
        padding: 18px 12px;
        margin: 0;
        border-radius: 14px;
    }

    /* 제목 크기 */
    .admin-box h1,
    .admin-box h2 {
        font-size: 24px;
        line-height: 1.3;
    }

    .admin-box h3 {
        font-size: 19px;
    }

    /* 입력칸 */
    input,
    select,
    textarea,
    button {
        max-width: 100%;
        font-size: 16px;
    }

    input,
    select,
    textarea {
        width: 100%;
    }

    button {
        min-height: 42px;
    }

    /* 수리완료 정산 3열 → 1열 */
    .repair-items-3col {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    /* 일반 2열·3열 그리드 → 1열 */
    .grid-2,
    .grid-3,
    .form-grid,
    .setting-grid,
    .part-setting-grid {
        grid-template-columns: 1fr;
    }

    /* 가로 Flex 영역 세로 배치 */
    .form-row,
    .filter-row,
    .button-row,
    .action-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    /* 표는 축소하지 않고 좌우 스크롤 */
    .table-wrap {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    table {
        min-width: 700px;
    }

    /* 결과 박스 */
    .calc-result,
    .total-result,
    .repair-customer-card,
    .complete-calc-box {
        width: 100%;
    }

    /* 푸터 4열 → 1열 */
    footer .footer-inner,
    .footer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 25px;
        text-align: center;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {

    html {
        zoom: 1;
    }

    .repair-items-3col {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .admin-section {
        padding: 25px 18px;
    }

    .admin-box {
        width: 100%;
        max-width: none;
    }
}