:root{
    --sisgs-blue:#0d6efd;
    --sisgs-blue-dark:#0758c9;
    --sisgs-dark:#0f1a23;
    --sisgs-dark-2:#0a1118;
    --sisgs-bg:#f4f7fb;
    --sisgs-text:#111827;
    --sisgs-muted:#6b7280;
    --sisgs-border:#e1e7ef;
    --sisgs-white:#ffffff;
    --sisgs-shadow:0 10px 30px rgba(15,23,42,.06);
    --sisgs-shadow-soft:0 4px 16px rgba(15,23,42,.05);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--sisgs-bg);color:var(--sisgs-text);font-size:15px;font-weight:400;line-height:1.5}
a{text-decoration:none}.app-shell{display:flex;min-height:100vh;background:var(--sisgs-bg)}
.sidebar{width:288px;background:linear-gradient(180deg,var(--sisgs-dark),var(--sisgs-dark-2));color:#fff;position:fixed;left:0;top:0;bottom:0;z-index:1000;box-shadow:8px 0 26px rgba(15,23,42,.08)}
.brand-box{height:136px;background:#fff;color:#555;padding:20px 20px 15px;border-right:1px solid var(--sisgs-border);border-bottom:1px solid var(--sisgs-border);text-align:center;overflow:hidden}
.brand-logo{display:block;width:190px;max-width:100%;max-height:82px;height:auto;object-fit:contain;margin:0 auto 8px}
.brand-box span{display:block;font-size:13px;font-weight:400;color:#6b7280;line-height:1.2;white-space:nowrap}
.side-nav{padding:16px 14px}.side-nav a{display:flex;align-items:center;gap:14px;color:#edf4fb;text-decoration:none;padding:13px 16px;border-radius:10px;margin:0 0 8px;font-size:16px;font-weight:400;letter-spacing:.1px;transition:.18s ease}.side-nav a i{font-size:20px;width:24px;text-align:center;color:inherit}.side-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.side-nav a.active{background:linear-gradient(135deg,var(--sisgs-blue),var(--sisgs-blue-dark));color:#fff;font-weight:500;box-shadow:0 10px 22px rgba(13,110,253,.24)}
.app-main{margin-left:288px;width:calc(100% - 288px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:86px;background:#fff;border-bottom:3px solid var(--sisgs-blue);display:flex;align-items:center;gap:22px;padding:0 28px;box-shadow:0 4px 18px rgba(15,23,42,.03)}.btn-menu{display:none;border:0;background:transparent;font-size:27px;line-height:1;color:#1f2937;padding:4px 6px;border-radius:8px}.btn-menu:hover{background:#f3f6fa}.topbar-spacer{flex:1}.topbar-date{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:14px;font-weight:400}.topbar-user{border:0;background:transparent;font-weight:500;display:flex;align-items:center;gap:10px;color:#111827;padding:8px 10px;border-radius:10px}.topbar-user:hover{background:#f3f6fa}.topbar-user i.bi-person-circle{font-size:35px;color:var(--sisgs-blue)}.topbar-user .user-arrow{font-size:14px;color:#111827}.topbar-user-dropdown .dropdown-menu{border:1px solid var(--sisgs-border);border-radius:10px;padding:8px;min-width:170px}.topbar-user-dropdown .dropdown-item{border-radius:8px;font-size:14px;padding:9px 10px}
.content{flex:1;padding:28px 28px 30px}.page-title{font-size:26px;font-weight:600;margin:0 0 22px;letter-spacing:-.3px}.card-soft,.table-card{background:#fff;border:1px solid var(--sisgs-border);border-radius:12px;box-shadow:var(--sisgs-shadow-soft)}.card-soft{padding:22px}.table-card{padding:18px}.welcome-card{display:flex;align-items:center;gap:22px;min-height:128px;margin-bottom:22px}.welcome-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--sisgs-blue),var(--sisgs-blue-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:31px;flex:0 0 72px}.welcome-card h2{font-size:24px;font-weight:600;margin:0;color:#111827;letter-spacing:-.2px}.stat-card{display:flex;align-items:center;gap:17px;min-height:118px}.stat-icon{width:58px;height:58px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 58px}.stat-icon.blue{background:linear-gradient(135deg,#0d6efd,#0758c9)}.stat-icon.green{background:linear-gradient(135deg,#16a34a,#07872e)}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#f97316)}.stat-label{font-size:14px;font-weight:500;margin-bottom:2px;color:#111827}.stat-number{font-size:28px;font-weight:600;line-height:1;color:#111827}.stat-link{display:inline-block;margin-top:9px;color:var(--sisgs-blue);font-weight:500;font-size:14px}
.section-card{padding:20px}.section-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:19px;font-weight:500;margin:0;letter-spacing:-.2px}.btn-light-outline{border:1px solid var(--sisgs-blue);color:var(--sisgs-blue);background:#fff;border-radius:7px;padding:7px 13px;font-size:13px;font-weight:500}.btn-light-outline:hover{background:var(--sisgs-blue);color:#fff}.table{margin-bottom:0}.table>:not(caption)>*>*{padding:13px 10px;border-color:#e7ecf3;vertical-align:middle}.table thead th{font-size:13px;color:#111827;font-weight:600;background:#fff}.table tbody td{font-size:14px;color:#273244}.form-label{font-weight:500;color:#374151}.form-control,.form-select{min-height:44px;border-color:#d7dde6;border-radius:8px}.form-control:focus,.form-select:focus{border-color:#8bbcff;box-shadow:0 0 0 .2rem rgba(13,110,253,.12)}.btn{border-radius:8px;font-weight:500}.btn-primary{background:var(--sisgs-blue);border-color:var(--sisgs-blue)}.btn-primary:hover{background:var(--sisgs-blue-dark);border-color:var(--sisgs-blue-dark)}.actions{display:flex;gap:8px;flex-wrap:wrap}.password-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.app-footer{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:20px;align-items:center;padding:22px 48px;color:#6b7280;border-top:1px solid var(--sisgs-border);background:#fff;font-size:14px}.app-footer strong{font-weight:600;color:#374151}.app-footer a{color:var(--sisgs-blue);font-weight:600}.app-footer i{font-size:19px;vertical-align:middle;margin-right:6px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf4ff,#fff)}.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--sisgs-border);border-radius:14px;padding:34px;box-shadow:var(--sisgs-shadow)}.login-logo{display:block;max-width:210px;max-height:92px;object-fit:contain;margin:0 auto 20px}.sidebar-backdrop{display:none}
@media(max-width:991px){.btn-menu{display:inline-flex;align-items:center;justify-content:center}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.show{transform:translateX(0)}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900}.app-main{margin-left:0;width:100%}.topbar{height:78px;padding:0 18px}.topbar-date{display:none}.content{padding:18px}.app-footer{grid-template-columns:1fr;text-align:center;padding:20px}.welcome-card{align-items:center}.side-nav a{font-size:15px}.brand-box{height:128px}.row.g-4{--bs-gutter-y:1rem}}
@media(max-width:575px){.page-title{font-size:24px}.welcome-card{min-height:auto;padding:20px}.welcome-icon{width:60px;height:60px;font-size:26px;flex-basis:60px}.welcome-card h2{font-size:21px}.stat-card{min-height:105px}.topbar-user span{display:none}.content{padding:16px}.app-footer{font-size:13px}.brand-logo{width:180px}}

.password-view-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--sisgs-border)}.password-view-row:last-child{border-bottom:0}.password-view-row small{display:block;color:var(--sisgs-muted);font-size:12px;margin-bottom:3px}.password-view-row strong{display:block;font-weight:500;word-break:break-all}
@media(max-width:991px){.app-footer{gap:6px;padding:12px 16px;line-height:1.35}.app-footer div{margin:0}.app-footer i{font-size:16px;margin-right:4px}}
@media(max-width:575px){.app-footer{font-size:12px;gap:4px;padding:10px 12px}.app-footer br{display:none}}
.auth-title{font-size:22px;font-weight:600;text-align:center;margin:0 0 18px;color:#111827}.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:16px;font-size:14px}.auth-links a{color:var(--sisgs-blue);font-weight:500}.auth-card .alert{font-size:14px}.auth-card .input-group .btn{border-top-left-radius:0;border-bottom-left-radius:0}@media(max-width:575px){.auth-links{flex-direction:column;text-align:center;gap:8px}.login-card{max-width:calc(100% - 28px);padding:26px 22px}.login-logo{max-width:180px}}
