@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;font-family:Poppins,Arial,sans-serif;font-synthesis:none;--brand-blue: hsl(217 100% 50%);--brand-blue-strong: hsl(217 100% 38%);--brand-navy: hsl(228 81% 21%);--text-primary: hsl(223 48% 16%);--text-secondary: hsl(220 18% 35%);--page: hsl(218 100% 98%);--surface: hsl(0 0% 100%);--surface-accent: hsl(191 100% 94%);--surface-soft: hsl(218 58% 96%);--border: hsl(218 31% 82%);--success: hsl(160 88% 25%);--danger: hsl(4 75% 40%);--focus: hsl(217 100% 38%);--shadow: 0 18px 45px hsl(228 30% 18% / .12);--content-width: 47.5rem;--wide-content-width: 75rem}:root[data-theme=dark]{color-scheme:dark;--brand-blue: hsl(217 100% 66%);--brand-blue-strong: hsl(217 100% 72%);--brand-navy: hsl(228 70% 92%);--text-primary: hsl(223 45% 100%);--text-secondary: hsl(220 18% 74%);--page: hsl(223 45% 8%);--surface: hsl(223 38% 14%);--surface-accent: hsl(217 45% 20%);--surface-soft: hsl(223 30% 18%);--border: hsl(220 22% 30%);--success: hsl(160 65% 65%);--danger: hsl(4 90% 72%);--focus: hsl(217 100% 72%);--shadow: 0 18px 45px hsl(0 0% 0% / .35)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;background:var(--page);color:var(--text-primary);font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:var(--brand-blue-strong)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--brand-navy);font-weight:500;line-height:1.35}h1{margin-bottom:.65rem;font-size:clamp(1.35rem,3vw,1.65rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}.app-shell{min-height:100vh;background:var(--page)}.app-header{position:sticky;z-index:20;top:0;display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(.75rem,2vw,1.5rem);border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:flex;min-height:44px;align-items:center;gap:.65rem;color:var(--brand-navy);text-decoration:none}.brand__mark{display:block;width:44px;height:44px;flex:0 0 44px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font-weight:500;letter-spacing:.025em}.brand small{color:var(--text-secondary)}.app-header__actions{display:flex;align-items:center;gap:.75rem}.header-link{position:relative;min-height:44px;display:inline-flex;align-items:center;gap:.45rem;padding:0 .75rem;border-radius:.65rem;color:var(--brand-navy);font-weight:500;text-decoration:none}.header-notification-badge{display:inline-grid;min-width:1.3rem;height:1.3rem;place-items:center;padding:0 .25rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.68rem;font-weight:500;line-height:1}.header-link.router-link-active{background:var(--surface-accent)}.account-menu-wrap{position:relative}.account-button,.icon-button{display:inline-grid;min-width:44px;min-height:44px;place-items:center;border:0;border-radius:50%;background:var(--brand-navy);color:var(--surface);cursor:pointer}.account-menu{position:absolute;top:calc(100% + .65rem);right:0;width:min(290px,calc(100vw - 2rem));padding:.65rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface);box-shadow:var(--shadow)}.account-menu__identity{padding:.65rem .7rem .85rem;border-bottom:1px solid var(--border)}.account-menu__identity strong,.account-menu__identity small{display:block;overflow-wrap:anywhere}.account-menu button,.account-menu a{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;padding:0 .7rem;border:0;border-radius:.55rem;background:transparent;color:var(--text-primary);text-decoration:none;cursor:pointer}.account-menu button:hover,.account-menu a:hover{background:var(--surface-soft)}.app-main{width:min(100%,calc(var(--content-width) + 3rem));margin:0 auto;padding:clamp(1.25rem,3vh,2rem) clamp(.75rem,2vw,1.5rem) 2.5rem}.app-main--wide{width:min(100%,calc(var(--wide-content-width) + 3rem))}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.catalog-workspace{display:grid;align-items:start;grid-template-columns:240px minmax(0,1fr);gap:1.25rem}.catalog-sidebar{position:sticky;top:100px;display:grid;gap:1.25rem;padding:1rem}.catalog-control{min-width:0}.catalog-control__label{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;color:var(--brand-navy);font-size:.875rem;font-weight:500}.catalog-search{position:relative}.catalog-search>.material-icon{position:absolute;z-index:1;top:50%;left:.75rem;color:var(--text-secondary);transform:translateY(-50%)}.catalog-search .input{padding-left:2.5rem}.category-list{display:grid;gap:.3rem}.category-list button,.view-toggle button{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);color:var(--text-primary);cursor:pointer;text-align:left}.category-list button:hover,.view-toggle button:hover{border-color:var(--brand-blue-strong)}.category-list button[aria-pressed=true],.view-toggle button[aria-pressed=true]{border-color:var(--brand-navy);background:var(--surface-accent);color:var(--brand-navy);font-weight:500}.view-toggle{display:flex;gap:.35rem}.view-toggle button{justify-content:center;padding-inline:.5rem;text-align:center}.results-panel{min-width:0}.results-heading{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:1rem;padding:0 0 .75rem;border-bottom:1px solid var(--border)}.results-heading>span{color:var(--text-secondary);font-size:.875rem}.results-panel .software-results{height:clamp(560px,calc(100vh - 315px),720px);border-top:0}.page-header{margin-bottom:1.7rem}.page-header__copy{max-width:680px;margin:1.4rem auto 0;text-align:center}.back-link{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;border-radius:.55rem;font-weight:500;text-decoration:none}.eyebrow{margin-bottom:.35rem;color:var(--brand-blue-strong);font-weight:500}.page-description,.field-help,.form-guidance{color:var(--text-secondary)}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);color:var(--text-primary);font-weight:500;text-decoration:none;cursor:pointer}.button:hover:not(:disabled){border-color:var(--brand-blue-strong)}.button:disabled{cursor:not-allowed;opacity:.58}.button--primary{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.button--text{border-color:transparent;background:transparent;color:var(--brand-blue-strong)}.button--danger{border-color:var(--danger);color:var(--danger)}.button__spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.panel{padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.status-message{margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-soft)}.status-message strong{display:block;margin-bottom:.2rem}.status-message--success{border-color:var(--success)}.status-message--error{border-color:var(--danger);color:var(--danger)}.input,.select,.textarea,.file-input{width:100%;min-height:44px;padding:.72rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:var(--page);color:var(--text-primary)}.textarea{min-height:125px;resize:vertical}.field-label{display:block;margin-bottom:.45rem;color:var(--brand-navy);font-weight:500}.form-field{margin-bottom:1rem}.field-help{display:block;margin-top:.35rem}.field-error{margin:.35rem 0 0;color:var(--danger);font-size:.875rem}[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.form-section-title{margin:1.1rem 0 .6rem}.form-divider{margin:1rem 0;border:0;border-top:1px solid var(--border)}.form-spacer--small{height:.5rem}.form-spacer--medium{height:1rem}.checkbox-row{display:flex;gap:.65rem;padding:.8rem;border:1px solid var(--border);border-radius:.7rem;cursor:pointer}.checkbox-row small,.checkbox-row strong{display:block}.attachment-list{display:grid;gap:.45rem;margin:.65rem 0 0;padding:0;list-style:none}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem;border-radius:.55rem;background:var(--surface-soft)}.attachment-list button{min-height:36px;border:0;background:transparent;color:var(--danger);cursor:pointer}.drawer-layer{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end;background:#1419297a}.drawer{display:flex;width:min(480px,100%);height:100%;flex-direction:column;background:var(--surface);box-shadow:var(--shadow);animation:drawer-enter .24s cubic-bezier(.2,.8,.2,1)}.drawer__header,.drawer__footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.drawer__header h2,.drawer__header p{margin-bottom:0}.drawer__body{flex:1 1 auto;overflow-y:auto;padding:1.15rem}.drawer__footer{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.drawer .icon-button{background:var(--surface-soft);color:var(--text-primary);font-size:1.5rem}.software-results{height:clamp(370px,60vh,620px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--border);border-bottom:1px solid var(--border);scrollbar-gutter:stable}.software-results__canvas{position:relative}.software-results__virtual-row{position:absolute;top:0;left:0;display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:.75rem}.software-card{display:flex;min-width:0;min-height:80px;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);background:var(--page)}.software-results--grid .software-card{height:162px;flex-direction:column;align-items:stretch;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.software-card__identity{display:flex;min-width:0;align-items:center;gap:.7rem}.software-logo{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid hsl(191 50% 78%);border-radius:.6rem;background:var(--surface-accent);color:var(--brand-blue-strong);font-size:.875rem;font-weight:500}.software-card__copy{min-width:0}.software-card__copy strong,.software-card__copy small,.software-category{display:block}.software-card__copy strong,.software-card__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.software-card__copy small,.software-category{color:var(--text-secondary)}.software-category{margin-top:.35rem;font-size:.8rem}.software-card__action{flex:0 0 auto}.skeleton{height:1rem;border-radius:999px;background:linear-gradient(90deg,var(--surface-soft),var(--border),var(--surface-soft));background-size:220% 100%;animation:shimmer 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawer-enter{0%{transform:translate(2rem);opacity:0}}@keyframes shimmer{to{background-position:-220% 0}}@media(max-width:900px){.catalog-workspace{grid-template-columns:minmax(0,1fr)}.catalog-sidebar{position:static}.category-list{display:flex;flex-wrap:wrap}.category-list button{width:auto}.results-panel .software-results{height:520px}}@media(max-width:640px){.app-header{min-height:72px}.software-results{height:370px}.catalog-workspace{grid-template-columns:minmax(0,1fr)}.catalog-sidebar{position:static}.category-list{display:flex;flex-wrap:wrap}.category-list button{flex:1 1 calc(50% - .3rem)}.results-panel .software-results{height:430px}.brand small{display:none}.header-link{justify-content:center;padding-inline:.5rem}.app-main{padding-top:1.5rem}.page-header__copy{margin-top:.8rem}.software-card,.software-card__identity{align-items:flex-start}.software-card__action{padding-inline:.65rem}.drawer{width:100%}}@media(max-width:360px){.brand>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
