/* Feedback360 design system — global navigation and accessible workspace, v3.4.0 */
:root{--ux-navy:#102c49;--ux-ink:#142e49;--ux-brand:#2563eb;--ux-border:#dce6f1;--ux-shadow:0 3px 18px rgba(17,40,68,.045)}
html{scroll-behavior:smooth}body{line-height:1.55;color:var(--ux-ink)}
.skip-link{position:absolute;left:14px;top:-90px;z-index:4000;background:#fff;color:#12375b;padding:10px 16px;border-radius:9px;font-weight:800}
.skip-link:focus{top:12px}
.app-shell{grid-template-columns:254px minmax(0,1fr)}.main-panel{min-width:0}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;padding:24px 16px 18px;background:#102d49}
.brand{padding:8px 9px}.brand-home{display:block!important;padding:0!important;background:transparent!important}.brand-home img{width:156px;max-width:100%;height:auto;display:block}
.brand-sub{font-size:11px;color:#adbfce;line-height:1.5;padding:0 9px 15px;border-bottom:1px solid #ffffff20;letter-spacing:.035em}
.app-nav{display:flex;flex-direction:column;gap:3px;margin-top:12px}
.app-nav a,.app-nav summary,.app-nav .nav-link-button{min-height:42px;display:flex;align-items:center;padding:10px 12px;border-radius:10px;color:#e1ebf5;text-align:left;font-size:13px;font-weight:570;line-height:1.35}
.app-nav a:hover,.app-nav summary:hover,.app-nav .nav-link-button:hover{background:#ffffff14;color:white;text-decoration:none}
.app-nav a[aria-current]{color:#fff;background:#245884;box-shadow:inset 3px 0 #9dc7ff;font-weight:750}
.app-nav .nav-title{font-size:10px;letter-spacing:.12em;margin:15px 12px 7px;color:#afc6d8;font-weight:800}
.nav-group{margin:2px 0}.nav-group summary{cursor:pointer;list-style:none;justify-content:space-between;gap:10px;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';font-size:17px;line-height:1}.nav-group[open] summary:after{transform:rotate(180deg)}
.nav-group-links{padding-left:13px;border-left:1px solid #46718f;margin-left:13px}.nav-group-links a{font-size:12.5px;min-height:38px}
.nav-logout{margin-top:8px}.app-nav .nav-link-button{display:block;width:100%;background:transparent;border:0;cursor:pointer;font-family:inherit}
.nav-badge{font-size:10px;line-height:1.1;min-height:20px;background:#e3f2ff;color:#173b5b;margin-left:auto;padding:2px 7px}
.topbar{position:sticky;top:0;z-index:40;min-height:70px;height:auto;padding:12px clamp(16px,2.3vw,32px);gap:14px}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title strong{font-size:14px}.topbar-title small{font-size:11px}.user-chip{max-width:260px;overflow-wrap:anywhere;font-size:12px}
.content{padding:clamp(16px,2vw,30px);width:100%;max-width:1640px;margin:0 auto}
.card{box-shadow:var(--ux-shadow)}.card h2{font-size:18px;line-height:1.25;margin:0 0 10px}.card h3{font-size:15px}
:where(button,input,select,textarea,a,summary):focus-visible{outline:3px solid #67a9ff!important;outline-offset:3px}
.btn,.px-workspace button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
button:disabled{cursor:not-allowed;opacity:.65}.loading{opacity:.75;pointer-events:none}
.mobile-menu-toggle{display:none;background:#edf4fc;color:#12375a;border:1px solid #cadaed;border-radius:10px;width:42px;height:42px;flex-shrink:0;font-size:20px;cursor:pointer}
.mobile-nav-backdrop{display:none}
.ux-welcome{background:linear-gradient(120deg,#0c2b51,#195a9b);border-radius:20px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(20px,3vw,32px);margin:0 0 18px}
.ux-welcome h1{font-size:clamp(22px,2.4vw,31px);line-height:1.15;letter-spacing:-.035em;margin:8px 0}.ux-welcome p{margin:0;max-width:65ch;color:#d8e7f7}.ux-welcome .btn{white-space:nowrap}.ux-eyebrow{font-weight:750;font-size:10px;letter-spacing:.13em;color:#a9cdf8}
.ux-home-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(275px,1fr);align-items:stretch;gap:18px}.ux-home-grid>.card{margin-bottom:18px}
.ux-quick-link{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #e7edf5;padding:13px 4px;color:#17395e}.ux-quick-link:last-child{border-bottom:0}.ux-quick-link span{font-size:12px;color:#607388}.ux-quick-link:hover strong{text-decoration:underline;color:#235d9f}
.ux-empty{border:1px dashed #bcd0e6;border-radius:13px;padding:18px;background:#f6faff;color:#37506c}.ux-empty p{margin:5px 0 0;color:#687d91}
.ux-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ux-stat-grid>div{background:#f4f8fe;padding:16px;border:1px solid #e0eaf4;border-radius:13px;display:flex;flex-direction:column;gap:6px}.ux-stat-grid span{font-size:12px;color:#61758d}.ux-stat-grid strong{font-size:25px;color:#193b66}
.ux-inline-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:17px}.ux-inline-actions a{font-weight:750;color:#1c58a0}.ux-completed>summary{font-size:16px;font-weight:750;cursor:pointer}
/* Dashboard information density: let users reach real actions without scrolling past a giant banner. */
.p-shell.px-workspace .p-hero{padding:clamp(18px,2.5vw,28px);margin-bottom:16px;min-height:0;gap:18px}
.p-shell.px-workspace .p-hero h1{font-size:clamp(23px,2.8vw,34px);letter-spacing:-.035em}
.p-shell.px-workspace .p-cycle-emblem{min-width:160px;padding:18px}
.p-shell.px-workspace .p-metrics{margin-bottom:16px}
.p-shell.px-workspace .px-tabs{margin-top:0}
.px-workspace .px-heading{padding:clamp(18px,2vw,28px);border-radius:17px}
.px-workspace .px-card{padding:clamp(17px,2vw,23px);border-radius:16px}
.px-workspace .px-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-width:100%}
.px-workspace .px-tabs a{min-height:40px;display:flex;align-items:center;white-space:nowrap;flex-shrink:0}
.px-workspace .px-alert{line-height:1.65}
.px-workspace .px-empty{line-height:1.6}
@media(max-width:1100px){.ux-home-grid{grid-template-columns:1fr}.ux-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:min(320px,86vw);height:100dvh;z-index:110;transform:translateX(-110%);transition:transform .18s ease;visibility:hidden}.sidebar.is-open{transform:translateX(0);visibility:visible}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(7,21,38,.52);z-index:100}.topbar{top:0}.content{padding:16px}}
@media(max-width:620px){.ux-welcome{display:block}.ux-welcome .btn{margin-top:16px;width:100%}.ux-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-home-grid .row{align-items:stretch}.ux-home-grid .row .btn{width:100%}.topbar{padding:10px 14px}.topbar-title{gap:9px}.user-chip{max-width:120px;font-size:10px}.p-shell.px-workspace .p-cycle-emblem{display:none}}
@media(max-width:390px){.ux-stat-grid{grid-template-columns:1fr}.px-workspace .px-tabs a{font-size:12px;padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}
