:root{font-family:IBM Plex Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--text-primary: #212529;--text-secondary: #6c757d;--text-tertiary: #adb5bd;--accent: #4dabf7;--accent-hover: #339af0;--success: #51cf66;--success-hover: #40c057;--danger: #ff6b6b;--danger-hover: #fa5252;--border: #e9ecef;--shadow-sm: 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.07);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--focus-ring: inset 0 0 0 2px var(--accent)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6}.container{width:100%;max-width:none;margin:0;padding:40px 8vw}.page-header{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 0 16px}.page-header h1{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.page-header p{margin:0 0 16px;color:var(--text-secondary)}.header-actions{display:flex;gap:12px;flex:1;justify-content:flex-end;align-items:center}.auto-save-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);transition:all .2s ease}.auto-save-status--saving{background:#4dabf726;color:var(--accent)}.auto-save-status--saving iconify-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auto-save-status--saved{background:#51cf6626;color:var(--success)}.auto-save-status--error{background:#ff6b6b26;color:var(--danger)}.project-name-input{width:240px;height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.project-name-input::placeholder{color:var(--text-tertiary)}.project-name-display{font-size:14px;color:var(--text-primary);font-weight:500;padding:8px 14px;background:var(--bg-tertiary);border-radius:var(--radius-md);min-width:200px;text-align:center}section{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-top:24px;margin-bottom:24px}section.items{margin-top:24px;margin-bottom:24px;padding-top:24px;padding-bottom:24px;min-height:400px}section.summary{height:fit-content;margin-top:24px;margin-bottom:0}section.summary.summary--compact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:var(--bg-primary);border-color:var(--border)}.summary-label{font-size:13px;font-weight:300;color:var(--text-secondary)}.summary-stat{font-size:15px;font-weight:500;color:var(--text-primary)}.summary-sep{color:var(--text-tertiary);font-size:13px}.summary-left{display:flex;align-items:center;gap:8px}.summary-actions{display:flex;align-items:center;gap:4px}.icon-button--bare{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px!important;width:auto!important;height:auto!important}.icon-button--bare:hover{background:#0000000d!important}.icon-button--bare iconify-icon{width:18px;height:18px}.settings .grid,.settings .grid label,.modal-content .grid,.modal-content .grid label{display:grid;grid-template-columns:1fr 1fr;gap:16px;row-gap:0px}.settings .grid label,.modal-content .grid label{grid-template-columns:1fr}.settings .grid.complexities,.modal-content .grid.complexities{grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:1200px){.container{padding:32px 4vw}}@media(max-width:900px){.settings .grid.complexities,.modal-content .grid.complexities{grid-template-columns:repeat(2,1fr)}.container{padding:24px 3vw}}@media(max-width:560px){.settings .grid.complexities,.modal-content .grid.complexities{grid-template-columns:1fr}.container{padding:20px 16px}.page-header{flex-direction:column;gap:16px}.header-actions{width:100%;justify-content:flex-start}.project-name-input{width:100%}.project-name-display{min-width:150px;font-size:13px}}.settings input,.modal-content input{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.settings input::placeholder,.modal-content input::placeholder{color:var(--text-tertiary)}.settings .hint,.modal-content .hint{display:block;color:var(--text-secondary);font-size:13px;margin-top:6px;height:fit-content}button:active{transform:translateY(0)}.icon-button:active{transform:scale(.95)}.table::-webkit-scrollbar{height:8px}.table::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.table::-webkit-scrollbar-thumb{background:#c1c9d1;border-radius:4px}.table::-webkit-scrollbar-thumb:hover{background:#a5b0bb}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.5}input[type=number]::-webkit-inner-spin-button:hover,input[type=number]::-webkit-outer-spin-button:hover{opacity:1}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::selection{background:#4dabf733;color:var(--text-primary)}*:focus-visible{outline:none;box-shadow:var(--focus-ring)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.role-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);align-items:stretch}.role-grid label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);height:100%;min-height:80px;border:2px solid transparent}.role-grid label:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.role-grid label.selected{background:#4dabf726;border:2px solid var(--accent);transform:translateY(-2px)}.role-grid input[type=radio]{display:none}.role-text{display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:center}.role-emoji{font-size:24px;line-height:1;align-self:center;justify-self:center}.role-title{font-size:15px;font-weight:600;line-height:1.2;color:var(--text-primary)}.role-subtitle{font-size:13px;color:var(--text-secondary);line-height:1.2;white-space:nowrap}.items .actions{display:flex;gap:8px;margin-bottom:16px}button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);height:40px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;font-size:14px;font-weight:500;letter-spacing:.2px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}button.success{background:var(--success)}button.danger{background:var(--danger);color:#fff}button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 8px #00000014}button.success:hover{background:#37b24d}button.danger:hover{background:#e03131;transform:translateY(-1px);box-shadow:0 4px 8px #00000014}button:focus-visible{outline:none;box-shadow:var(--focus-ring),0 1px 2px #0000000a}button:active{transform:translateY(0);box-shadow:0 1px 1px #00000008}.icon-button{background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-md);height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-button:hover{background:transparent;color:var(--text-primary);box-shadow:none}.icon-button:disabled{opacity:.4;cursor:not-allowed}.header-actions .icon-button{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.header-actions .icon-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.table{display:grid;gap:12px;overflow-x:auto;width:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.row{display:grid;grid-template-columns:50px minmax(200px,2fr) minmax(80px,.8fr) minmax(120px,1fr) minmax(160px,1.3fr) minmax(120px,1fr);gap:16px;align-items:center;min-width:800px;width:100%;transition:opacity .2s ease,transform .2s ease}.row>div:first-child{display:grid;place-items:center}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.row-actions button{height:36px;padding:0 8px}.row.header{color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge{padding:6px 10px;border-radius:999px;font-size:12px;text-align:center;border:none;color:var(--text-secondary);font-weight:500;position:relative;display:flex;align-items:center;justify-content:center}.row input{width:100%;height:38px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.row select{width:100%;height:38px;padding:0 32px 0 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.calc-value{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);height:38px;padding:0 12px;display:flex;align-items:center;justify-content:flex-end;font-size:14px;font-weight:600;color:var(--text-primary)}.note{color:var(--muted);margin-top:12px}footer{margin-top:80px;color:var(--text-secondary);text-align:center;padding-bottom:24px}footer small{font-size:13px;line-height:1.6}footer .trademark{margin-top:12px;font-size:13px;font-weight:600;color:var(--text-primary)}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:min(640px,100%);max-width:90vw;background:var(--bg-primary);border-radius:var(--radius-lg);padding:32px;border:1px solid var(--border);animation:slideUp .3s ease;max-height:90vh;overflow-y:auto}.modal--compact{width:min(480px,100%);padding:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content{display:flex;flex-direction:column}.modal-titlebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.modal-titlebar h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.modal-titlebar button.icon-button{width:auto;height:auto;min-width:0;padding:4px;margin:-4px 0 0;background:none;border:none;box-shadow:none;color:var(--text-secondary)}.modal-titlebar button.icon-button:hover{background:none;box-shadow:none;transform:none;color:var(--text-primary)}.modal-titlebar button.icon-button:active{transform:none}.modal-titlebar button.icon-button:focus-visible{box-shadow:var(--focus-ring)}.items .section-titlebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.items .section-titlebar h2{margin:0}.items .section-titlebar h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions{display:flex;gap:8px}section h3,.modal-content h3{margin:16px 0;font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.2px}.row input[type=text]{font-size:14px;height:38px;padding:0 12px}.row.sub>.name-cell{padding-left:20px}.badge.main{background:transparent;border:none;font-size:16px}.badge.sub{background:transparent;border:none;color:transparent}.row.sub .badge:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:1px;top:0;height:100%;background:var(--border);border-radius:1px}.row.main+.row.sub .badge:before{top:-12px;height:calc(100% + 14px)}.row.sub+.row.sub .badge:before{top:-12px;height:calc(100% + 14px)}.empty-state{text-align:center;padding:64px 24px;color:var(--text-secondary)}.empty-state-icon{font-size:56px;margin-bottom:20px;opacity:.3}.empty-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.empty-state p{margin:0 0 24px;font-size:15px;line-height:1.6}.empty-state button{height:42px;padding:0 20px;font-size:14px}.empty-state-placeholder{text-align:center;padding:48px 24px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border)}.empty-state-placeholder .placeholder-icon{display:block;margin:0 auto 16px;opacity:.4;color:var(--text-tertiary)}.empty-state-placeholder p{margin:0 0 8px;font-size:15px;font-weight:500;color:var(--text-primary)}.empty-state-placeholder .placeholder-hint{font-size:13px;color:var(--text-secondary);line-height:1.5}.onboarding-container{min-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.onboarding-card{width:100%;max-width:800px}.onboarding-header{margin-bottom:32px}.onboarding-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.onboarding-card label>span{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.onboarding-card input[type=text]{width:100%;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.onboarding-card input[type=text]::placeholder{color:var(--text-tertiary)}.onboarding-card input[type=text].error{border-color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}.modal-content input[type=file]{width:100%;padding:12px;border-radius:var(--radius-md);border:2px dashed var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.modal-content input[type=file]:hover{border-color:var(--accent);background:var(--bg-tertiary)}.modal-content input[type=file]:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.error-message{display:block;color:#ff6b6b!important;font-size:13px;margin-top:8px;font-weight:500}.onboarding-card h3{margin:32px 0 20px;font-size:16px;font-weight:500;color:var(--text-primary)}.onboarding-card button{margin-top:32px}@media(max-width:900px){.role-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.role-grid{grid-template-columns:1fr}}
