:root{--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e,#0f3460,#0a0a0a);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 20px 30px,#ffffff,transparent),radial-gradient(1px 1px at 40px 70px,#ffffff,transparent),radial-gradient(1px 1px at 90px 40px,#ffffff,transparent),radial-gradient(1px 1px at 130px 80px,#ffffff,transparent),radial-gradient(1px 1px at 160px 30px,#ffffff,transparent),radial-gradient(2px 2px at 60px 120px,#ffffff,transparent),radial-gradient(1.5px 1.5px at 180px 60px,#ffffff,transparent),radial-gradient(1px 1px at 220px 150px,#ffffff,transparent);background-size:200px 200px;animation:spinStars 60s linear infinite;opacity:.3;z-index:0;pointer-events:none}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 50px 50px,#87ceeb,transparent),radial-gradient(1px 1px at 150px 100px,#87ceeb,transparent),radial-gradient(1px 1px at 250px 200px,#87ceeb,transparent),radial-gradient(1px 1px at 350px 150px,#87ceeb,transparent);background-size:300px 300px;animation:spinStars 90s linear infinite reverse;opacity:.2;z-index:0;pointer-events:none}.login-container{background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e,#0f3460,#0a0a0a);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 20px 30px,#ffffff,transparent),radial-gradient(1px 1px at 40px 70px,#ffffff,transparent),radial-gradient(1px 1px at 90px 40px,#ffffff,transparent),radial-gradient(1px 1px at 130px 80px,#ffffff,transparent),radial-gradient(1px 1px at 160px 30px,#ffffff,transparent),radial-gradient(2px 2px at 60px 120px,#ffffff,transparent),radial-gradient(1.5px 1.5px at 180px 60px,#ffffff,transparent),radial-gradient(1px 1px at 220px 150px,#ffffff,transparent);background-size:200px 200px;animation:spinStars 60s linear infinite;opacity:.4;z-index:0}.login-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 50px 50px,#87ceeb,transparent),radial-gradient(1px 1px at 150px 100px,#87ceeb,transparent),radial-gradient(1px 1px at 250px 200px,#87ceeb,transparent),radial-gradient(1px 1px at 350px 150px,#87ceeb,transparent);background-size:300px 300px;animation:spinStars 90s linear infinite reverse;opacity:.3;z-index:0}@keyframes spinStars{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-card{background:#ffffff14;border-radius:24px;padding:3.5rem 2.5rem;text-align:center;max-width:420px;width:100%;position:relative;overflow:hidden;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;z-index:1;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #ffffff1a}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:24px;z-index:-1}.logo-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.logo{height:120px;width:auto;filter:brightness(0) invert(1);transition:transform .3s ease}.logo:hover{transform:scale(1.05)}.login-card h1{font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:.01em;text-transform:uppercase;opacity:.5}.login-subtitle{color:#ffffffd9;margin-bottom:2.5rem;font-size:1.125rem;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1.5;font-weight:400}.github-login-btn{display:flex;align-items:center;justify-content:center;gap:.875rem;width:100%;padding:1.125rem 2rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a;letter-spacing:.01em}.github-login-btn:hover{background:#ffffff40;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 12px 32px #0006,inset 0 1px #ffffff26}.github-login-btn:active{transform:translateY(-1px);transition:transform .1s ease}.github-icon{width:22px;height:22px;transition:transform .2s ease}.github-login-btn:hover .github-icon{transform:scale(1.1)}.login-card .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626;padding:.75rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem;text-align:center}.patreon-btn{padding:.875rem 1.75rem;background:linear-gradient(135deg,#ff424d,#ff6b6b);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #ff424d4d,inset 0 1px #fff3;letter-spacing:.01em}.patreon-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff424d66,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#ff525d,#ff7b7b)}.patreon-btn:active{transform:translateY(0);transition:transform .1s ease}.patreon-modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.patreon-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .3s ease}.patreon-modal-content{position:relative;background:#ffffff14;border-radius:24px;padding:2.5rem;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;z-index:10001;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 60px #00000080,inset 0 1px #fff3;animation:slideUp .4s cubic-bezier(.4,0,.2,1);text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.patreon-modal-close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fffc;cursor:pointer;transition:all .2s ease;z-index:1}.patreon-modal-close:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.patreon-modal-title{font-size:1.75rem;font-weight:700;color:#fffffff2;margin-bottom:1.5rem;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.3)}.patreon-modal-image-container{margin:1.5rem 0;display:flex;justify-content:center;align-items:center}.patreon-modal-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #0000004d}.patreon-modal-image-placeholder{width:120px;height:120px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3);color:#ffffff80}.patreon-modal-subtitle{font-size:1.0625rem;color:#ffffffd9;line-height:1.7;margin-bottom:2rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.patreon-modal-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.patreon-modal-btn-secondary{flex:1;padding:1rem 1.5rem;background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.patreon-modal-btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff;transform:translateY(-2px)}.patreon-modal-btn-primary{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#ff424d,#ff6b6b);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #ff424d4d,inset 0 1px #fff3;letter-spacing:.01em}.patreon-modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff424d66,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#ff525d,#ff7b7b)}.patreon-modal-btn-primary:active{transform:translateY(0);transition:transform .1s ease}@media (max-width: 640px){.patreon-btn{padding:.75rem 1.25rem;font-size:.875rem}.patreon-modal-content{padding:2rem 1.5rem;width:95%}.patreon-modal-title{font-size:1.5rem;margin-bottom:1.25rem}.patreon-modal-subtitle{font-size:1rem;margin-bottom:1.5rem}.patreon-modal-actions{flex-direction:column}.patreon-modal-btn-secondary,.patreon-modal-btn-primary{width:100%}}.header-fixed{position:fixed;top:0;left:0;width:100%;background:#ffffff14;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:100;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center}.header-logo{height:40px;width:auto;filter:brightness(0) invert(1)}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-name{font-weight:500;color:#ffffffe6}.logout-btn{padding:.5rem 1rem;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;font-size:.875rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logout-btn:hover{background:#fff3;color:#fff;border-color:#ffffff4d;transform:translateY(-1px)}.aws-integration-indicator{height:32px;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit}.aws-integration-indicator:disabled{cursor:not-allowed;pointer-events:none}.aws-indicator-icon{flex-shrink:0}.aws-indicator-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.aws-indicator-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff9;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.aws-indicator-loading{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff9}.aws-indicator-not_configured{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#ffffffd9}.aws-indicator-not_configured .aws-indicator-icon{color:#ffffffd9}.aws-indicator-not_configured .aws-indicator-dot{background:#ffffff8c;box-shadow:none}.aws-indicator-not_configured:hover{background:#ffffff1a;transform:translateY(-1px)}.aws-indicator-needs_attention{background:#ff9f4324;border:1px solid rgba(255,159,67,.7);color:#ff9f43}.aws-indicator-needs_attention .aws-indicator-icon{color:#ff9f43}.aws-indicator-needs_attention .aws-indicator-dot{background:#ff9f43;box-shadow:0 0 8px #ff9f4380}.aws-indicator-needs_attention:hover{background:#ff9f4333;transform:translateY(-1px)}.aws-indicator-connected{background:linear-gradient(135deg,#2ecc71,#27ae60);border:1px solid rgba(0,0,0,.25);color:#0b1e11}.aws-indicator-connected .aws-indicator-icon{color:#0b1e11}.aws-indicator-connected .aws-indicator-dot{background:#2ecc71;box-shadow:0 0 8px #2ecc7180}.aws-indicator-connected:hover{filter:brightness(1.05);transform:translateY(-1px)}.aws-modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.aws-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .3s ease}.aws-modal-content{position:relative;background:#ffffff14;border-radius:24px;padding:24px;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;z-index:10001;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 60px #00000080,inset 0 1px #fff3;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.aws-modal-content-large{max-width:700px}.aws-modal-close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fffc;cursor:pointer;transition:all .2s ease;z-index:1}.aws-modal-close:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.aws-modal-header{margin-bottom:24px}.aws-modal-title{font-size:1.75rem;font-weight:700;color:#fffffff2;margin-bottom:.5rem;line-height:1.3}.aws-modal-subtitle{font-size:.9375rem;color:#ffffffb3;line-height:1.6}.aws-modal-body{margin-bottom:24px}.aws-connect-form{display:flex;flex-direction:column;gap:16px}.aws-form-group{display:flex;flex-direction:column;gap:.5rem}.aws-form-group label{font-size:.875rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em}.aws-form-input,.aws-form-select{width:100%;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:14px;font-size:1rem;transition:all .3s ease;background:#2a2a3e;color:#ffffffe6;height:3rem;box-sizing:border-box;font-family:inherit}.aws-form-input:focus,.aws-form-select:focus{outline:none;border-color:#60a5fa80;background:#ffffff26;box-shadow:0 0 0 3px #60a5fa1a}.aws-form-helper{font-size:.8125rem;color:#fff9;line-height:1.4}.aws-permissions-hint{margin-top:.5rem;padding:.75rem 1rem;background:#ffffff0d;border-radius:8px;font-size:.8125rem;color:#fff9;line-height:1.5}.aws-next-steps{margin-top:1.5rem;padding:1rem 1.25rem;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:12px}.aws-next-steps-title{font-size:.9375rem;font-weight:600;color:#ffffffe6;margin-bottom:.5rem}.aws-next-steps-text{font-size:.875rem;color:#ffffffbf;line-height:1.6;margin-bottom:.75rem}.aws-next-steps-btn{padding:.5rem 1rem;background:transparent;color:#60a5fae6;border:1px solid rgba(96,165,250,.3);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.aws-next-steps-btn:hover{background:#60a5fa26;border-color:#60a5fa80;color:#60a5fa}.aws-summary-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;margin-bottom:24px}.aws-status-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#2ecc7126;color:#2ecc71;border-radius:8px;font-size:.8125rem;font-weight:600;margin-bottom:1rem}.aws-status-chip svg{width:14px;height:14px}.aws-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.aws-summary-item{display:flex;flex-direction:column;gap:.25rem}.aws-summary-item label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.aws-summary-item value{font-size:.9375rem;color:#ffffffe6;font-weight:500}.aws-resources-section{margin-top:24px}.aws-resources-title{font-size:1.125rem;font-weight:600;color:#ffffffe6;margin-bottom:.5rem}.aws-resources-description{font-size:.875rem;color:#ffffffb3;margin-bottom:1rem;line-height:1.5}.aws-resource-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.aws-resource-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;transition:all .3s ease}.aws-resource-chip:hover{background:#ffffff1f;transform:translateY(-2px)}.aws-resource-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.aws-resource-count{font-size:1.25rem;font-weight:700;color:#ffffffe6}.aws-resources-hint{font-size:.8125rem;color:#ffffff80;font-style:italic;margin-top:.5rem}.aws-modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.aws-modal-btn-secondary{padding:.875rem 1.5rem;background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.aws-modal-btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.aws-modal-btn-primary{padding:.875rem 1.5rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a}.aws-modal-btn-primary:hover:not(:disabled){background:#ffffff40;border-color:#ffffff4d;transform:translateY(-2px)}.aws-modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.aws-modal-btn-disconnect{padding:.875rem 1.5rem;background:transparent;color:#ff5252;border:1px solid rgba(244,67,54,.4);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.aws-modal-btn-disconnect:hover{background:#f443361a;border-color:#f4433699}.aws-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.aws-tab-btn{padding:.75rem 1.25rem;background:transparent;color:#fff9;border:none;border-bottom:2px solid transparent;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.aws-tab-btn:hover{color:#fffc}.aws-tab-btn.aws-tab-active{color:#fffffff2;border-bottom-color:#60a5facc}.aws-tab-content{margin-top:1rem}.aws-cloudformation-info{display:flex;flex-direction:column;gap:1.5rem}.aws-info-title{font-size:1.125rem;font-weight:600;color:#ffffffe6;margin-bottom:.5rem}.aws-info-text{font-size:.9375rem;color:#ffffffb3;line-height:1.6}.aws-steps-list{margin-left:1.5rem;margin-top:.5rem;color:#ffffffb3;line-height:1.8}.aws-steps-list li{margin-bottom:.75rem;font-size:.9375rem}.aws-steps-list strong{color:#ffffffe6;font-weight:600}.aws-action-section{margin-top:1rem}.aws-code-block{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;margin:1rem 0}.aws-code-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.aws-code-header span{font-size:.8125rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.aws-copy-btn{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.375rem .5rem;color:#ffffffb3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.aws-copy-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#ffffffe6}.aws-code-content{padding:1rem;margin:0;overflow-x:auto;font-family:JetBrains Mono,Courier New,monospace;font-size:.8125rem;line-height:1.6;color:#ffffffe6;background:transparent}.aws-code-content code{font-family:inherit;color:inherit;white-space:pre}.aws-cli-steps{margin-top:1.5rem}.aws-cli-steps code{background:#0000004d;padding:.25rem .5rem;border-radius:4px;font-family:JetBrains Mono,Courier New,monospace;font-size:.875rem;color:#60a5fae6}.aws-refresh-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;gap:.75rem}.aws-refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#60a5fa26;color:#60a5fae6;border:1px solid rgba(96,165,250,.3);border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.aws-refresh-btn:hover:not(:disabled){background:#60a5fa40;border-color:#60a5fa80;color:#60a5fa}.aws-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.aws-refresh-hint{font-size:.8125rem;color:#ffffff80;text-align:center}.aws-status-result{margin-top:1rem;padding:1rem 1.25rem;border-radius:12px;border:1px solid;animation:slideDown .3s ease;width:100%}.aws-status-content{display:flex;gap:1rem;align-items:flex-start}.aws-status-content svg{flex-shrink:0;margin-top:.125rem}.aws-status-text{flex:1}.aws-status-text strong{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.375rem}.aws-status-text p{font-size:.875rem;margin:0;line-height:1.5;opacity:.9}.aws-status-success{background:#2ecc7126;border-color:#2ecc7166;color:#2ecc71}.aws-status-success svg{color:#2ecc71}.aws-status-warning{background:#ff9f4326;border-color:#ff9f4366;color:#ff9f43}.aws-status-warning svg{color:#ff9f43}.aws-status-error{background:#f4433626;border-color:#f4433666;color:#f44336}.aws-status-error svg{color:#f44336}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.aws-modal-content{padding:16px;width:95%}.aws-summary-grid,.aws-resource-chips{grid-template-columns:1fr}.aws-modal-footer{flex-direction:column}.aws-modal-btn-secondary,.aws-modal-btn-primary,.aws-modal-btn-disconnect{width:100%}.header-right{flex-wrap:wrap;gap:.5rem}}.version-display{position:fixed;top:6rem;right:1rem;font-size:.75rem;color:#fff9;font-weight:400;z-index:1000;background:#ffffff14;padding:.25rem .5rem;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.container{max-width:1200px;margin:0 auto;padding:2rem;margin-top:5rem;position:relative;z-index:1}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.create-project-btn{padding:.875rem 1.75rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a;letter-spacing:.01em}.create-project-btn:hover{background:#ffffff40;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d,inset 0 1px #ffffff26}.create-project-btn:active{transform:translateY(0);transition:transform .1s ease}.project-form{background:#ffffff14;border-radius:24px;padding:3.5rem 2.5rem;margin:0 auto 3rem;max-width:420px;width:100%;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;position:relative;overflow:visible}.project-form:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:24px;z-index:-1}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#ffffffe6;margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.project-input,.project-select{width:100%;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:14px;font-size:1rem;transition:all .3s ease;background:#2a2a3e;color:#ffffffe6;height:3rem;box-sizing:border-box}.select-wrapper{position:relative;display:inline-block;width:100%}.project-select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#2a2a3e;padding-right:2.5rem;width:100%}.select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(255,255,255,.5);pointer-events:none;z-index:1}.project-select:focus{outline:none;border-color:#fff3;background-color:#2a2a3e;box-shadow:none}.project-select option{background:#2a2a3e;color:#ffffffe6}.project-input::placeholder{color:#ffffff80}.project-input:focus,.project-select:focus{outline:none;border-color:#60a5fa80;background:#ffffff26;box-shadow:0 0 0 3px #60a5fa1a}.form-actions{display:flex;gap:1rem;margin-top:1rem}.cancel-btn{flex:1;padding:1.125rem 2rem;background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);letter-spacing:.01em}.cancel-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.cancel-btn:active{transform:translateY(-1px);transition:transform .1s ease}.generate-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:1.125rem 2rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a;letter-spacing:.01em}.generate-btn:hover:not(:disabled){background:#ffffff40;border-color:#ffffff4d}.generate-btn:disabled{opacity:.5;cursor:not-allowed;background:#ffffff14}.aws-fields{margin-top:1rem;padding:1rem 1.5rem 1.5rem;background:#0003;border-radius:14px;border:1px solid rgba(255,255,255,.1);animation:fadeIn .3s ease;position:relative;overflow:visible}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.aws-fields-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.5rem}.aws-fields-title{font-weight:600;color:#ffffffe6;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.info-icon-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help;z-index:1001}.info-icon{width:16px;height:16px;color:#fff9;transition:color .2s ease}.info-icon-wrapper:hover .info-icon{color:#ffffffe6}.info-icon-wrapper .tooltip{position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%) translate(-5px);padding:.75rem 1rem;background:#000000f2;color:#ffffffe6;border-radius:8px;font-size:.8125rem;line-height:1.5;width:320px;max-width:calc(100vw - 2rem);box-shadow:0 4px 12px #0006;border:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none;z-index:10000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.info-icon-wrapper:hover .tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.info-icon-wrapper .tooltip:before{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid rgba(0,0,0,.95)}.project-select option:disabled{color:#fff6;font-style:italic}.generate-btn:active:not(:disabled){transform:translateY(-1px);transition:transform .1s ease}.helper-text{margin-top:.5rem;font-size:.8125rem;color:#f87171e6;line-height:1.4}.error-message{display:none;background:#ef44441a;color:#f87171;padding:1rem;border-radius:var(--radius-md);margin:1.5rem 0;text-align:center;font-weight:500;border:1px solid rgba(239,68,68,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.projects-section{margin-top:3rem;position:relative}.projects-section h2{font-size:2rem;font-weight:700;color:#ffffffe6;margin-bottom:2rem;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.projects-list{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-item{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;overflow:hidden}.project-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:20px;z-index:-1}.project-item:hover{transform:translateY(-8px);border-color:#60a5fa66;box-shadow:0 20px 40px #0006,inset 0 1px #ffffff4d}.project-header{margin-bottom:1rem}.project-header h3{font-size:1.25rem;font-weight:600;color:#ffffffe6;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.project-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.project-type{color:#60a5fa;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.project-repo,.project-date,.project-user{color:#ffffffb3;font-size:.875rem;margin:0}.project-infra{margin-top:1rem}.project-infra h4{font-size:.875rem;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.project-infra ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0}.project-infra li{font-size:.875rem;color:#ffffffbf;display:flex;align-items:center;gap:.5rem}.delete-btn{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.5rem;cursor:pointer;color:#fff9;border-radius:8px;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.delete-btn:hover{color:#f87171;background:#f871711a;border-color:#f871714d;transform:scale(1.1)}.no-projects{text-align:center;color:#fff9;font-style:italic;grid-column:1 / -1;padding:3rem;font-size:1.125rem;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.vitruviux-title{font-family:Inter,sans-serif;font-weight:700;font-size:3.5rem;color:#fff!important;text-align:center;margin:1.5rem 0 2rem;text-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2;letter-spacing:-.02em}.vitruviux-title:hover{color:#60a5fa;transition:color .2s ease}@media (max-width: 768px){.vitruviux-title{font-size:2.5rem;letter-spacing:.08em}}@media (max-width: 480px){.vitruviux-title{font-size:2rem;letter-spacing:.05em}}
