:root{--sidebar:#0b1f33;--sidebar2:#071829;--blue:#007bff;--light:#f4f6f9;--border:#dee2e6;--text:#1f2937;--muted:#6c757d;--success:#28a745;--danger:#dc3545;--warning:#ffc107;--info:#17a2b8;--secondary:#6c757d;--card:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--light);font-family:"Source Sans Pro","Segoe UI",Arial,sans-serif;color:var(--text);font-size:14px}.wrapper{min-height:100vh}.main-header{position:fixed;top:0;right:0;left:250px;height:57px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;z-index:1000;padding:0 24px;gap:14px}.sidebar-toggle{border:1px solid var(--border);background:#fff;border-radius:4px;padding:7px 10px;cursor:pointer;color:#343a40}.navbar-title{font-size:18px;font-weight:600}.navbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.nav-pill{background:#eef5ff;color:#0b5ed7;border:1px solid #cfe2ff;border-radius:999px;padding:5px 9px;font-size:12px}.user-chip{border-left:1px solid var(--border);padding-left:10px;font-weight:600}.user-chip small{display:block;color:var(--muted);font-weight:400;font-size:11px}.main-sidebar{position:fixed;top:0;bottom:0;left:0;width:250px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#c2c7d0;z-index:1100;display:flex;flex-direction:column}.brand-link{min-height:172px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:10px 10px 14px;background:transparent;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;overflow:hidden}.brand-icon{width:32px;height:32px;border-radius:6px;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.brand-logo-panel{width:100%;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10);overflow:hidden}.brand-text-wrap{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;overflow:hidden;width:100%;padding:0 4px}.brand-logo-image{width:100%!important;max-width:none!important;height:auto!important;max-height:58px!important;display:block;object-fit:contain;object-position:center center;filter:none}.brand-text{font-weight:700;letter-spacing:.1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;color:#fff}.brand-subtext{font-size:12px;color:#b8c7d9;margin-top:2px}.brand-version-chip{display:inline-flex;align-items:center;margin-top:10px;padding:7px 10px;border-radius:8px;background:rgba(8,22,40,.75);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:700;line-height:1.1;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.sidebar{padding:16px 10px;overflow-y:auto;flex:1}.menu-label{padding:14px 12px 6px;color:#7f8fa4;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.6px}.nav-link{display:flex;align-items:center;gap:10px;color:#c2c7d0;text-decoration:none;padding:10px 12px;margin:3px 0;border-radius:6px}.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}.nav-link.active{background:#007bff;color:#fff;box-shadow:inset 3px 0 0 #66b2ff}.nav-link span{width:18px;text-align:center}.sidebar-spacer{height:12px}.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding:14px 16px;font-size:12px;color:#adb5bd}.sidebar-footer strong{display:block;color:#fff}.sidebar-footer span{display:block}.content-wrapper{margin-left:250px;padding-top:57px;min-height:calc(100vh - 45px)}.content-header{padding:22px 28px 10px}.content-header h1{margin:0;font-size:24px;font-weight:600}.content-header p{color:var(--muted);margin:4px 0 0}.content{padding:14px 28px 28px}.main-footer{margin-left:250px;background:#fff;border-top:1px solid var(--border);padding:12px 28px;color:#6c757d;font-size:13px}.float-right{float:right}.row{display:flex;flex-wrap:wrap;margin:-8px}.col-12,.col-8,.col-6,.col-4,.col-3{padding:8px}.col-12{width:100%}.col-8{width:66.666%}.col-6{width:50%}.col-4{width:33.333%}.col-3{width:25%}.card{background:var(--card);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-bottom:16px}.card-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:16px;font-weight:600;margin:0}.card-body{padding:14px}.small-box{border-radius:4px;color:#fff;padding:14px;min-height:105px;position:relative;overflow:hidden}.small-box .inner h3{font-size:24px;margin:0 0 6px;font-weight:700}.small-box .inner p{margin:0;opacity:.95}.small-box .icon{position:absolute;right:13px;bottom:4px;font-size:48px;opacity:.25}.bg-primary{background:#007bff}.bg-success{background:#28a745}.bg-danger{background:#dc3545}.bg-warning{background:#ffc107;color:#1f2937}.bg-info{background:#17a2b8}.bg-secondary{background:#6c757d}.table-responsive{width:100%;overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border-top:1px solid var(--border);padding:9px 10px;text-align:left;vertical-align:middle}.table thead th{background:#f8f9fa;color:#495057;font-weight:700;border-bottom:2px solid var(--border);white-space:nowrap}.table tbody tr:hover{background:#fbfdff}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:4px;padding:7px 11px;line-height:1.2;font-size:13px;text-decoration:none;cursor:pointer;white-space:nowrap}.btn-sm{padding:5px 8px;font-size:12px}.btn-block{width:100%;justify-content:center}.btn-primary{background:#007bff;border-color:#007bff;color:#fff}.btn-success{background:#28a745;border-color:#28a745;color:#fff}.btn-danger{background:#dc3545;border-color:#dc3545;color:#fff}.btn-warning{background:#ffc107;border-color:#ffc107;color:#212529}.btn-info{background:#17a2b8;border-color:#17a2b8;color:#fff}.btn-secondary{background:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-primary{background:#fff;color:#007bff;border-color:#007bff}.btn-outline-secondary{background:#fff;color:#6c757d;border-color:#6c757d}.btn:hover{filter:brightness(.96)}.badge{display:inline-block;padding:4px 7px;border-radius:4px;font-size:11px;font-weight:700}.badge-success{background:#d4edda;color:#155724}.badge-danger{background:#f8d7da;color:#721c24}.badge-warning{background:#fff3cd;color:#856404}.badge-info{background:#d1ecf1;color:#0c5460}.badge-secondary{background:#e2e3e5;color:#383d41}.form-group{margin-bottom:14px}.form-label{display:block;font-weight:600;margin-bottom:5px}.form-control,.form-select,textarea{width:100%;border:1px solid #ced4da;border-radius:4px;padding:8px 10px;background:#fff;font-size:14px}.form-control:focus,.form-select:focus,textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.12)}.input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.alert{border-radius:4px;padding:12px 14px;margin-bottom:14px;border:1px solid transparent}.alert-success{background:#d4edda;color:#155724;border-color:#c3e6cb}.alert-warning{background:#fff3cd;color:#856404;border-color:#ffeeba}.alert-danger{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.alert-info{background:#d1ecf1;color:#0c5460;border-color:#bee5eb}.login-page{min-height:100vh;background:#e9eef3;overflow:hidden}.wallet-login-page{position:relative;display:flex;align-items:center;justify-content:center;padding:32px 16px}.login-shell{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:center}.login-card{width:420px;max-width:92vw;background:#fff;border:1px solid #cfd6df;border-radius:7px;box-shadow:0 12px 26px rgba(15,23,42,.12);padding:26px 25px 25px}.wallet-login-card{min-height:512px}.login-brand-panel{text-align:center;padding:0 0 31px}.login-brand-logo{width:240px;max-width:86%;height:auto;max-height:88px;object-fit:contain;display:block;margin:0 auto 5px}.login-brand-panel h1{font-size:20px;line-height:1.2;margin:0;color:#263445;font-weight:500}.login-blue-line{width:78px;height:4px;background:#3767f2;border-radius:999px;margin:16px auto 0}.login-form{margin-top:0}.login-form-group{margin-bottom:18px}.login-form-group .form-label{font-size:14px;color:#243244;font-weight:600;margin-bottom:8px}.login-input-wrap{position:relative;display:flex;align-items:center;width:100%;height:62px;background:#fff;border:1px solid #cbd4df;border-radius:5px;box-shadow:0 1px 1px rgba(0,0,0,.02);overflow:hidden}.login-input-wrap:focus-within{border-color:#95b4f5;box-shadow:0 0 0 .2rem rgba(55,103,242,.12)}.login-input-icon{flex:0 0 51px;height:100%;display:flex;align-items:center;justify-content:center;color:#7b8b9b;border-right:1px solid #e0e5eb;background:#fbfcfe}.login-input-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-control{height:100%;border:0!important;border-radius:0!important;box-shadow:none!important;background:#edf4ff!important;font-size:16px;color:#17233c;padding:0 14px;width:100%}.login-control:focus{box-shadow:none!important}.login-eye{flex:0 0 44px;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;border:0;border-left:1px solid #e0e5eb;color:#7b8b9b;cursor:pointer}.login-eye svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-submit{height:64px;margin-top:8px;font-size:17px;font-weight:700;background:#3f6df6;border-color:#3f6df6;border-radius:6px}.login-submit:hover{background:#2f5eea;border-color:#2f5eea;filter:none}.login-alert{margin:0 0 16px}.login-pattern{position:fixed;z-index:1;width:430px;height:285px;opacity:.65;background-image:radial-gradient(#b5cfff 1.3px,transparent 1.3px);background-size:18px 18px;transform:rotate(-8deg);pointer-events:none}.login-pattern-top{right:-20px;top:145px}.login-pattern-bottom{left:-85px;bottom:42px}.login-box{width:430px;max-width:92vw}.login-logo{text-align:center;color:#fff;font-size:28px;font-weight:700;margin-bottom:14px}.install-page{background:#f4f6f9;min-height:100vh;padding:28px}.install-box{max-width:980px;margin:0 auto}.progress{height:8px;background:#e9ecef;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:#007bff}.toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.text-right{text-align:right}.text-center{text-align:center}.amount{font-weight:700;white-space:nowrap}.empty-state{padding:28px;text-align:center;color:var(--muted)}.kpi-sub{font-size:12px;color:#e9f3ff}.chart-placeholder{height:210px;border:1px dashed #cfd8e3;border-radius:4px;background:repeating-linear-gradient(90deg,#fff,#fff 18px,#f8fbff 18px,#f8fbff 36px);display:flex;align-items:center;justify-content:center;color:#6c757d}.app-collapsed .main-sidebar{transform:translateX(-250px)}.app-collapsed .main-header,.app-collapsed .content-wrapper,.app-collapsed .main-footer{margin-left:0;left:0}@media(max-width:992px){.main-sidebar{transform:translateX(-250px);transition:.2s}.main-header{left:0}.content-wrapper,.main-footer{margin-left:0}.app-sidebar-open .main-sidebar{transform:translateX(0)}.row{display:block;margin:0}.col-12,.col-8,.col-6,.col-4,.col-3{width:100%;padding:0}.input-row{grid-template-columns:1fr}.navbar-actions .nav-pill{display:none}.float-right{float:none;display:block;margin-top:4px}.content{padding:10px 14px 16px}.content-header{padding:14px 14px 6px}}

@media(max-width:576px){.wallet-login-page{align-items:flex-start;padding-top:42px}.login-card{padding:22px 18px 20px}.wallet-login-card{min-height:auto}.login-brand-logo{width:190px}.login-brand-panel{padding-bottom:24px}.login-pattern{opacity:.38}.login-pattern-top{right:-250px;top:100px}.login-pattern-bottom{left:-260px;bottom:-30px}.login-input-wrap{height:58px}.login-submit{height:58px}}


/* v1.0.4 hardening: keep login and sidebar correct even after cached deployments */
body.login-page.wallet-login-page{min-height:100vh!important;background:#e9eef3!important;background-color:#e9eef3!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:32px 16px!important;}
body.login-page.wallet-login-page .login-shell{position:relative!important;z-index:2!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;}
body.login-page.wallet-login-page .login-card{width:420px!important;max-width:92vw!important;background:#fff!important;border:1px solid #cfd6df!important;border-radius:7px!important;box-shadow:0 12px 26px rgba(15,23,42,.12)!important;padding:26px 25px 25px!important;}
body.login-page.wallet-login-page .wallet-login-card{min-height:512px!important;}
body.login-page.wallet-login-page .login-brand-logo{width:240px!important;max-width:86%!important;height:auto!important;max-height:88px!important;object-fit:contain!important;display:block!important;margin:0 auto 5px!important;}
body.login-page.wallet-login-page .login-input-icon svg,body.login-page.wallet-login-page .login-eye svg{width:19px!important;height:19px!important;display:block!important;fill:none!important;stroke:currentColor!important;}
body.login-page.wallet-login-page .login-input-icon,body.login-page.wallet-login-page .login-eye{background:#fff!important;color:#7b8b9b!important;}
.main-sidebar .brand-logo-image{width:100%!important;max-width:none!important;height:auto!important;max-height:58px!important;object-fit:contain!important;object-position:center center!important;}

/* v1.0.5 uploaded WTECH logo sizing */

body.login-page.wallet-login-page .login-brand-logo{width:240px!important;max-width:86%!important;max-height:88px!important;object-fit:contain!important;}

/* v1.0.11 currency conversion */
.small-box .kpi-sub{margin:0 0 8px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.92);white-space:normal}
.small-box .kpi-sub .kpi-more{font-weight:700}
.bg-warning .kpi-sub{color:rgba(31,41,55,.92)}
.bg-secondary .kpi-sub{color:rgba(255,255,255,.9)}
.card-stat .card-body{padding:18px 20px}
.stat-label{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6b7280;margin-bottom:6px}
.stat-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1.2}
.stat-meta{font-size:12px;color:#6c757d;margin-top:4px}
.checkbox-row label{display:inline-flex;align-items:center;gap:8px;font-weight:600}
