:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.azure-naming-generator{max-width:1200px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;box-sizing:border-box;padding:0 2rem 2rem}.top-bar{background:var(--color-gris-anthracite);display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin:0 0 2rem;width:100%;box-sizing:border-box}.logo-container{display:flex;align-items:center;padding-left:2rem}.logo{height:50px;width:auto;filter:brightness(0) invert(1)}.language-selector{display:flex;align-items:center;padding-right:2rem}.language-select{background:var(--color-blanc-pur);border:2px solid var(--color-gris-clair);border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--color-gris-anthracite);cursor:pointer;transition:all .3s ease}.language-select:hover{background:var(--color-bleu-brume);border-color:var(--color-bleu-clair)}.language-select:focus{outline:none;box-shadow:0 0 0 3px #0095d433}.header{text-align:center;margin-bottom:3rem;padding:2rem 0;border-bottom:2px solid var(--color-gris-clair);width:100%;box-sizing:border-box}.header h1{color:var(--color-blanc-pur);font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header p{color:var(--color-bleu-brume);font-size:1.1rem}.form-section{background:var(--color-blanc-pur);padding:2rem;border-radius:8px;margin:0 0 2rem;box-shadow:0 4px 12px #00000026;border-top:4px solid var(--color-bleu-clair);width:100%;box-sizing:border-box}.form-section h2{color:var(--color-gris-fonce);margin-bottom:1.5rem;font-size:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-gris-fonce)}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid var(--color-gris-clair);border-radius:4px;font-size:1rem;transition:border-color .3s ease}.form-group input::placeholder{color:var(--color-gris-moyen);opacity:1;font-weight:500}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-bleu-clair);box-shadow:0 0 0 3px #0095d41a}.form-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-gris-doux);font-style:italic;background:var(--color-bleu-brume);padding:.5rem;border-radius:4px;border-left:3px solid var(--color-bleu-doux)}.operation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));column-gap:2rem;row-gap:4rem;margin-top:1.5rem;margin-bottom:2rem;align-items:stretch;width:100%;padding:0}.operation-card{background:var(--color-blanc-pur);border:2px solid var(--color-gris-clair);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;margin-bottom:0}.operation-card:hover{border-color:var(--color-bleu-clair);box-shadow:0 4px 12px #0095d426;transform:translateY(-2px)}.operation-card.selected{border-color:var(--color-bleu-clair);background:var(--color-bleu-brume);box-shadow:0 4px 12px #0095d433}.operation-card.disabled{opacity:.5;cursor:not-allowed;position:relative;background:#f8f9fa;border-color:var(--color-gris-moyen)}.operation-card.disabled:hover{transform:none;border-color:var(--color-gris-moyen);box-shadow:0 2px 4px #0000001a}.disabled-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:10}.disabled-message{text-align:center;color:#dc3545;font-weight:600}.disabled-message span{display:block;font-size:1.1rem;margin-bottom:.5rem}.disabled-message small{font-size:.8rem;color:var(--color-gris-moyen);font-weight:400}.paas-info-banner{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #90caf9;border-radius:8px;padding:12px 16px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.info-content{display:flex;align-items:center;gap:12px}.info-icon{font-size:1.2rem;flex-shrink:0}.info-text{flex:1}.info-text strong{display:block;color:var(--color-bleu-vif);font-size:.95rem;margin-bottom:2px}.info-text small{color:var(--color-gris-moyen);font-size:.85rem;line-height:1.3}.service-type-info-banner{background:linear-gradient(135deg,#fff8e1,#f3e5f5);border:1px solid #ffcc02;border-radius:8px;padding:12px 16px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.operation-card h3{color:var(--color-gris-fonce);margin-bottom:.5rem;font-size:1.2rem}.operation-card p{color:var(--color-gris-doux);margin-bottom:1rem;font-size:.9rem;line-height:1.4}.operation-details{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.operation-details span{font-size:.8rem;font-weight:600}.resources,.dependencies{font-size:.8rem;color:var(--color-gris-doux);margin-bottom:.5rem}.resources strong,.dependencies strong{color:var(--color-gris-fonce)}.operation-card-content{flex:1;display:flex;flex-direction:column;padding-bottom:.5rem}.operation-card-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-gris-clair);flex-shrink:0}.generated-resources{background:var(--color-bleu-brume);border:1px solid var(--color-bleu-clair);border-radius:6px;padding:1rem;margin:1rem 0;font-size:.8rem;flex-shrink:0}.generated-resources strong{color:var(--color-bleu-vif);display:block;margin-bottom:.5rem}.resource-names{display:flex;flex-direction:column;gap:.25rem}.resource-name{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.resource-type{font-weight:600;color:var(--color-gris-fonce);min-width:120px}.resource-name code{background:var(--color-blanc-pur);padding:.2rem .4rem;border-radius:3px;font-size:.75rem;color:var(--color-bleu-vif);border:1px solid var(--color-gris-clair);flex:1}.operation-card{display:flex;flex-direction:column;height:100%}.deploy-btn{background:var(--color-orange-vif);color:var(--color-blanc-pur);border:none;border-radius:6px;padding:.75rem 1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;width:100%;text-align:center}.deploy-btn:hover{background:var(--color-orange-fonce);transform:translateY(-1px);box-shadow:0 2px 8px #ffa5004d}.deploy-btn:active{transform:translateY(0)}.results-section{background:var(--color-blanc-pur);padding:2rem;border-radius:8px;border:2px solid var(--color-vert);margin:0 0 2rem;box-shadow:0 4px 12px #00000026;width:100%;box-sizing:border-box}.results-section h2{color:var(--color-vert);margin-bottom:1.5rem;font-size:1.5rem}.result-grid{display:grid;gap:1rem}.result-item{display:flex;flex-direction:column;gap:.5rem}.result-item label{font-weight:600;color:var(--color-gris-fonce);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.result-value{display:flex;align-items:center;gap:.5rem;background:var(--color-bleu-brume);padding:.75rem;border-radius:4px;border-left:4px solid var(--color-bleu-clair)}.result-value code{flex:1;font-family:Courier New,Courier,monospace;font-size:1rem;color:var(--color-gris-fonce);background:transparent;word-break:break-all}.result-value button{background:var(--color-bleu-clair);color:var(--color-blanc-pur);border:none;padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem;min-width:2.5rem;transition:background-color .3s ease}.result-value button:hover{background:var(--color-bleu-marine)}.info-section{background:var(--color-vert-menthe);padding:1.5rem;border-radius:8px;border-left:4px solid var(--color-vert);margin:0 0 2rem;width:100%;box-sizing:border-box}.info-section h3{color:var(--color-gris-fonce);margin-bottom:1rem}.info-section ul{margin:0;padding-left:1.5rem}.info-section li{margin-bottom:.5rem;color:var(--color-gris-fonce)}.info-section strong{color:var(--color-vert)}.pipeline-section{background:var(--color-blanc-pur);padding:2rem;border-radius:8px;border:2px solid var(--color-orange-vif);margin:0 0 2rem;box-shadow:0 4px 12px #00000026;width:100%;box-sizing:border-box}.pipeline-section h2{color:var(--color-orange-vif);margin-bottom:1.5rem;font-size:1.5rem}.pipeline-info{background:var(--color-bleu-brume);padding:1rem;border-radius:6px;margin-bottom:1.5rem}.pipeline-info p{margin-bottom:.5rem;color:var(--color-gris-fonce)}.pipeline-info code{background:var(--color-blanc-pur);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,Courier,monospace;color:var(--color-bleu-marine)}.generate-pipeline-btn{background:var(--color-orange-vif);color:var(--color-blanc-pur);border:none;padding:1rem 2rem;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #f6861f4d}.generate-pipeline-btn:hover{background:var(--color-bleu-marine);transform:translateY(-2px);box-shadow:0 4px 8px #005bab4d}.pipeline-config{margin-top:2rem;padding:1.5rem;background:var(--color-gris-anthracite);border-radius:6px}.pipeline-config h3{color:var(--color-blanc-pur);margin-bottom:1rem}.pipeline-json{background:var(--color-noir);color:var(--color-vert-clair);padding:1rem;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9rem;overflow-x:auto;white-space:pre-wrap;max-height:400px;overflow-y:auto}@media (max-width: 768px){.app{padding:0}.azure-naming-generator{margin:0;padding:0 1rem 1rem}.top-bar{padding:.75rem 0;margin:0 0 1rem;flex-direction:column;gap:1rem;width:100%}.logo-container{padding-left:1rem}.language-selector{padding-right:1rem}.logo{height:40px}.header{padding:1rem 0}.form-section{margin:0 0 2rem;padding:1.5rem}.results-section,.pipeline-section,.info-section{margin:0 0 2rem}.operation-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem .5rem 2rem;padding:0;align-items:stretch;max-width:none}.operation-card{padding:1.5rem 1rem 1rem;min-height:450px;font-size:.85rem;margin-bottom:.5rem}.operation-card-content{gap:2em;padding-bottom:.5rem}.operation-card-actions{margin-top:.75rem;padding-top:.75rem}.operation-card h3{font-size:1rem;margin-bottom:.75rem}.operation-card p{font-size:.8rem;margin-bottom:.75rem;line-height:1.3}.operation-details{flex-direction:column;gap:.4rem;margin-bottom:.75rem}.operation-details span{font-size:.75rem}.generated-resources{padding:.75rem;margin:.75rem 0;font-size:.7rem}.resource-name{gap:.3rem;padding:.2rem 0}.resource-type{min-width:80px;font-size:.7rem}.resource-name code{font-size:.65rem;padding:.15rem .3rem}.deploy-btn{padding:.6rem .8rem;font-size:.8rem;margin-top:1rem}.form-row{grid-template-columns:1fr;gap:1rem}.header h1{font-size:1.8rem}.result-value{flex-direction:column;align-items:stretch}.result-value button{align-self:flex-end;width:fit-content}}@media (max-width: 480px){.operation-grid{grid-template-columns:1fr;gap:1rem;margin:1.5rem .25rem 2rem;align-items:stretch;max-width:none;padding:0}.operation-card{min-height:400px;padding:1.25rem .75rem .75rem;margin-bottom:.5rem}.operation-card-content{gap:1.5em;padding-bottom:.5rem}.operation-card-actions{margin-top:.5rem;padding-top:.5rem}.form-section{margin:0 0 1.5rem;padding:1rem}.results-section,.info-section{margin:0 0 1.5rem}.header h1{font-size:1.5rem}}:root{--color-gris-fonce: #3e3e3e;--color-bleu-clair: #0095d4;--color-bleu-doux: #399ad4;--color-orange-vif: #f6861f;--color-bleu-moyen: #2799d6;--color-vert: #26a058;--color-blanc-pur: #fff;--color-gris-clair: #d7d5d5;--color-bleu-marine: #005bab;--color-gris-fonce-2: #4b4b4b;--color-bleu-ciel: #00a8e9;--color-noir: #000000;--color-vert-clair: #b2d234;--color-gris-doux: #8e8b8b;--color-vert-menthe: #d0fbe4;--color-gris-moyen: #888;--color-gris-anthracite: #383838;--color-gris-metallise: #6f7172;--color-bleu-vif: #1a8acd;--color-gris-fonce-clair: #878a8c;--color-bleu-turquoise: #0087bd;--color-gris-tres-fonce: #4d4d4f;--color-gris-argente: #a9acad;--color-bleu-brume: #f5f7fb}.app{min-height:100vh;background:linear-gradient(135deg,var(--color-bleu-clair) 0%,var(--color-bleu-marine) 100%);padding:0;margin:0}
