/* =========================================================
   CO-OPBANK UI FRAMEWORK 2026 - CORE BANKING DESIGN SYSTEM
   ASP.NET WebForms + DevExpress friendly
   Font: Inter fallback Segoe UI. Spacing: 8px system.
   ========================================================= */
:root{
    --cb-font: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
    --cb-blue-900:#06386f;
    --cb-blue-800:#004b9b;
    --cb-blue-700:#005bac;
    --cb-blue-600:#006edc;
    --cb-blue-500:#1683f2;
    --cb-red-600:#e31b23;
    --cb-green-600:#15803d;
    --cb-orange-600:#d97706;

    --cb-bg:#f4f8fd;
    --cb-bg-soft:#eef6ff;
    --cb-surface:#ffffff;
    --cb-surface-2:#f8fbff;
    --cb-text:#10233f;
    --cb-text-2:#334155;
    --cb-muted:#64748b;
    --cb-border:#d8e5f2;
    --cb-border-2:#c9d9eb;

    --cb-shadow-sm:0 4px 14px rgba(15,35,70,.07);
    --cb-shadow-md:0 14px 36px rgba(15,35,70,.10);
    --cb-shadow-lg:0 22px 55px rgba(15,35,70,.14);

    --cb-r8:8px;
    --cb-r12:12px;
    --cb-r16:16px;
    --cb-r20:20px;
    --cb-r24:24px;

    --cb-s1:8px;
    --cb-s2:16px;
    --cb-s3:24px;
    --cb-s4:32px;
    --cb-s5:40px;
    --cb-s6:48px;

    --cb-header-h:64px;
    --cb-footer-h:30px;
    --cb-content-pad:16px;
}

