/* Application navigation: full-width workspace when hidden, off-canvas on mobile. */
.ph-shell{--ph-sidebar-width:276px;grid-template-columns:var(--ph-sidebar-width) minmax(0,1fr);transition:grid-template-columns .2s ease}
.ph-shell.ph-sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}
.ph-shell>.ph-side{width:var(--ph-sidebar-width);min-width:0;overflow:hidden;height:100dvh;min-height:100dvh;background:radial-gradient(ellipse at 100% 0%,#14556a 0,transparent 47%),linear-gradient(180deg,#103d51,#092b3e 85%);border-inline-end:1px solid #0b3145;transition:opacity .15s,transform .2s;box-shadow:inset -1px 0 #ffffff05}
.ph-shell.ph-sidebar-hidden>.ph-side{visibility:hidden;opacity:0;pointer-events:none;transform:translateX(100%)}
.ph-shell[dir="ltr"].ph-sidebar-hidden>.ph-side{transform:translateX(-100%)}
.ph-side-header{display:flex;align-items:center;gap:5px;padding:23px 19px 19px;min-height:100px}
.ph-shell .ph-brand{padding:0;min-height:0;border:0;gap:12px;flex:1;min-width:0}
.ph-shell .ph-brand-icon{width:44px;height:44px;border-radius:13px;padding:5px;box-shadow:0 4px 18px #001b3029}
.ph-shell .ph-brand-name{flex:1;min-width:0}
.ph-shell .ph-brand-name strong{font-size:19px;letter-spacing:-.6px;line-height:1.25}
.ph-shell .ph-brand-name strong>span{display:block;color:#7ae3c4;font-size:18px}
.ph-shell .ph-brand-name small{color:#92bac3;font-size:9px;margin-top:6px;white-space:nowrap}
.ph-side-close{display:none;place-items:center;width:31px;height:31px;flex:none;border:1px solid #ffffff20;border-radius:9px;background:#ffffff09;color:#c7e1e6;padding:5px}
.ph-side-workspace{display:flex;align-items:center;gap:10px;padding:12px;margin:0 15px 15px;border:1px solid #ffffff13;border-radius:12px;background:#ffffff08;min-height:64px}
.ph-workspace-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:#ffffff0c;color:#9bcec8}
.ph-workspace-icon .ph-icon{width:18px;height:18px}
.ph-side-workspace>div{flex:1;min-width:0}
.ph-side-workspace small{display:block;font-size:8px;color:#7fa6b2;letter-spacing:.7px;margin-bottom:4px}
.ph-side-workspace strong{display:block;font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dcebed}
.ph-workspace-status{width:6px;height:6px;background:#59d5b3;border-radius:50%;box-shadow:0 0 0 4px #59d5b312;flex:none;margin-inline-end:3px}
.ph-menu-search{display:flex;align-items:center;gap:8px;border:1px solid #ffffff13;border-radius:9px;background:#061e2e40;margin:0 15px 9px;padding:8px 10px;min-height:37px}
.ph-menu-search .ph-icon{width:15px;height:15px;color:#6f9aa7}
.ph-menu-search input{width:100%;min-width:0;background:transparent;border:0;outline:0;font-size:11px;color:#d6e9ec;padding:0}
.ph-menu-search input::placeholder{color:#7298a6}
.ph-menu-search:focus-within{border-color:#69cdb78c;box-shadow:0 0 0 2px #52c4ab12}
.ph-shell .ph-menu{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding:0 12px 16px;scrollbar-width:thin;scrollbar-color:#466d7b transparent}
.ph-menu-group+.ph-menu-group{margin-top:10px}
.ph-shell .ph-menu-caption{font-size:9px;line-height:1.3;letter-spacing:.8px;padding:17px 13px 9px;margin:0;color:#6f98a8;font-weight:650;display:flex;align-items:center;gap:8px}
.ph-menu-caption:before{content:"";width:4px;height:4px;border-radius:50%;background:#477686;flex:none}
.ph-shell .ph-menu-link{position:relative;display:flex;align-items:center;gap:10px;min-height:43px;margin:3px 0;padding:6px 10px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:500;color:#b6d0d9;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.ph-menu-icon{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:8px;background:transparent;transition:background .15s}
.ph-shell .ph-menu-link .ph-menu-icon>.ph-icon{width:17px;height:17px;color:#83a8b7}
.ph-shell .ph-menu-link>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis}
.ph-shell .ph-menu-link>.ph-menu-arrow{width:13px;height:13px;color:#7daaaa;opacity:0;margin-inline-start:auto;flex:none}
.ph-shell[dir="rtl"] .ph-menu-arrow{transform:rotate(180deg)}
.ph-shell .ph-menu-link:hover{background:#ffffff07;color:#e7f6f4;border-color:#ffffff08}
.ph-shell .ph-menu-link:hover .ph-menu-icon{background:#ffffff09}
.ph-shell .ph-menu-link.active{background:linear-gradient(100deg,#0a867f30,#137a6f24);color:#98efd6;box-shadow:none;border-color:#53c6ac25;font-weight:700}
.ph-shell .ph-menu-link.active:before{content:"";position:absolute;inset-inline-start:0;top:11px;bottom:11px;width:3px;background:#4cdbb6;border-radius:3px}
.ph-shell .ph-menu-link.active .ph-menu-icon{background:#30bd9e22}
.ph-shell .ph-menu-link.active .ph-menu-icon>.ph-icon{color:#70e3be}
.ph-shell .ph-menu-link.active>.ph-menu-arrow,.ph-shell .ph-menu-link:hover>.ph-menu-arrow{opacity:1;color:#76d2bd}
.ph-shell .ph-sidebar-footer{padding:14px 16px 12px;border-top:1px solid #ffffff0d;background:#05233826;flex:none}
.ph-sidebar-person{display:flex;align-items:center;gap:10px;padding:4px 1px}
.ph-sidebar-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,#1e6b6b,#275365);color:#a3e7d4;font-weight:750;font-size:15px}
.ph-sidebar-person>div{min-width:0;flex:1}
.ph-sidebar-person strong{display:block;font-size:11px;font-weight:650;color:#c9e0e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-sidebar-person small{display:block;font-size:9px;color:#6e99a6;margin-top:4px}
.ph-sidebar-lock{display:grid;place-items:center;color:#5e9b9b;background:#ffffff05;width:27px;height:27px;border-radius:7px}
.ph-sidebar-lock .ph-icon{width:15px;height:15px}
.ph-sidebar-signature{display:block;text-align:center;color:#426e80;font-size:8px;letter-spacing:1.5px;padding-top:12px}
.ph-sidebar-signature>span{color:#598e96}
.ph-shell .ph-topbar .ph-nav-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:37px;padding:8px 10px;border:1px solid #dfe9ec;background:#f8fbfc;border-radius:9px;color:#456c7c;flex:none;cursor:pointer}
.ph-nav-toggle .ph-icon{width:18px;height:18px}
.ph-nav-toggle>span{font-size:10px;white-space:nowrap}
.ph-shell .ph-topbar .ph-nav-toggle:hover{background:#edf8f4;border-color:#b7ded1;color:#087c6a}
.ph-shell .ph-topbar-start{gap:13px}
.ph-shell .ph-topbar-context strong{max-width:290px}
.ph-menu-empty{padding:35px 10px;text-align:center;color:#81a6b2;font-size:11px}
.ph-menu-empty>.ph-icon{width:24px;height:24px;color:#6492a0}
.ph-menu-empty>p{margin:12px 0}
.ph-menu-empty>button{background:#ffffff08;border:1px solid #ffffff15;border-radius:7px;font-size:10px;color:#a4d4c9;padding:6px 12px}
.ph-shell .ph-menu-link:focus-visible,.ph-shell .ph-side button:focus-visible,.ph-shell .ph-nav-toggle:focus-visible{outline:2px solid #6fd7ba;outline-offset:2px}
@media(max-width:1330px){.ph-nav-toggle>span{display:none}.ph-shell .ph-topbar-context strong{max-width:250px}}
@media(max-width:1020px){
 .ph-shell,.ph-shell.ph-sidebar-hidden{grid-template-columns:minmax(0,1fr)}
 .ph-shell>.ph-side,.ph-shell.ph-sidebar-hidden>.ph-side{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(300px,calc(100vw - 48px));height:100dvh;min-height:100dvh;transform:translateX(105%);opacity:0;visibility:hidden;pointer-events:none;z-index:45;box-shadow:-15px 0 60px #03172230}
 .ph-shell[dir="ltr"]>.ph-side,.ph-shell[dir="ltr"].ph-sidebar-hidden>.ph-side{transform:translateX(-105%)}
 .ph-shell.ph-sidebar-open>.ph-side,.ph-shell.ph-sidebar-open.ph-sidebar-hidden>.ph-side,.ph-shell[dir="ltr"].ph-sidebar-open>.ph-side{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
 .ph-shell .ph-side-close{display:grid}
 .ph-shell .ph-side-header{padding:22px 18px 18px}
 .ph-shell .ph-menu{display:block;padding:0 12px 16px}
 .ph-shell .ph-side nav a{padding:7px 10px;font-size:12px}
 .ph-shell .ph-mobile-scrim{position:fixed;inset:0;border:0;background:#061e2c75;backdrop-filter:blur(3px);z-index:44;padding:0;display:none}
 .ph-shell.ph-sidebar-open .ph-mobile-scrim{display:block}
 body.ph-navigation-overlay-open{overflow:hidden}
}
@media(max-width:560px){.ph-shell .ph-topbar-start{gap:9px}.ph-shell .ph-topbar-context strong{max-width:135px}.ph-shell .ph-topbar .ph-nav-toggle{padding:7px;min-height:35px}.ph-shell .ph-nav-toggle>span{display:none}}
@media(prefers-reduced-motion:reduce){.ph-shell,.ph-shell>.ph-side,.ph-shell .ph-menu-link{transition:none}}
@media print{.ph-shell{grid-template-columns:1fr!important}.ph-shell>.ph-side,.ph-shell .ph-mobile-scrim{display:none!important}}
