*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#fff8ef;color:#2b2118}
.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #f0d9c2;padding:22px 14px}
.brand,.logo{font-size:24px;font-weight:800;color:#d96500;margin-bottom:25px}.brand span{color:#222}.sidebar a{display:block;padding:13px 15px;margin:5px 0;border-radius:12px;color:#493628;text-decoration:none;font-weight:650}.sidebar a.active,.sidebar a:hover{background:#ffead7;color:#c95500}
main header{height:64px;background:#fff;border-bottom:1px solid #f0d9c2;padding:21px 28px;font-weight:700}.content{padding:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel,.login-card{background:#fff;border:1px solid #efd8c2;border-radius:18px;padding:20px;box-shadow:0 5px 18px #6b3a1210}.card strong{display:block;font-size:30px;margin-top:12px}
input,select{width:100%;min-height:48px;border:1px solid #d8c2ae;border-radius:12px;padding:10px 13px;margin:6px 0;font-size:16px}button,.btn{border:0;border-radius:12px;background:#ef7b16;color:#fff;padding:13px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.danger{background:#b83a2e}.toolbar{display:flex;gap:10px;margin:12px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.panel{margin-bottom:18px}.subpanel{background:#fff8ef;padding:14px;border-radius:14px}.upload{display:block;border:2px dashed #e8a76d;padding:14px;border-radius:12px;margin:10px 0}.upload input{margin-top:8px}.photo-line{display:flex;align-items:center;justify-content:space-between}.savebar{text-align:right}.primary{font-size:17px}.notice{padding:14px;background:#fff0cf;border-radius:12px;margin-top:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff4e8,#ffe2c5)}.login-card{width:min(440px,92vw);padding:34px}.login-card button{width:100%;margin:12px 0}.login-card small{display:block;color:#806d5c;margin-top:10px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:13px;border-bottom:1px solid #eee;text-align:left}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;gap:5px;padding:10px}.brand{display:none}.sidebar a{white-space:nowrap}.cards,.grid2,.grid3{grid-template-columns:1fr}.content{padding:16px}}


/* ============================================================
   KAZUKO PAWN - LOGIN CHUNG
   Cam chu dao, vien do dam, nut lon, toi uu cam ung da thiet bi
   ============================================================ */
.kaz-login-page{
    min-height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:
        radial-gradient(circle at 18% 35%, rgba(255,255,255,.78) 0 12%, rgba(255,255,255,0) 38%),
        linear-gradient(120deg,#fff0c7 0%,#ffd16e 42%,#ff9f00 100%);
}
.kaz-login-card{
    width:min(430px,100%);
    background:#fff;
    border:3px solid #b9362a;
    border-radius:28px;
    padding:28px 26px 24px;
    box-shadow:0 20px 55px rgba(116,50,0,.22);
}
.kaz-login-logo-wrap{text-align:center;margin:-2px 0 10px}
.kaz-login-logo{
    width:155px;
    max-width:48vw;
    height:auto;
    object-fit:contain;
}
.kaz-login-card h1{
    margin:4px 0 12px;
    text-align:center;
    color:#ed8200;
    font-size:32px;
    line-height:1;
    font-weight:950;
    letter-spacing:.5px;
    text-shadow:0 2px 0 #fff4cf;
}
.kaz-login-subtitle{
    text-align:center;
    color:#221a15;
    font-size:17px;
    line-height:1.5;
    font-weight:900;
}
.kaz-company-info{
    margin:20px 0 14px;
    display:grid;
    gap:8px;
    text-align:center;
    color:#5e5148;
    font-size:14px;
}
.kaz-divider{height:1px;background:#d9d0c8;margin:18px 0}
.kaz-login-form label{
    display:block;
    margin:10px 2px 5px;
    color:#3d2719;
    font-weight:900;
    font-size:14px;
}
.kaz-login-form input{
    width:100%;
    min-height:54px;
    border:2px solid #d9cec5;
    border-radius:17px;
    padding:0 16px;
    margin:0;
    background:#fff;
    color:#261b14;
    font-size:17px;
    font-weight:650;
    outline:none;
    transition:.15s ease;
}
.kaz-login-form input:focus{
    border-color:#c33d2c;
    box-shadow:0 0 0 4px rgba(227,111,0,.14);
}
.kaz-password-box{position:relative}
.kaz-password-box input{padding-right:58px}
.kaz-eye-btn{
    position:absolute;
    right:6px;
    top:6px;
    width:44px;
    min-height:42px;
    padding:0;
    border-radius:13px;
    background:#fff2da;
    color:#8d3f13;
    box-shadow:none;
}
.kaz-license-card{
    margin:15px 0 4px;
    padding:13px 15px;
    border:2px solid #e1b94d;
    border-radius:17px;
    background:#fff1bd;
    text-align:center;
    color:#432c14;
}
.kaz-license-card.warning{
    border-color:#c13b2c;
    background:#ffe1d9;
}
.kaz-license-title{font-weight:950}
.kaz-license-days{margin:5px 0;font-size:16px}
.kaz-license-card small{display:block;color:#69533d;line-height:1.35}
.kaz-login-button{
    width:100%;
    min-height:58px;
    margin-top:16px;
    border:2px solid #b9362a;
    border-radius:18px;
    background:linear-gradient(180deg,#ffad17,#ef8300);
    color:#fff;
    font-size:16px;
    font-weight:950;
    letter-spacing:.2px;
    box-shadow:0 7px 0 #b64e00;
    touch-action:manipulation;
}
.kaz-login-button:hover{filter:brightness(1.03)}
.kaz-login-button:active{
    transform:translateY(4px);
    box-shadow:0 3px 0 #b64e00;
}
.kaz-login-error{
    margin-top:12px;
    padding:12px 14px;
    border:2px solid #b9362a;
    border-radius:14px;
    background:#fff0ed;
    color:#9f2d22;
    font-weight:800;
}
.kaz-login-note{
    padding-top:17px;
    text-align:center;
    color:#75665a;
    font-size:12px;
    line-height:1.45;
}
@media(max-width:600px){
    .kaz-login-page{align-items:flex-start;padding:10px;overflow:auto}
    .kaz-login-card{border-radius:22px;padding:20px 16px;margin:8px 0}
    .kaz-login-logo{width:135px}
    .kaz-login-card h1{font-size:28px}
    .kaz-login-subtitle{font-size:15px}
    .kaz-company-info{font-size:13px;margin:15px 0 12px}
    .kaz-login-form input{min-height:56px;font-size:16px}
    .kaz-login-button{min-height:60px}
}
@media(min-width:601px) and (max-width:1100px){
    .kaz-login-card{width:min(500px,78vw)}
    .kaz-login-form input{min-height:58px}
    .kaz-login-button{min-height:62px}
}

.admin-sidebar{border-right:3px solid #a93226}.admin-sidebar .brand{color:#e36f00}.admin-sidebar .brand span{color:#9f2d22}
.admin-cards{margin:18px 0}.admin-form label{display:block;font-weight:800;margin:7px 2px 3px}
.module-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 22px}
.module-picker label{display:flex;align-items:center;gap:9px;padding:15px;border:2px solid #e5b48a;border-radius:14px;background:#fff7ed}
.module-picker input{width:24px;height:24px;min-height:24px;margin:0}.secondary{background:#765c49}
@media(max-width:850px){.module-picker{grid-template-columns:1fr}.admin-shell .sidebar{display:flex}}


/* ============================================================
   KAZUKO PAWN RESPONSIVE v1.3
   Desktop/POS: gon trong viewport
   Tablet/iPad: grid linh hoat
   Mobile: 1 cot + menu drawer + vung cham lon
   ============================================================ */

:root{
    --kaz-orange:#f47b0b;
    --kaz-orange-soft:#fff2e4;
    --kaz-red:#a93226;
    --kaz-red-dark:#81271f;
    --kaz-cream:#fffaf4;
    --kaz-border:#efd0b5;
    --kaz-text:#24170f;
    --kaz-sidebar:244px;
    --kaz-touch:46px;
}

html,body{
    min-height:100%;
}

body{
    overflow-x:hidden;
}

.admin-shell{
    grid-template-columns:var(--kaz-sidebar) minmax(0,1fr);
    background:var(--kaz-cream);
}

.admin-shell main{
    min-width:0;
}

.admin-sidebar{
    position:sticky;
    top:0;
    height:100dvh;
    overflow-y:auto;
    z-index:40;
    scrollbar-width:thin;
}

.sidebar-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.mobile-close,
.mobile-menu-btn{
    display:none;
}

.app-header{
    min-height:56px;
    height:auto;
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 24px;
    background:#fff;
    border-bottom:1px solid var(--kaz-border);
}

.app-header strong{
    font-size:16px;
}

.app-header span{
    color:#806a59;
    font-size:14px;
}

.content{
    width:100%;
    max-width:1600px;
    margin:0 auto;
    padding:18px 26px 24px;
}

.compact-page-head{
    margin-bottom:10px;
}

.compact-page-head h1{
    margin:0 0 4px;
    font-size:clamp(25px,2.1vw,34px);
    line-height:1.12;
}

.compact-page-head p{
    margin:0;
    color:#725f50;
    font-size:14px;
}

.compact-form{
    padding:14px 18px 16px;
    border:2px solid var(--kaz-border);
}

.form-section{
    padding:8px 0 10px;
    border-bottom:1px dashed #ead8c8;
}

.form-section:last-of-type{
    border-bottom:0;
}

.section-title{
    margin:0 0 7px;
    font-size:18px;
    font-weight:950;
    color:#2d1c12;
}

.form-grid{
    display:grid;
    gap:8px 12px;
}

.form-grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.form-grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.form-grid-license{
    grid-template-columns:1.35fr .7fr .9fr;
}

.field{
    min-width:0;
}

.field label,
.compact-form label{
    margin:0 0 3px;
    font-size:13px;
    font-weight:850;
}

.compact-form input,
.compact-form select{
    min-height:44px;
    height:44px;
    margin:0;
    padding:8px 12px;
    border-radius:11px;
    font-size:15px;
}

.split-section{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:18px;
    align-items:start;
}

.section-box{
    min-width:0;
}

.compact-module-picker{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin:0;
}

.compact-module-picker label{
    min-height:44px;
    padding:8px 10px;
    margin:0;
    justify-content:flex-start;
    border-radius:11px;
    cursor:pointer;
    user-select:none;
}

.compact-module-picker input{
    width:22px!important;
    height:22px!important;
    min-height:22px!important;
    flex:0 0 22px;
}

.sticky-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:9px;
    padding-top:12px;
}

.sticky-actions .btn,
.sticky-actions button{
    min-height:44px;
    padding:10px 16px;
    border-radius:11px;
    white-space:nowrap;
}

.touch-primary{
    min-width:220px;
}

.sidebar-overlay{
    display:none;
}

@media (min-width:1200px) and (min-height:700px){
    .compact-form{
        max-height:calc(100dvh - 145px);
        overflow:auto;
        scrollbar-width:thin;
    }
}

/* Laptop/POS/Tablet ngang */
@media (max-width:1199px){
    :root{
        --kaz-sidebar:220px;
    }

    .content{
        padding:16px 18px 22px;
    }

    .form-grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .split-section{
        grid-template-columns:1fr;
        gap:10px;
    }
}

/* iPad/tablet doc + mobile lon */
@media (max-width:850px){
    .admin-shell{
        display:block;
    }

    .admin-sidebar{
        position:fixed;
        left:-290px;
        top:0;
        width:min(86vw,280px);
        height:100dvh;
        background:#fff;
        padding:14px 12px;
        border-right:3px solid var(--kaz-red);
        transition:left .2s ease;
        box-shadow:12px 0 35px rgba(70,30,0,.18);
        z-index:100;
    }

    .admin-shell.menu-open .admin-sidebar{
        left:0;
    }

    .admin-sidebar .brand{
        display:block;
        margin:5px 0 12px;
    }

    .admin-sidebar a{
        min-height:48px;
        display:flex;
        align-items:center;
        margin:4px 0;
        padding:10px 12px;
    }

    .mobile-close{
        display:inline-grid;
        place-items:center;
        width:42px;
        min-height:42px;
        padding:0;
        border-radius:11px;
        background:#fff2e7;
        color:var(--kaz-red);
        box-shadow:none;
    }

    .mobile-menu-btn{
        display:inline-grid;
        place-items:center;
        width:44px;
        min-height:44px;
        padding:0;
        border-radius:11px;
        background:var(--kaz-orange);
        color:#fff;
        box-shadow:none;
    }

    .sidebar-overlay{
        display:block;
        position:fixed;
        inset:0;
        z-index:90;
        width:100%;
        min-height:100dvh;
        padding:0;
        border:0;
        border-radius:0;
        background:rgba(29,18,10,.38);
    }

    .app-header{
        position:sticky;
        top:0;
        z-index:50;
        padding:8px 12px;
        min-height:58px;
    }

    .app-header span{
        display:none;
    }

    .content{
        padding:12px;
    }

    .compact-form{
        padding:12px;
    }

    .form-grid-2,
    .form-grid-license{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .form-grid-license .field:last-child{
        grid-column:1 / -1;
    }

    .compact-module-picker{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .sticky-actions{
        position:sticky;
        bottom:0;
        z-index:20;
        margin:8px -12px -12px;
        padding:10px 12px;
        background:rgba(255,250,244,.96);
        border-top:1px solid var(--kaz-border);
        backdrop-filter:blur(8px);
    }
}

/* Dien thoai */
@media (max-width:560px){
    .compact-page-head h1{
        font-size:25px;
    }

    .form-grid-4,
    .form-grid-2,
    .form-grid-license{
        grid-template-columns:1fr;
    }

    .form-grid-license .field:last-child{
        grid-column:auto;
    }

    .compact-module-picker{
        grid-template-columns:1fr;
    }

    .compact-form input,
    .compact-form select{
        min-height:52px;
        height:52px;
        font-size:16px;
        border-radius:13px;
    }

    .compact-module-picker label{
        min-height:52px;
        font-size:16px;
    }

    .sticky-actions{
        display:grid;
        grid-template-columns:.8fr 1.2fr;
    }

    .sticky-actions .btn,
    .sticky-actions button{
        width:100%;
        min-width:0;
        min-height:54px;
        padding:9px 10px;
        white-space:normal;
    }
}

/* Dien thoai rat nho */
@media (max-width:390px){
    .sticky-actions{
        grid-template-columns:1fr;
    }

    .app-header strong{
        font-size:14px;
    }
}


/* Login/Trial/Tenant session v1.4 */
.kaz-trial-button{
    width:100%;
    min-height:54px;
    margin-top:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    border:2px solid #a93226;
    border-radius:17px;
    background:#fff0c9;
    color:#8a351d;
    font-weight:950;
    font-size:15px;
}
.trial-page{
    min-height:100dvh;
    display:grid;
    place-items:center;
    padding:18px;
    background:linear-gradient(120deg,#fff0c7,#ffd16e 45%,#ff9f00);
}
.trial-card{
    width:min(820px,96vw);
    background:#fff;
    border:3px solid #a93226;
    border-radius:24px;
    padding:22px;
    box-shadow:0 20px 55px rgba(116,50,0,.22);
}
.trial-brand{
    font-size:24px;
    font-weight:950;
    color:#e96f00;
}
.trial-brand span{color:#9f2d22}
.trial-card h1{margin:6px 0}
.trial-desc{margin:0 0 14px;color:#6e5848}
.trial-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 12px;
}
.trial-grid .full{grid-column:1/-1}
.trial-grid label{display:block;font-weight:850;margin:0 0 3px}
.trial-grid input{
    width:100%;
    min-height:48px;
    border:2px solid #dfcbb9;
    border-radius:12px;
    padding:9px 12px;
    font-size:16px;
}
.trial-info{
    margin-top:12px;
    padding:11px 13px;
    border-radius:12px;
    background:#fff2d7;
    color:#6f3b12;
    font-weight:800;
}
.trial-success{
    margin-top:12px;
    padding:12px 14px;
    border:2px solid #23824e;
    border-radius:12px;
    background:#eaf8ef;
    color:#17683d;
    font-weight:850;
}
.trial-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:13px;
}
.trial-actions a,.trial-actions button{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.tenant-header{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 22px;
    background:#fff;
    border-bottom:1px solid #efd0b5;
}
.tenant-header>div{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.license-pill{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:5px 10px;
    border-radius:999px;
    background:#e9f8ef;
    color:#17683d;
    border:1px solid #94d2ac;
    font-weight:800;
    font-size:13px;
    white-space:nowrap;
}
.license-pill.warning{
    background:#fff0cf;
    color:#9a4d08;
    border-color:#e5b04e;
}
.logout-btn{
    min-height:40px;
    padding:8px 12px;
    border:1px solid #a93226;
    border-radius:11px;
    background:#fff2e7;
    color:#8b2b22;
    font-weight:850;
    box-shadow:none;
    white-space:nowrap;
}
.admin-header{justify-content:space-between}
.admin-header>div{display:flex;align-items:center;gap:8px}
@media(max-width:650px){
    .trial-card{padding:14px}
    .trial-grid{grid-template-columns:1fr}
    .trial-grid .full{grid-column:auto}
    .trial-actions{display:grid;grid-template-columns:.8fr 1.2fr}
    .tenant-header{padding:8px 10px}
    .tenant-header>div{display:grid;gap:3px}
    .license-pill{width:max-content}
    .logout-btn{padding:7px 9px}
}

/* OTP/forgot v1.5 */
.kaz-forgot-row{display:flex;justify-content:flex-end;margin:-2px 2px 8px}
.kaz-forgot-row a{color:#9f2d22;font-weight:850;text-decoration:none}
.reset-card{width:min(650px,96vw)}
.reset-card>.field{margin-bottom:10px}.reset-card .field label{display:block;font-weight:850;margin-bottom:4px}
.reset-card .field input{width:100%;min-height:50px;border:2px solid #dfcbb9;border-radius:12px;padding:9px 12px;font-size:16px}
.otp-demo{margin-top:12px;padding:12px 14px;border:2px dashed #a93226;border-radius:12px;background:#fff7e7;color:#783217;font-weight:750}

/* Trial module picker v1.6 */
.trial-module-section{
    margin-top:14px;
    padding-top:12px;
    border-top:1px dashed #e3c9b2;
}
.trial-module-title{
    margin-bottom:8px;
    font-size:17px;
    font-weight:950;
    color:#2c1a10;
}
.trial-module-picker{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.trial-module-card{
    min-height:92px;
    display:grid;
    grid-template-columns:24px 30px minmax(0,1fr);
    align-items:center;
    gap:7px;
    padding:11px;
    border:2px solid #e7b88f;
    border-radius:14px;
    background:#fff8ef;
    cursor:pointer;
    user-select:none;
}
.trial-module-card:has(input:checked){
    border-color:#a93226;
    background:#fff0df;
    box-shadow:0 0 0 3px rgba(244,123,11,.10);
}
.trial-module-card input{
    width:22px!important;
    height:22px!important;
    min-height:22px!important;
    margin:0;
}
.trial-module-icon{font-size:23px}
.trial-module-card strong{
    display:block;
    color:#6f2c17;
    font-size:15px;
}
.trial-module-card small{
    display:block;
    margin-top:3px;
    color:#765f50;
    line-height:1.25;
    font-size:11px;
}
.trial-module-note{
    margin-top:7px;
    color:#7a5a43;
    font-size:12px;
}
@media(max-width:800px){
    .trial-module-picker{grid-template-columns:1fr}
    .trial-module-card{min-height:68px}
}


/* ============================================================
   CAM DO CORE v1.7
   ============================================================ */
.pawn-page{width:100%;min-width:0}
.pawn-page-head{
    display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px
}
.pawn-page-head h1{margin:0 0 3px;font-size:clamp(26px,2vw,34px)}
.pawn-page-head p{margin:0;color:#755d4b}
.pawn-section{
    background:#fff;border:2px solid #efcfb2;border-radius:16px;
    padding:13px 15px;margin-bottom:12px
}
.pawn-section-title{
    font-size:18px;font-weight:950;color:#2d1b11;margin-bottom:10px
}
.customer-search-row{
    display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;align-items:center
}
.customer-search-row input{margin:0}
.outline-orange{
    background:#fff4e7;color:#a84816;border:2px solid #df8145;box-shadow:none
}
.customer-results{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px
}
.customer-result{
    min-height:56px;text-align:left;background:#fffaf4;color:#2f2017;
    border:1px solid #e9ccb2;box-shadow:none;padding:9px 12px
}
.customer-result strong,.customer-result span{display:block}
.customer-result span{font-size:12px;color:#735e4f;margin-top:3px}
.selected-customer{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    background:#edf9f1;border:2px solid #8dccaa;border-radius:13px;padding:10px 12px
}
.selected-customer strong,.selected-customer span{display:block}
.selected-customer span{color:#566b5e;font-size:13px;margin-top:3px}
.new-customer-box{margin-top:10px;padding:11px;background:#fff9f1;border-radius:13px}
.photo-toolbar{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px
}
.photo-toolbar>span{font-size:12px;color:#766151}
.capture-btn{
    position:relative;display:inline-flex!important;align-items:center;justify-content:center;
    min-height:44px;margin:0!important;padding:8px 13px;border-radius:11px;
    border:2px solid #db7a3d;background:#fff0df;color:#8b3a16;font-weight:900;cursor:pointer
}
.capture-btn input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.photo-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,110px));gap:8px;margin-top:9px
}
.photo-item{
    position:relative;aspect-ratio:1;border:2px solid #e1c2a7;border-radius:12px;overflow:hidden;background:#f5eee8
}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block}
.photo-item button{
    position:absolute;right:4px;top:4px;width:32px;min-height:32px;padding:0;
    border-radius:9px;background:rgba(163,50,39,.92);box-shadow:none
}
.pawn-money-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.calc-preview{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;
    padding:9px 12px;border-radius:12px;background:#fff0cf;border:1px solid #e3bd68
}
.calc-preview strong{font-size:19px;color:#9b4710}
.calc-preview small{color:#745b45}
.asset-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.asset-title-row button{min-height:40px;padding:8px 12px}
.asset-card{
    border:2px solid #ead0ba;border-radius:14px;padding:11px;margin-top:9px;background:#fffdf9
}
.asset-card-head{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:8px
}
.asset-grid{grid-template-columns:1.5fr 1fr 1fr 1.5fr}
.small-btn{min-height:36px!important;padding:6px 10px!important}
.pawn-savebar{
    position:sticky;bottom:0;z-index:30;display:flex;justify-content:space-between;align-items:center;
    gap:12px;padding:10px 14px;margin-top:10px;background:rgba(255,249,240,.96);
    border:2px solid #dca172;border-radius:14px;backdrop-filter:blur(8px)
}
.pawn-savebar>div span,.pawn-savebar>div strong{display:block}
.pawn-savebar>div strong{font-size:19px;color:#9e4014}
.pawn-save-btn{min-width:235px;min-height:52px;border:2px solid #a93226}
.table-responsive{overflow-x:auto}
.status-pill{
    display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf7ef;color:#1b7044;
    border:1px solid #a9d6bb;font-weight:800;font-size:12px;white-space:nowrap
}
.table-note{display:block;color:#7b6859;margin-top:3px}
.customer-page-search{margin-bottom:12px}
.customer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.customer-profile-card{
    display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;
    background:#fff;border:2px solid #efd2b9;border-radius:15px;padding:11px
}
.customer-avatar{
    width:72px;height:72px;border-radius:14px;overflow:hidden;background:#fff1e2;
    display:grid;place-items:center;font-size:30px
}
.customer-avatar img{width:100%;height:100%;object-fit:cover}
.customer-profile-main strong,.customer-profile-main span,.customer-profile-main small{display:block}
.customer-profile-main span{color:#a14818;font-weight:800;margin:2px 0}
.customer-profile-main small{color:#756154;margin-top:2px}
.customer-history-mini{display:flex;gap:8px}
.customer-history-mini>div{
    min-width:90px;padding:8px;border-radius:11px;background:#fff5e8;text-align:center
}
.customer-history-mini b,.customer-history-mini span{display:block}
.customer-history-mini span{font-size:11px;color:#765f50;margin-top:2px}
.empty-card{padding:18px;background:#fff;border:2px dashed #e1c3aa;border-radius:14px;color:#725f50}

@media(max-width:1100px){
    .pawn-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .customer-card-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .pawn-page-head{align-items:flex-start}
    .customer-search-row{grid-template-columns:1fr 1fr}
    .customer-search-row input{grid-column:1/-1}
    .customer-results{grid-template-columns:1fr}
    .pawn-money-grid,.asset-grid{grid-template-columns:1fr}
    .pawn-section{padding:11px}
    .pawn-savebar{display:grid;grid-template-columns:1fr}
    .pawn-save-btn{width:100%;min-width:0}
    .customer-profile-card{grid-template-columns:58px minmax(0,1fr)}
    .customer-avatar{width:58px;height:58px}
    .customer-history-mini{grid-column:1/-1}
}


/* ============================================================
   CAM DO DYNAMIC ASSET + INTEREST v1.8
   ============================================================ */
.pawn-dual-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);
    gap:12px;
    align-items:start;
}
.pawn-assets-pane,.pawn-interest-pane{margin-bottom:0}
.pawn-interest-pane{
    position:sticky;
    top:70px;
}
.asset-top-grid{
    grid-template-columns:1.15fr 1.4fr .85fr;
}
.asset-spec-box{
    margin-top:9px;
    padding:10px;
    border:1px solid #edc9aa;
    border-radius:12px;
    background:#fff7ed;
}
.spec-title{
    margin-bottom:7px;
    font-weight:950;
    color:#873713;
}
.spec-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.spec-wide{grid-column:span 2}
.asset-note-field{margin-top:9px}
.financial-base-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.financial-money{grid-column:1/-1}
.financial-money input{
    font-size:19px!important;
    font-weight:900;
    color:#8d3812;
}
.interest-box{
    margin-top:10px;
    padding:10px;
    border:2px solid #e2b98f;
    border-radius:13px;
    background:#fffaf4;
}
.in-term-box{border-color:#87c9a0;background:#f3fbf6}
.overdue-box{border-color:#e5a080;background:#fff6ef}
.penalty-box{border-color:#e0bd6c;background:#fff9e9}
.interest-box-title{
    margin-bottom:8px;
    font-size:17px;
    font-weight:950;
}
.interest-row-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 9px;
}
.interest-result{
    display:grid;
    grid-template-columns:1fr auto;
    gap:2px 8px;
    align-items:center;
    margin-top:9px;
    padding:9px 11px;
    border-radius:11px;
    background:#e7f7ed;
}
.interest-result span{font-weight:850}
.interest-result strong{
    font-size:21px;
    color:#17663d;
}
.interest-result small{
    grid-column:1/-1;
    color:#657568;
}
.overdue-result{background:#fff0e7}
.overdue-result strong{color:#aa401d}
.penalty-grid{
    grid-template-columns:1fr 1.25fr;
    align-items:end;
}
.financial-total{
    min-height:70px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:9px 12px;
    border-radius:11px;
    background:#fff0c9;
}
.financial-total span{font-size:12px;font-weight:800}
.financial-total strong{font-size:21px;color:#9a430e}
.save-summary{
    display:flex!important;
    flex-direction:row!important;
    gap:18px!important;
}
.save-summary>div span,.save-summary>div strong{display:block}
.save-summary>div span{font-size:11px;color:#745d4c}
.save-summary>div strong{font-size:17px}

@media(max-width:1250px){
    .pawn-dual-grid{
        grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);
    }
    .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
    .pawn-dual-grid{grid-template-columns:1fr}
    .pawn-interest-pane{position:static}
    .asset-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .asset-top-grid,.spec-grid,.financial-base-grid,.interest-row-grid,.penalty-grid{
        grid-template-columns:1fr;
    }
    .spec-wide,.financial-money{grid-column:auto}
    .save-summary{display:grid!important;grid-template-columns:repeat(3,1fr)}
}


/* ============================================================
   FINANCE RATE PER MILLION v1.9
   ============================================================ */
.money-input-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
}
.money-input-wrap input{
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
}
.money-input-wrap>span{
    min-width:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border:2px solid #dfcbb9;
    border-left:0;
    border-radius:0 12px 12px 0;
    background:#fff1d8;
    color:#8e4219;
    font-size:12px;
    font-weight:950;
}
.auto-period-note{
    display:block;
    margin-top:4px;
    color:#7b624f;
    font-size:11px;
    line-height:1.25;
}


/* ============================================================
   PAWN MANAGER SEARCH EDIT DELETE v2.0
   ============================================================ */
.pawn-manager-tools{padding:12px 14px}
.pawn-search-grid{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto auto auto;
    gap:8px;
    align-items:end;
}
.pawn-search-main input{margin:0}
.pawn-search-btn,.scan-image-btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 13px;
    border-radius:11px;
    font-weight:900;
}
.scan-image-btn{
    position:relative;
    cursor:pointer;
    color:#8b3a16;
    background:#fff0df;
    border:2px solid #db7a3d;
}
.scan-image-btn input{
    position:absolute;
    inset:0;
    opacity:0;
    width:100%;
    height:100%;
    cursor:pointer;
}
.scan-note{
    margin-top:7px;
    color:#786151;
    font-size:11px;
}
.pawn-manager-table th,.pawn-manager-table td{white-space:nowrap}
.pawn-customer-cell{display:flex;align-items:center;gap:7px}
.pawn-customer-cell img,.pawn-avatar-fallback{
    width:34px;height:34px;border-radius:9px;object-fit:cover;
    display:grid;place-items:center;background:#fff0df
}
.row-actions{display:flex;gap:5px}
.edit-row-btn{
    min-height:34px;padding:6px 9px;border-radius:9px;
    background:#fff0d8;color:#884013;border:1px solid #d99761;box-shadow:none
}
.pawn-modal-backdrop{
    position:fixed;inset:0;z-index:1000;background:rgba(33,20,12,.42);
    display:grid;place-items:center;padding:18px
}
.pawn-modal{
    width:min(960px,96vw);max-height:92vh;overflow:auto;
    background:#fffaf4;border:3px solid #a93226;border-radius:18px;padding:15px
}
.pawn-modal-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
    padding-bottom:10px;border-bottom:1px solid #ead2bd
}
.pawn-modal-head h2{margin:0}.pawn-modal-head span{color:#725d4e;font-size:12px}
.modal-close-btn{width:38px;min-height:38px;padding:0;background:#fff1e7;color:#8b2e23;box-shadow:none}
.pawn-edit-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px 10px;margin-top:12px
}
.pawn-edit-note{grid-column:1/-1}
.pawn-modal-actions{
    display:flex;justify-content:flex-end;gap:8px;margin-top:13px
}
.pawn-confirm-box{
    width:min(520px,94vw);background:#fff;border:3px solid #a93226;
    border-radius:18px;padding:16px
}
.pawn-confirm-box h3{margin-top:0}
.delete-warning{
    padding:10px;border-radius:11px;background:#fff0eb;color:#8f2f22
}
@media(max-width:900px){
    .pawn-search-grid{grid-template-columns:1fr 1fr}
    .pawn-search-main{grid-column:1/-1}
    .pawn-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    .pawn-search-grid,.pawn-edit-grid{grid-template-columns:1fr}
    .pawn-edit-note{grid-column:auto}
}

/* ============================================================
   KAZUKO PAWN AUTO SIZE GLOBAL v2.2
   Desktop / Laptop / POS / Tablet / iPad / Mobile
   ============================================================ */
:root{
    --kaz-sidebar-auto:clamp(210px,16.5vw,245px);
    --kaz-page-pad:clamp(10px,1.4vw,24px);
    --kaz-gap:clamp(8px,1vw,16px);
    --kaz-radius:clamp(10px,.9vw,16px);
    --kaz-control-h:clamp(42px,3.2vw,50px);
    --kaz-font:clamp(13px,.94vw,16px);
    --kaz-title:clamp(24px,2.2vw,34px);
}

html{
    width:100%;
    min-width:320px;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
}
body{
    width:100%;
    min-width:320px;
    overflow-x:hidden!important;
    font-size:var(--kaz-font);
}

/* Shell tự co theo viewport */
.shell,
.tenant-shell,
.admin-shell{
    width:100%;
    max-width:100vw;
    min-width:0;
    grid-template-columns:var(--kaz-sidebar-auto) minmax(0,1fr)!important;
}
.shell>main,
.tenant-shell>main,
.admin-shell>main{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
}
.sidebar{
    width:100%;
    min-width:0;
    padding:clamp(12px,1.4vw,22px) clamp(9px,1vw,14px);
}
.sidebar .brand{
    font-size:clamp(19px,1.6vw,24px);
    white-space:nowrap;
}
.sidebar a{
    padding:clamp(9px,.85vw,13px) clamp(10px,1vw,15px);
    font-size:clamp(13px,.95vw,16px);
}

/* Header tự co */
.app-header,
.tenant-header,
.admin-header{
    width:100%;
    min-width:0;
    min-height:clamp(54px,4vw,64px);
    height:auto!important;
    padding:clamp(8px,.9vw,13px) var(--kaz-page-pad)!important;
    display:flex!important;
    align-items:center;
    gap:clamp(6px,.8vw,12px);
}
.tenant-header-info,
.app-header>div{
    min-width:0;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px 10px;
}
.tenant-header-info strong,
.app-header strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:min(46vw,560px);
}
.logout-btn{
    margin-left:auto;
    flex:0 0 auto;
    min-height:40px;
    padding:8px clamp(10px,1vw,16px)!important;
    white-space:nowrap;
}

/* Content không cố định 1600px nữa */
.content{
    width:100%!important;
    max-width:none!important;
    min-width:0;
    margin:0!important;
    padding:var(--kaz-page-pad)!important;
    overflow-x:hidden;
}
.content>*{max-width:100%;min-width:0}

/* Auto size chung cho typography */
h1{font-size:var(--kaz-title);line-height:1.15}
h2{font-size:clamp(20px,1.7vw,28px)}
h3{font-size:clamp(17px,1.25vw,22px)}

/* Control tự co, không vượt khung */
input,select,textarea,button,.btn{
    max-width:100%;
    font-size:clamp(13px,.92vw,16px);
}
input,select,textarea{
    width:100%;
    min-width:0;
    min-height:var(--kaz-control-h);
    padding:clamp(8px,.7vw,11px) clamp(10px,.9vw,14px);
}
button,.btn{
    min-height:clamp(40px,3vw,48px);
    padding:clamp(8px,.7vw,12px) clamp(11px,1vw,18px);
}

/* Các grid cũ tự co thay vì cố định cứng */
.cards{
    grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;
    gap:var(--kaz-gap)!important;
}
.grid2{
    grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important;
    gap:var(--kaz-gap)!important;
}
.grid3{
    grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;
    gap:var(--kaz-gap)!important;
}
.form-grid,
.form-grid-4{
    grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
    gap:clamp(7px,.8vw,12px)!important;
}
.card,.panel,.pawn-section,.asset-card,.subpanel{
    min-width:0;
    max-width:100%;
    border-radius:var(--kaz-radius);
    padding:clamp(10px,1.1vw,18px);
}
.card strong{font-size:clamp(22px,2vw,30px)}

/* Cầm đồ: hai khối tận dụng chiều ngang, tự xuống cột */
.pawn-page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.pawn-page-head{
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:var(--kaz-gap)!important;
    align-items:center!important;
}
.pawn-page-head>div{min-width:0}
.pawn-page-head h1{width:auto!important;max-width:100%!important;margin:0!important}
.pawn-page-head p{overflow-wrap:anywhere}
.pawn-dual-grid{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr)!important;
    gap:var(--kaz-gap)!important;
}
.pawn-assets-pane,.pawn-interest-pane{min-width:0;max-width:100%}
.asset-top-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))!important;
}
.spec-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))!important;
}
.financial-base-grid,
.interest-row-grid,
.penalty-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Thanh lưu và tổng tiền tự co */
.pawn-savebar{
    width:100%;
    max-width:100%;
    gap:var(--kaz-gap)!important;
}
.save-summary{
    flex:1 1 auto;
    min-width:0;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(90px,1fr));
    gap:clamp(6px,1vw,18px)!important;
}
.pawn-save-btn{flex:0 1 260px;min-width:180px!important}

/* Trang quản lý phiếu: công cụ tự fit */
.pawn-search-grid{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(220px,1fr) repeat(3,max-content)!important;
    gap:clamp(6px,.7vw,10px)!important;
}
.pawn-search-grid>*{min-width:0;max-width:100%}
.scan-note{white-space:normal;overflow-wrap:anywhere}

/* Bảng: co trước, cuộn ngang chỉ khi thật sự nhỏ */
.table-responsive,.panel.table-responsive{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
}
table{
    width:100%;
    max-width:100%;
    font-size:clamp(12px,.86vw,15px);
}
th,td{
    padding:clamp(8px,.75vw,13px);
    vertical-align:middle;
}
.pawn-manager-table{
    width:100%!important;
    min-width:880px!important;
}
.pawn-manager-table th,.pawn-manager-table td{
    padding:clamp(7px,.65vw,11px)!important;
}
.row-actions{display:flex;gap:5px;flex-wrap:nowrap}
.row-actions button{white-space:nowrap}

/* Modal luôn nằm trong viewport */
.pawn-modal{
    width:min(960px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
}
.pawn-edit-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;
}

/* Admin form + module */
.admin-cards{
    grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
}
.module-picker{
    grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;
    gap:var(--kaz-gap)!important;
}

/* Login/Dùng thử tự vừa chiều cao và chiều rộng */
.kaz-login-page{
    width:100%;
    min-width:320px;
    padding:clamp(8px,1.4vw,18px)!important;
}
.kaz-login-card{
    width:min(430px,100%)!important;
    max-width:100%;
    padding:clamp(16px,2vw,28px)!important;
}

/* Laptop/POS nhỏ */
@media(max-width:1180px){
    :root{--kaz-sidebar-auto:220px}
    .content{padding:14px!important}
    .pawn-dual-grid{grid-template-columns:minmax(0,1.3fr) minmax(315px,.8fr)!important}
    .pawn-search-grid{grid-template-columns:minmax(200px,1fr) repeat(3,max-content)!important}
}

/* Tablet / iPad: menu drawer, content full width */
@media(max-width:980px){
    .shell,.tenant-shell,.admin-shell{
        display:block!important;
        width:100%!important;
    }
    .sidebar{
        display:block!important;
        position:fixed!important;
        top:0;
        left:0;
        bottom:0;
        width:min(290px,84vw)!important;
        max-width:84vw;
        height:100dvh!important;
        z-index:1001;
        transform:translateX(-105%);
        transition:transform .2s ease;
        overflow-y:auto;
        box-shadow:10px 0 35px rgba(66,35,12,.2);
    }
    .menu-open .sidebar{transform:translateX(0)}
    .mobile-menu-btn,.mobile-close{display:inline-flex!important;align-items:center;justify-content:center}
    .mobile-menu-btn{flex:0 0 42px;width:42px;padding:0!important}
    .mobile-close{width:38px;min-height:38px;padding:0!important;background:#fff0e6;color:#9f2d22}
    .sidebar-overlay{
        display:block!important;
        position:fixed;
        inset:0;
        z-index:1000;
        border:0;
        border-radius:0;
        background:rgba(35,20,10,.35);
    }
    .app-header,.tenant-header{position:sticky;top:0;z-index:100}
    .content{padding:12px!important}
    .pawn-dual-grid{grid-template-columns:1fr!important}
    .pawn-interest-pane{position:static!important}
    .pawn-search-grid{grid-template-columns:minmax(0,1fr) repeat(2,max-content)!important}
    .pawn-search-grid>.outline-orange{grid-column:auto!important}
    .pawn-manager-table{min-width:820px!important}
}

/* Điện thoại */
@media(max-width:640px){
    :root{--kaz-page-pad:9px;--kaz-gap:8px;--kaz-control-h:46px}
    .tenant-header-info strong,.app-header strong{max-width:42vw}
    .license-pill{font-size:11px;padding:5px 7px}
    .logout-btn{font-size:0;padding:8px 10px!important}
    .logout-btn::first-letter{font-size:16px}
    .pawn-page-head{grid-template-columns:1fr!important;align-items:start!important}
    .pawn-page-head .btn{width:100%;text-align:center}
    .pawn-search-grid{grid-template-columns:1fr 1fr!important}
    .pawn-search-main{grid-column:1/-1!important}
    .pawn-search-grid>.outline-orange{grid-column:1/-1!important}
    .financial-base-grid,.interest-row-grid,.penalty-grid{grid-template-columns:1fr!important}
    .save-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .save-summary strong{font-size:clamp(12px,3.4vw,16px)!important}
    .pawn-savebar{display:grid!important;grid-template-columns:1fr!important}
    .pawn-save-btn{width:100%!important;min-width:0!important;flex:auto}
    .customer-search-row{grid-template-columns:1fr!important}
    .customer-search-row input{grid-column:auto!important}
    .photo-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important}
    .pawn-modal-backdrop{padding:6px!important}
    .pawn-modal{width:100%!important;max-width:100%!important;max-height:96dvh!important;border-radius:14px!important}
    .pawn-modal-actions{display:grid!important;grid-template-columns:1fr 1fr}
    .pawn-modal-actions button{width:100%}
    .pawn-manager-table{min-width:760px!important}
}

/* Màn hình rất nhỏ */
@media(max-width:390px){
    .app-header,.tenant-header{padding:7px 8px!important}
    .tenant-header-info strong,.app-header strong{max-width:35vw;font-size:13px}
    .save-summary{grid-template-columns:1fr!important}
    .pawn-search-grid{grid-template-columns:1fr!important}
    .pawn-search-main,.pawn-search-grid>.outline-orange{grid-column:auto!important}
    .pawn-search-grid button,.scan-image-btn{width:100%}
}


/* ============================================================
   PAWN DETAIL SETTLEMENT v2.3
   ============================================================ */
.pawn-rate-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 10px;
}
.pawn-rate-type{grid-column:1/-1}
.pawn-settlement-note{
    margin:10px 0;
    padding:11px 12px;
    border:1px solid #e4bb77;
    border-radius:12px;
    background:#fff7df;
    color:#744719;
}
.pawn-settlement-note strong,
.pawn-settlement-note span{display:block}
.pawn-settlement-note span{margin-top:3px;font-size:12px}
.pawn-detail-modal{
    width:min(1120px,97vw);
}
.pawn-detail-section{
    margin-top:12px;
    padding:12px;
    border:1px solid #ecd0b5;
    border-radius:13px;
    background:#fffdf9;
}
.pawn-detail-section h3{
    margin:0 0 10px;
    font-size:17px;
}
.pawn-detail-assets{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.pawn-detail-asset-card{
    padding:10px;
    border:1px solid #e7c8aa;
    border-radius:12px;
    background:#fff8ef;
}
.pawn-detail-asset-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
}
.pawn-detail-asset-head strong,
.pawn-detail-asset-head span{display:block}
.pawn-detail-asset-head span{font-size:11px;color:#735d4c;margin-top:2px}
.pawn-detail-asset-head b{white-space:nowrap;color:#9c4314}
.pawn-detail-asset-card p{margin:8px 0;color:#654f41}
.pawn-detail-photo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(72px,90px));
    gap:6px;
    margin:8px 0;
}
.pawn-detail-photo-grid img{
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:9px;
    border:1px solid #dfbea0;
}
.pawn-operation-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    background:transparent;
    border:0;
    padding:0;
}
.pawn-operation-card{
    padding:12px;
    border:2px solid #e7c7a7;
    border-radius:13px;
    background:#fff9f1;
}
.pawn-operation-card h3{margin:0 0 8px}
.pawn-operation-card p{font-size:12px;color:#715b4b}
.pawn-operation-card button{
    width:100%;
    margin-top:8px;
}
.operation-summary{
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 10px;
    margin-bottom:8px;
}
.operation-summary span{font-size:12px;color:#735f50}
.operation-summary strong{text-align:right}
.settlement-box{
    border:2px solid #d88748;
    background:#fffaf3;
}
.settlement-ok,
.settlement-overdue{
    padding:10px 12px;
    border-radius:11px;
    margin-bottom:10px;
}
.settlement-ok{
    background:#eaf8ef;
    color:#17653b;
    border:1px solid #a4d4b5;
}
.settlement-overdue{
    background:#fff0e9;
    color:#9f3f1c;
    border:1px solid #e6a282;
}
.settlement-total-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}
.settlement-total-grid>div{
    padding:9px 10px;
    border-radius:10px;
    background:#fff1df;
}
.settlement-total-grid span,
.settlement-total-grid strong{display:block}
.settlement-total-grid span{font-size:11px;color:#745d4d}
.settlement-total-grid strong{margin-top:3px;color:#8f3e14}
.settlement-grand-total{
    grid-column:1/-1;
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    background:#ffe5b5!important;
    border:2px solid #df8a35;
}
.settlement-grand-total strong{
    font-size:24px;
    color:#9a350e!important;
}
.settlement-btn{
    width:100%;
    min-height:50px;
    margin-top:10px;
    background:#df5b24;
    border:2px solid #9d341d;
}
@media(max-width:850px){
    .pawn-rate-grid,
    .pawn-detail-assets,
    .pawn-operation-grid,
    .settlement-total-grid{
        grid-template-columns:1fr;
    }
    .pawn-rate-type,
    .settlement-grand-total{grid-column:auto}
    .settlement-grand-total{
        display:block!important;
    }
}

/* CUSTOMER EDIT / DELETE ACTIONS */
.customer-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;grid-column:1/-1;border-top:1px solid #f1dcc9;padding-top:8px}
.customer-actions button{min-height:38px;padding:8px 14px;white-space:nowrap}
.customer-edit-modal,.customer-delete-modal{max-width:760px}
@media(max-width:700px){.customer-actions{justify-content:stretch}.customer-actions button{flex:1}}


/* ============================================================
   DATE VN DDMMYYYY v2.4.4
   ============================================================ */
.date-vn-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    gap:6px;
    align-items:stretch;
}
.date-vn-wrap>input[type="text"]{
    width:100%;
    min-width:0;
    font-variant-numeric:tabular-nums;
}
.date-native-button{
    width:46px!important;
    min-width:46px!important;
    padding:0 7px!important;
    cursor:pointer;
    color:transparent;
    background:#fff7eb;
    border:1px solid #dfb88f;
    border-radius:10px;
}
.date-native-button::-webkit-datetime-edit{
    display:none;
}
.date-native-button::-webkit-calendar-picker-indicator{
    width:24px;
    height:24px;
    margin:auto;
    opacity:1;
    cursor:pointer;
}
.field label small{
    font-weight:600;
    color:#8a6b56;
    font-size:10px;
}


/* Nut Sua phieu - danh sach Cam do v2.4.4 */
.pawn-edit-ticket-btn{
    background:#fff4df!important;
    color:#8b4513!important;
    border:1px solid #e4a15c!important;
}
.row-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
}
@media(max-width:760px){
    .row-actions{
        flex-wrap:wrap;
    }
}


/* ============================================================
   CHO VAY v1 KAZUKO
   ============================================================ */
.loan-list-table{width:100%;min-width:1050px}
.loan-list-table th,.loan-list-table td{padding:9px 8px}
.loan-purpose-field,.loan-wide-field{grid-column:span 2}
.loan-type-note{
    margin-top:10px;padding:11px 12px;border-radius:12px;
    background:#eef8ff;border:1px solid #a8cde3;color:#31566d
}
.loan-type-note strong,.loan-type-note span{display:block}
.loan-type-note span{margin-top:4px;font-size:12px}
.loan-security-box{
    margin-top:12px;padding:12px;border:1px solid #efc9a2;
    border-radius:14px;background:#fffaf4
}
.loan-security-card{
    margin-bottom:10px;padding:10px;border:1px solid #e8c4a0;
    border-radius:12px;background:#fffdf9
}
.loan-interest-box{margin-top:12px}
.loan-calc-result{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;margin-top:10px
}
.loan-calc-result>div{
    padding:10px;border-radius:11px;background:#eaf8ef
}
.loan-calc-result span,.loan-calc-result strong{display:block}
.loan-calc-result span{font-size:11px;color:#526b5a}
.loan-calc-result strong{margin-top:3px;font-size:18px;color:#08723e}
.loan-formula-note{
    margin-top:8px;padding:9px 10px;border-radius:10px;
    background:#fff1d4;color:#744719;font-size:12px
}
.loan-detail-modal{width:min(1180px,97vw)}
.loan-summary-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;margin-top:12px
}
.loan-summary-grid>div{
    padding:10px;border-radius:11px;background:#fff1df;border:1px solid #ebc8a4
}
.loan-summary-grid span,.loan-summary-grid strong{display:block}
.loan-summary-grid span{font-size:11px;color:#715b4b}
.loan-summary-grid strong{margin-top:3px}
.loan-schedule-table{width:100%;min-width:920px}
.loan-schedule-table th,.loan-schedule-table td{padding:8px 7px;white-space:nowrap}
.loan-collect-layer{z-index:1100}
@media(max-width:850px){
    .loan-calc-result,.loan-summary-grid{grid-template-columns:1fr}
    .loan-purpose-field,.loan-wide-field{grid-column:auto}
}

/* ============================================================
   LOGIN FULL VIEWPORT - KHONG CUON
   ============================================================ */

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
}

.kaz-login-page {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(6px, 1.2vh, 14px) !important;
    overflow: hidden !important;
}

.kaz-login-card {
    width: min(430px, calc(100vw - 16px)) !important;
    max-height: calc(100dvh - 12px) !important;
    overflow: hidden !important;
    padding: clamp(10px, 1.6vh, 22px) clamp(14px, 2vw, 24px) !important;
    margin: 0 !important;
}

.kaz-login-logo-wrap {
    margin: 0 0 clamp(3px, .7vh, 8px) !important;
}

.kaz-login-logo {
    width: clamp(100px, 16vh, 145px) !important;
}

.kaz-login-card h1 {
    font-size: clamp(22px, 3.6vh, 30px) !important;
    margin: clamp(2px, .5vh, 5px) 0 clamp(4px, .8vh, 9px) !important;
}

.kaz-login-subtitle {
    font-size: clamp(12px, 2vh, 16px) !important;
    line-height: 1.35 !important;
}

.kaz-company-info {
    margin: clamp(7px, 1.3vh, 15px) 0 clamp(5px, 1vh, 10px) !important;
    gap: clamp(2px, .5vh, 6px) !important;
    font-size: clamp(10px, 1.6vh, 13px) !important;
}

.kaz-divider {
    margin: clamp(5px, 1vh, 12px) 0 !important;
}

.kaz-login-form label {
    margin: clamp(4px, .7vh, 8px) 2px clamp(2px, .4vh, 4px) !important;
    font-size: clamp(11px, 1.6vh, 14px) !important;
}

.kaz-login-form input {
    min-height: clamp(40px, 6vh, 52px) !important;
    height: clamp(40px, 6vh, 52px) !important;
    font-size: clamp(13px, 1.9vh, 16px) !important;
}

.kaz-eye-btn {
    top: 5px !important;
    min-height: clamp(30px, 5vh, 42px) !important;
    height: clamp(30px, 5vh, 42px) !important;
}

.kaz-login-button {
    min-height: clamp(42px, 6.2vh, 54px) !important;
    margin-top: clamp(6px, 1vh, 12px) !important;
}

.kaz-trial-button {
    min-height: clamp(40px, 5.8vh, 52px) !important;
    margin-top: clamp(5px, .8vh, 10px) !important;
}

.kaz-login-error {
    margin-top: clamp(5px, .8vh, 10px) !important;
    padding: clamp(7px, 1vh, 11px) 12px !important;
}

.kaz-login-note {
    padding-top: clamp(5px, 1vh, 11px) !important;
    font-size: clamp(9px, 1.4vh, 11px) !important;
}

/* Ghi đè rule mobile cũ đang tạo thanh cuộn */
@media (max-width: 600px) {
    .kaz-login-page {
        align-items: center !important;
        padding: 6px !important;
        overflow: hidden !important;
    }

    .kaz-login-card {
        margin: 0 !important;
        border-radius: 18px !important;
    }
}

/* =========================================================
   FIX LOGIN - BO KHUNG DEN QUANH KAZUKO PAWN
   ========================================================= */

.kaz-login-card h1,
.kaz-login-card .kaz-brand,
.kaz-login-card .kaz-login-brand,
.kaz-login-card .kaz-login-title {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

    .kaz-login-card h1::before,
    .kaz-login-card h1::after,
    .kaz-login-card .kaz-brand::before,
    .kaz-login-card .kaz-brand::after,
    .kaz-login-card .kaz-login-brand::before,
    .kaz-login-card .kaz-login-brand::after,
    .kaz-login-card .kaz-login-title::before,
    .kaz-login-card .kaz-login-title::after {
        display: none !important;
        content: none !important;
    }

/* ============================================================
   KAZUKO PRINT SYSTEM v1 - A4 / A5 / WEB PRINT
   ============================================================ */
.print-row-btn{text-decoration:none;display:inline-flex;align-items:center}
.print-toolbar{
    position:sticky;top:0;z-index:30;
    display:flex;gap:8px;align-items:center;flex-wrap:wrap;
    padding:10px 14px;margin-bottom:12px;
    background:#fffaf4;border-bottom:1px solid #efc9a2;
}
.print-toolbar button,.print-toolbar a{min-height:42px}
.print-paper{
    margin:0 auto 30px;
    background:#fff;color:#17120e;
    box-shadow:0 8px 30px rgba(60,35,15,.16);
    font-family:"Times New Roman",serif;
    line-height:1.35;
}
.paper-a4{width:210mm;min-height:297mm;padding:14mm 15mm}
.paper-a5{width:148mm;min-height:210mm;padding:9mm 9mm;font-size:12px}
.contract-head,.receipt-head{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
    align-items:start;border-bottom:2px solid #b74420;padding-bottom:9px
}
.contract-brand,.receipt-head>div:first-child{
    display:flex;flex-direction:column;gap:2px
}
.contract-brand img,.receipt-head img{
    max-width:38mm;max-height:20mm;object-fit:contain;margin-bottom:4px
}
.contract-brand strong,.receipt-head strong{font-size:17px;color:#a83918}
.contract-national{text-align:center;display:flex;flex-direction:column;gap:3px;font-size:12px}
.print-paper>h1{text-align:center;font-size:24px;margin:14px 0 3px;color:#9f3518}
.paper-a5>h1{font-size:20px;margin-top:10px}
.contract-code,.receipt-date{text-align:center;margin-bottom:12px}
.contract-section{margin-top:11px}
.contract-section h3{
    margin:0 0 6px;padding:5px 8px;
    background:#fff0df;border-left:4px solid #ee7203;
    font-size:14px
}
.contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.contract-section table{width:100%;border-collapse:collapse;font-size:12px}
.contract-section th,.contract-section td{border:1px solid #9f8f80;padding:5px 6px;text-align:left}
.contract-section th{background:#fff3e6}
.preline{white-space:pre-line;text-align:justify}
.contract-sign{
    display:grid;grid-template-columns:1fr 1fr;gap:30px;text-align:center;
    margin-top:20px;min-height:70px
}
.contract-sign>div{display:flex;flex-direction:column;gap:3px}
.contract-sign span{font-size:11px;font-style:italic}
.contract-footer{
    margin-top:14px;padding-top:6px;border-top:1px dashed #b69d88;
    text-align:center;font-size:10px;color:#684f3c
}
.receipt-number{text-align:right}
.receipt-number span,.receipt-number strong{display:block}
.receipt-body p{margin:8px 0;border-bottom:1px dotted #b9a895;padding-bottom:4px}
.receipt-money{
    margin:15px 0;padding:12px;border:2px solid #e17621;border-radius:8px;
    font-size:19px;background:#fff7e8
}
.receipt-money strong{color:#9b3713}
@media(max-width:900px){
    .print-paper{width:calc(100vw - 20px)!important;min-height:auto;padding:18px}
    .contract-head,.receipt-head,.contract-grid{grid-template-columns:1fr}
    .contract-national{text-align:left}
}
@media print{
    @page{margin:0}
    html,body{background:#fff!important}
    .no-print,.sidebar,.tenant-header{display:none!important}
    .shell,.tenant-shell,main,.content{display:block!important;margin:0!important;padding:0!important;width:auto!important}
    .print-paper{
        box-shadow:none!important;margin:0!important;
        width:auto!important;min-height:auto!important;
    }
    .paper-a4{padding:12mm 14mm!important}
    .paper-a5{padding:8mm!important}
}


/* ============================================================
   KAZUKO PRINT LOGO + ASSET TABLE FIX v1.1
   ============================================================ */

/* Logo: giữ nguyên tỷ lệ, không méo, không ép nhỏ bất thường */
.contract-brand{
    align-items:center !important;
    text-align:center !important;
}

.contract-brand img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:48mm !important;
    max-height:24mm !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto 5px !important;
}

.paper-a5 .contract-brand img{
    max-width:38mm !important;
    max-height:19mm !important;
}

/* Bảng tài sản: header đậm + căn giữa */
.contract-section table thead th,
.contract-section table th.asset-col-center,
.contract-section table th.asset-col-index,
.contract-section table th.asset-col-money{
    font-weight:700 !important;
    text-align:center !important;
    vertical-align:middle !important;
}

/* Cột số thứ tự căn giữa */
.contract-section table td.asset-col-index{
    text-align:center !important;
    vertical-align:middle !important;
}

/* Số tiền dữ liệu căn phải */
.contract-section table td.asset-money-value{
    text-align:right !important;
    vertical-align:middle !important;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

/* Các ô dữ liệu chữ giữ dễ đọc */
.contract-section table tbody td{
    vertical-align:middle !important;
}

/* Khi in vẫn giữ đúng logo và căn bảng */
@media print{
    .contract-brand img{
        width:auto !important;
        height:auto !important;
        max-width:48mm !important;
        max-height:24mm !important;
        object-fit:contain !important;
        margin:0 auto 5px !important;
    }

    .paper-a5 .contract-brand img{
        max-width:38mm !important;
        max-height:19mm !important;
    }

    .contract-section table thead th{
        font-weight:700 !important;
        text-align:center !important;
    }

    .contract-section table td.asset-money-value{
        text-align:right !important;
    }
}


/* ============================================================
   KAZUKO PRINT HEADER v1.2
   Trái: Logo + thông tin cơ sở
   Phải: Quốc hiệu + Hợp đồng + Số HĐ
   ============================================================ */
.print-paper .contract-head-v12{
    display:grid !important;
    grid-template-columns: 46% 54% !important;
    gap:8mm !important;
    align-items:start !important;
    min-height:39mm !important;
    margin:0 0 5mm !important;
    padding:0 0 4mm !important;
    border-bottom:1px solid #b54522 !important;
}

.print-paper .contract-brand-v12{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
    min-width:0 !important;
    line-height:1.25 !important;
}

.print-paper .contract-brand-v12 img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:40mm !important;
    max-height:18mm !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto 1.5mm !important;
}

.print-paper .contract-brand-v12 .brand-name{
    display:block !important;
    font-size:14px !important;
    line-height:1.25 !important;
    margin:0 0 1mm !important;
}

.print-paper .contract-brand-v12 span{
    display:block !important;
    font-size:11px !important;
    line-height:1.35 !important;
    overflow-wrap:anywhere !important;
}

.print-paper .contract-right-v12{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
    min-width:0 !important;
}

.print-paper .contract-national-v12{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    margin:1mm 0 0 !important;
    line-height:1.35 !important;
}

.print-paper .contract-national-v12 strong{
    font-size:12px !important;
    white-space:nowrap !important;
}

.print-paper .contract-national-v12 span{
    font-size:11px !important;
    font-weight:600 !important;
    margin-top:.8mm !important;
}

.print-paper .national-rule{
    width:70% !important;
    height:1px !important;
    background:#222 !important;
    margin:2mm auto 2.5mm !important;
}

.print-paper .contract-title-v12{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-size:21px !important;
    line-height:1.2 !important;
    text-align:center !important;
    color:#9b2f13 !important;
}

.print-paper .contract-code-v12{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:1mm 0 0 !important;
    font-size:11px !important;
    line-height:1.3 !important;
    text-align:center !important;
}

.print-paper .contract-head-v12 + .contract-section{
    clear:both !important;
    margin-top:0 !important;
}

/* A5: thu gọn nhưng vẫn giữ hai cột, không chồng chữ */
.print-paper.paper-a5 .contract-head-v12{
    grid-template-columns:44% 56% !important;
    gap:4mm !important;
    min-height:34mm !important;
    margin-bottom:4mm !important;
    padding-bottom:3mm !important;
}
.print-paper.paper-a5 .contract-brand-v12 img{
    max-width:31mm !important;
    max-height:14mm !important;
}
.print-paper.paper-a5 .contract-brand-v12 .brand-name{
    font-size:11px !important;
}
.print-paper.paper-a5 .contract-brand-v12 span{
    font-size:8.5px !important;
}
.print-paper.paper-a5 .contract-national-v12 strong{
    font-size:9px !important;
}
.print-paper.paper-a5 .contract-national-v12 span,
.print-paper.paper-a5 .contract-code-v12{
    font-size:8.5px !important;
}
.print-paper.paper-a5 .contract-title-v12{
    font-size:16px !important;
}
.print-paper.paper-a5 .national-rule{
    margin:1.5mm auto 2mm !important;
}

@media print{
    .print-paper .contract-head-v12{
        display:grid !important;
        grid-template-columns:46% 54% !important;
        gap:8mm !important;
        align-items:start !important;
        min-height:39mm !important;
        margin-bottom:5mm !important;
        page-break-inside:avoid !important;
    }
    .print-paper.paper-a5 .contract-head-v12{
        grid-template-columns:44% 56% !important;
        gap:4mm !important;
        min-height:34mm !important;
    }
}


/* ============================================================
   KAZUKO PRINT HEADER v1.3 - 3 PHẦN
   20% Logo | 35% Thông tin cơ sở | 45% Quốc hiệu + HĐ
   ============================================================ */
.print-paper .contract-head-v13{
    display:grid !important;
    grid-template-columns:20% 35% 45% !important;
    column-gap:0 !important;
    align-items:center !important;
    width:100% !important;
    min-height:36mm !important;
    margin:0 0 5mm !important;
    padding:0 0 4mm !important;
    border-bottom:1px solid #b54522 !important;
    box-sizing:border-box !important;
}

.print-paper .contract-logo-v13,
.print-paper .contract-business-v13,
.print-paper .contract-legal-v13{
    min-width:0 !important;
    box-sizing:border-box !important;
}

.print-paper .contract-logo-v13{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-right:3mm !important;
}

.print-paper .contract-logo-v13 img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:31mm !important;
    max-height:25mm !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
}

.print-paper .contract-business-v13{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
    padding:0 4mm 0 2mm !important;
    line-height:1.32 !important;
}

.print-paper .contract-business-v13 .business-name-v13{
    display:block !important;
    width:100% !important;
    margin:0 0 1.5mm !important;
    font-size:14px !important;
    line-height:1.25 !important;
    color:#8f3219 !important;
    overflow-wrap:anywhere !important;
}

.print-paper .contract-business-v13 span{
    display:block !important;
    width:100% !important;
    margin:.35mm 0 !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
}

.print-paper .contract-legal-v13{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding-left:3mm !important;
}

.print-paper .national-v13{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    line-height:1.3 !important;
}

.print-paper .national-v13 strong{
    font-size:11.5px !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
}

.print-paper .national-v13 span{
    margin-top:.7mm !important;
    font-size:10.5px !important;
    font-weight:600 !important;
}

.print-paper .national-rule-v13{
    width:66% !important;
    height:1px !important;
    margin:1.8mm auto 2mm !important;
    background:#222 !important;
}

.print-paper .contract-title-v13{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-size:19px !important;
    line-height:1.18 !important;
    text-align:center !important;
    color:#9b2f13 !important;
}

.print-paper .contract-code-v13{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:1mm 0 0 !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
    text-align:center !important;
}

.print-paper .contract-head-v13 + .contract-section{
    clear:both !important;
    margin-top:0 !important;
}

/* A5 */
.print-paper.paper-a5 .contract-head-v13{
    grid-template-columns:20% 35% 45% !important;
    min-height:31mm !important;
    margin-bottom:4mm !important;
    padding-bottom:3mm !important;
}
.print-paper.paper-a5 .contract-logo-v13{
    padding-right:1.5mm !important;
}
.print-paper.paper-a5 .contract-logo-v13 img{
    max-width:22mm !important;
    max-height:19mm !important;
}
.print-paper.paper-a5 .contract-business-v13{
    padding:0 2mm 0 1mm !important;
}
.print-paper.paper-a5 .contract-business-v13 .business-name-v13{
    font-size:10px !important;
    margin-bottom:1mm !important;
}
.print-paper.paper-a5 .contract-business-v13 span{
    font-size:7.5px !important;
}
.print-paper.paper-a5 .contract-legal-v13{
    padding-left:1.5mm !important;
}
.print-paper.paper-a5 .national-v13 strong{
    font-size:8px !important;
}
.print-paper.paper-a5 .national-v13 span,
.print-paper.paper-a5 .contract-code-v13{
    font-size:7.5px !important;
}
.print-paper.paper-a5 .contract-title-v13{
    font-size:14px !important;
}
.print-paper.paper-a5 .national-rule-v13{
    margin:1.2mm auto 1.5mm !important;
}

@media print{
    .print-paper .contract-head-v13{
        display:grid !important;
        grid-template-columns:20% 35% 45% !important;
        align-items:center !important;
        page-break-inside:avoid !important;
    }
}


/* ==========================================================
   KAZUKO PAWN - MOBILE NAVIGATION v2.6
   Giữ nguyên desktop, bổ sung drawer cho phone/tablet.
   ========================================================== */
.mobile-menu-toggle,
.mobile-nav-overlay{
    display:none;
}

@media (max-width: 1024px){
    .tenant-shell{
        display:block !important;
        min-height:100dvh;
    }

    .tenant-shell > main{
        width:100% !important;
        min-width:0 !important;
        margin-left:0 !important;
    }

    .tenant-header{
        position:sticky;
        top:0;
        z-index:900;
        min-height:72px !important;
        height:auto !important;
        padding:10px 14px !important;
        display:grid !important;
        grid-template-columns:48px minmax(0,1fr) auto;
        gap:10px;
        align-items:center;
        background:#fff;
    }

    .tenant-header-info{
        min-width:0;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:6px 10px;
    }

    .tenant-header-info > strong{
        width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .tenant-header .license-pill{
        margin-left:0 !important;
    }

    .mobile-menu-toggle{
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        width:48px;
        height:48px;
        min-width:48px;
        padding:0 !important;
        border:1px solid #d95a28 !important;
        border-radius:14px !important;
        background:#fff7ef !important;
        color:#a13a14 !important;
        font-size:26px !important;
        line-height:1;
        box-shadow:none !important;
    }

    .logout-btn{
        min-width:48px !important;
        min-height:48px !important;
        padding:0 12px !important;
        font-size:0 !important;
    }

    .logout-btn::before{
        content:"🚪";
        font-size:21px;
    }

    .tenant-sidebar{
        position:fixed !important;
        inset:0 auto 0 0;
        z-index:1100 !important;
        width:min(330px,86vw) !important;
        height:100dvh !important;
        max-height:100dvh !important;
        overflow-y:auto !important;
        overscroll-behavior:contain;
        transform:translateX(-105%);
        transition:transform .22s ease;
        padding:18px 14px 28px !important;
        background:#fff !important;
        box-shadow:10px 0 32px rgba(55,28,9,.18);
        visibility:hidden;
    }

    .tenant-sidebar.mobile-open{
        transform:translateX(0);
        visibility:visible;
    }

    .tenant-sidebar .brand{
        margin-bottom:16px !important;
        padding:8px 10px 16px !important;
        border-bottom:1px solid #f0d9c2;
        font-size:24px !important;
    }

    .tenant-sidebar a{
        display:flex !important;
        align-items:center;
        min-height:52px !important;
        margin:4px 0 !important;
        padding:12px 14px !important;
        border-radius:13px !important;
        font-size:16px !important;
        line-height:1.25 !important;
        touch-action:manipulation;
    }

    .mobile-nav-overlay{
        display:block !important;
        position:fixed !important;
        inset:0 !important;
        z-index:1050 !important;
        width:100vw !important;
        height:100dvh !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:rgba(35,22,14,.35) !important;
    }

    .content{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:18px 14px 28px !important;
        overflow-x:hidden !important;
    }
}

@media (max-width: 520px){
    .tenant-header{
        grid-template-columns:46px minmax(0,1fr) 46px;
        padding:9px 10px !important;
    }
    .mobile-menu-toggle{
        width:46px;
        height:46px;
        min-width:46px;
    }
    .tenant-header-info > strong{
        font-size:17px !important;
    }
    .tenant-header .license-pill{
        font-size:13px !important;
        padding:6px 10px !important;
    }
    .logout-btn{
        width:46px !important;
        min-width:46px !important;
        padding:0 !important;
    }
}