[data-cb-theme="dark"]{
    --cb-bg:#0b1728;
    --cb-bg-soft:#10233f;
    --cb-surface:#13243c;
    --cb-surface-2:#172b48;
    --cb-text:#eaf2ff;
    --cb-text-2:#cbd5e1;
    --cb-muted:#9fb0c8;
    --cb-border:#284565;
    --cb-border-2:#34587e;
    --cb-shadow-md:0 16px 38px rgba(0,0,0,.24);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;min-height:100%;font-family:var(--cb-font);font-size:15px;color:var(--cb-text);background:var(--cb-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{overflow-x:hidden;}
a{color:var(--cb-blue-700);text-decoration:none;}

.cb-page{min-height:calc(100vh - var(--cb-header-h) - var(--cb-footer-h));padding:var(--cb-content-pad);background:radial-gradient(circle at 0 0,rgba(0,110,220,.10),transparent 28%),linear-gradient(135deg,var(--cb-bg),var(--cb-surface-2));}
.cb-container{width:min(1240px,calc(100vw - 32px));margin:0 auto;}
.cb-container-fluid{width:100%;margin:0 auto;}
.cb-center-screen{min-height:calc(100vh - var(--cb-header-h) - var(--cb-footer-h));display:flex;align-items:center;justify-content:center;padding:var(--cb-s2);}

.cb-card{background:rgba(255,255,255,.94);border:1px solid var(--cb-border);border-radius:var(--cb-r20);box-shadow:var(--cb-shadow-md);}
[data-cb-theme="dark"] .cb-card{background:rgba(19,36,60,.94);}
.cb-card-compact{padding:var(--cb-s3);}
.cb-section-title{display:flex;align-items:center;gap:10px;margin:0 0 var(--cb-s2);font-size:24px;font-weight:800;color:var(--cb-blue-800);letter-spacing:-.3px;}
.cb-section-subtitle{margin:-8px 0 var(--cb-s3);color:var(--cb-muted);font-weight:500;line-height:1.55;}

.cb-grid{display:grid;gap:var(--cb-s2);}
.cb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cb-row{display:flex;gap:var(--cb-s2);align-items:center;}
.cb-row-end{justify-content:flex-end;}
.cb-row-between{justify-content:space-between;}

.cb-label{display:block;margin:0 0 7px;font-size:14px;font-weight:700;color:var(--cb-text-2);}
.cb-field{margin-bottom:var(--cb-s2);}
.cb-input-wrap{height:48px;display:flex;align-items:center;gap:10px;border:1px solid var(--cb-border-2);border-radius:var(--cb-r12);background:var(--cb-surface);padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s;}
.cb-input-wrap:focus-within{border-color:var(--cb-blue-600);box-shadow:0 0 0 4px rgba(0,110,220,.12);}
.cb-input-icon{width:22px;text-align:center;font-size:17px;color:var(--cb-muted);}
.cb-input,.cb-input-wrap input,.cb-dx-input input,.cb-dx-input{font-family:var(--cb-font)!important;font-size:15px!important;font-weight:600!important;color:var(--cb-text)!important;background:transparent!important;border:0!important;outline:0!important;width:100%!important;box-shadow:none!important;}
.cb-input{height:46px;padding:0;}
.cb-input::placeholder{color:#93a4b7;font-weight:500;}

.cb-btn,.cb-btn-primary,.cb-btn-secondary,.cb-btn-danger{height:44px!important;min-width:128px!important;border-radius:var(--cb-r12)!important;border:0!important;padding:0 18px!important;font-family:var(--cb-font)!important;font-size:15px!important;font-weight:800!important;cursor:pointer!important;transition:transform .14s,box-shadow .14s,background .14s!important;}
.cb-btn:hover,.cb-btn-primary:hover,.cb-btn-secondary:hover,.cb-btn-danger:hover{transform:translateY(-1px);}
.cb-btn-primary,.cb-btn{color:#fff!important;background:linear-gradient(135deg,var(--cb-blue-600),var(--cb-blue-800))!important;box-shadow:0 12px 26px rgba(0,91,172,.22)!important;}
.cb-btn-secondary{color:var(--cb-blue-800)!important;background:var(--cb-surface)!important;border:1px solid var(--cb-border-2)!important;box-shadow:var(--cb-shadow-sm)!important;}
.cb-btn-danger{color:#fff!important;background:linear-gradient(135deg,#ef4444,#c81e1e)!important;box-shadow:0 12px 26px rgba(200,30,30,.20)!important;}
.cb-btn-block{width:100%!important;}

.cb-alert{padding:11px 14px;border-radius:var(--cb-r12);font-weight:700;line-height:1.45;border:1px solid var(--cb-border);background:var(--cb-surface-2);color:var(--cb-text-2);}
.cb-alert-warning{border-color:#fed7aa;background:#fff7ed;color:#9a3412;}
.cb-alert-danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c;}
.cb-alert-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534;}

.cb-master-header{height:var(--cb-header-h);display:flex;align-items:center;gap:var(--cb-s2);padding:0 var(--cb-s3);background:rgba(255,255,255,.96);border-bottom:1px solid var(--cb-border);box-shadow:0 6px 20px rgba(15,35,70,.06);}
.cb-master-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:900;color:var(--cb-blue-800);white-space:nowrap;}
.cb-master-brand img{height:38px;width:auto;display:block;}
.cb-master-title{font-size:20px;font-weight:850;color:var(--cb-blue-900);letter-spacing:-.2px;}
.cb-master-spacer{flex:1;}
.cb-master-user{color:var(--cb-muted);font-weight:700;font-size:14px;}
.cb-master-footer{height:var(--cb-footer-h);display:flex;align-items:center;justify-content:center;background:#d8fbff;border-top:1px solid #aee8ef;color:#064e74;font-size:13px;font-weight:700;}

.cb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--cb-s2);margin-bottom:var(--cb-s2);}
.cb-toolbar-title{font-size:22px;font-weight:850;color:var(--cb-blue-900);margin:0;}
.cb-toolbar-actions{display:flex;gap:10px;align-items:center;}

.cb-loading{display:none;position:fixed;inset:0;z-index:99999;background:rgba(8,29,58,.38);backdrop-filter:blur(4px);align-items:center;justify-content:center;}
.cb-loading-box{min-width:260px;padding:24px 28px;border-radius:18px;background:var(--cb-surface);box-shadow:var(--cb-shadow-lg);text-align:center;color:var(--cb-blue-800);font-weight:800;}
.cb-spinner{width:38px;height:38px;margin:0 auto 12px;border-radius:50%;border:4px solid #dbeafe;border-top-color:var(--cb-blue-700);animation:cbspin .85s linear infinite;}
@keyframes cbspin{to{transform:rotate(360deg)}}

@media(max-width:1366px){
    :root{--cb-header-h:60px;--cb-content-pad:14px;}
    html,body{font-size:14.5px;}
    .cb-container{width:min(1160px,calc(100vw - 28px));}
    .cb-card-compact{padding:20px;}
    .cb-section-title{font-size:22px;}
    .cb-input-wrap{height:44px;}
    .cb-btn,.cb-btn-primary,.cb-btn-secondary,.cb-btn-danger{height:42px!important;}
}
@media(max-width:980px){.cb-grid-2,.cb-grid-3{grid-template-columns:1fr}.cb-master-title{display:none}.cb-master-user{display:none}.cb-toolbar{align-items:flex-start;flex-direction:column}.cb-toolbar-actions{width:100%;flex-wrap:wrap}}
