.navbar{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;background:#0a1520;border-bottom:1px solid #1a3a5c;position:sticky;top:0;z-index:100}.navbar__brand{font-family:Share Tech Mono,monospace;font-size:1.1rem;color:#e0f4ff;text-decoration:none;letter-spacing:.1em}.navbar__bracket{color:#5a8aaa}.navbar__accent{color:#00e5ff}.navbar__links{display:flex;gap:1.5rem;flex:1}.navbar__link{font-family:Share Tech Mono,monospace;font-size:.85rem;color:#5a8aaa;text-decoration:none;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.navbar__link:hover{color:#00e5ff}.navbar__user{display:flex;align-items:center;gap:1rem}.navbar__username{font-family:Share Tech Mono,monospace;font-size:.8rem;color:#5a8aaa}.btn--sm{padding:.4rem .9rem;font-size:.8rem}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 50%,rgba(0,229,255,.04) 0%,transparent 60%),#050a0e}.auth__card{width:100%;max-width:400px;text-align:center;padding:2.5rem}.auth__logo{font-family:Share Tech Mono,monospace;font-size:1.6rem;letter-spacing:.15em;margin-bottom:.5rem}.auth__bracket{color:#5a8aaa}.auth__accent{color:#00e5ff}.auth__subtitle{font-size:.8rem;color:#5a8aaa;font-family:Share Tech Mono,monospace;letter-spacing:.1em;margin-bottom:2rem}.auth__tabs{display:flex;border:1px solid #1a3a5c;border-radius:3px;overflow:hidden;margin-bottom:1.5rem}.auth__tab{flex:1;padding:.6rem;background:transparent;border:none;color:#5a8aaa;font-family:Rajdhani,sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}.auth__tab--active{background:#00e5ff1a;color:#00e5ff}.auth__tab:hover:not(.auth__tab--active){color:#e0f4ff}.auth__fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.auth__error{font-family:Share Tech Mono,monospace;font-size:.8rem;color:#ff3b5c;margin-bottom:1rem}.auth__btn{width:100%}.auth__rules{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.25rem}.auth__rule{font-size:.78rem;transition:color .2s}.auth__rule--ok{color:#22c55e}.auth__rule--fail{color:#ef4444}.scan-form__row{display:flex;gap:1rem;align-items:center}.scan-form__row .input{flex:1}.scan-form__module-bar{margin-top:1.2rem;display:flex;flex-direction:column;gap:.75rem}.scan-form__module-toggle{display:flex;align-items:center;justify-content:space-between;background:transparent;border:1px solid #1a3a5c;border-radius:3px;padding:.5rem 1rem;cursor:pointer;width:100%;transition:border-color .2s}.scan-form__module-toggle:hover{border-color:#00e5ff}.scan-form__module-count{font-family:Share Tech Mono,monospace;font-size:.8rem;color:#00e5ff;letter-spacing:.08em}.scan-form__chevron{font-size:.7rem;color:#5a8aaa}.scan-form__quick{display:flex;flex-wrap:wrap;gap:.4rem}.scan-form__chip{font-family:Share Tech Mono,monospace;font-size:.72rem;padding:.25rem .65rem;background:transparent;border:1px solid #1a3a5c;border-radius:2px;color:#5a8aaa;cursor:pointer;transition:all .15s;white-space:nowrap}.scan-form__chip:hover{border-color:#00e5ff;color:#00e5ff}.scan-form__chip--on{background:#00e5ff1f;border-color:#00e5ff;color:#00e5ff}.scan-form__module-panel{margin-top:.5rem;border:1px solid #1a3a5c;border-radius:3px;padding:1rem;background:#050a0e}.scan-form__module-actions{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.scan-form__selected-count{font-family:Share Tech Mono,monospace;font-size:.75rem;color:#5a8aaa;margin-left:auto}.scan-form__module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.scan-form__module-card{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .9rem;border:1px solid #1a3a5c;border-radius:3px;cursor:pointer;transition:all .15s;background:#0a1520}.scan-form__module-card:hover{border-color:#007a99}.scan-form__module-card--on{border-color:#00e5ff;background:#00e5ff0f}.scan-form__checkbox{margin-top:2px;accent-color:#00e5ff;flex-shrink:0;cursor:pointer}.scan-form__module-info{display:flex;flex-direction:column;gap:.15rem}.scan-form__module-name{font-family:Rajdhani,sans-serif;font-weight:600;font-size:.85rem;color:#e0f4ff}.scan-form__module-desc{font-family:Share Tech Mono,monospace;font-size:.72rem;color:#5a8aaa;line-height:1.3}.scan-form__status{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-family:Share Tech Mono,monospace;font-size:.85rem;color:#ffb800}.scan-form__spinner{width:14px;height:14px;border:2px solid rgba(255,184,0,.3);border-top-color:#ffb800;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.scan-form__error{margin-top:1rem;font-family:Share Tech Mono,monospace;font-size:.85rem;color:#ff3b5c}.btn--xs{padding:.3rem .7rem;font-size:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.results{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.results__counts{display:flex;gap:1rem;flex-wrap:wrap}.results__count{flex:1;min-width:80px;text-align:center;padding:1rem;border-radius:3px;border:1px solid #1a3a5c}.results__count--Critical{border-color:#ff3b5c;background:#ff3b5c12}.results__count--High{border-color:#ffb800;background:#ffb80012}.results__count--Medium{border-color:#00e5ff;background:#00e5ff12}.results__count--Low{border-color:#4fc3f7;background:#4fc3f712}.results__count--Info{border-color:#00ff9d;background:#00ff9d0d}.results__count-num{display:block;font-family:Share Tech Mono,monospace;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.3rem}.results__count--Critical .results__count-num{color:#ff3b5c}.results__count--High .results__count-num{color:#ffb800}.results__count--Medium .results__count-num{color:#00e5ff}.results__count--Low .results__count-num{color:#4fc3f7}.results__count--Info .results__count-num{color:#00ff9d}.results__count-label{font-size:.72rem;font-family:Share Tech Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:#5a8aaa}.results__list{display:flex;flex-direction:column;gap:.75rem}.results__module{margin-bottom:1.2rem}.results__module:last-child{margin-bottom:0}.results__module-name{font-family:Share Tech Mono,monospace;font-size:.75rem;color:#5a8aaa;letter-spacing:.15em;margin-bottom:.6rem}.results__port-os-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;margin:1rem 0}.results__port-os-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;background:#050a0e;border:1px solid #1a3a5c;border-radius:4px}.results__port-os-card-icon{font-size:1.4rem;line-height:1;margin-top:2px}.results__port-os-card-label{font-size:.7rem;font-family:Share Tech Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:#5a8aaa;margin-bottom:.25rem}.results__port-os-card-value{font-size:.88rem;font-weight:600;color:#e0f4ff;font-family:Share Tech Mono,monospace;word-break:break-word}.results__port-os-summary{font-family:Share Tech Mono,monospace;font-size:.8rem;color:#5a8aaa;margin-bottom:.75rem;padding:.5rem .75rem;background:#050a0e;border:1px solid #1a3a5c;border-radius:3px}.results__port-table{border:1px solid #1a3a5c;border-radius:4px;overflow:hidden;font-family:Share Tech Mono,monospace;font-size:.82rem}.results__port-table-head{display:grid;grid-template-columns:80px 1fr 90px;padding:.5rem 1rem;background:#1a3a5c66;color:#5a8aaa;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.results__port-table-row{display:grid;grid-template-columns:80px 1fr 90px;padding:.55rem 1rem;border-top:1px solid #1a3a5c;align-items:center}.results__port-table-row:hover{background:#00e5ff0a}.results__port-num{font-weight:700;color:#00e5ff}.results__port-service{color:#e0f4ff}.results__port-sev{font-weight:600;font-size:.78rem}.result-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#050a0e;border:1px solid #1a3a5c;border-radius:3px}.result-item--compact{padding:.5rem .75rem;margin-bottom:.4rem;align-items:center}.result-item__body{flex:1}.result-item__type{font-weight:600;font-size:.9rem;margin-bottom:.2rem}.result-item__detail{font-family:Share Tech Mono,monospace;font-size:.8rem;color:#5a8aaa}.result-item__url{font-family:Share Tech Mono,monospace;font-size:.75rem;color:#007a99;margin-top:.2rem;word-break:break-all}.home__header{margin-bottom:2rem}.home__title{font-family:Share Tech Mono,monospace;font-size:1.5rem;color:#e0f4ff;letter-spacing:.1em;text-transform:uppercase}.home__desc{font-size:.85rem;color:#5a8aaa;font-family:Share Tech Mono,monospace;margin-top:.3rem}.history__title{font-family:Share Tech Mono,monospace;font-size:1.5rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.history__loading,.history__empty{font-family:Share Tech Mono,monospace;font-size:.85rem;color:#5a8aaa}.history__list{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;margin-bottom:1.5rem}.history__list:before{display:none}.history__item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid #1a3a5c;cursor:pointer;transition:background .15s}.history__item:last-child{border-bottom:none}.history__item:hover{background:#00e5ff0a}.history__item--active{background:#00e5ff14}.history__url{font-family:Share Tech Mono,monospace;font-size:.85rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history__date{font-family:Share Tech Mono,monospace;font-size:.75rem;color:#5a8aaa;white-space:nowrap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:#050a0e;color:#e0f4ff;font-family:Rajdhani,sans-serif;font-size:16px;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#050a0e}::-webkit-scrollbar-thumb{background:#007a99;border-radius:3px}.app{display:flex;flex-direction:column;min-height:100vh}.page{flex:1;padding:2rem;max-width:1100px;margin:0 auto;width:100%}.panel{background:#0a1520;border:1px solid #1a3a5c;border-radius:4px;padding:1.5rem;position:relative}.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#00e5ff,transparent)}.btn{font-family:Rajdhani,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;padding:.65rem 1.5rem;border:none;border-radius:3px;cursor:pointer;transition:all .2s}.btn--primary{background:#00e5ff;color:#050a0e}.btn--primary:hover{background:#33eaff;box-shadow:0 0 20px #00e5ff66}.btn--primary:disabled{opacity:.4;cursor:not-allowed}.btn--ghost{background:transparent;color:#00e5ff;border:1px solid #00e5ff}.btn--ghost:hover{background:#00e5ff1a}.btn--danger{background:#ff3b5c;color:#fff}.btn--danger:hover{background:#ff647e}.input{background:#050a0e;border:1px solid #1a3a5c;border-radius:3px;color:#e0f4ff;font-family:Share Tech Mono,monospace;font-size:.95rem;padding:.65rem 1rem;width:100%;transition:border-color .2s}.input:focus{outline:none;border-color:#00e5ff;box-shadow:0 0 0 2px #00e5ff26}.input::placeholder{color:#5a8aaa}.badge{display:inline-block;font-family:Share Tech Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.1em;padding:.2rem .6rem;border-radius:2px;text-transform:uppercase}.badge--Critical{background:#ff3b5c33;color:#ff3b5c;border:1px solid #ff3b5c}.badge--High{background:#ffb80026;color:#ffb800;border:1px solid #ffb800}.badge--Medium{background:#00e5ff1f;color:#00e5ff;border:1px solid #00e5ff}.badge--Low{background:#4fc3f71f;color:#4fc3f7;border:1px solid #4fc3f7}.badge--Info{background:#00ff9d1a;color:#00ff9d;border:1px solid #00ff9d}.badge--Error{background:#ff3b5c1a;color:#ff3b5c;border:1px solid #ff3b5c}.status{display:inline-flex;align-items:center;gap:.4rem;font-family:Share Tech Mono,monospace;font-size:.8rem}.status__dot{width:8px;height:8px;border-radius:50%}.status--pending .status__dot{background:#5a8aaa}.status--running .status__dot{background:#ffb800;animation:pulse 1s infinite}.status--completed .status__dot{background:#00ff9d}.status--failed .status__dot{background:#ff3b5c}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.section-title{font-family:Share Tech Mono,monospace;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#00e5ff;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem}.section-title:after{content:"";flex:1;height:1px;background:#1a3a5c}
