:root{--cream: #ffffff;--cream2: #f0fdf9;--cream3: #ccfbf1;--cream4: #99f6e4;--coral: #0d9488;--coral2: #0f766e;--coral-dim: rgba(13, 148, 136, .08);--ink: #0f172a;--ink2: #334155;--ink3: #64748b;--ink4: #94a3b8;--green: #10b981;--red: #ef4444;--blue: #3b82f6;--border: rgba(15, 23, 42, .08);--border2: rgba(15, 23, 42, .04);--font-sora: "Sora", sans-serif;--font-manrope: "Manrope", sans-serif;--font-mono: "ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", monospace;--shadow-card: 0 8px 30px rgba(15, 23, 42, .03);--shadow-card-hover: 0 16px 40px rgba(13, 148, 136, .08);--transition: .2s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{font-family:var(--font-manrope);background:var(--cream2);color:var(--ink3);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--cream2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink4)}h1,h2,h3,h4{font-family:var(--font-sora);font-weight:700;color:var(--ink);letter-spacing:-.03em}#root{min-height:100vh;display:flex;flex-direction:column}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;font-family:var(--font-sora);font-weight:600;color:var(--coral);gap:12px}.app-loading .spinner{animation:spin 2s cubic-bezier(.4,0,.2,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;gap:24px;padding:16px 28px;background:linear-gradient(171deg,#0f172a,#164e63 40%,#0d9488,#5eead4);color:#fffc;box-shadow:0 4px 20px #0f172a26;position:sticky;top:0;z-index:50}.topbar-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.topbar-logo .logo-icon{width:38px;height:38px;background:var(--cream);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--coral2);box-shadow:0 4px 12px #0003}.topbar-logo h1{font-size:1.4rem;color:#fff}.topbar-logo h1 span{color:var(--cream4);font-weight:400}.topbar-tabs{display:flex;gap:8px;flex:1;overflow-x:auto;padding:0 8px}.topbar-tab{padding:8px 16px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#fffc;font-family:var(--font-manrope);font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:all var(--transition)}.topbar-tab:hover{background:#ffffff1a;color:#fff}.topbar-tab.active{background:var(--cream);color:var(--coral2);border-color:var(--cream)}.topbar-tab .close-btn{margin-left:8px;opacity:.5;font-size:.8rem;padding:2px 4px;border-radius:4px}.topbar-tab .close-btn:hover{opacity:1;background:#0000000d}.topbar-actions{display:flex;gap:12px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-family:var(--font-manrope);font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap;border:1px solid transparent}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-amber,.btn-primary{background:var(--coral);color:#fff;box-shadow:0 8px 30px #0d948840}.btn-amber:hover,.btn-primary:hover{transform:translateY(-2px);background:var(--coral2)}.topbar .btn-amber{background:var(--cream);color:var(--coral2);box-shadow:0 4px 12px #0000001a}.topbar .btn-amber:hover{background:var(--cream2);transform:translateY(-2px)}.btn-ghost,.btn-outline,.btn{background:transparent;border-color:var(--border);color:var(--ink2)}.btn-ghost:hover,.btn-outline:hover,.btn:hover:not(.btn-amber):not(.btn-green):not(.btn-blue):not(.btn-red){border-color:var(--coral);color:var(--coral);background:var(--coral-dim)}.btn-small{padding:6px 14px;font-size:.85rem;border-radius:8px}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#059669}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#2563eb}.btn-red{background:#ef44441a;color:var(--red);border-color:#ef444433}.btn-red:hover{background:var(--red);color:#fff}.view-tabs{display:flex;gap:8px;padding:16px 28px 0;background:var(--cream2);border-bottom:1px solid var(--border)}.view-tab{padding:12px 24px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--ink3);font-family:var(--font-sora);font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:8px;border-radius:8px 8px 0 0}.view-tab:hover{color:var(--ink);background:var(--coral-dim)}.view-tab.active{color:var(--coral);border-bottom-color:var(--coral);background:var(--cream);box-shadow:0 -4px 12px #0f172a05}.dna-banner{padding:16px 28px;background:var(--cream);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px #0f172a05}.dna-banner.empty{justify-content:center;cursor:pointer;transition:background var(--transition)}.dna-banner.empty:hover{background:var(--cream3)}.dna-banner .dna-info{display:flex;gap:16px;flex:1;flex-wrap:wrap;align-items:center}.dna-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;background:var(--cream2);border:1px solid var(--border);color:var(--ink2)}.dna-chip .label{color:var(--ink4);font-size:.8rem}.board-container{flex:1;overflow-x:auto;overflow-y:auto;padding:28px}.board{display:flex;flex-direction:column;gap:16px;min-width:1300px}.board-header{display:grid;grid-template-columns:50px 1fr 1fr 200px 1.5fr 1fr;gap:12px;padding:0 4px 12px;position:sticky;top:0;z-index:10;background:var(--cream2)}.board-header .col-header{padding:8px 4px;font-family:var(--font-sora);font-size:1rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}.col-header .col-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 2px 4px #0000001a}.feature-row{display:grid;grid-template-columns:50px 1fr 1fr 200px 1.5fr 1fr;gap:12px;animation:slideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.feature-handle{display:flex;align-items:flex-start;justify-content:center;padding:24px 8px;background:var(--cream);border-radius:16px;border:1px solid var(--border);color:var(--ink4);font-family:var(--font-sora);font-size:.9rem;font-weight:700;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition)}.feature-handle:hover{color:var(--red);background:#fef2f2;border-color:#ef44444d;transform:translateY(-2px)}.feature-cell{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;min-height:180px;box-shadow:var(--shadow-card);transition:all var(--transition)}.feature-cell:hover{box-shadow:var(--shadow-card-hover);border-color:#0d948833;transform:translateY(-2px)}.cell-idea{border-top:4px solid var(--coral)}.cell-refine{border-top:4px solid var(--blue)}.cell-depts{border-top:4px solid #b882e8}.cell-prompt{border-top:4px solid var(--green)}.cell-problems{border-top:4px solid var(--red)}textarea,input[type=text],input[type=url],input[type=password]{width:100%;padding:12px 16px;background:var(--cream);border:1px solid var(--border);border-radius:10px;color:var(--ink);font-family:var(--font-manrope);font-size:.95rem;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);outline:none}textarea:focus,input:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-dim)}textarea::placeholder,input::placeholder{color:var(--ink4)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--ink4);font-size:.9rem;text-align:center}.empty-state .icon{font-size:2rem;opacity:.3;margin-bottom:4px}.chat-messages{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;max-height:250px;padding-right:4px}.chat-msg{padding:12px 14px;border-radius:12px;font-size:.9rem;line-height:1.5;animation:fadeIn .3s ease-out}.chat-msg.assistant{background:#3b82f60d;border:1px solid rgba(59,130,246,.1);color:var(--ink2);border-top-left-radius:4px}.chat-msg.assistant strong{color:var(--blue);font-weight:700}.chat-msg.user{background:var(--coral-dim);border:1px solid rgba(13,148,136,.15);color:var(--coral2);align-self:flex-end;max-width:90%;border-top-right-radius:4px}.chat-input-row{display:flex;gap:8px;margin-top:auto}.chat-input-row input{flex:1;border-radius:8px;padding:8px 12px}.dept-tags{display:flex;flex-wrap:wrap;gap:8px}.dept-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.8rem;font-family:var(--font-sora);font-weight:700;cursor:default;transition:transform var(--transition);position:relative}.dept-tag:hover{transform:scale(1.05)}.dept-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--ink);border:1px solid var(--ink2);border-radius:10px;padding:12px 16px;font-size:.8rem;font-family:var(--font-manrope);font-weight:400;color:#fff;white-space:nowrap;z-index:20;box-shadow:0 10px 25px #00000026}.dept-tag:hover .dept-tooltip{display:block}.dept-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--ink)}.prompt-display{background:var(--cream2);border:1px solid var(--border);border-radius:12px;padding:16px;font-size:.85rem;font-family:var(--font-mono);line-height:1.6;max-height:250px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;color:var(--ink2)}.prompt-display h2,.prompt-display .section-header{font-family:var(--font-sora);font-size:.95rem;font-weight:700;margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.prompt-actions{display:flex;flex-wrap:wrap;gap:8px}.prompt-explain{background:#0d94880d;border-left:3px solid var(--coral);border-radius:0 8px 8px 0;padding:12px 16px;font-size:.9rem;color:var(--ink2);line-height:1.6}.history-drawer{border:1px solid var(--border);border-radius:10px;overflow:hidden}.history-toggle{width:100%;padding:10px 14px;background:var(--cream2);border:none;font-family:var(--font-sora);font-weight:600;font-size:.85rem;color:var(--ink3);cursor:pointer;text-align:left;transition:background var(--transition)}.history-toggle:hover{background:var(--border);color:var(--ink)}.history-list{padding:10px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;background:var(--cream)}.history-item{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:.8rem;color:var(--ink3);cursor:pointer;transition:all var(--transition)}.history-item:hover{border-color:var(--coral);box-shadow:0 4px 12px #0d94881a;color:var(--ink);transform:translateY(-1px)}.history-item .ts{color:var(--ink4);font-size:.75rem;font-weight:600;margin-bottom:4px}.problem-card{background:var(--cream2);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.problem-card.resolved{opacity:.6;border-color:var(--green);background:#10b9810d}.problem-diag{padding:10px 12px;background:#ef44440d;border-left:3px solid var(--red);border-radius:0 6px 6px 0;font-size:.85rem;color:var(--ink2)}.problem-fix{padding:10px 12px;background:#10b9810d;border-left:3px solid var(--green);border-radius:0 6px 6px 0;font-size:.85rem;font-family:var(--font-mono);color:var(--ink2);white-space:pre-wrap}.problem-actions{display:flex;flex-wrap:wrap;gap:6px}.modal-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--cream);border-radius:24px;width:90%;max-width:680px;max-height:85vh;overflow-y:auto;padding:36px;box-shadow:0 25px 50px -12px #0f172a40;animation:modalIn .4s cubic-bezier(.16,1,.3,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h2{font-size:1.6rem;margin-bottom:24px;color:var(--ink)}.modal-field{margin-bottom:20px}.modal-field label{display:block;font-family:var(--font-sora);font-size:.9rem;color:var(--ink2);margin-bottom:8px;font-weight:700}.modal-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.modal-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--border);background:var(--cream);color:var(--ink3);font-family:var(--font-manrope);font-weight:600;font-size:.85rem;cursor:pointer;transition:all var(--transition)}.modal-chip:hover{border-color:var(--coral);color:var(--coral2);box-shadow:0 4px 12px var(--coral-dim)}.modal-chip.selected{background:var(--coral);color:#fff;border-color:var(--coral);box-shadow:0 4px 12px #0d948833}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.add-row{display:flex;justify-content:center;padding:24px 0 40px}.add-row button{display:flex;align-items:center;gap:10px;padding:14px 28px;border:2px dashed var(--border);border-radius:12px;background:transparent;color:var(--ink3);font-family:var(--font-sora);font-weight:700;font-size:1rem;cursor:pointer;transition:all var(--transition)}.add-row button:hover{border-color:var(--coral);color:var(--coral);background:var(--coral-dim);transform:translateY(-2px)}.provider-select{position:relative}.provider-select select{appearance:none;padding:8px 36px 8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-family:var(--font-sora);font-weight:600;font-size:.85rem;cursor:pointer}.provider-select select option{color:var(--ink)}.provider-select:after{content:"▾";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#ffffffb3;pointer-events:none}.copy-toast{position:fixed;bottom:30px;right:30px;background:var(--coral);color:#fff;padding:14px 24px;border-radius:12px;font-family:var(--font-sora);font-size:.95rem;font-weight:700;box-shadow:0 10px 30px #0d94884d;z-index:200;animation:toastIn .4s cubic-bezier(.16,1,.3,1),toastOut .4s ease-in 2.5s forwards}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(20px)}}.spinner-inline{display:inline-flex;align-items:center;gap:8px;color:var(--coral);font-weight:600;font-size:.9rem;padding:8px 0}.spinner-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1s ease-in-out infinite}.spinner-dot:nth-child(2){animation-delay:.15s}.spinner-dot:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{transform:scale(.5);opacity:.5}50%{transform:scale(1);opacity:1}}@media(max-width:768px){.topbar{flex-direction:column;align-items:flex-start;padding:16px;gap:16px}.topbar-tabs{width:100%;padding:0}.board-header,.feature-row{grid-template-columns:40px 1fr}}.audit-view{padding:32px;max-width:900px;margin:0 auto}.audit-section{background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow-card)}.audit-section h3{font-size:1.2rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;color:var(--ink)}.audit-inputs{display:grid;grid-template-columns:1fr 200px 1fr;gap:12px;margin-bottom:20px}.audit-checks{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0}.audit-check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink2);cursor:pointer}.audit-check input[type=checkbox]{accent-color:var(--coral);width:18px;height:18px;cursor:pointer}.audit-result-item{padding:14px 18px;background:var(--cream2);border:1px solid var(--border);border-radius:12px;font-size:.9rem;display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.audit-result-item .icon{font-size:1.2rem}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg);background-image:radial-gradient(circle at 15% 50%,rgba(135,235,175,.05),transparent 25%),radial-gradient(circle at 85% 30%,rgba(255,117,107,.05),transparent 25%)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;align-items:center}.login-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-header .logo-icon{font-size:2rem;color:var(--primary);line-height:1}.login-header h2{font-size:1.5rem;color:var(--text);font-weight:600;letter-spacing:-.5px}.login-header h2 span{color:var(--text-muted);font-weight:400}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:.95rem;text-align:center}.pin-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}.pin-inputs{display:flex;gap:8px;justify-content:center}.pin-inputs input{width:45px;height:55px;font-size:1.5rem;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:all .2s ease}.pin-inputs input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #87ebaf33}.pin-inputs input:disabled{opacity:.5;cursor:not-allowed}.login-btn{width:100%;padding:12px;font-size:1rem;font-weight:500}.login-feedback{min-height:24px;display:flex;align-items:center;justify-content:center}.error-message{color:var(--coral);font-size:.9rem;font-weight:500;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}
