:root{--bg: #f6f8fb;--panel: #ffffff;--panel2: #fbfcfe;--border: rgba(15, 23, 42, .1);--border2: rgba(15, 23, 42, .08);--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .56);--brand: #2563eb;--brand2: #3b82f6;--soft: rgba(37, 99, 235, .1);--soft2: rgba(37, 99, 235, .06);--radius: 16px;--radius2: 14px}html,body{scrollbar-gutter:stable;height:100%}body{overflow-y:scroll;overflow-x:hidden;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none}.ug-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0f172a0f}.ug-app{min-height:100vh;display:flex;flex-direction:column}.ug-topbar{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border2);padding:.65rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.ug-topbar-left,.ug-topbar-right{display:flex;align-items:center;gap:10px}.ug-brand{display:flex;align-items:center;gap:10px;min-width:0}.ug-brand-mark{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:#1e40af}.ug-brand-mark i{font-size:1.2rem}.ug-brand-text{line-height:1.1;min-width:0}.ug-brand-title{font-weight:800;letter-spacing:.1px}.ug-brand-sub{font-size:.78rem;color:var(--muted)}.ug-user-badge{background:var(--soft);color:#1e40af;border:1px solid rgba(37,99,235,.18);padding:.55rem .7rem;border-radius:999px}.btn-ghost{border:1px solid transparent;background:transparent}.btn-ghost:hover{background:#0f172a0a;border-color:#0f172a0f}.ug-shell{flex:1;min-height:0;display:flex;align-items:stretch}.ug-sidebar{width:300px;background:var(--panel);border-right:1px solid var(--border2);min-height:0;display:flex;flex-direction:column}.ug-sidebar.is-collapsed{width:76px}.ug-sidebar-header{padding:.75rem .8rem;border-bottom:1px solid var(--border2)}.ug-sidebar-headrow{display:flex;align-items:center;gap:8px}.ug-sidebar-title{font-weight:800;font-size:.9rem;color:#0f172ac7}.ug-sidebar-headrow .btn-ghost{width:74px;height:34px;padding:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0f172a08;border:1px solid rgba(15,23,42,.06)}.ug-sidebar-headrow .btn-ghost:hover{background:#0f172a0d;border-color:#0f172a1a}.ug-sidebar-headrow .btn-ghost i{font-size:1.05rem;color:#0f172ac7;line-height:1;display:block}.ug-sidebar-body{padding:.6rem;overflow:auto;min-height:0}.ug-content{flex:1;min-width:0;overflow:auto}.ug-content-inner{padding:1rem;min-width:0}@media(min-width:992px){.ug-content-inner{padding:1.25rem 1.5rem}}.btn-brand{--bs-btn-color: #fff;--bs-btn-bg: var(--brand);--bs-btn-border-color: var(--brand);--bs-btn-hover-bg: #2563eb;--bs-btn-hover-border-color: #2563eb;--bs-btn-active-bg: #1d4ed8;--bs-btn-active-border-color: #1d4ed8;border-radius:12px}.badge-soft{background:var(--soft);color:#1e40af;border:1px solid rgba(37,99,235,.18)}.ug-nav{display:flex;flex-direction:column;gap:12px}.ug-nav-search .input-group-text,.ug-nav-search .form-control{border-color:var(--border2)}.ug-nav-section{display:flex;flex-direction:column;gap:6px}.ug-nav-section-title{font-size:.78rem;color:var(--muted);font-weight:700;padding:0 .4rem}.ug-nav-list,.ug-nav-tree{display:flex;flex-direction:column;gap:4px}.ug-nav-link{width:100%;border:1px solid transparent;background:transparent;color:var(--text);display:flex;align-items:center;gap:.65rem;padding:.52rem .6rem;border-radius:14px;text-align:left;line-height:1.1}.ug-nav-link:hover{background:#0f172a0a;border-color:#0f172a0f}.ug-nav-link.active{background:var(--soft);border-color:#2563eb38}.ug-nav-ico{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0f172a08;border:1px solid rgba(15,23,42,.06);flex:0 0 auto}.ug-nav-ico i{font-size:1.05rem;color:#0f172ac7}.ug-nav-label{font-size:.92rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ug-nav-caret{margin-left:auto;color:#0f172a73;display:flex;align-items:center}.ug-node{position:relative}.ug-node-children{margin-top:4px;padding-left:.35rem;border-left:1px dashed rgba(15,23,42,.1);margin-left:.55rem}.ug-nav.is-collapsed .ug-nav-section-title,.ug-nav.is-collapsed .ug-nav-search{display:none!important}.ug-nav.is-collapsed .ug-nav-link{justify-content:center;padding:.45rem .4rem;border-radius:16px}.ug-nav.is-collapsed .ug-nav-ico{width:42px;height:42px;border-radius:16px}.ug-nav.is-collapsed .ug-nav-ico i{font-size:1.18rem}.ug-nav.is-collapsed .ug-nav-label,.ug-nav.is-collapsed .ug-nav-caret{display:none!important}.ug-nav.is-collapsed .ug-nav-tree{gap:6px}.ug-nav.is-collapsed .ug-node{display:flex;justify-content:center}.ug-flyout{position:absolute;top:0;left:calc(100% + 10px);width:260px;max-height:70vh;overflow:auto;background:var(--panel);border:1px solid var(--border2);border-radius:16px;box-shadow:0 18px 40px #0f172a1f;padding:.5rem;z-index:50}.ug-flyout-title{font-weight:800;font-size:.86rem;padding:.35rem .45rem .5rem;color:#0f172ac7}.ug-flyout-list{display:flex;flex-direction:column;gap:4px}.ug-flyout-link{width:100%;border:1px solid transparent;background:transparent;color:var(--text);display:flex;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:12px;text-align:left}.ug-flyout-link:hover{background:#0f172a0a;border-color:#0f172a0f}.ug-flyout-ico{width:30px;height:30px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0f172a08;border:1px solid rgba(15,23,42,.06);flex:0 0 auto}.ug-flyout-label{font-size:.9rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ug-flyout-empty{padding:.5rem;color:var(--muted);font-size:.85rem}.table thead th,.form-label{font-size:.82rem;color:var(--muted)}.ug-flyout-fixed{z-index:9999}:root{--ug-z-flyout: 1020;--ug-z-offcanvas-backdrop: 1080;--ug-z-offcanvas: 1085;--ug-z-modal-backdrop: 1100;--ug-z-modal: 1105}.ug-flyout-fixed,.ug-flyout{z-index:var(--ug-z-flyout)!important}body.offcanvas-open .ug-flyout-fixed,body.offcanvas-open .ug-flyout{display:none!important}.offcanvas-backdrop{z-index:var(--ug-z-offcanvas-backdrop)!important}.offcanvas{z-index:var(--ug-z-offcanvas)!important;pointer-events:auto!important}.offcanvas.show,.offcanvas.showing,.offcanvas.hiding{visibility:visible!important}.modal-backdrop{z-index:var(--ug-z-modal-backdrop)!important}.modal{z-index:var(--ug-z-modal)!important}body.offcanvas-open{overflow:hidden}
