*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:20px}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:24px;padding:24px}.btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.btn-secondary:hover{background:#e9ecef;box-shadow:0 4px 15px #0000001a}.file-upload{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;cursor:pointer;padding:40px;text-align:center;transition:all .3s ease}.file-upload.dragover,.file-upload:hover{background:#f0f2ff;border-color:#667eea}.file-upload.dragover{transform:scale(1.02)}.file-upload input{display:none}.loading{align-items:center;display:flex;gap:12px;justify-content:center;padding:20px}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.use-case-card{border-left:4px solid #667eea;box-shadow:0 4px 15px #0000001a;margin-bottom:16px;transition:transform .3s ease}.use-case-title{font-size:18px;margin-bottom:8px}.use-case-description{color:#6c757d;margin-bottom:12px}.use-case-impact{color:#28a745;font-style:italic;font-weight:500}.error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.error,.success{margin-bottom:16px;padding:12px}.success{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.preview-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:16px;overflow:hidden;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid #dee2e6;padding:12px;text-align:left}.preview-table th{color:#495057;font-weight:600}.preview-table th,.preview-table tr:hover{background:#f8f9fa}@media (max-width:768px){.card,.container{padding:16px}.file-upload{padding:24px}.btn{justify-content:center;width:100%}.preview-table{font-size:14px}.preview-table td,.preview-table th{padding:8px}}.App{min-height:100vh;padding:20px 0}header h1{align-items:center;color:#2c3e50;display:flex;font-size:2.5rem;font-weight:700;gap:12px;margin-bottom:8px}header p{color:#6c757d;font-size:1.1rem;line-height:1.6}.card h2{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:600;gap:8px;margin-bottom:20px}.file-upload p{color:#495057;font-size:1.1rem;margin:16px 0 8px}.file-upload small{color:#6c757d;font-size:.9rem}.use-cases-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));max-height:600px;overflow-y:auto;padding:10px}.use-case-card{border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px;position:relative}.use-case-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.use-case-card:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.use-case-header{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:16px;padding:8px;transition:background-color .2s ease}.use-case-header:hover{background-color:#f8f9fa}.use-case-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-shrink:0;justify-content:center;padding:8px}.use-case-title{color:#2c3e50;flex-grow:1;font-size:1.2rem;font-weight:600;margin:0}.use-case-priority{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.use-case-expand{color:#6c757d;transition:transform .2s ease}.use-case-overview,.use-case-summary{margin-bottom:16px}.overview-item{color:#495057;font-size:.9rem;line-height:1.6;margin-bottom:8px}.overview-item strong{color:#2c3e50}.use-case-description{color:#495057;font-size:.95rem;line-height:1.6;margin-bottom:16px}.use-case-impact{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;color:#495057;font-size:.9rem;padding:12px}.use-case-impact strong{color:#28a745}.use-case-details{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.detail-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:20px;padding:16px}.detail-section h4{font-size:1rem;gap:8px;margin:0 0 12px}.detail-section p{margin:0 0 8px}.detail-content,.detail-section p{color:#495057;font-size:.9rem;line-height:1.6}.detail-content p{margin:0 0 8px}.detail-content p:last-child{margin-bottom:0}.alternate-flow{background:#f1f3f4;border-left:3px solid #667eea;border-radius:6px;margin-bottom:12px;padding:8px}.alternate-flow:last-child{margin-bottom:0}.use-case-diagram{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:30px 0;padding:30px}.diagram-container{background:#fff;border-radius:15px;box-shadow:0 5px 15px #00000014;padding:25px}.diagram-title{border-bottom:3px solid #667eea;font-size:20px;font-weight:700;margin-bottom:25px;padding-bottom:15px;position:relative}.diagram-title:after{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;bottom:-3px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.diagram-svg-container{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:12px;box-shadow:inset 0 2px 4px #0000000d;margin:20px 0}.diagram-legend{grid-gap:15px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:25px}.legend-item{box-shadow:0 2px 4px #0000000d;padding:10px 15px;transition:transform .2s ease,box-shadow .2s ease}.legend-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.legend-symbol{align-items:center;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;width:30px}.actor-symbol{background:linear-gradient(135deg,#2c3e50,#34495e)}.system-symbol{font-size:18px}.system-symbol,.usecase-symbol{background:linear-gradient(135deg,#667eea,#764ba2)}.usecase-symbol{font-size:14px}.relationship-symbol{background:linear-gradient(135deg,#2c3e50,#34495e);font-size:12px}.actors-section,.relationships-section,.system-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px}.section-title{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:15px;text-align:center}.actors-list{display:flex;flex-direction:column;gap:10px}.actor-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:8px;padding:8px}.actor-icon{font-size:1.2rem}.actor-name{color:#495057;font-size:.9rem;font-weight:500}.use-cases-list{display:flex;flex-direction:column;gap:12px}.use-case-item{display:flex;justify-content:center}.use-case-oval{background:#667eea;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.85rem;font-weight:500;min-width:120px;padding:8px 16px;text-align:center}.relationships-list{display:flex;flex-direction:column;gap:8px}.relationship-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;display:flex;font-size:.8rem;gap:6px;padding:6px}.relationship-arrow{color:#667eea;font-weight:700}.relationship-text{color:#495057}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}@media (max-width:768px){.use-case-diagram{margin:20px 0;padding:20px}.diagram-container{padding:15px}.diagram-title{font-size:18px;margin-bottom:20px}.diagram-svg-container{margin:15px 0;padding:15px}.diagram-legend{gap:10px;grid-template-columns:1fr;padding:15px}.legend-item{padding:8px 12px}.legend-symbol{font-size:14px;height:25px;width:25px}}.detailed-timeline{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.timeline-header{margin-bottom:25px;padding-bottom:15px;text-align:center}.timeline-header h5{color:#2c3e50;font-size:18px;font-weight:700;margin:0}.timeline-phases{display:flex;flex-direction:column;gap:20px}.timeline-phase{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:20px;position:relative}.timeline-phase:before{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.phase-header{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:10px}.phase-header h6{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.phase-duration{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 4px #667eea4d;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.phase-activities,.phase-milestones{margin-bottom:20px}.phase-activities h7,.phase-milestones h7{color:#2c3e50;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.activity-item,.milestone-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:12px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.activity-item:hover,.milestone-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.activity-header,.milestone-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.activity-header strong,.milestone-header strong{color:#2c3e50;font-size:14px;font-weight:600}.milestone-timeline{background:#28a745;color:#fff}.activity-duration,.milestone-timeline{border-radius:12px;font-size:11px;font-weight:500;padding:4px 8px}.activity-duration{background:#ffc107;color:#2c3e50}.activity-description,.milestone-description{color:#6c757d;font-size:13px;line-height:1.5;margin:8px 0}.milestone-deliverables{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}.milestone-deliverables strong{color:#2c3e50;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.milestone-deliverables ul{margin:0;padding-left:20px}.milestone-deliverables li{color:#6c757d;font-size:12px;margin-bottom:3px}.activity-details{border-top:1px solid #e9ecef;font-size:11px;margin-top:12px;padding-top:12px}.activity-dependency,.activity-resources{margin-bottom:6px}.activity-dependency strong,.activity-resources strong{color:#2c3e50;font-weight:600}.timeline-critical-path,.timeline-risks{border-left:4px solid;border-radius:8px;margin-top:20px;padding:15px}.timeline-critical-path{background:#fff3cd;border-left-color:#ffc107}.timeline-risks{background:#f8d7da;border-left-color:#dc3545}.timeline-critical-path h7,.timeline-risks h7{color:#2c3e50;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.timeline-critical-path p,.timeline-risks p{color:#6c757d;font-size:13px;line-height:1.5;margin:0}@media (max-width:768px){.detailed-timeline,.timeline-phase{padding:15px}.phase-header{align-items:flex-start;flex-direction:column;gap:8px}.activity-item,.milestone-item{padding:12px}.activity-header,.milestone-header{align-items:flex-start;flex-direction:column;gap:6px}}.use-cases-section{margin-top:2rem}.section-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.section-header h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.section-description{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.download-actions{align-items:center;display:flex;flex-direction:column;gap:1rem}.download-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:12px 24px;text-decoration:none;transition:all .3s ease}.download-btn.primary{background:#fff;color:#667eea}.download-btn.secondary{background:#fff3;border:2px solid #ffffff4d;color:#fff}.download-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.pdf-note{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;padding:12px 20px}.pdf-note .icon{flex-shrink:0;height:16px;width:16px}.use-case-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 20px #0000001a;overflow:hidden;transition:all .3s ease}.use-case-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.card-header{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.use-case-title{flex:1 1}.use-case-title h3{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 .5rem}.priority-badge{font-size:.8rem;padding:4px 12px}.priority-badge.high{background:#ff6b6b}.priority-badge.medium{background:#feca57;color:#2c3e50}.priority-badge.low{background:#48dbfb}.card-actions{display:flex;gap:.5rem}.expand-btn{background:none;border:none;border-radius:6px;color:#6c757d;padding:8px}.expand-btn:hover{background:#f8f9fa;color:#495057}.card-summary{grid-gap:1rem;background:#f8f9fa;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1rem 1.5rem}.summary-item{color:#495057;font-size:.9rem;gap:.5rem}.summary-item .icon{height:16px;width:16px}.card-description{border-bottom:1px solid #e9ecef;padding:1rem 1.5rem}.card-description p{color:#6c757d;line-height:1.6;margin:0}.card-footer{background:#f8f9fa;padding:1rem 1.5rem;text-align:center}.download-pdf-btn{background:linear-gradient(135deg,#667eea,#764ba2);gap:.5rem;justify-content:center;padding:12px 24px;width:100%}.download-pdf-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.download-pdf-btn .icon{height:18px;width:18px}.expanded-details{background:#fff;border-top:1px solid #e9ecef;padding:1.5rem}.detail-section{margin-bottom:2rem}.detail-section h4{align-items:center;display:flex;font-size:1.2rem;gap:.5rem;margin:0 0 1rem}.criteria-list,.requirements-list{display:flex;flex-direction:column;gap:.75rem}.criteria-item,.requirement-item{align-items:flex-start;background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.criteria-item .icon,.requirement-item .icon{color:#28a745;flex-shrink:0;height:18px;margin-top:2px;width:18px}.timeline-overview{background:#f8f9fa;border-radius:10px;padding:1.5rem}.timeline-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.timeline-duration{align-items:center;color:#2c3e50;display:flex;font-weight:600;gap:.5rem}.timeline-duration .icon{color:#667eea;height:18px;width:18px}.timeline-phases{color:#6c757d;font-weight:600}.phases-preview{display:flex;flex-direction:column;gap:1rem}.phase-preview{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.phase-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.phase-header h5{color:#2c3e50;font-weight:600;margin:0}.phase-duration{color:#6c757d;font-size:.9rem;font-weight:500}.milestones-preview{display:flex;flex-direction:column;gap:.5rem}.milestone-preview{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.5rem}.milestone-preview .icon{color:#28a745;height:16px;width:16px}.more-milestones,.more-phases{color:#6c757d;font-size:.9rem;font-style:italic;padding:.5rem;text-align:center}.risks-list{display:flex;flex-direction:column;gap:1rem}.risk-item{align-items:flex-start;background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.risk-item .icon{color:#856404;flex-shrink:0;height:18px;margin-top:2px;width:18px}.risk-content{display:flex;flex-direction:column;gap:.25rem}.risk-content strong{color:#856404}.risk-content span{color:#6c757d;font-size:.9rem}.business-value{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.value-item{align-items:center;background:#d1ecf1;border-left:4px solid #17a2b8;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.value-item .icon{color:#17a2b8;flex-shrink:0;height:18px;width:18px}.value-item span{color:#0c5460;font-weight:500}@media (max-width:768px){.section-header h2{font-size:2rem}.business-value,.card-summary{grid-template-columns:1fr}.timeline-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.input-group{margin-bottom:24px}.input-group label{align-items:center;color:#2c3e50;display:flex;font-size:1rem;font-weight:600;gap:8px;margin-bottom:8px}.input-group label svg{color:#667eea}.form-input{background-color:#fff;border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;min-height:80px;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#6c757d;font-style:italic}.input-group small{color:#6c757d;display:block;font-size:.875rem;line-height:1.4;margin-top:6px}.use-case-diagram{box-shadow:0 4px 6px #0000001a;margin:20px 0}.diagram-container{padding:20px}.diagram-title{border-radius:8px;color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:16px;padding:12px}.diagram-svg-container{border:2px solid #e9ecef;border-radius:8px;margin-bottom:16px;padding:20px}.diagram-svg{background:#fff;box-shadow:0 2px 4px #0000001a}.system-title{fill:#2c3e50;font-size:16px;font-weight:700}.actor-label{fill:#2c3e50;font-size:12px;font-weight:600}.actor-type{fill:#6c757d;font-size:10px}.datastore-text,.usecase-text{fill:#495057;font-size:11px;font-weight:600}.datastore-type{fill:#6c757d;font-size:9px}.relationship-label{fill:#495057;font-size:10px}.dataflow-label{fill:#28a745;font-size:10px}.diagram-legend{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.legend-section{margin-bottom:24px}.legend-section:last-child{margin-bottom:0}.legend-section h4{border-bottom:2px solid #667eea;font-size:16px;margin-bottom:12px;padding-bottom:8px}.legend-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.legend-item{border:1px solid #e9ecef;border-radius:6px;gap:12px;padding:8px}.actor-symbol{background:#667eea;position:relative}.actor-symbol:before{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:2px;transform:translateX(-50%);width:8px}.usecase-symbol{background:#f8f9fa;border:2px solid #495057}.datastore-symbol{background:#e9ecef;border:2px solid #495057}.relationship-symbol{background:#495057;position:relative}.relationship-symbol:after{color:#fff;content:"→";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.dataflow-symbol{background:#28a745;position:relative}.dataflow-symbol:after{color:#fff;content:"↝";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.usecase-detail{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:12px;padding:16px}.usecase-detail:last-child{margin-bottom:0}.usecase-detail h5{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:14px;font-weight:600;margin-bottom:8px;padding-bottom:4px}.usecase-detail p{color:#495057;font-size:13px;line-height:1.4;margin-bottom:6px}.usecase-detail p:last-child{margin-bottom:0}.usecase-detail strong{color:#2c3e50}.dataflow-detail{background:#fff;border-left:4px solid #28a745;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:8px;padding:12px}.dataflow-detail:last-child{margin-bottom:0}.dataflow-detail p{color:#495057;font-size:12px;line-height:1.3;margin-bottom:4px}.dataflow-detail p:last-child{margin-bottom:0}.dataflow-detail strong{color:#28a745}@media (max-width:768px){.diagram-svg-container{padding:10px}.diagram-svg{height:auto;width:100%}.legend-grid{grid-template-columns:1fr}.legend-item{flex-direction:column;gap:8px;text-align:center}.dataflow-detail,.usecase-detail{padding:12px}}.card+.card{margin-top:24px}.use-cases-single-view{display:flex;flex-direction:column;gap:32px}.use-case-full-card{background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;transition:all .3s ease}.use-case-full-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-2px)}.use-case-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px}.header-main{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.title-section{flex:1 1}.use-case-title{color:#fff;font-size:24px;font-weight:700;line-height:1.3;margin:0 0 12px}.priority-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.priority-badge.high{background:#dc3545;color:#fff}.priority-badge.medium{background:#ffc107;color:#212529}.priority-badge.low{background:#28a745;color:#fff}.header-actions{gap:12px}.expand-btn,.header-actions{align-items:center;display:flex}.expand-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.expand-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.download-pdf-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.download-pdf-btn:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.use-case-summary{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:24px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.summary-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-item .icon{color:#667eea;flex-shrink:0}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-label{color:#6c757d;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:#2c3e50;font-size:14px;font-weight:600}.use-case-description,.use-case-impact{border-bottom:1px solid #e9ecef;padding:24px}.use-case-description h4,.use-case-impact h4{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}.use-case-description p,.use-case-impact p{color:#495057;font-size:16px;line-height:1.6;margin:0}.expanded-details{background:#f8f9fa;padding:24px}.detail-section{margin-bottom:32px}.detail-section:last-child{margin-bottom:0}.detail-section h4{border-bottom:2px solid #667eea;color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.requirements-grid{grid-gap:16px;display:grid;gap:16px}.requirement-item{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:16px}.requirement-item .icon{color:#28a745;flex-shrink:0;margin-top:2px}.requirement-content{display:flex;flex-direction:column;gap:4px}.requirement-label{color:#6c757d;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.requirement-value{color:#2c3e50;font-size:14px;font-weight:500;line-height:1.5}.implementation-content{display:flex;flex-direction:column;gap:16px}.implementation-item{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:16px}.implementation-item .icon{color:#667eea;flex-shrink:0;margin-top:2px}.implementation-item span{color:#495057;font-size:14px;line-height:1.6}.next-steps-grid{grid-gap:12px;display:grid;gap:12px}.step-item{align-items:center;background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:12px 16px;transition:all .3s ease}.step-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.step-item .icon{color:#667eea;flex-shrink:0}.step-item span{color:#495057;font-size:14px;font-weight:500}@media (max-width:768px){.header-main{align-items:stretch;flex-direction:column;gap:16px}.header-actions{justify-content:space-between}.summary-grid{grid-template-columns:1fr}.use-case-title{font-size:20px}.expanded-details,.use-case-description,.use-case-impact{padding:16px}.implementation-item,.requirement-item,.summary-item{padding:12px}}.use-case-diagram{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:2rem 0;overflow:hidden}.diagram-container{padding:0}.diagram-title{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;text-align:center}.diagram-title h3{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.diagram-title p{font-size:.95rem;margin:0;opacity:.9}.diagram-svg-container{align-items:center;background:#f8f9fa;display:flex;justify-content:center;min-height:500px;padding:2rem}.diagram-svg{border-radius:8px;box-shadow:0 2px 15px #0000001a;height:auto;max-width:100%}.diagram-legend{background:#fff;padding:2rem}.legend-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:2rem;padding:1.5rem}.legend-section h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.legend-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.legend-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:.75rem;padding:.75rem}.legend-symbol{border-radius:4px;flex-shrink:0;height:20px;width:20px}.actor-symbol{background:linear-gradient(135deg,#3498db,#2980b9)}.usecase-symbol{background:linear-gradient(135deg,#2ecc71,#27ae60);border-radius:50%}.datastore-symbol{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.relationship-symbol{background:linear-gradient(135deg,#e74c3c,#c0392b);transform:rotate(45deg)}.dataflow-symbol{background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:2px}.usecase-details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.usecase-detail-card{background:#fff;border-left:4px solid #2ecc71;border-radius:10px;box-shadow:0 3px 12px #00000014;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.usecase-detail-card:hover{box-shadow:0 5px 20px #0000001f;transform:translateY(-2px)}.usecase-detail-card h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .75rem}.usecase-detail-card p{color:#555;font-size:.9rem;line-height:1.4;margin:.5rem 0}.usecase-detail-card strong{color:#2c3e50}.dataflow-details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dataflow-detail-card{background:#fff;border-left:4px solid #f39c12;border-radius:10px;box-shadow:0 3px 12px #00000014;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.dataflow-detail-card:hover{box-shadow:0 5px 20px #0000001f;transform:translateY(-2px)}.dataflow-detail-card p{color:#555;font-size:.9rem;line-height:1.4;margin:.5rem 0}.dataflow-detail-card strong{color:#2c3e50}.system-info{background:#fff;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 3px 12px #00000014;padding:1.25rem}.system-info p{align-items:center;color:#555;display:flex;font-size:.9rem;justify-content:space-between;line-height:1.4;margin:.5rem 0}.system-info strong{color:#2c3e50;min-width:140px}.system-title{font-weight:600}.actor-label,.system-title{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.actor-label{font-weight:500}.actor-type{font-style:italic}.actor-type,.usecase-text{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.usecase-text{font-weight:500}.datastore-text,.usecase-description{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.datastore-text{font-weight:500}.datastore-type{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-style:italic}.dataflow-label,.relationship-label{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:500}.diagram-main-title{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:700}@media (max-width:768px){.diagram-legend,.diagram-svg-container{padding:1rem}.dataflow-details-grid,.legend-grid,.usecase-details-grid{grid-template-columns:1fr}.system-info p{align-items:flex-start;flex-direction:column;gap:.25rem}.system-info strong{min-width:auto}}@media (max-width:480px){.diagram-title{padding:1rem}.diagram-title h3{font-size:1.25rem}.diagram-title p{font-size:.85rem}.dataflow-detail-card,.legend-section,.system-info,.usecase-detail-card{padding:1rem}}.mermaid-diagram{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:20px 0;overflow:hidden}.diagram-loading{align-items:center;color:#667eea;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.diagram-error{align-items:center;color:#e74c3c;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.diagram-error h4{color:#e74c3c;margin:16px 0 8px}.mermaid-code{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-family:Courier New,monospace;font-size:12px;margin-top:16px;max-height:200px;overflow-y:auto;padding:16px;white-space:pre-wrap}.mermaid-svg-container{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:center;margin:20px;overflow:auto;padding:20px}.mermaid-svg-container svg{height:auto;max-width:100%}.pdf-capture .mermaid-diagram{margin:20px 0;page-break-inside:avoid}.pdf-capture .diagram-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.pdf-capture .mermaid-svg-container{margin:15px 0;text-align:center}.pdf-capture .mermaid-svg-container svg{background:#fff;border:1px solid #f0f0f0;border-radius:4px;height:auto;max-width:100%}
/*# sourceMappingURL=main.1a4227b3.css.map*/