.app-shell{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f1f5f9}.app-header{background:#0f172acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(51,65,85,.5);padding:1.25rem 2rem;position:sticky;top:0;z-index:100}.app-logo{display:flex;align-items:center;gap:1rem}.app-logo-badge{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:#fff;box-shadow:0 4px 12px #3b82f64d;letter-spacing:-.5px}.app-logo-title{font-weight:600;font-size:1.25rem;color:#f1f5f9;letter-spacing:-.5px}.app-logo-subtitle{font-size:.8125rem;color:#94a3b8;margin-top:.125rem}.app-main{max-width:880px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.card{background:linear-gradient(to bottom,#1e293b80,#0f172acc);border-radius:16px;padding:2.5rem;border:1px solid rgba(71,85,105,.3);box-shadow:0 4px 6px #0000001a,0 20px 40px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:640px){.app-main{padding:1.5rem 1rem 3rem}.card{padding:1.5rem}}h1{font-size:2rem;font-weight:700;color:#f1f5f9;margin-bottom:.5rem;letter-spacing:-.5px;line-height:1.2}.section-description{font-size:.9375rem;color:#94a3b8;margin-bottom:1.75rem;line-height:1.6}.muted{font-size:.9375rem;color:#94a3b8;line-height:1.6}.btn-link{background:none;border:none;color:#60a5fa;cursor:pointer;padding:0;margin-bottom:1.5rem;font-size:.9375rem;font-weight:500;transition:color .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-link:hover{color:#93c5fd}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-primary:active:not(:disabled){transform:translateY(0)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.list-item{border:1px solid rgba(71,85,105,.3);border-radius:12px;overflow:hidden;background:#1e293b4d;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.list-item:hover{border-color:#60a5fa80;background:#1e293b80;transform:translate(4px);box-shadow:0 4px 12px #00000026}.list-link-button{flex:1;background:none;border:none;color:inherit;padding:1.25rem 1.5rem;text-align:left;cursor:pointer;transition:none;box-shadow:none}.list-link-button:hover{background:none;border:none}.list-item .btn-ghost{flex-shrink:0;margin-right:.75rem;font-size:.875rem}.list-title{font-weight:600;font-size:1.0625rem;color:#f1f5f9;margin-bottom:.375rem;letter-spacing:-.25px}.list-subtitle{font-size:.875rem;color:#94a3b8;line-height:1.4}.empty-state{text-align:center;padding:3rem 1.5rem;color:#94a3b8}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:600;color:#cbd5e1;margin-bottom:.5rem}.empty-state-text{font-size:.9375rem;color:#94a3b8}.loading{text-align:center;padding:2rem;color:#94a3b8;font-size:.9375rem}.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem 1.25rem;border-radius:10px;margin-top:1rem;font-size:.9375rem;line-height:1.6}.metrics-bar{display:flex;gap:1.5rem;margin-top:1.75rem;padding:1.25rem 1.5rem;background:#1e293b66;border-radius:12px;border:1px solid rgba(71,85,105,.3)}.metric-item{flex:1;min-width:0}.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.375rem;font-weight:500}.metric-value{font-size:1.125rem;font-weight:600;color:#f1f5f9;letter-spacing:-.25px}@media(max-width:640px){.metrics-bar{flex-direction:column;gap:1rem}}.insights-container{margin-top:2rem;display:flex;flex-direction:column;gap:2.5rem}.insights-section{display:flex;flex-direction:column;gap:1rem}.insights-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.badge{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:999px;font-size:.8125rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.badge-strength{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.badge-weakness{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.badge-opportunity{background:#3b82f626;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.badge-threat{background:#fb923c26;color:#fdba74;border:1px solid rgba(251,146,60,.3)}.insights-feed{display:flex;flex-direction:column;gap:0;background:#0f172a66;border-radius:12px;border:1px solid rgba(71,85,105,.2);overflow:hidden}.insight-item{display:flex;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(71,85,105,.15);transition:background .15s ease}.insight-item:last-child{border-bottom:none}.insight-item:hover{background:#1e293b4d}.insight-bullet{width:8px;height:8px;border-radius:999px;margin-top:.5rem;flex-shrink:0}.bullet-strength{background:#22c55e;box-shadow:0 0 8px #22c55e80}.bullet-weakness{background:#ef4444;box-shadow:0 0 8px #ef444480}.bullet-opportunity{background:#3b82f6;box-shadow:0 0 8px #3b82f680}.bullet-threat{background:#fb923c;box-shadow:0 0 8px #fb923c80}.insight-content{flex:1;min-width:0}.insight-text{font-size:.9375rem;color:#e2e8f0;line-height:1.6;margin-bottom:.375rem}.insight-meta{font-size:.8125rem;color:#64748b;line-height:1.4}.login-shell{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:linear-gradient(to bottom,#1e293b99,#0f172ae6);border-radius:16px;padding:3rem 2.5rem;border:1px solid rgba(71,85,105,.3);box-shadow:0 4px 6px #0000001a,0 20px 60px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:420px;width:100%;text-align:center}.login-logo{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;color:#fff;box-shadow:0 8px 20px #3b82f666;letter-spacing:-.5px;margin:0 auto 1.5rem}.login-title{font-size:1.75rem;font-weight:700;color:#f1f5f9;margin-bottom:.5rem;letter-spacing:-.5px}.login-subtitle{font-size:.9375rem;color:#94a3b8;margin-bottom:2rem;line-height:1.6}.login-input{width:100%;padding:.875rem 1.25rem;border-radius:10px;border:1px solid rgba(71,85,105,.3);background:#0f172a99;color:#f1f5f9;font-size:.9375rem;margin-bottom:1rem;transition:all .2s ease;font-family:inherit}.login-input:focus{outline:none;border-color:#3b82f6;background:#0f172acc}.login-input::placeholder{color:#64748b}.login-button{width:100%;padding:.875rem 2rem;border-radius:10px;border:none;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;font-size:.9375rem;transition:all .2s ease;box-shadow:0 4px 12px #3b82f64d;letter-spacing:.01em;font-family:inherit}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.login-button:active{transform:translateY(0)}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}@media(max-width:640px){.view-header{flex-direction:column}}.btn-secondary{background:#4755694d;color:#cbd5e1;border-color:#47556966}.btn-secondary:hover:not(:disabled){background:#47556966;border-color:#47556999}.btn-ghost{background:none;border-color:transparent;color:#94a3b8}.btn-ghost:hover:not(:disabled){color:#f1f5f9;background:#47556933}.btn-add{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d;white-space:nowrap}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-add:active{transform:translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:linear-gradient(to bottom,#1e293bf2,#0f172afa);border-radius:16px;padding:2rem;border:1px solid rgba(71,85,105,.3);box-shadow:0 4px 6px #0000001a,0 20px 60px #0006;max-width:500px;width:100%;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:1.5rem;font-weight:700;color:#f1f5f9;margin-bottom:1.5rem;letter-spacing:-.5px}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.form-field{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#cbd5e1;margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(71,85,105,.3);background:#0f172a99;color:#f1f5f9;font-size:.9375rem;transition:all .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:#3b82f6;background:#0f172acc}.form-input::placeholder{color:#64748b}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:8px;margin-top:1rem;font-size:.875rem}@media(max-width:640px){h1{font-size:1.625rem}.app-header{padding:1rem 1.25rem}.app-logo-badge{width:40px;height:40px;font-size:1rem}.app-logo-title{font-size:1.125rem}.app-logo-subtitle{font-size:.75rem}.insights-container{gap:2rem}.insight-item{padding:1rem}.list-link-button{padding:1rem 1.25rem}.login-card{padding:2rem 1.5rem}.modal-card{padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{background:#1e293bf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(51,65,85,.6);border-radius:12px;padding:1rem 1.25rem;min-width:320px;max-width:420px;box-shadow:0 8px 24px #0000004d;pointer-events:auto;animation:toast-slide-in .3s ease-out;display:flex;align-items:flex-start;gap:.75rem}@keyframes toast-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.toast.toast-exit{animation:toast-slide-out .3s ease-in}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-top:2px}.toast-content{flex:1;min-width:0}.toast-message{color:#f1f5f9;font-size:.9375rem;line-height:1.5;word-wrap:break-word}.toast-success{border-left:3px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:3px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-info{border-left:3px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-warning{border-left:3px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}@media(max-width:640px){.toast-container{top:1rem;right:1rem;left:1rem}.toast{min-width:unset;max-width:100%}}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}
