: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-idea textarea{flex:1;min-height:120px;resize:vertical}.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,.modal-content{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);position:relative;z-index:101}.modal-content.dna-editor-modal{background:var(--cream)}@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}.analyze-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ctx-selector{display:flex;gap:3px;align-items:center}.ctx-opt{display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:4px;border:1px solid var(--border);font-family:var(--font-mono);font-size:.65rem;color:var(--ink4);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;line-height:1.4}.ctx-opt input[type=radio]{display:none}.ctx-opt.active{border-color:var(--coral);background:#0d948814;color:var(--coral)}.ctx-opt:hover:not(.active){color:var(--ink3);border-color:var(--ink4)}.ctx-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-family:var(--font-mono);font-size:.6rem;color:var(--coral);background:#0d948814;border:1px solid rgba(13,148,136,.2);margin-left:4px}.undo-btn{border-color:#f59e0b!important;color:#f59e0b!important;animation:fadeIn .3s ease-out}.undo-btn:hover{background:#f59e0b!important;color:#fff!important}.sync-btn{border-color:#3b82f6!important;color:#3b82f6!important}.sync-btn:hover{background:#3b82f6!important;color:#fff!important}.voice-btn{border-color:var(--red)!important;color:var(--red)!important}.voice-btn:hover{background:var(--red)!important;color:#fff!important}.voice-modal{width:min(480px,92vw)}.voice-modal h2{margin-bottom:16px;font-size:1.1rem}.voice-idle{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0}.voice-subtitle{text-align:center;font-size:.85rem;color:var(--ink3);line-height:1.6}.voice-start-btn{padding:12px 28px;border-radius:50px;background:var(--red);color:#fff;border:none;font-family:var(--font-mono);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.voice-start-btn:hover{opacity:.85}.voice-hint{font-size:.65rem;color:var(--ink4)}.voice-recording{display:flex;flex-direction:column;align-items:center;gap:14px}.voice-status{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--ink2)}.rec-dot{color:var(--red);animation:pulse-red 1s infinite}.rec-timer{color:var(--ink4);font-size:.72rem;margin-left:4px;font-family:var(--font-mono)}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.4}}.voice-wave{display:flex;align-items:center;gap:3px;height:32px}.wave-bar{width:3px;background:var(--red);border-radius:2px;animation:wave .8s ease-in-out infinite alternate}@keyframes wave{0%{height:4px;opacity:.4}to{height:24px;opacity:1}}.voice-interim{width:100%;min-height:48px;padding:8px 10px;background:var(--cream2);border:1px solid var(--border);border-radius:5px;font-size:.75rem;line-height:1.6;color:var(--ink2)}.interim-text{color:var(--ink4);font-style:italic}.voice-stop-btn{padding:8px 24px;border-radius:50px;background:var(--cream);color:var(--ink2);border:1px solid var(--border);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;transition:all .15s}.voice-stop-btn:hover{border-color:var(--red);color:var(--red)}.voice-done{display:flex;flex-direction:column;gap:8px}.voice-label{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink4)}.voice-ta{width:100%;resize:vertical;background:var(--cream2);border:1px solid var(--border);border-radius:5px;padding:9px 10px;font-family:var(--font-mono);font-size:.75rem;color:var(--ink2);outline:none;line-height:1.65}.voice-ta:focus{border-color:var(--coral)}.voice-select{width:100%;padding:7px 10px;background:var(--cream);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:.75rem;color:var(--ink2);cursor:pointer;outline:none}.voice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.voice-reset-btn{padding:6px 12px;border-radius:4px;border:1px solid var(--border);background:var(--cream);color:var(--ink3);font-family:var(--font-mono);font-size:.72rem;cursor:pointer}.voice-reset-btn:hover{color:var(--ink2);border-color:var(--ink4)}.voice-copy-btn{padding:6px 12px;border-radius:4px;border:1px solid var(--coral);background:var(--cream);color:var(--coral);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;transition:all .15s}.voice-copy-btn:hover{background:var(--coral);color:#fff}.voice-send-btn{flex:1;padding:6px 12px;border-radius:4px;border:none;background:var(--green);color:#fff;font-family:var(--font-mono);font-size:.72rem;font-weight:600;cursor:pointer;transition:opacity .15s}.voice-send-btn:hover{opacity:.85}.voice-send-btn:disabled{opacity:.3;cursor:default}.voice-error{padding:12px;border-radius:5px;font-size:.75rem;background:#ef44440f;border:1px solid rgba(239,68,68,.2);color:var(--red);line-height:1.6}.export-wrapper{position:relative}.export-btn{border-color:var(--green)!important;color:var(--green)!important}.export-btn:hover{background:var(--green)!important;color:#fff!important}.export-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;min-width:200px;z-index:200;overflow:hidden;animation:fadeIn .2s ease-out}.export-opt{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;color:var(--ink3);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;text-align:left;transition:all .2s}.export-opt:hover{background:#22c55e14;color:var(--green)}.export-opt+.export-opt{border-top:1px solid var(--border-soft)}.global-toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#1e1e1e;color:#fff;padding:12px 24px;border-radius:50px;font-size:.85rem;font-weight:500;box-shadow:0 10px 20px #0003;z-index:1000;animation:toastIn .3s cubic-bezier(.16,1,.3,1),toastOut .3s 2.7s forwards;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{to{opacity:0;transform:translate(-50%,20px)}}.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)}}
