*,:after,:before{box-sizing:border-box}.raci-container{width:100%;display:flex;justify-content:center;align-items:flex-start;font-family:system-ui,-apple-system,sans-serif;overflow-x:hidden}.raci-wrapper{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.raci-grid,.raci-input-section,.raci-output-section,.raci-wrapper{width:100%;display:flex;flex-direction:column;align-items:center}.raci-grid{gap:1.25rem}.raci-main-column{display:flex;flex-direction:column;gap:1rem;width:100%;align-items:center}.raci-matrix-panel,.raci-setup-panel{width:100%;max-width:800px;display:flex;flex-direction:column;gap:1rem}.raci-role-rows{display:flex;flex-direction:column;gap:.38rem}.raci-role-row{display:flex;align-items:center;gap:.45rem}.raci-role-badge{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.9rem;border-radius:.38rem;font-size:.72rem;font-weight:800;font-family:monospace;flex-shrink:0;border:1.5px solid rgba(0,0,0,.07)}.raci-role-select{flex:1;min-width:0;padding:.38rem .6rem;border:1.5px solid #d1d5db;border-radius:.45rem;font-size:.78rem;color:#111827;background:#fff;cursor:pointer;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.raci-role-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.raci-preview-card{background:#fff;border:1px solid #d1d5db;border-radius:.6rem;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.35rem}.raci-preview-title{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af}.raci-preview-list{display:flex;flex-direction:column;gap:.28rem}.raci-preview-group{display:flex;align-items:center;gap:.4rem;min-height:1.5rem}.raci-preview-role-badge{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:.28rem;font-size:.68rem;font-weight:800;font-family:monospace;flex-shrink:0}.raci-preview-none{font-size:.75rem;color:#d1d5db}.raci-preview-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.raci-preview-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .45rem .16rem .2rem;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid transparent;line-height:1.3}@media (max-width:860px){.raci-matrix-panel,.raci-setup-panel{max-width:100%}}.raci-step-bar{gap:0;margin-bottom:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:.6rem 1rem;overflow-x:auto}.raci-step-bar,.raci-step-item{display:flex;align-items:center}.raci-step-item{gap:.4rem;font-size:.76rem;font-weight:600;color:#9ca3af;white-space:nowrap;padding:.1rem .25rem}.raci-step-active{color:#374151}.raci-step-current{color:#2563eb}.raci-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#e5e7eb;color:#6b7280;font-size:.65rem;font-weight:800;flex-shrink:0}.raci-step-active .raci-step-num{background:#dbeafe;color:#1e40af}.raci-step-current .raci-step-num{background:#2563eb;color:#fff}.raci-step-label{font-size:.75rem}.raci-step-line{flex:1;min-width:1.5rem;height:1.5px;background:#e5e7eb;margin:0 .3rem}.raci-step-line-active{background:#93c5fd}.raci-top-bar{justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:.7rem 1rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb}.raci-top-bar,.raci-top-left{display:flex;align-items:center}.raci-top-left{gap:.5rem}.raci-top-title{font-size:1rem;font-weight:700;color:#111827}.raci-project-chip{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:999px;font-size:.72rem;font-weight:700;padding:.15rem .65rem}.raci-top-actions{display:flex;gap:.5rem;flex-wrap:wrap}.raci-card{width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.raci-card-title{display:flex;align-items:center;gap:.5rem;font-size:.82rem;letter-spacing:.06em;color:#374151;padding-bottom:.75rem;border-bottom:1.5px solid #f3f4f6}.raci-card-title,.raci-section-label{font-weight:700;text-transform:uppercase}.raci-section-label{font-size:.7rem;letter-spacing:.07em;color:#6b7280;margin-top:.25rem;margin-bottom:.1rem}.raci-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem;width:100%}.raci-card-header{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#374151;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.raci-card-num{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#e5e7eb;color:#6b7280;font-size:.65rem;font-weight:800;flex-shrink:0}.raci-card-num.active{background:#2563eb;color:#fff}.raci-hint{font-size:.76rem;color:#9ca3af;line-height:1.5;margin:0}.raci-input{width:100%;padding:.5rem .7rem;border:1.5px solid #d1d5db;border-radius:.5rem;font-size:.84rem;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s;outline:none;font-family:inherit}.raci-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.raci-share-input{font-family:monospace;font-size:.77rem}.raci-field{display:flex;flex-direction:column;gap:.25rem}.raci-field label{font-size:.76rem;font-weight:600;color:#374151}.raci-row{display:flex;align-items:stretch;gap:.45rem}.raci-col{flex:1;min-width:0;position:relative}.raci-row-num{justify-content:center;width:1.3rem;font-size:.72rem;font-weight:700;color:#9ca3af;flex-shrink:0;padding-top:.1rem}.raci-btn,.raci-row-num{display:inline-flex;align-items:center}.raci-btn{gap:.35rem;padding:.42rem .8rem;border-radius:.5rem;font-size:.78rem;font-weight:600;cursor:pointer;border:none;transition:all .15s;white-space:nowrap;font-family:inherit}.raci-btn--add{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;flex-shrink:0}.raci-btn--add:hover{background:#dbeafe}.raci-btn--add:disabled{opacity:.45;cursor:not-allowed}.raci-btn--del{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;padding:.28rem .44rem;border-radius:.38rem;flex-shrink:0}.raci-btn--del:hover{background:#fee2e2}.raci-btn--ghost{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.raci-btn--ghost:hover{background:#e5e7eb}.raci-btn--primary{background:#2563eb;color:#fff;border:1px solid transparent}.raci-btn--primary:hover{background:#1d4ed8}.raci-add-hint{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.25rem;background:#2563eb;color:#fff;border:none;border-radius:.35rem;font-size:.72rem;font-weight:700;padding:.22rem .55rem;cursor:pointer;font-family:inherit}.raci-add-hint:hover{background:#1d4ed8}.raci-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:1px solid #d1d5db;border-radius:.38rem;background:#fff;color:#6366f1;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s,border-color .15s,transform .2s ease;line-height:0}.raci-collapse-btn:hover{background:#eef2ff;border-color:#6366f1}.raci-collapse-btn.collapsed{transform:rotate(-90deg)}.raci-collapse-body{display:flex;flex-direction:column;gap:.55rem}.raci-task-title-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.raci-task-name-input{flex:2;min-width:180px}.raci-member-chip{gap:.4rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:.25rem .6rem .25rem .3rem;font-size:.78rem;font-weight:600;color:#374151;margin:.15rem .2rem .15rem 0}.raci-avatar-dot,.raci-member-chip{display:inline-flex;align-items:center}.raci-avatar-dot{justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.65rem;font-weight:800;flex-shrink:0;border:1.5px solid rgba(0,0,0,.07)}.raci-member-name{font-size:.78rem}.raci-chip-close{display:inline-flex;align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;line-height:1;margin-left:.1rem}.raci-chip-close:hover{color:#dc2626}.raci-badge{background:#dbeafe;color:#1e40af;font-size:.65rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;margin-left:auto}.raci-about-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;color:#374151;line-height:1.5}.raci-about-list li{display:flex;align-items:flex-start;gap:.5rem}.raci-about-list strong{font-weight:700}.raci-task-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.65rem;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.45rem}.raci-no-assignees-hint{display:block;font-size:.7rem;color:#f59e0b;margin-top:.2rem}.raci-cycle-hint{font-size:.68rem;color:#9ca3af;margin-top:.1rem}.raci-actions{display:flex;gap:.5rem;flex-wrap:wrap}.raci-setup-panel{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;width:100%}.raci-legend{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .8rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.6rem;font-size:.75rem;color:#374151}.raci-legend-name-chip{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;font-size:.65rem;font-weight:800;flex-shrink:0;border:1.5px solid rgba(0,0,0,.07)}.raci-legend-name{font-weight:600;font-size:.75rem}.raci-warning-banner{display:flex;align-items:flex-start;gap:.4rem;padding:.55rem .85rem;background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;font-size:.76rem;font-weight:600;color:#92400e}.raci-matrix-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 4px rgba(0,0,0,.08);border:1px solid #e5e7eb;overflow:hidden}.raci-matrix-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.raci-table{width:100%;border-collapse:separate;border-spacing:0;min-width:100%}.raci-table thead th{padding:.65rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:center;position:sticky;top:0;z-index:2}.raci-th-task{text-align:left!important;background:#111827!important;color:#fff!important;position:sticky;left:0;z-index:3!important;min-width:170px;font-size:.7rem}.raci-th-member{min-width:110px;white-space:nowrap}.raci-th-photo{display:block;width:1.6rem;height:1.6rem;border-radius:50%;margin:0 auto .2rem;line-height:1.6rem;text-align:center;font-size:.7rem;font-weight:800}.raci-th-name{display:block;font-size:.68rem}.raci-td-cell{width:110px;min-width:90px;height:46px;padding:0;text-align:center;cursor:pointer;font-weight:700;font-size:.95rem;font-family:monospace;border-bottom:1px solid #f3f4f6;border-right:1px solid #f3f4f6;transition:filter .12s ease,transform .05s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.raci-td-cell:hover{filter:brightness(.9)}.raci-td-cell:active{transform:scale(.94)}.raci-td-cell:focus{outline:2px solid #2563eb;outline-offset:-2px;border-radius:.25rem}.raci-td-unlinked{background:#f9fafb!important;color:#d1d5db!important;cursor:default}.raci-unlinked-note{font-size:.8rem;color:#d1d5db}.raci-td-task{padding:.6rem .75rem;font-size:.82rem;font-weight:700;color:#374151;border-bottom:1px solid #f3f4f6;border-right:2px solid #e5e7eb;position:sticky;left:0;background:#fff;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.raci-td-empty{color:#d1d5db;font-style:italic;font-weight:400}.raci-delete-row{display:block;background:none;border:none;color:#d1d5db;cursor:pointer;font-size:.6rem;padding:0;line-height:1;float:right;margin-left:.3rem}.raci-delete-row:hover{color:#dc2626}.raci-table tr:last-child td{border-bottom:none}.raci-table tr td:last-child{border-right:none}.raci-matrix-empty{text-align:center;padding:2.5rem 1.5rem;color:#9ca3af}.raci-matrix-empty svg{margin:0 auto .95rem;display:block;opacity:.55}.raci-empty-title{font-size:.9rem;font-weight:700;color:#4b5563;margin-bottom:.4rem}.raci-empty-desc{font-size:.78rem;color:#9ca3af}.raci-matrix-hint{font-size:.72rem;color:#9ca3af;text-align:center;margin-top:.15rem}@media (max-width:860px){.raci-top-bar{flex-direction:column;align-items:flex-start}.raci-top-actions{width:100%}}.raci-breakdown-row{border:1px solid #e5e7eb;border-radius:.65rem;overflow:hidden}.raci-breakdown-header{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.raci-breakdown-num{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#e5e7eb;color:#6b7280;font-size:.65rem;font-weight:800;flex-shrink:0}.raci-breakdown-task{font-size:.82rem;font-weight:700;color:#111827;flex:1}.raci-breakdown-warn{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:.1rem .5rem}.raci-breakdown-groups{display:flex;flex-direction:column;gap:0}.raci-breakdown-group{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;border-bottom:1px solid #f3f4f6}.raci-breakdown-group:last-child{border-bottom:none}.raci-breakdown-letter{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.3rem;font-size:.72rem;font-weight:800;font-family:monospace;flex-shrink:0}.raci-breakdown-label{font-size:.72rem;font-weight:700;color:#6b7280;width:6rem;flex-shrink:0}.raci-breakdown-none{font-size:.75rem;color:#d1d5db}.raci-breakdown-chips{display:flex;flex-wrap:wrap;gap:.3rem}.raci-breakdown-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem .18rem .3rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1.5px solid transparent}.raci-breakdown-chip,.raci-breakdown-letter,.raci-breakdown-warn,.raci-legend-name-chip,.raci-td-cell,.raci-th-member,.raci-warning-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{body.app-print-result-only{background:#fff!important}body.app-print-result-only .min-h-screen>footer,body.app-print-result-only .min-h-screen>header,body.app-print-result-only .raci-container~*,body.app-print-result-only .raci-main-column>.raci-setup-panel,body.app-print-result-only .raci-step-bar,body.app-print-result-only .raci-top-bar,body.app-print-result-only section:first-of-type,body.app-print-result-only section:last-child{display:none!important}body.app-print-result-only section:nth-of-type(2){padding:0!important;margin:0!important;overflow:hidden!important}body.app-print-result-only section:nth-of-type(2)>div{padding:0!important;margin:0!important}body.app-print-result-only #result-panel{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:.5cm 1cm!important;background:#fff!important}body.app-print-result-only .no-print{display:none!important}body.app-print-result-only #result-panel .raci-matrix-scroll{overflow:visible!important}body.app-print-result-only table{width:100%!important;min-width:unset!important}body.app-print-result-only .raci-table{min-width:unset!important}body.app-print-result-only .raci-breakdown-row{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}@page{margin:.5in;size:landscape}}