.security-page{min-height:100vh;background:var(--bg-base);padding-top:64px}.security-hero{background:linear-gradient(180deg,var(--bg-surface) 0,var(--bg-base) 100%);padding:var(--space-6) var(--space-6) var(--space-4);text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.security-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(220,38,38,.03) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(220,38,38,.03) 0,transparent 50%);pointer-events:none;z-index:0}.security-hero>*{position:relative;z-index:1}.security-hero svg{width:48px;height:48px;color:var(--color-red-600);margin-bottom:var(--space-4)}.security-hero h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-2);letter-spacing:-.01em;line-height:var(--leading-tight)}.security-hero p{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6);max-width:600px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.security-form{display:flex;gap:var(--space-3);max-width:640px;margin:0 auto;align-items:stretch}.security-input{flex:1 1;position:relative;min-width:0}.security-input svg{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted);pointer-events:none;z-index:1}.security-input input{width:100%;height:48px;padding:0 var(--space-4) 0 var(--space-12);font-size:var(--text-base);border:1px solid var(--color-slate-300);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);transition:all var(--transition-base)}.security-input input:focus{outline:none;border-color:var(--color-red-500);box-shadow:0 0 0 3px rgba(239,68,68,.1)}.security-input input::placeholder{color:var(--text-muted)}.security-input input:disabled{opacity:.6;cursor:not-allowed}.security-form button{height:48px;padding:0 var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-inverse);background:var(--color-red-600);border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;min-width:-moz-fit-content;min-width:fit-content;box-shadow:var(--shadow-xs)}.security-form button:hover:not(:disabled){background:var(--color-red-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.security-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.security-form button svg,.security-spinner{width:18px;height:18px}.security-spinner{border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.security-content{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6)}.security-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.security-alert--error{background:var(--color-red-50);border:1px solid var(--color-red-200)}.security-alert svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.security-alert--error svg{color:var(--color-red-600)}.security-alert strong{display:block;font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.security-alert p{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.security-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center}.security-loading__spinner{width:48px;height:48px;border:4px solid var(--color-slate-200);border-top-color:var(--color-red-600);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-4)}.security-loading p{font-size:var(--text-base);color:var(--text-secondary);margin:0}.security-results{animation:fadeIn .3s ease}.security-overview{margin-bottom:var(--space-8)}.security-overview__score{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8)}.security-overview__score h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-6)}.security-score{position:relative;width:120px;height:120px;margin-bottom:var(--space-4)}.security-score svg{width:100%;height:100%;transform:rotate(-90deg)}.security-score__value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.security-score__value span{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.security-score__value small{font-size:var(--text-base);color:var(--text-muted);font-weight:var(--font-normal)}.security-overview__score p{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.security-overview__score p.good{color:var(--color-green-700)}.security-overview__score p.warning{color:var(--color-yellow-700)}.security-overview__score p.error{color:var(--color-red-700)}.security-recommendations{background:var(--color-blue-50);border:1px solid var(--color-blue-200);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6)}.security-recommendations h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.security-recommendations ul{list-style:none;padding:0;margin:0}.security-recommendations li{padding:var(--space-2) 0 var(--space-2) var(--space-6);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);position:relative}.security-recommendations li:before{content:"•";position:absolute;left:0;color:var(--color-blue-600);font-weight:var(--font-bold)}.security-headers{margin-bottom:var(--space-8)}.security-headers h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4)}.security-headers__list{display:flex;flex-direction:column;gap:var(--space-3)}.security-header{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base)}.security-header:hover{box-shadow:var(--shadow-sm)}.security-header--present{border-left:4px solid var(--color-green-500)}.security-header--weak{border-left:4px solid var(--color-yellow-500)}.security-header--missing{border-left:4px solid var(--color-red-500)}.security-header__main{display:flex;gap:var(--space-4);align-items:flex-start}.security-header__status{flex-shrink:0}.security-header__status svg{width:24px;height:24px}.security-header--present .security-header__status svg{color:var(--color-green-600)}.security-header--weak .security-header__status svg{color:var(--color-yellow-600)}.security-header--missing .security-header__status svg{color:var(--color-red-600)}.security-header__info{flex:1 1;min-width:0}.security-header__name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);flex-wrap:wrap}.security-header__severity{font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.05em}.security-header__recommendation{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.security-header__value{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-slate-50);border-radius:var(--radius-md);border:1px solid var(--border)}.security-header__value code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-xs);color:var(--text-primary);word-break:break-all}.security-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center;background:var(--bg-surface);border:2px dashed var(--color-slate-300);border-radius:var(--radius-xl);margin-bottom:var(--space-8)}.security-empty svg{width:64px;height:64px;color:var(--color-red-400);margin-bottom:var(--space-4);opacity:.7}.security-empty h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2)}.security-empty p{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0;line-height:var(--leading-relaxed);max-width:500px}.security-cta{background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;margin-top:var(--space-8)}.security-cta h3{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-2)}.security-cta p{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6);line-height:var(--leading-relaxed)}.security-cta__button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-inverse);background:var(--color-primary-600);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.security-cta__button:hover{background:var(--color-primary-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.security-cta__button svg{width:18px;height:18px}@media (max-width:768px){.security-hero{padding:var(--space-5) var(--space-4) var(--space-3)}.security-hero svg{width:40px;height:40px}.security-hero h1{font-size:var(--text-xl)}.security-hero p{font-size:var(--text-xs)}.security-form{flex-direction:column;gap:var(--space-2)}.security-form button{width:100%}.security-content{padding:var(--space-6) var(--space-4)}.security-overview__score{padding:var(--space-6)}.security-score{width:100px;height:100px}.security-score__value span{font-size:var(--text-2xl)}}@media (max-width:480px){.security-empty{padding:var(--space-12) var(--space-4)}.security-empty svg{width:48px;height:48px}.security-header__main{flex-direction:column;gap:var(--space-2)}.security-header__status{align-self:flex-start}.security-cta{padding:var(--space-6) var(--space-4)}}