:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1e293b}#root{min-height:100vh}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6eaff,#f8fafc);padding:20px}.auth-card{background:#fff;border-radius:10px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:48px;width:100%;max-width:420px;text-align:center}.auth-header{margin-bottom:32px}.auth-logo{height:48px;width:auto;margin-bottom:24px}.auth-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.2}.auth-header p{font-size:16px;color:#64748b;margin:0;line-height:1.5}.auth-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:24px;text-align:left}.btn-google{width:100%;padding:12px 16px;border:1px solid #e2e8f0;background-color:#fff;color:#374151;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.btn-google:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px #0000001a}.btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-divider{position:relative;text-align:center;margin:24px 0;height:1px;background-color:#e2e8f0}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .form-group{margin:0}.input-wrapper input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s;background-color:#fff;color:#1e293b;box-sizing:border-box}.input-wrapper input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.input-wrapper input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.input-wrapper input::placeholder{color:#9ca3af}.auth-form .btn-primary{width:100%;padding:12px 16px;border:none;background-color:#8b5cf6;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-form .btn-primary:hover:not(:disabled){background-color:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.auth-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.auth-footer p{font-size:14px;color:#64748b;margin:0}.auth-link{color:#8b5cf6;text-decoration:none;font-weight:600;transition:color .2s}.auth-link:hover{color:#7c3aed;text-decoration:underline}@media (max-width: 480px){.auth-card{padding:32px 24px;margin:16px}.auth-header h1{font-size:24px}.auth-header p{font-size:14px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#8b5cf6}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.dashboard-layout{display:flex;height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.top-header-bar{position:fixed;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8b5cf6,#3b82f6);z-index:1000}.sidebar{width:200px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;height:100vh;overflow-y:auto;border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #0000000a}.logo-section{padding:20px 18px 18px;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#fff)}.logo{display:flex;align-items:center;gap:10px}.logo-image{max-width:100%;height:auto;max-height:30px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.rocket-icon{font-size:28px;color:#8b5cf6}.logo-text{font-size:22px;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:6px;letter-spacing:-.5px}.beta-tag{font-size:10px;font-weight:700;color:#8b5cf6;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);padding:4px 8px;border-radius:6px;margin-left:6px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.projects-section{flex:1;padding:18px;background:linear-gradient(180deg,#fff,#f8fafc)}.logout-section{padding:18px;border-top:1px solid #f1f5f9;margin-top:auto;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.btn-logout{width:100%;padding:8px 12px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#64748b;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 1px 3px #0000000d}.btn-logout:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;color:#475569;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-logout:active{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(0);box-shadow:0 2px 4px #0000001a}.logout-icon{display:flex;align-items:center;justify-content:center;color:#64748b}.logout-icon svg{width:16px;height:16px}.logout-text{font-size:13px;font-weight:600}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 0}.projects-title{font-size:10px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#64748b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.add-project-icon{width:24px;height:24px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #8b5cf633}.add-project-icon:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf64d}.add-project-icon:active{transform:translateY(0);box-shadow:0 2px 4px #8b5cf633}.new-project-link{color:#8b5cf6;font-size:13px;font-weight:600;cursor:pointer;padding:10px 14px;transition:all .2s ease;border-radius:8px;background:linear-gradient(135deg,#8b5cf60d,#8b5cf61a);border:1px solid rgba(139,92,246,.1);text-align:center;margin-bottom:14px}.new-project-link:hover{color:#7c3aed;background:linear-gradient(135deg,#8b5cf61a,#8b5cf626);border-color:#8b5cf633;transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf61a}.main-content{flex:1;background:linear-gradient(135deg,#f8fafc,#f1f5f9);overflow-y:auto;padding:24px}.project-details{min-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:0}.project-content-shell{width:100%;padding:0 5px 48px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 48px);text-align:center;background-color:#fff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 6px 16px #0000000f;padding:48px 24px}.empty-message{font-size:16px;color:#64748b;margin-bottom:24px}.create-project-btn{background-color:#8b5cf6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.create-project-btn:hover{background-color:#7c3aed}.create-project-btn:active{background-color:#6d28d9}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:10px;padding:0;width:95%;max-width:800px;max-height:80vh;overflow-y:auto;border:1px solid #e5e7eb;box-shadow:0 24px 40px #0000001f}.modal-content-project{max-width:520px;border-radius:16px;overflow-y:auto;max-height:min(620px,90vh);box-shadow:0 28px 48px #0f172a29}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e2e8f0}.modal-content-project .modal-header{padding:24px 28px 16px;border-bottom:none;background:linear-gradient(180deg,#f8fafc,#fff)}.modal-header h2{font-size:18px;font-weight:600;color:#1e293b;margin:0}.modal-close{width:32px;height:32px;border:none;background-color:#f1f5f9;color:#64748b;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s}.modal-close:hover{background-color:#e2e8f0;color:#475569}.modal-form{padding:24px}.modal-form-project{padding:0 28px 28px;display:flex;flex-direction:column;gap:20px}.modal-form-lede{margin:0;font-size:14px;color:#475569;line-height:1.5}.modal-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.modal-form-project .form-group{margin-bottom:0}.form-group-condensed select,.modal-form-project #projectType{width:100%}.modal-content-project .form-help{color:#64748b;margin-top:6px}.modal-form-project textarea{min-height:120px}.modal-content-project .modal-actions{margin-top:12px;padding-top:8px;border-top:1px solid #e2e8f0}.modal-content-project .modal-actions button{min-height:42px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s;box-sizing:border-box;background-color:#f8fafc;color:#1e293b}.form-group select#projectType{width:220px;max-width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:120px}.form-help{display:block;margin-top:6px;font-size:12px;color:#64748b;line-height:1.4}.section-selection{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:8px}.section-item{display:flex;align-items:center}.section-toggle{padding:8px 16px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:140px;text-align:center;flex-shrink:0}.section-toggle:hover:not(:disabled){background-color:#f3f4f6;border-color:#7c3aed;color:#7c3aed}.section-toggle.selected{background-color:#8b5cf6;color:#fff;border-color:#8b5cf6}.section-toggle.selected:hover:not(:disabled){background-color:#7c3aed;border-color:#7c3aed}.section-toggle:disabled{opacity:.5;cursor:not-allowed}.section-toggle:disabled:hover{background-color:#fff;color:#8b5cf6;border-color:#8b5cf6}.section-toggle.selected:disabled{background-color:#8b5cf6;color:#fff;border-color:#8b5cf6}.section-toggle.default{background-color:#f1f5f9;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.section-toggle.default:hover{background-color:#f1f5f9;color:#9ca3af;border-color:#d1d5db}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.saas-edit-modal{max-width:680px}.saas-edit-modal-body{display:flex;flex-direction:column;gap:20px}.saas-edit-readonly{border:1px dashed #cbd5e1;background:#f8fafc;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:600;color:#334155}.saas-edit-textarea{width:100%;min-height:140px;border:1px solid #cbd5e1;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit;color:#1e293b}.saas-edit-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}@media (max-width: 640px){.saas-edit-modal{max-width:95%}}.btn-secondary{padding:10px 20px;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:10px 20px;border:none;background-color:#8b5cf6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#7c3aed;box-shadow:0 6px 16px #8b5cf640}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.project-list{display:flex;flex-direction:column;gap:3px}.project-item{padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 1px 3px #0000000d;position:relative;overflow:hidden}.project-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8b5cf6,#3b82f6);transform:scaleX(0);transition:transform .2s ease}.project-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 4px 8px #00000014}.project-item:hover:before{transform:scaleX(1)}.project-item.selected{background:linear-gradient(135deg,#8b5cf614,#8b5cf61f);border-color:#8b5cf633;box-shadow:0 4px 12px #8b5cf626}.project-item.selected:before{transform:scaleX(1)}.project-info{display:flex;flex-direction:column;gap:4px}.project-name{font-size:13px;font-weight:600;color:#1e293b;line-height:1.3;letter-spacing:-.2px}.project-description{font-size:12px;color:#64748b;line-height:1.3;margin-top:2px}.project-date{font-size:10px;color:#94a3b8;font-weight:500}.loading-projects,.no-projects{padding:16px;text-align:center;color:#64748b;font-size:13px;font-weight:500}.view-all-projects-section{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.projects-dashboard{padding:32px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-header h1{font-size:24px;font-weight:600;color:#1e293b;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.project-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:24px;transition:all .2s;box-shadow:0 6px 16px #0000000a}.project-card:hover{box-shadow:0 12px 24px #00000014;border-color:#cbd5e1}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-card-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0;line-height:1.3}.project-card .project-date{font-size:12px;color:#94a3b8;margin-top:4px}.project-card .project-description{font-size:14px;color:#64748b;line-height:1.5;margin-bottom:20px}.project-actions{display:flex;gap:12px}.project-actions .btn-secondary,.project-actions .btn-primary{flex:1}.project-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;background:linear-gradient(180deg,#fff,#fbfbfe);border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 20px 48px #0f172a14;gap:20px;width:100%;margin:0;box-sizing:border-box}.project-title-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0;min-width:200px;max-width:250px}.project-title{font-size:24px;font-weight:600;color:#1e293b;margin:0;line-height:1.3}.project-title.editable{cursor:pointer;transition:color .2s;padding:4px 8px;border-radius:6px;margin:-4px -8px}.project-title.editable:hover{color:#7c3aed;background-color:#f8fafc}.project-title-editor{margin:-4px -8px}.project-title-input{width:100%;padding:8px 12px;border:2px solid #7c3aed;border-radius:8px;font-size:24px;font-weight:600;color:#1e293b;background-color:#fff;font-family:inherit;outline:none;box-sizing:border-box;transition:all .2s;line-height:1.2}.project-title-input:focus{border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed1a}.project-header .project-date{font-size:14px;color:#94a3b8}.project-action-buttons{display:flex;gap:12px;flex-shrink:0;margin-left:auto;min-width:120px}.project-description-inline{font-size:14px;color:#64748b;line-height:1.5;margin-left:24px;align-self:flex-start;max-width:600px;overflow:visible;white-space:normal;padding:12px 16px;min-height:48px;display:flex;align-items:flex-start;word-wrap:break-word;overflow-wrap:break-word}.project-description-inline.editable{cursor:pointer;transition:all .2s;padding:12px 16px;border-radius:8px;margin-left:16px;border:1px solid transparent;max-width:580px;min-height:48px;display:flex;align-items:flex-start;word-wrap:break-word;overflow-wrap:break-word}.project-description-inline.editable:hover{color:#7c3aed;background-color:#f8fafc;border-color:#e2e8f0}.project-description-inline.editable.empty{color:#9ca3af;font-style:italic}.project-description-inline.editable.empty:hover{color:#7c3aed;background-color:#f8fafc;border-color:#e2e8f0}.project-description-section{margin-left:24px;align-self:center;flex:1;max-width:620px;min-width:200px}.project-description-editor{margin-left:0;max-width:620px}.project-description-input{width:100%;padding:12px 16px;border:2px solid #7c3aed;border-radius:8px;font-size:14px;color:#1e293b;background-color:#fff;font-family:inherit;line-height:1.5;resize:vertical;min-height:80px;max-width:100%;box-sizing:border-box;transition:all .2s;outline:none}.project-description-input:focus{border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed1a}.project-description-input::placeholder{color:#9ca3af;font-style:italic}.project-action-buttons{display:flex;gap:12px}.btn-edit{padding:8px 16px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-edit:hover{background-color:#8b5cf6;color:#fff}.btn-archive{padding:8px 16px;border:1px solid #f97316;background-color:#fff;color:#f97316;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-archive:hover{background-color:#f97316;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #f9731633}.btn-archive:active{transform:translateY(0);box-shadow:0 1px 2px #f9731633}.project-tabs{display:flex;padding:0;margin:-4px 0 0;gap:12px;width:100%;box-sizing:border-box;align-items:center;justify-content:space-between}.project-tabs-left{display:flex;gap:12px}.project-tabs-actions{display:flex;align-items:center;gap:8px;position:relative}.tab-button{padding:8px 16px;border:1px solid rgba(148,163,184,.25);background:#fff9;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s,color .2s;border-radius:10px;position:relative;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tab-button:hover{color:#475569;border-color:#4f46e54d;transform:translateY(-1px)}.tab-button.active{color:#1e293b;border-color:transparent;background-color:#fff;box-shadow:0 14px 34px #4f46e52e;transform:translateY(-1px)}.tab-content{flex:1;padding:0 0 32px;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.tab-content-prd{width:100%;max-width:100%;align-self:stretch;padding:0}.tab-content-wide{padding:0 0 24px;margin:0}.brief-content-prd{width:100%;max-width:100%;margin:0;padding:0;align-self:stretch;box-sizing:border-box}.brief-content,.todo-content{flex:1;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.brief-empty-state,.todo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#64748b}.brief-empty-state p,.todo-empty-state p{font-size:16px;margin-bottom:24px}.btn-generate-brief{padding:12px 24px;border:none;background-color:#8b5cf6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-generate-brief:hover{background-color:#7c3aed}.brief-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b}.brief-loading p{font-size:16px}.brief-generating{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.generation-status{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:32px;text-align:center;max-width:400px;width:100%;box-shadow:0 1px 3px #0000001a}.spinner{width:40px;height:40px;border:4px solid #f1f5f9;border-top:4px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.generation-status h3{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 12px}.generation-status p{font-size:16px;color:#64748b;margin:0;line-height:1.5}.brief-list{display:flex;flex-direction:column;gap:24px;flex:1;width:100%;box-sizing:border-box}.brief-item{background-color:#fff;border-radius:10px;padding:24px;border:1px solid #e5e7eb;box-shadow:0 6px 16px #0000000f;flex:1;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.brief-item.prd-container{background:transparent;border:none;box-shadow:none;padding:0}.brief-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.brief-block{display:flex;flex-direction:column;gap:8px;width:100%}.brief-toolbar{display:flex;justify-content:space-between;align-items:center}.btn-regenerate{padding:6px 10px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.btn-regenerate:hover{background-color:#8b5cf6;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf633}.todo-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.todo-toolbar-right{position:relative}.export-button{padding:6px 10px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.export-button:hover:not(:disabled){background-color:#8b5cf6;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf633}.export-button:disabled{opacity:.5;cursor:not-allowed}.export-menu{position:absolute;right:0;top:100%;margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #0000001f;z-index:1000;min-width:160px;overflow:hidden}.export-option{padding:10px 12px;font-size:12px;color:#374151;cursor:pointer;transition:background-color .2s}.export-option:hover{background-color:#f8fafc}.brief-actions{display:flex;gap:12px}.brief-content-markdown{font-size:14px;line-height:1.6;color:#1e293b;flex:1;display:flex;flex-direction:column}.brief-content-markdown.prd-view{gap:24px}.prd-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:28px;box-shadow:0 16px 40px #0f172a14;transition:transform .2s ease,box-shadow .2s ease;position:relative}.prd-section:hover{transform:translateY(-2px);box-shadow:0 20px 48px #0f172a1f}.prd-section--editing{box-shadow:0 0 0 2px #6366f133,0 24px 52px #4f46e52e}.prd-section--tldr{background:linear-gradient(155deg,#6366f11a,#38bdf81f);border:none;box-shadow:inset 0 1px #fff9,0 18px 42px #6366f11f}.prd-section--tldr .prd-section-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4338ca;margin-bottom:14px}.prd-section--tldr .prd-section-body p{font-size:16px;line-height:1.8;color:#1e293b;margin:0}.prd-section-title{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 18px}.prd-section-body{display:flex;flex-direction:column;gap:14px}.prd-section--problem{background:transparent;border:none;box-shadow:none;padding:4px 0 0}.prd-section--problem:hover{transform:none;box-shadow:none}.prd-section--problem .prd-section-title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 22px}.prd-section--problem .prd-section-edit-btn{top:-6px;right:0;background:#f8fafcf2;border-color:#94a3b873}.prd-section--problem:hover .prd-section-edit-btn{opacity:1;transform:translateY(0)}.prd-section--customer-value{background:transparent;border:none;box-shadow:none;padding:4px 0 0}.prd-section--customer-value:hover{transform:none;box-shadow:none}.prd-section--customer-value .prd-section-title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 24px}.prd-mini-card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 28px #0f172a0f}.prd-mini-card--target{margin-bottom:24px;box-shadow:0 14px 32px #0f172a14}.prd-mini-card-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#475569}.prd-mini-card-body{font-size:15px;line-height:1.65;color:#1f2937}.prd-mini-card-body p{margin:0}.prd-mini-stack{display:grid;gap:20px;grid-template-columns:1fr}.prd-mini-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.prd-mini-empty{margin:0;color:#94a3b8;font-style:italic;font-size:14px}.prd-mini-empty-inline{font-size:13px;color:#9ca3af;font-style:italic}.prd-mini-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.prd-mini-list-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid rgba(226,232,240,.8);border-radius:12px;background:#f8fafc;height:100%;box-sizing:border-box}.prd-mini-list-index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#94a3b833;color:#0f172a;font-weight:600;font-size:13px;margin-top:1px;flex-shrink:0}.prd-mini-list-text{flex:1;font-size:14px;line-height:1.55;color:#1f2937}.prd-mini-columns{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.prd-mini-pairs{display:flex;flex-direction:column;gap:12px}.prd-mini-pair-headings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;font-weight:600}.prd-mini-pair-heading{padding-left:2px}.prd-mini-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prd-mini-pair-cell{display:flex}.prd-mini-pill{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid rgba(226,232,240,.9);border-radius:12px;background:#fff;width:100%}.prd-mini-pill-text{font-size:14px;line-height:1.5;color:#1f2937}.prd-mini-pill--subtle{background:#f8fafc;border-style:dashed}.prd-mini-pill--accent{border-color:#a5b4fc99;background:#ede9fe59}@media (max-width: 768px){.prd-mini-card{padding:20px}.prd-mini-pair-headings,.prd-mini-pair,.prd-mini-columns{grid-template-columns:1fr}}.prd-section--customer-value .prd-section-edit-btn{top:8px;right:8px;background:#f8fafcf2;border-color:#94a3b873}.prd-section--customer-value:hover .prd-section-edit-btn{opacity:1;transform:translateY(0)}.prd-cv-section{display:flex;flex-direction:column;gap:32px}.prd-cv-block{display:flex;flex-direction:column;gap:20px}.prd-cv-block-title{font-size:20px;font-weight:700;color:#0f172a}.prd-cv-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.prd-cv-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 18px 36px #94a3b840;display:flex;flex-direction:column;gap:16px;min-height:180px}.prd-cv-card-heading{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#475569;font-weight:700}.prd-cv-card-items{display:flex;flex-direction:column;gap:12px}.prd-cv-chip{background:#e2e8f0;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;color:#1f2937;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 1px #ffffffb3}.prd-cv-card-empty{margin:0;color:#94a3b8;font-style:italic;font-size:14px}@media (max-width: 640px){.prd-cv-grid{grid-template-columns:1fr}}.prd-problem-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.prd-problem-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 18px 40px #0f172a14;display:flex;flex-direction:column;gap:12px;min-height:160px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.prd-problem-card:hover{transform:translateY(-2px);box-shadow:0 24px 56px #0f172a1f}.prd-problem-card--editing{border-color:#6366f173;box-shadow:0 0 0 2px #6366f147,0 28px 60px #4f46e533;background:linear-gradient(145deg,#f5f3ff,#eef2ff 35%,#fff)}.prd-problem-card-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#475569}.prd-problem-card-body{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.7;color:#1f2937;word-break:break-word;overflow-wrap:anywhere}.prd-problem-card-body p{margin:0}.prd-problem-card-body ul,.prd-problem-card-body ol{margin:0;padding-left:20px}.prd-problem-card-body li{margin:6px 0}.prd-problem-card-empty{margin:0;color:#94a3b8;font-style:italic}.prd-problem-card-editor{width:100%;min-height:140px;border:1px solid rgba(148,163,184,.6);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.6;font-family:inherit;resize:vertical;background:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;max-width:100%}.prd-problem-card-editor:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.prd-problem-card-editor:disabled{background:#f8fafc}@media (max-width: 900px){.prd-problem-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}}@media (max-width: 640px){.prd-problem-grid{grid-template-columns:1fr}}.prd-section-edit-btn{position:absolute;top:16px;right:16px;padding:4px 6px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#fffffff2;color:#6366f1;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease}.prd-section:hover .prd-section-edit-btn{opacity:1;transform:translateY(0)}.prd-section-edit-btn:hover{border-color:#6366f199;box-shadow:0 4px 10px #6366f133}.prd-section-edit-btn:focus-visible{outline:none;border-color:#6366f1cc;box-shadow:0 0 0 3px #6366f140}.prd-section-editor{width:100%;min-height:160px;border:1px solid rgba(148,163,184,.6);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6;font-family:inherit;resize:vertical;background:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;display:block}.prd-section--tldr .prd-section-editor{background:#ffffffed}.prd-section-editor:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.prd-section-edit-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.brief-content-markdown.prd-view .prd-section-body h3{font-size:16px;font-weight:700;color:#111827;margin:12px 0 4px;text-transform:none}.brief-content-markdown.prd-view .prd-section-body h4{font-size:14px;font-weight:600;color:#1f2937;margin:8px 0 4px}.brief-content-markdown.prd-view .prd-section-body p{margin:0;line-height:1.7}.brief-content-markdown.prd-view .prd-section-body ul,.brief-content-markdown.prd-view .prd-section-body ol{margin:0;padding-left:20px}.brief-content-markdown.prd-view .prd-section-body li{margin:6px 0;line-height:1.6}.brief-content-markdown.prd-view .prd-section-body table{width:100%;border-collapse:collapse;margin-top:4px;background:#fff;border-radius:10px;overflow:hidden}.brief-content-markdown.prd-view .prd-section-body th,.brief-content-markdown.prd-view .prd-section-body td{border:1px solid #e2e8f0;padding:10px 12px;text-align:left;font-size:13px}.brief-content-markdown.prd-view .prd-section-body th{background:#f1f5f9;font-weight:600;color:#0f172a;text-transform:uppercase;letter-spacing:.02em}.brief-content-markdown.prd-view .prd-section-body td{color:#1e293b}.brief-content-markdown.prd-view .prd-section-body blockquote{border-left:4px solid rgba(59,130,246,.45);padding-left:16px;margin:16px 0;color:#1d4ed8;background:#3b82f614;border-radius:8px}.brief-content-markdown.prd-view .prd-section-body strong{color:#111827;font-weight:700}.brief-content-markdown h2{font-size:18px;font-weight:600;color:#1e293b;margin:24px 0 12px;padding-bottom:8px}.brief-content-markdown h2:first-child{margin-top:0}.brief-content-markdown h3{font-size:16px;font-weight:600;color:#1e293b;margin:20px 0 10px}.brief-content-markdown h4{font-size:14px;font-weight:600;color:#1e293b;margin:16px 0 8px}.brief-content-markdown p{margin:12px 0;line-height:1.6}.brief-content-markdown ul,.brief-content-markdown ol{margin:12px 0;padding-left:20px}.brief-content-markdown li{margin:4px 0;line-height:1.5}.brief-content-markdown strong{font-weight:600;color:#1e293b}.brief-content-markdown em{font-style:italic;color:#475569}.brief-content-markdown blockquote{border-left:4px solid #e2e8f0;padding-left:16px;margin:16px 0;color:#64748b;font-style:italic}.brief-content-markdown code{background-color:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:#1e293b}.brief-content-markdown pre{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px;overflow-x:auto;margin:16px 0}.brief-content-markdown pre code{background-color:transparent;padding:0;color:#1e293b}.btn-export-pdf{padding:4px 8px;border:1px solid #7F1BF2;background-color:#fff;color:#7f1bf2;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-export-pdf:hover{background-color:#7f1bf2;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #7f1bf233}.btn-export-pdf:active{transform:translateY(0);box-shadow:0 1px 2px #10b98133}.btn-edit-brief{padding:4px 8px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-edit-brief:hover{background-color:#8b5cf6;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf633}.btn-edit-brief:active{transform:translateY(0);box-shadow:0 1px 2px #8b5cf633}.btn-copy-brief{padding:4px 8px;border:1px solid #10b981;background-color:#fff;color:#10b981;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-copy-brief:hover{background-color:#10b981;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #10b98133}.btn-copy-brief:active{transform:translateY(0);box-shadow:0 1px 2px #10b98133}.brief-meta{display:flex;gap:16px;font-size:12px;color:#64748b;padding-top:16px;border-top:1px solid #f1f5f9}.brief-meta span{display:flex;align-items:center}.no-project-selected{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.no-project-selected .empty-message{font-size:16px;color:#64748b}.project-item.selected{background-color:#b371ff1a;border-color:transparent}.project-item.selected .project-name{color:#1e293b;font-weight:600}.todo-table{width:100%;border-collapse:separate;border-spacing:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:visible;box-shadow:0 6px 16px #0000000f}.todo-table th{background:linear-gradient(180deg,#fbfdff,#f8fafc);padding:2px 4px;text-align:left;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:2;-webkit-backdrop-filter:saturate(180%) blur(4px);backdrop-filter:saturate(180%) blur(4px);min-height:24px;line-height:1.6}.todo-table th:first-child{width:60px;text-align:center}.todo-table th:nth-child(2){width:auto}.todo-table th:nth-child(3){width:120px}.todo-table th:nth-child(4){width:130px}.todo-table th:nth-child(5){width:130px}.todo-table td{padding:2px 4px;border-bottom:1px solid #f1f5f9;font-size:13px;color:var(--todo-row-fg, #1e293b)}.todo-table tbody tr:nth-child(2n) td{background-color:#fcfcfd}.todo-table td:first-child{padding-left:20px;position:relative}.todo-row{cursor:pointer;transition:background-color .2s}.todo-table tr{display:table-row}.todo-table td,.todo-table th{display:table-cell;vertical-align:middle;height:24px}.todo-row{position:relative}.todo-row:hover{background-color:var(--todo-row-bg, #f8fafc)}.todo-row.selected{background:var(--todo-row-bg, linear-gradient(90deg, rgba(139, 92, 246, .08), rgba(139, 92, 246, .02)));border-left:3px solid #8b5cf6}.todo-row.has-custom-colors{background:var(--todo-row-bg, transparent)!important}.todo-row.has-custom-colors td{background-color:var(--todo-row-bg, transparent)!important;color:var(--todo-row-fg, inherit)}.todo-table tbody .todo-row.has-custom-colors:nth-child(2n) td{background-color:var(--todo-row-bg, transparent)!important}.todo-status,.todo-status-dot,.todo-action-icon,.todo-add-subtask,.todo-arrow{color:inherit}.todo-add-subtask{position:relative;width:20px;height:20px;border:none;background-color:#f1f5f9;color:inherit;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;margin-left:8px}.todo-row:hover .todo-add-subtask{opacity:1;visibility:visible}.todo-add-subtask:hover{background-color:#e2e8f0;color:inherit;transform:scale(1.05)}.todo-checkbox-container{position:absolute;left:4px;top:50%;transform:translateY(-50%);opacity:0;visibility:hidden;transition:all .2s}.todo-row:hover .todo-checkbox-container,.todo-checkbox-container.visible{opacity:1;visibility:visible}.todo-checkbox{width:10px;height:10px;border:1.5px solid #d1d5db;border-radius:3px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:7px;background-color:#fff;box-shadow:0 1px #00000008}.todo-checkbox.checked{background-color:#8b5cf6;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf624}.todo-checkbox:hover{border-color:#8b5cf6;transform:scale(1.1)}.todo-checkbox.checked:hover{background-color:#7c3aed;border-color:#7c3aed}.todo-table tr:last-child td{border-bottom:none}.todo-name{display:flex;align-items:center;gap:4px;font-weight:500}.todo-row[data-level="2"] .todo-name{padding-left:12px}.todo-row[data-level="3"] .todo-name{padding-left:24px}.todo-row[data-level="4"] .todo-name{padding-left:36px}.todo-title-clickable{cursor:pointer;transition:color .2s}.todo-title-clickable:hover{color:#7c3aed;text-decoration:underline}.todo-name{position:relative}.todo-move-buttons{display:inline-flex;align-items:center;gap:6px;opacity:0;visibility:hidden;transition:opacity .2s ease;padding:2px;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #0000000f;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);margin-left:8px}.todo-row:hover .todo-move-buttons{opacity:1;visibility:visible}.todo-arrow{cursor:pointer;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e5e7eb;background:linear-gradient(135deg,#fff,#f8fafc);color:inherit;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease}.todo-arrow:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.todo-arrow:active{transform:translateY(0);box-shadow:0 2px 6px #00000014}.todo-arrow-left{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#fde68a;color:inherit}.todo-arrow-left:hover{background:linear-gradient(135deg,#ffedd5,#fde68a);border-color:#fbbf24}.todo-arrow-right{background:linear-gradient(135deg,#ede9fe,#f5f3ff);border-color:#ddd6fe;color:inherit}.todo-arrow-right:hover{background:linear-gradient(135deg,#ddd6fe,#e9d5ff);border-color:#c4b5fd}.todo-arrow:focus-visible{outline:none;box-shadow:0 0 0 3px #8b5cf640}.collapse-button{background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:20px;height:20px}.collapse-button:hover{background-color:#f1f5f9;color:inherit}.collapse-spacer{width:20px;height:20px}.todo-drag-handle{color:#9ca3af;cursor:grab;font-size:16px}.todo-drag-handle:hover{color:#6b7280}.todo-code{background-color:#f1f5f9;color:#64748b;font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;margin-left:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.todo-description{font-size:14px;color:#64748b;line-height:1.4;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-wbs-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:600;color:#7c3aed;background-color:#f6f5ff;padding:2px 8px;border-radius:999px;text-align:center;min-width:60px}.todo-level{font-size:14px;font-weight:500;color:#1e293b;text-align:center;min-width:40px}.todo-due-date{font-size:12px;color:var(--todo-row-fg, #64748b);text-align:center;min-width:100px;white-space:nowrap}.due-date-input{width:100%;padding:6px 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;color:#1e293b;background-color:#fff;cursor:pointer;transition:all .2s;text-align:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.due-date-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.due-date-input:hover{border-color:#cbd5e1}.due-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}.due-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.simple-date-picker{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;position:relative}.date-display{font-size:12px;color:var(--todo-row-fg, #1e293b);text-align:center;min-height:20px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.date-picker-icon{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:24px;height:24px}.date-picker-icon:hover{background-color:#f1f5f9;color:inherit}.calendar-popover{position:absolute;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;box-shadow:0 24px 40px #0000001f;z-index:1000;width:280px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-weight:600;color:#1e293b}.cal-nav{background:#f4f4f8;border:1px solid #e5e7eb;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#475569;cursor:pointer}.cal-nav:hover{background:#ececf5}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{font-size:11px;color:#94a3b8;text-align:center;padding:6px 0}.cal-empty{height:32px}.calendar-day{height:32px;border-radius:8px;border:1px solid #eef2f7;background:#fff;color:#1e293b;cursor:pointer;transition:all .15s ease-in-out}.calendar-day:hover{background:#f8fafc;border-color:#e5e7eb}.calendar-day.is-today{border-color:#8b5cf6}.calendar-day.is-selected{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.todo-id{display:none}.todo-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:0}.todo-status-dot.to_do{background-color:#64748b}.todo-status-dot.in_progress{background-color:#eab308}.todo-status-dot.completed{background-color:#059669}.todo-actions{display:flex;align-items:center;gap:8px}.todo-action-icon{width:20px;height:20px;color:#9ca3af;cursor:pointer;transition:all .2s;border-radius:6px;padding:2px}.todo-action-icon:hover{color:#6b7280;background-color:#f3f4f6}.todo-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.todo-status:before{content:"";width:8px;height:8px;border-radius:50%;background-color:currentColor;opacity:.9}.todo-status.to_do{background-color:#f1f5f9;color:#475569}.todo-status.in_progress{background-color:#fef9c3;color:#a16207}.todo-status.completed{background-color:#ecfdf5;color:#059669}.todo-status-clickable{cursor:pointer;transition:all .2s}.todo-status-clickable:hover{opacity:.8;transform:scale(1.02)}.todo-status-editor{display:flex;align-items:center}.todo-status-dropdown{position:relative;width:100%}.todo-status-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #0000001f;z-index:1000;margin-top:8px;padding:6px;min-width:180px}.todo-status-option{padding:8px 12px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;border-radius:999px;margin:6px 4px;text-align:left;display:flex;align-items:center;gap:8px;white-space:nowrap}.todo-status-option:before{content:"";width:8px;height:8px;border-radius:50%;background-color:currentColor}.todo-status-option:hover{background-color:#f8fafc;transform:translateY(-1px)}.todo-status-option.selected{background-color:#f1f5f9}.todo-status-option.to_do{background-color:#f1f5f9;color:#64748b}.todo-status-option.to_do:hover{background-color:#e2e8f0}.todo-status-option.in_progress{background-color:#fef9c3;color:#a16207}.todo-status-option.in_progress:hover{background-color:#fde68a}.todo-status-option.completed{background-color:#dcfce7;color:#16a34a}.todo-status-option.completed:hover{background-color:#bbf7d0}.task-status-dropdown-container,.task-status-dropdown-container .task-status-dropdown{position:relative;width:100%}.task-status-dropdown-container .task-status-options{position:absolute;top:100%;left:0;width:120px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #0000001f;z-index:1000;margin-top:8px;padding:6px;min-width:180px}.task-status-dropdown-container .task-status-option{padding:8px 12px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;border-radius:999px;margin:6px 4px;text-align:left;display:flex;align-items:center;gap:8px;white-space:nowrap}.task-status-dropdown-container .task-status-option:before{content:"";width:8px;height:8px;border-radius:50%;background-color:currentColor}.task-status-dropdown-container .task-status-option:hover{background-color:#f8fafc;transform:translateY(-1px)}.task-status-dropdown-container .task-status-option.selected{background-color:#f1f5f9}.task-status-dropdown-container .task-status-option.to_do{background-color:#f1f5f9;color:#64748b}.task-status-dropdown-container .task-status-option.to_do:hover{background-color:#e2e8f0}.task-status-dropdown-container .task-status-option.in_progress{background-color:#fef9c3;color:#a16207}.task-status-dropdown-container .task-status-option.in_progress:hover{background-color:#fde68a}.task-status-dropdown-container .task-status-option.completed{background-color:#dcfce7;color:#16a34a}.task-status-dropdown-container .task-status-option.completed:hover{background-color:#bbf7d0}.task-status-dropdown-container .task-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:all .2s}.task-status-dropdown-container .task-status:before{content:"";width:8px;height:8px;border-radius:50%;background-color:currentColor}.task-status-dropdown-container .task-status.to_do{background-color:#f1f5f9;color:#64748b}.task-status-dropdown-container .task-status.in_progress{background-color:#fef9c3;color:#a16207}.task-status-dropdown-container .task-status.completed{background-color:#dcfce7;color:#16a34a}.task-status-dropdown-container .task-status-clickable:hover{opacity:.8;transform:scale(1.02)}.todo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#64748b}.todo-empty-state h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.todo-empty-state p{font-size:14px;margin:0 0 24px;line-height:1.5}.btn-generate-todos{padding:12px 24px;border:none;background-color:#8b5cf6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px}.btn-generate-todos:hover{background-color:#7c3aed}.btn-generate-todos:disabled{opacity:.5;cursor:not-allowed}.btn-generate-wbs{padding:12px 24px;border:none;background-color:#8b5cf6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px}.btn-generate-wbs:hover{background-color:#7c3aed}.btn-generate-wbs:disabled{opacity:.5;cursor:not-allowed}.btn-convert-todos{padding:12px 24px;border:1px solid #8b5cf6;background-color:#fff;color:#8b5cf6;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-convert-todos:hover{background-color:#8b5cf6;color:#fff}.btn-convert-todos:disabled{opacity:.5;cursor:not-allowed}.add-task-section{display:flex;justify-content:center;padding:20px 0;border-top:1px solid #f1f5f9;margin-top:16px}.add-task-row{border-top:1px solid #f1f5f9}.add-task-inline{display:flex;justify-content:flex-start;padding:0}.add-task-input{width:100%;padding:0 0 0 8px;border:none;border-radius:0;font-size:inherit;line-height:inherit;font-weight:500;color:#1e293b;background-color:transparent;box-sizing:border-box}.add-task-input::placeholder{color:#9ca3af}.add-task-input:focus{outline:none;border-color:transparent;box-shadow:none;background-color:transparent}.btn-add-task{background:none;border:none;color:#1e293b;font-size:inherit;font-weight:500;cursor:pointer;padding:0;border-radius:0;transition:color .2s;display:inline;line-height:inherit}.btn-add-task:hover{background-color:transparent;color:#7c3aed}.btn-add-task:active{background-color:transparent;transform:none}.delete-selected-section{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;background-color:#374151;border-radius:10px;padding:12px 16px;box-shadow:0 20px 30px #00000026}.btn-delete-selected{background-color:#f97316;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-delete-selected:hover{background-color:#ea580c;transform:translateY(-1px);box-shadow:0 4px 8px #f973164d}.btn-delete-selected:active{background-color:#dc2626;transform:translateY(0);box-shadow:0 2px 4px #f973164d}.delete-confirmation-modal{background:#fff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 24px 40px #0000001f;max-width:500px;width:90%;overflow:hidden;position:relative}.delete-confirmation-header{background-color:#fef2f2;border-bottom:1px solid #fecaca;padding:20px 24px}.delete-confirmation-header h3{font-size:18px;font-weight:600;color:#dc2626;margin:0}.delete-confirmation-content{padding:24px}.delete-confirmation-content p{font-size:16px;color:#374151;line-height:1.5;margin:0}.delete-confirmation-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;background-color:#f9fafb;border-top:1px solid #e5e7eb}.btn-cancel-delete{padding:10px 20px;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel-delete:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-confirm-delete{padding:10px 20px;border:none;background-color:#dc2626;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-confirm-delete:hover{background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.btn-confirm-delete:active{background-color:#991b1b;transform:translateY(0);box-shadow:0 2px 4px #dc26264d}.view-all-projects-section{margin-top:20px;padding-top:20px;border-top:1px solid #f1f5f9}.view-all-projects-btn{width:100%;padding:8px 12px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 1px 2px #0000000d}.view-all-projects-btn:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.all-projects-view{min-height:calc(100vh - 48px);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 6px 16px #0000000f;overflow:hidden}.all-projects-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#fff)}.all-projects-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.5px}.btn-back-to-project{padding:10px 16px;border:1px solid #8b5cf6;background:linear-gradient(135deg,#fff,#f8fafc);color:#8b5cf6;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #0000000d}.btn-back-to-project:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf633}.archived-toggle-section{display:flex;align-items:center}.archived-toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;border-radius:8px;transition:all .2s ease;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.archived-toggle-label:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.archived-toggle-checkbox{display:none}.archived-toggle-text{font-size:13px;font-weight:600;color:#64748b;transition:color .2s}.archived-toggle-label:hover .archived-toggle-text{color:#475569}.archived-toggle-switch{position:relative;width:44px;height:24px;background:#e2e8f0;border-radius:10px;transition:all .3s ease;cursor:pointer}.archived-toggle-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.archived-toggle-checkbox:checked+.archived-toggle-switch{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.archived-toggle-checkbox:checked+.archived-toggle-switch:before{transform:translate(20px);box-shadow:0 2px 4px #8b5cf64d}.all-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:32px;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.all-project-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:10px;padding:24px;transition:all .2s ease;box-shadow:0 2px 4px #0000000a;display:flex;flex-direction:column;height:200px;position:relative;overflow:hidden}.all-project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8b5cf6,#3b82f6);transform:scaleX(0);transition:transform .2s ease}.all-project-card:hover{box-shadow:0 8px 16px #00000014;border-color:#cbd5e1;transform:translateY(-2px)}.all-project-card:hover:before{transform:scaleX(1)}.all-project-card-header{margin-bottom:16px;flex-shrink:0;position:relative}.all-project-card-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.2px}.archived-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:10px;font-weight:700;padding:4px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #f973164d}.all-project-card-date{font-size:12px;color:#94a3b8;font-weight:500}.all-project-card-description{font-size:14px;color:#64748b;line-height:1.5;margin:0 0 20px;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis}.all-project-card-actions{display:flex;justify-content:flex-end;flex-shrink:0;margin-top:auto}.btn-view-project{padding:10px 16px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #8b5cf633}.btn-view-project:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf64d}.btn-view-project:active{transform:translateY(0);box-shadow:0 2px 4px #8b5cf633}@media (max-width: 768px){.sidebar{width:200px}.main-content{flex:1}.modal-content-project{max-width:calc(100% - 32px);border-radius:12px}.modal-field-grid{grid-template-columns:1fr;gap:16px}.modal-content-project .modal-actions{flex-direction:column-reverse;align-items:stretch;gap:8px;border-top:none;padding-top:0;margin-top:8px}.modal-content-project .modal-actions button{width:100%}.task-modal-content{padding:0 14px 18px}.task-details-grid{grid-template-columns:1fr;gap:10px}.task-schedule-grid{grid-template-columns:1fr;row-gap:10px}.task-card,.task-card-wide{padding:10px 12px}.task-meta{gap:4px}.logo{flex-direction:column;gap:4px}.projects-header{flex-direction:column;gap:8px;align-items:flex-start}.todo-table{font-size:12px}.todo-table th,.todo-table td{padding:12px 8px}.todo-table th:nth-child(3){width:100px}.todo-table th:nth-child(4){width:110px}.todo-table th:nth-child(5){width:110px}.todo-name{gap:8px}.task-modal-row{grid-template-columns:1fr;column-gap:0;row-gap:12px}.task-schedule-grid{grid-template-columns:1fr;justify-content:stretch;gap:8px}.task-date-field{flex:1 1 100%;max-width:none}.task-modal-date-picker{max-width:none;width:100%}}.task-modal{background:#fff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 24px 40px #0000001f;max-width:820px;width:95%;max-height:88vh;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;background:linear-gradient(180deg,#fff,#f8fafc)}.task-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 0;border-bottom:1px solid #f1f5f9;margin-bottom:16px;background:linear-gradient(180deg,#fff,#fbfbfe)}.task-header-left{display:flex;flex-direction:column;gap:10px;flex:1}.task-modal-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 16px 0 0;line-height:1.2;flex:1}.task-modal-title.editable{cursor:pointer;transition:color .2s;padding:4px 8px;border-radius:6px;margin:-4px -8px}.task-modal-title.editable:hover{color:#7c3aed;background-color:#f8fafc}.task-title-section{flex:1;display:flex;align-items:center;margin-right:12px}.task-title-input{width:100%;padding:8px 12px;border:2px solid #7c3aed;border-radius:8px;font-size:24px;font-weight:700;color:#1e293b;background-color:#fff;font-family:inherit;outline:none;box-sizing:border-box;transition:all .2s;line-height:1.2}.task-title-input:focus{border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed1a}.modal-close-button{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;transition:all .2s}.modal-close-button:hover{background-color:#f1f5f9;color:#475569}.task-modal-content{padding:0 20px 20px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.task-modal-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:16px;row-gap:12px;margin-bottom:16px;align-items:center}.task-modal-row .task-status-section{flex:1;margin-bottom:0}.task-status-section{margin-bottom:14px;display:flex;align-items:center;gap:10px}.task-status-section .task-field-label{margin-bottom:0;min-width:56px}.task-status-select{width:100%;min-width:0;padding:10px 34px 10px 14px;border:1px solid #e2e8f0;border-radius:999px;font-size:16px;color:#1e293b;background-color:#fff;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px}.task-status-select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.task-status-select:hover{border-color:#cbd5e1}.task-status-select option{padding:6px;font-size:15px}.task-field-label{display:block;font-size:14px;font-weight:600;color:#64748b;margin-bottom:6px;text-transform:none;letter-spacing:0}.task-due-date-display{font-size:16px;color:#1e293b;padding:12px 16px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:20px}.task-due-date-input-wrapper{position:relative}.task-due-date-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:999px;font-size:16px;color:#1e293b;background-color:#fff;cursor:pointer;transition:all .2s}.task-due-date-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.task-due-date-input:hover{border-color:#cbd5e1}.task-due-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}.task-due-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.no-due-date-placeholder{position:absolute;top:50%;left:16px;transform:translateY(-50%);color:#9ca3af;font-style:italic;pointer-events:none;font-size:16px}.task-modal-date-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px 8px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:0;width:auto;max-width:180px}.task-date-display{min-width:0;font-size:12px;color:#1e293b;text-align:left}.task-date-picker-icon{background:#f1f5f9;border:1px solid #e2e8f0;color:inherit;cursor:pointer;padding:1px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;width:18px;height:18px}.task-date-picker-icon:hover{background-color:#f1f5f9;color:inherit}.no-due-date,.no-description{color:#9ca3af;font-style:italic}.task-description{font-size:16px;color:#1e293b;line-height:1.6;padding:12px 16px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:80px;white-space:pre-wrap}.task-description-input{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:15px;color:#1e293b;background-color:#fff;font-family:inherit;line-height:1.6;resize:vertical;min-height:110px;max-width:100%;box-sizing:border-box;transition:all .2s}.task-description-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.task-description-input:hover{border-color:#cbd5e1}.task-description-input::placeholder{color:#9ca3af;font-style:italic}.task-meta{display:flex;flex-wrap:wrap;gap:4px}.task-meta-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background-color:#94a3b829;color:#475569;font-size:11px;font-weight:600;letter-spacing:.2px}.task-meta-chip-muted{background-color:#94a3b81a;color:#64748b}.task-meta-chip--status-to_do{background-color:#eef2ff;color:#4338ca}.task-meta-chip--status-in_progress{background-color:#fef3c7;color:#b45309}.task-meta-chip--status-completed{background-color:#dcfce7;color:#15803d}.task-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.task-card{border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px #0f172a14;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.task-card-header{display:flex;flex-direction:column;gap:4px}.task-card-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#1e293b}.task-card-sub{font-size:11px;color:#64748b;line-height:1.4}.task-card-body{display:flex;flex-direction:column;gap:8px}.task-card-body .task-status-section{margin-bottom:0}.task-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));column-gap:10px;row-gap:10px;align-items:stretch}.task-date-field{display:flex;flex-direction:column;gap:6px;min-width:0;flex:0 0 auto}.task-card-wide{padding:12px 16px}.todo-row.has-custom-colors .todo-add-subtask,.todo-row.has-custom-colors .todo-arrow{background:var(--todo-row-bg, #f1f5f9)}
