:root{--ops-sidebar-w:260px;--ops-font:var(--govpay-font-primary,'Niramit',sans-serif)}*,*::before,*::after{box-sizing:border-box}body{font-family:var(--ops-font);background:var(--govpay-bg-surface,#f8f9fa);color:var(--govpay-text-primary,#212529);min-height:100vh}.page-header-accent{position:fixed;top:0;left:0;right:0;height:10px;z-index:1100;background:linear-gradient(90deg,#006A4E 0%,#006A4E 33%,#FFCE00 33%,#FFCE00 66%,#D21034 66%,#D21034 100%)}.app-shell{min-height:100vh;display:flex;padding-top:4px}.app-sidebar{background:var(--govpay-primary,#006A4E);width:var(--ops-sidebar-w);flex-shrink:0;display:flex;flex-direction:column;min-height:calc(100vh - 4px);position:sticky;top:4px;height:calc(100vh - 4px);overflow-y:auto;color:#fff}.app-sidebar .brand,.brand-mobile{padding:1.25rem 1.25rem 1rem;font-weight:700;font-size:1.05rem;display:flex;align-items:flex-start;gap:0.75rem;overflow:hidden}.brand-mobile{padding:0;flex:1;min-width:0}.app-sidebar .brand-logo-wrap,.brand-mobile .brand-logo-wrap{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;flex:0 0 48px;background:#fff;border-radius:8px;padding:4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:0}.app-sidebar .brand-logo,.brand-mobile .brand-logo{width:40px !important;height:40px !important;max-width:40px !important;max-height:40px !important;object-fit:contain;object-position:center;display:block}.app-sidebar .brand .brand-text,.brand-mobile .brand-text{display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:center;gap:0.1rem;line-height:1.2;min-width:0;flex:1 1 auto}.app-sidebar .brand .brand-title,.brand-mobile .brand-title{display:block !important;width:100%;font-size:0.95rem;font-weight:700;color:#fff;white-space:normal}.app-sidebar .brand .brand-subtitle,.brand-mobile .brand-subtitle{display:block !important;width:100%;font-size:0.72rem;font-weight:500;color:#b0b8bf !important;margin:0;line-height:1.2}.sidebar-nav{flex:1;padding:0.5rem 0.75rem 1rem}.nav-section-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;opacity:0.7;margin:1rem 0.5rem 0.4rem}.sidebar-nav .nav-link{color:rgba(255,255,255,0.85);border-radius:8px;padding:0.6rem 0.85rem;display:flex;align-items:center;gap:0.6rem;margin-bottom:0.15rem}.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:rgba(255,255,255,0.12);color:#fff}.sidebar-nav .nav-link.logout{margin-top:1rem;opacity:0.85}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,0.12);font-size:0.85rem;opacity:0.85}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar-desktop{display:none;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--govpay-border-light,#dee2e6)}.page-title-top{font-size:1.25rem;font-weight:600;margin:0;font-family:var(--govpay-font-secondary,'Mukta',sans-serif)}.user-chip{color:var(--govpay-text-secondary,#6c757d);font-size:0.9rem;display:flex;align-items:center;gap:0.4rem}.app-main{padding:0 0.5rem 2rem;flex:1}@media (min-width:768px){.app-topbar-desktop{display:flex}.app-main{padding:0 1rem 2rem}}.app-topbar-mobile{background:#fff;border-bottom:1px solid var(--govpay-border-light,#dee2e6)}.btn-menu{border:1px solid var(--govpay-border-medium,#ced4da);background:#fff}.app-offcanvas{background:var(--govpay-primary,#006A4E);color:#fff}.app-offcanvas .btn-close{filter:invert(1)}.login-page{background:linear-gradient(160deg,#E6F2EF 0%,#f8f9fa 50%,#FFF9E6 100%);min-height:100vh}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,106,78,0.12);padding:2rem;width:100%;max-width:420px}.login-brand{text-align:center}.login-logo-wrap{width:96px;height:96px;margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.login-brand h1{font-size:1.4rem;margin:0.85rem 0 0.25rem;color:var(--govpay-primary,#006A4E);font-family:var(--govpay-font-secondary,'Mukta',sans-serif)}.btn-primary{background-color:var(--govpay-primary,#006A4E);border-color:var(--govpay-primary,#006A4E)}.btn-primary:hover{background-color:var(--govpay-primary-hover,#005440);border-color:var(--govpay-primary-hover,#005440)}.badge.bg-primary{background-color:var(--govpay-primary,#006A4E) !important}.badge.bg-success{background-color:var(--govpay-success,#00A86B) !important}