:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172033;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#172033;background:radial-gradient(circle at 0 0,#3158d41f,#0000 34rem),linear-gradient(#f8fafc 0%,#eef2f7 48%,#f5f7fb 100%);margin:0}.page{min-height:100vh;padding:56px 24px}.page-shell{gap:28px;width:min(1120px,100%);margin:0 auto;display:grid}.page-shell>*{order:50}.card{background:#fffffff5;border:1px solid #d8deeaeb;border-radius:8px;padding:30px;box-shadow:0 18px 50px #19253f14}.intro-card{background:#fff;order:1;padding:36px}.intro-card h1{color:#111827;margin:0 0 16px;font-size:3rem;line-height:1.1}.intro-card p:last-child{color:#4b5870;max-width:760px;margin:0;font-size:1.08rem;line-height:1.65}.card-header{justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:2px;display:flex}h2{margin:0;font-size:1.35rem;line-height:1.25}p{font-size:1rem;line-height:1.65}.muted{color:#66738a;white-space:nowrap;background:#f8fafc;border:1px solid #dbe3f0;border-radius:999px;padding:5px 10px;font-size:.84rem;font-weight:700}.field{color:#263247;gap:8px;font-weight:700;display:grid}input,select,textarea{color:#172033;width:100%;font:inherit;background:#fbfcff;border:1px solid #c5cfdf;border-radius:6px;transition:border-color .16s,box-shadow .16s,background .16s}input,select{min-height:44px;padding:0 14px}textarea{resize:vertical;min-height:140px;padding:12px 14px;line-height:1.55}select{cursor:pointer}input:focus,select:focus,textarea:focus{background:#fff;border-color:#3158d4;outline:3px solid #dbe5ff}button{color:#fff;cursor:pointer;background:linear-gradient(#3158d4 0%,#1947d2 100%);border:0;border-radius:6px;min-height:44px;padding:0 18px;font-size:.98rem;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s;box-shadow:0 10px 22px #1947d22e}button:hover{background:linear-gradient(#284cc0 0%,#1238aa 100%);transform:translateY(-1px);box-shadow:0 12px 26px #1947d238}button:disabled{cursor:not-allowed;box-shadow:none;background:#9aa7bd;transform:none}.helper-text{color:#4b5870;margin:18px 0 0}.selector-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.generation-card>.field{margin-top:18px}.generation-card{order:4}.active-mode{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.active-mode span{color:#66738a;font-size:.88rem;font-weight:700}.active-mode strong{color:#3158d4;background:#eef3ff;border-radius:999px;padding:6px 12px;font-size:.9rem}.parser-card{order:7;gap:16px;display:grid}.iam-smart-analysis-card{order:2;gap:18px;display:grid}.iam-smart-analysis-card button{width:fit-content}.iam-analysis-result{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:16px;padding:16px;display:grid}.analysis-summary-row{grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:12px;display:grid}.analysis-summary-row>div{background:#fff;border:1px solid #d8deea;border-radius:8px;gap:8px;padding:14px;display:grid}.analysis-summary-row span,.analysis-grid h3,.analysis-list-section h3{color:#66738a;margin:0;font-size:.86rem;font-weight:800}.analysis-summary-row strong{color:#172033;overflow-wrap:anywhere}.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.analysis-grid article,.analysis-list-section{background:#fff;border:1px solid #d8deea;border-radius:8px;gap:10px;padding:14px;display:grid}.analysis-chip-list{flex-wrap:wrap;gap:8px;display:flex}.analysis-chip{color:#3158d4;background:#eef3ff;border-radius:999px;padding:6px 10px;font-size:.9rem;font-weight:800}.analysis-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.analysis-list li{color:#263247;overflow-wrap:anywhere;background:#fff;border:1px solid #e1e7f2;border-radius:8px;padding:10px 12px;font-weight:700}.interactive-action-grid{gap:10px;display:grid}.interactive-action-card{cursor:pointer;background:#fff;border:1px solid #d8deea;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid}.interactive-action-card:hover{border-color:#9eb3ef;transform:translateY(-1px);box-shadow:0 12px 26px #19253f14}.interactive-action-selected{background:#f5f8ff;border-color:#3158d4;box-shadow:inset 0 0 0 1px #3158d438}.interactive-action-card input{accent-color:#3158d4;width:18px;min-height:18px;margin:3px 0 0}.interactive-action-card span{gap:5px;display:grid}.interactive-action-card strong{color:#172033;overflow-wrap:anywhere}.interactive-action-card small{color:#4b5870;font-size:.92rem;font-weight:600;line-height:1.5}.risk-pill{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.76rem;font-style:normal;font-weight:900}.risk-low{color:#166534;background:#e8f7ed}.risk-medium{color:#8a5a00;background:#fff4d8}.risk-high{color:#a11b1b;background:#ffe7e7}.policy-section-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.generated-arn-section p{color:#4b5870;margin:6px 0 0;font-size:.92rem;font-weight:700}.generated-arn-section button{background:linear-gradient(#167044 0%,#125c38 100%);width:fit-content;box-shadow:0 10px 22px #125c3829}.generated-arn-section button:hover{background:linear-gradient(#125c38 0%,#0f472d 100%)}.ai-assistant-card{order:3;gap:16px;display:grid}.ai-assistant-card .field{margin-top:4px}.ai-button{background:linear-gradient(#25324a 0%,#182235 100%);width:fit-content;box-shadow:0 10px 22px #25324a29}.ai-button:hover{background:linear-gradient(#1e293f 0%,#121b2d 100%)}.ai-response,.ai-output{background:linear-gradient(#f8fbff 0%,#f1f6ff 100%);border:1px solid #c7d7f7;border-radius:8px;gap:8px;padding:16px;display:grid}.ai-response span,.ai-output span{color:#3158d4;font-size:.86rem;font-weight:800}.ai-response p,.ai-output p{color:#263247;margin:0}.parser-card .field{margin-top:4px}.parser-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.parser-actions button:last-child{background:#25324a}.parser-actions button:last-child:hover{background:#151f31}.request-analysis-card{order:8;gap:16px;display:grid}.request-analysis-card p{color:#4b5870;margin:0}.detected-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.detected-item{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:10px;padding:14px;display:grid}.detected-item span{color:#66738a;font-size:.86rem;font-weight:700}.detected-badge,.missing-badge{border-radius:999px;width:fit-content;padding:6px 10px;font-size:.9rem}.detected-badge{color:#166534;background:#e8f7ed}.missing-badge{color:#66738a;background:#f1f4f9}.detected-permissions{gap:10px;display:grid}.detected-permissions h3{color:#263247;margin:0;font-size:1rem}.permission-chip-list{flex-wrap:wrap;gap:10px;display:flex}.permission-chip{background:#fff;border:1px solid #c7cede;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;display:inline-flex}.permission-chip strong{color:#172033}.permission-chip em{color:#3158d4;background:#eef3ff;border-radius:999px;padding:3px 8px;font-style:normal;font-weight:800}.analysis-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.analysis-actions button{background:#25324a}.analysis-actions button:hover{background:#151f31}.history-card{order:6;gap:16px;display:grid}.resource-warning-card{background:linear-gradient(#fffdf7 0%,#fff 100%);border-color:#f6c86f;order:5;gap:16px;display:grid}.resource-warning-card .muted{color:#7a4d00;background:#fff8e6;border-color:#f6d891}.resource-warning-card button{background:linear-gradient(#9a6500 0%,#7a4d00 100%);width:fit-content;box-shadow:0 10px 22px #7a4d0029}.resource-warning-card button:hover{background:linear-gradient(#875800 0%,#633f00 100%);box-shadow:0 12px 26px #7a4d0033}.history-card p{color:#4b5870;margin:0}.history-card .card-header button,.history-item button{background:#25324a}.history-card .card-header button:hover,.history-item button:hover{background:#151f31}.history-list{gap:12px;display:grid}.history-item{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.history-item div{gap:4px;display:grid}.history-time,.history-resource{color:#66738a;font-size:.88rem;font-weight:700}.history-item strong{color:#172033}.empty-history{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;padding:14px;font-weight:700}.generate-button{width:100%;margin-top:20px}.error{color:#b42318;margin:16px 0 0;font-weight:700}.result-card,.final-preview-card{order:9;gap:16px;display:grid}.final-preview-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.preview-badge{border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:800}.preview-badge-type{color:#3158d4;background:#eef3ff}.preview-badge-count{color:#167044;background:#ecfdf3}.final-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.final-preview-grid article{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:6px;padding:14px;display:grid}.final-preview-grid span,.final-permission-item span{color:#66738a;font-size:.86rem;font-weight:700}.final-preview-grid strong{color:#172033;overflow-wrap:anywhere}.final-permissions{gap:12px;display:grid}.final-permissions h3{color:#263247;margin:0;font-size:1rem}.final-permission-list{gap:10px;display:grid}.final-permission-item{border:1px solid #d8deea;border-radius:8px;gap:6px;padding:12px 14px;display:grid}.final-permission-item strong{color:#172033;overflow-wrap:anywhere}.final-permission-item small{color:#4b5870;font-weight:800}.policy-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.policy-actions button{background:#25324a}.policy-actions button:hover{background:#151f31}.success-message{color:#167044;margin:0;font-weight:700}.policy-output{color:#e8edf7;background:#111827;border:1px solid #d6dbe8;border-radius:8px;width:100%;max-height:460px;margin:0;padding:18px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.65;overflow:auto}.json-section{gap:10px;display:grid}.json-section h3{color:#263247;margin:0;font-size:1rem}.warnings{color:#7a4d00;background:#fff8e6;border:1px solid #f6c86f;border-radius:8px;margin:0;padding:16px 20px}.warnings li{margin-left:18px}.security-score{order:10;gap:14px;display:grid}.security-score p{color:#4b5870;margin:0}.score-value{color:#263247}.badge{white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.88rem;font-weight:800}.badge-good{color:#166534;background:#e8f7ed}.badge-medium{color:#8a5a00;background:#fff4d8}.badge-risk{color:#a11b1b;background:#ffe7e7}.iam-validation-card{order:10;gap:14px;display:grid}.iam-validation-card p{color:#4b5870;margin:0}.validation-grid{gap:12px;display:grid}.validation-item{border-radius:8px;gap:8px;padding:16px;display:grid}.validation-item span{border-radius:999px;width:fit-content;padding:4px 10px;font-size:.78rem;font-weight:800}.validation-item strong{color:#172033}.validation-item small{color:#263247;font-size:.92rem;font-weight:700;line-height:1.5}.validation-high{background:#fff1f1;border:1px solid #f2a8a8}.validation-high span{color:#fff;background:#c92323}.validation-medium{background:#fff8e6;border:1px solid #f6c86f}.validation-medium span{color:#fff;background:#9a6500}.validation-low{background:#fffbe6;border:1px solid #f2dc72}.validation-low span{color:#fff;background:#8a6a00}.security-findings{order:10;gap:14px;display:grid}.template-card{order:10;gap:16px;display:grid}.template-card p{color:#4b5870;margin:0}.template-card .card-header button{background:#25324a}.template-card .card-header button:hover{background:#151f31}.export-help-card{order:10;gap:16px;display:grid}.export-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.export-help-grid article{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:8px;padding:14px;display:grid}.export-help-grid strong{color:#172033}.export-help-grid p,.security-findings p{color:#4b5870;margin:0}.finding-grid{gap:12px;display:grid}.finding-card{border-radius:8px;gap:8px;padding:16px;display:grid}.finding-card span{text-transform:uppercase;border-radius:999px;width:fit-content;padding:4px 10px;font-size:.78rem;font-weight:800}.finding-card h3{margin:0;font-size:1.02rem}.finding-card p{margin:0}.finding-high{background:#fff1f1;border:1px solid #f2a8a8}.finding-high span{color:#fff;background:#c92323}.finding-medium{background:#fff8e6;border:1px solid #f6c86f}.finding-medium span{color:#fff;background:#9a6500}.finding-low{background:#f3f7ff;border:1px solid #b6c7e6}.finding-low span{color:#fff;background:#3158d4}.empty-state{color:#166534;background:#f1fbf4;border:1px solid #b8d7c2;border-radius:8px;padding:14px;font-weight:700}.explanations{order:10;gap:14px;display:grid}.explanations p{color:#4b5870;margin:0}.explanations ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.explanations li{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:4px;padding:14px;display:grid}.explanations strong{color:#172033}.explanations span{color:#4b5870}.role-name{background:#f8fafc;border:1px solid #d8deea;border-radius:8px;gap:4px;padding:14px;display:grid}.role-name span{color:#66738a;font-size:.88rem;font-weight:700}.role-name strong{color:#172033;font-size:1.05rem}.policy-difference{order:10;gap:12px;display:grid}.policy-difference p{color:#4b5870;margin:0}.next-step{order:11}.next-step h2{color:#263247;font-size:1.15rem}@media (max-width:900px){.selector-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:stretch}.policy-actions,.final-preview-badges{justify-content:flex-start}.parser-actions,.analysis-summary-row,.analysis-grid{grid-template-columns:1fr}.policy-section-header{flex-direction:column}.detected-grid,.final-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-help-grid{grid-template-columns:1fr}.template-card .card-header button{width:fit-content}.history-item{flex-direction:column;align-items:stretch}.history-item button{width:fit-content}}@media (max-width:640px){.page{padding:24px 14px}.card{padding:18px}.intro-card h1{font-size:2rem}.policy-actions button,.template-card .card-header button{width:100%}.detected-grid,.final-preview-grid{grid-template-columns:1fr}.analysis-actions button,.ai-button,.iam-smart-analysis-card button{width:100%}.interactive-action-card{grid-template-columns:22px minmax(0,1fr)}.risk-pill{grid-column:2;width:fit-content}.resource-warning-card button,.history-card .card-header button,.history-item button{width:100%}}
