:root{--color-primary:#4caf50;--color-primary-hover:#45a049;--color-primary-active:#388e3c;--color-accent:#1565c0;--color-accent-hover:#0d47a1;--color-danger:#c62828;--color-danger-hover:#b71c1c;--color-warning:#f57f17;--color-warning-light:#fff8e1;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--text-white:#fff;--bg-dark:#282c34;--bg-page:#f5f5f5;--bg-card:#fff;--bg-alt:#f9f9f9;--bg-input:#fff;--border:#ddd;--border-alt:#dee2e6;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 10px #0000001a;--shadow-lg:0 4px 8px #00000026;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:20px;--space-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:16px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-sm:12px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:24px}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#282c34;background-color:var(--bg-dark);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:14px;font-size:var(--font-base);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);outline:none}.profile-icon{cursor:pointer;height:40px;position:absolute;right:20px;top:20px;width:40px;z-index:1000}.profile-icon img{border-radius:50%;filter:brightness(0) saturate(100%) invert(38%) sepia(72%) saturate(500%) hue-rotate(90deg) brightness(95%) contrast(85%);height:100%;object-fit:cover;transition:box-shadow .2s ease;width:100%}.profile-icon img:hover{box-shadow:var(--shadow-lg)}.profile-background{padding:var(--space-sm);position:fixed;right:5vh;top:60px;z-index:1000}.profile-background,.profile-panel{align-items:center;display:flex;justify-content:center}.profile-panel{background-color:var(--color-primary);border-radius:var(--radius-lg);box-shadow:0 5px 15px #0000004d;box-sizing:border-box;flex-direction:column;max-width:220px;min-width:220px;padding:var(--space-lg);width:220px}.admin-portal{bottom:20px;position:absolute;right:20px}.google-login-btn{background-color:#4285f4;border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);padding:var(--space-sm) var(--space-md);position:absolute;right:10px;top:60px;transition:background-color .2s ease}.google-login-btn:hover{background-color:#3367d6}.settings-list{box-sizing:border-box;margin-bottom:6px;margin-top:4px;padding-left:10px;width:100%}.settings-list-item{align-items:center;background:#0000;border:none;color:var(--text-white);cursor:pointer;display:flex;font-size:.85rem;gap:6px;justify-content:flex-start;padding:3px 0;text-align:left;width:100%}.settings-list-item:hover{opacity:.85}.settings-subitem{align-items:center;display:flex;gap:8px;justify-content:flex-start}.settings-subitem-arrow{font-size:.85rem;line-height:1}@media (max-width:500px){.profile-icon{height:30px;right:10px;top:10px;width:30px}}.Home{text-align:center}.Home-logo{filter:brightness(0) invert(1);height:auto;margin-bottom:3vh;max-width:100%;pointer-events:none;width:60vh}.Home-header{font-size:calc(10px + 2vmin);min-height:100vh}.Home-header,.center{align-items:center;display:flex;flex-direction:column;justify-content:center}.center{max-width:100%;width:60vh}.center .Home-logo{max-width:60vh}.Home-link{color:#61dafb}.industrial-button{background-color:#4a4a4a;border:2px solid #333;border-radius:var(--radius-sm);box-shadow:0 4px 6px #0006;color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:700;letter-spacing:1px;margin:var(--space-sm);padding:var(--space-sm) 12px;transition:background-color .2s ease,transform .2s ease;width:100%}.industrial-button:hover{background-color:#5c5c5c;transform:translateY(-2px)}.industrial-button:active{background-color:#333;box-shadow:0 2px 4px #0009;transform:translateY(0)}@media (max-width:500px){.Home-logo{width:150px}.industrial-button{max-width:200px}}.about-content{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:var(--space-lg);position:relative}.text-content{margin-bottom:var(--space-xl);max-width:800px;text-align:center}.bullet-points,.text-content h2,.text-content p{color:var(--text-white)}.image-gallery{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-around;width:80%}.image-gallery img{border-radius:var(--radius-sm);height:auto;object-fit:cover;width:calc(50% - 10px)}@media (max-width:500px){.image-gallery{align-items:center;flex-direction:column;width:100%}.image-gallery img{max-width:300px;width:100%}}.request-details{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:10vh auto var(--space-lg);max-width:800px;padding:var(--space-lg)}.request-details p{font-size:var(--font-md);margin:10px 0}.request-details p,.request-details strong{color:var(--text-primary)}.request-details h2{color:var(--color-primary);margin-top:0}.request-details h3{color:var(--color-primary);font-size:var(--font-lg);margin-top:var(--space-lg)}.request-details ul{list-style-type:none;padding:0}.request-details li{margin:10px 0}.request-details button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);padding:10px 15px;transition:background-color .2s ease}.request-details button:hover{background-color:var(--color-primary-hover)}.no-files{color:var(--text-muted);font-size:var(--font-base)}@media screen and (max-width:768px){.request-details{margin:var(--space-lg) var(--space-sm);padding:var(--space-md)}.request-details h2,.request-details h3{font-size:var(--font-lg)}.request-details p{font-size:var(--font-base)}.request-details button{padding:8px 12px;width:100%}}.requests{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:var(--space-lg);padding:var(--space-lg)}.requests h2{color:var(--color-primary);font-size:var(--font-xl);margin-bottom:var(--space-lg);margin-top:0}.search-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.search-input{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1 180px;font-size:var(--font-base);padding:9px 12px;transition:border-color .2s ease}.search-input:focus{border-color:var(--color-primary);outline:none}.search-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;padding:9px 16px;transition:background-color .2s ease;white-space:nowrap}.search-button:hover{background-color:var(--color-primary-hover)}.search-button:active{background-color:var(--color-primary-active)}.requests-table{border-collapse:collapse;color:var(--text-primary);font-family:var(--font-family);margin-top:var(--space-sm);width:100%}.requests-table thead{background-color:var(--color-primary);color:var(--text-white)}.requests-table td,.requests-table th{border-bottom:1px solid var(--border);padding:12px 15px;text-align:left}.requests-table th{font-size:var(--font-base);font-weight:600}.requests-table tbody{background-color:var(--bg-card)}.requests-table tbody tr,.table-row{cursor:pointer;transition:background-color .2s ease}.requests-table tbody tr:hover,.table-row:hover{background-color:#f1f1f1}.requests-table td{font-size:var(--font-base)}.sortable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.sortable:after{content:"⬍";font-size:var(--font-sm);opacity:.7;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.filterable{cursor:pointer}.filtered{color:var(--color-primary);font-weight:700}.star-button{background-color:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--font-sm);font-weight:600;padding:5px 12px;transition:background-color .2s ease,border-color .2s ease;white-space:nowrap}.star-button:hover{background-color:var(--border)}@media screen and (max-width:768px){.requests{margin:var(--space-sm);padding:var(--space-md)}.requests-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.requests-table td,.requests-table th{font-size:var(--font-sm);padding:10px 8px}.search-container{align-items:stretch;flex-direction:column}.search-input{flex:1 1 auto;width:100%}.search-button{width:100%}}.job-page{font-family:var(--font-family);margin:0;padding:0}.top-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.top-bar-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;padding:9px 16px;transition:background-color .2s ease;white-space:nowrap}.top-bar-button:hover{background-color:var(--color-primary-hover)}.top-bar-button:active{background-color:var(--color-primary-active)}.job-details{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:var(--space-lg) 0;padding:var(--space-lg)}.job-details h2{color:var(--color-primary);margin-bottom:var(--space-sm);margin-top:0}.job-details p{color:var(--text-primary);font-size:var(--font-base);margin:5px 0}.update-po-form{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.po-input{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1 180px;font-size:var(--font-base);padding:10px 12px;transition:border-color .2s ease}.po-input:focus{border-color:var(--color-primary);outline:none}.po-button{background-color:var(--color-primary-active);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;flex:0 0 auto;font-size:var(--font-base);font-weight:600;padding:10px 20px;transition:background-color .2s ease;white-space:nowrap}.po-button:hover{background-color:var(--color-primary-hover)}.po-button:active{background-color:var(--color-primary)}.job-notes-container{display:flex;gap:var(--space-lg);justify-content:space-between;margin:0 var(--space-sm)}.notes-section{background-color:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:1 1;max-height:400px;overflow-y:auto;padding:var(--space-md)}.notes-section h3{color:var(--color-primary);margin-top:0}.notes-textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-family);font-size:var(--font-base);height:60px;margin-bottom:var(--space-sm);padding:var(--space-sm);resize:vertical;transition:border-color .2s ease;width:100%}.notes-textarea:focus{border-color:var(--color-primary);outline:none}.notes-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;margin-bottom:var(--space-sm);padding:9px 16px;transition:background-color .2s ease}.notes-button:hover{background-color:var(--color-primary-hover)}.notes-list{list-style-type:none;margin:0;padding:0}.note-item{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md)}.note-item p{color:var(--text-primary);font-size:var(--font-base);margin:4px 0}.centered-button-container{align-items:center;display:flex;justify-content:center}@media screen and (max-width:768px){.job-notes-container,.update-po-form{flex-direction:column}.po-button{width:100%}.notes-textarea{height:80px}.top-bar{flex-direction:column}.top-bar-button{width:100%}}.container{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:40px auto;max-width:420px;padding:var(--space-xl);text-align:center}.header{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin-bottom:var(--space-lg)}.container-form{display:flex;flex-direction:column;gap:var(--space-md)}.container-form input,.container-form textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-md);padding:12px var(--space-md);transition:border-color .2s ease;width:100%}.container-form input:focus,.container-form textarea:focus{border-color:var(--color-accent);outline:none}.container-form button{background-color:var(--color-accent);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:600;padding:12px var(--space-md);transition:background-color .2s ease}.container-form button:hover{background-color:var(--color-accent-hover)}.container-form a{color:var(--color-accent);font-size:var(--font-base);margin-top:var(--space-sm);text-decoration:none}.container-form a:hover{text-decoration:underline}.container .error-message,.container p{color:var(--color-danger);font-size:var(--font-base);margin-top:var(--space-sm)}@media screen and (max-width:480px){.container{margin:var(--space-lg) var(--space-md);padding:var(--space-lg)}}.jarvis-container{color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:calc(100vh - 60px)}.jarvis-tabs{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:4px;padding:10px 16px}.jarvis-tab{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;position:relative;transition:background .15s,color .15s}.jarvis-tab:hover{background:#e8e8e8}.jarvis-tab.active{background:#007bff;border-color:#007bff;color:#fff}.jarvis-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:10px;font-weight:700;line-height:16px;min-width:16px;padding:1px 5px;position:absolute;right:-6px;text-align:center;top:-6px}.jarvis-panel{flex:1 1;overflow:hidden}.chat-container,.jarvis-panel{display:flex;flex-direction:column}.chat-container{background:#fafafa;height:100%}.chat-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px}.chat-header h3{color:#333;font-size:15px;margin:0}.chat-server-time{color:#888;font-size:12px}.chat-actions{display:flex;gap:8px}.chat-messages{flex:1 1;gap:10px;overflow-y:auto;padding:16px}.chat-message,.chat-messages{display:flex;flex-direction:column}.chat-message{max-width:72%}.chat-message.user{align-items:flex-end;align-self:flex-end}.chat-message.assistant{align-items:flex-start;align-self:flex-start}.chat-message.system{align-items:center;align-self:center;max-width:90%}.chat-bubble{border-radius:16px;font-size:14px;line-height:1.5;padding:10px 14px;white-space:pre-wrap;word-break:break-word}.chat-message.user .chat-bubble{background:#007bff;border-bottom-right-radius:4px;color:#fff}.chat-message.assistant .chat-bubble{background:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:4px;color:#333}.chat-message.system .chat-bubble{background:#f0f0f0;border-radius:8px;color:#666;font-size:13px;text-align:center}.markdown-body.chat-bubble{white-space:normal}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 10px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-weight:600;line-height:1.3;margin:16px 0 8px}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body h4{font-size:1em}.markdown-body ol,.markdown-body ul{margin:0 0 10px;padding-left:22px}.markdown-body li{margin:3px 0}.markdown-body li>p{margin:0}.markdown-body a{color:#0069d9;text-decoration:underline}.chat-message.user .markdown-body a{color:#fff}.markdown-body blockquote{border-left:3px solid #d0d0d0;color:#666;margin:0 0 10px;padding:4px 12px}.markdown-body code{background:#87837826;border-radius:4px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.875em;padding:1px 5px}.markdown-body pre{background:#1e1e1e;border-radius:8px;color:#e6e6e6;margin:0 0 10px;overflow-x:auto;padding:12px 14px}.markdown-body pre code{background:none;color:inherit;font-size:.85em;padding:0}.chat-message.user .markdown-body code{background:#ffffff38}.markdown-body table{border-collapse:collapse;font-size:.92em;margin:0 0 10px;width:100%}.markdown-body td,.markdown-body th{border:1px solid #ddd;padding:6px 10px;text-align:left}.markdown-body th{background:#f5f5f5;font-weight:600}.markdown-body hr{border:none;border-top:1px solid #e0e0e0;margin:14px 0}.markdown-body img{border-radius:6px;max-width:100%}.chat-message-label{color:#aaa;font-size:11px;margin-bottom:3px;padding:0 4px}.chat-attachment{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#555;font-size:12px;margin-top:6px;padding:6px 10px}.chat-attachment summary{cursor:pointer;font-weight:600}.chat-attachment pre{font-size:11px;margin:8px 0 0;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.chat-input-row{align-items:center;background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.chat-input-row input[type=text]{border:1px solid #ccc;border-radius:20px;flex:1 1;font-size:14px;outline:none;padding:9px 12px}.chat-input-row input[type=text]:focus{border-color:#007bff}.chat-btn{border:none;border-radius:20px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .15s}.chat-btn.primary{background:#007bff;color:#fff}.chat-btn.primary:hover{background:#0069d9}.chat-btn.primary:disabled{background:#90c0ff;cursor:not-allowed}.chat-btn.secondary{background:#f5f5f5;border:1px solid #ddd;color:#555}.chat-btn.secondary:hover{background:#e8e8e8}.chat-btn.danger{background:#dc3545;color:#fff}.chat-btn.danger:hover{background:#c82333}.chat-btn.icon{background:none;border:1px solid #ddd;border-radius:50%;color:#555;font-size:16px;padding:8px 10px}.chat-btn.icon:hover{background:#f5f5f5}.chat-bottom-bar{background:#fff;display:flex;justify-content:flex-end;padding:6px 16px 10px}.requests-layout{display:flex;height:100%;overflow:hidden}.requests-sidebar{background:#fff;border-right:1px solid #e0e0e0;flex-shrink:0;min-width:220px;overflow-y:auto;width:30%}.requests-sidebar-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.requests-sidebar-header h4{color:#333;font-size:14px;margin:0}.requests-detail{background:#fafafa;flex:1 1;overflow-y:auto;padding:24px}.requests-empty{color:#aaa;font-size:14px;margin-top:60px;text-align:center}.requests-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 14px;transition:background .1s}.requests-item:hover{background:#f9f9f9}.requests-item.selected{background:#e8f0fe;border-left:3px solid #007bff}.requests-item-title{color:#333;font-size:13px;font-weight:600;margin-bottom:4px}.requests-item-time{color:#aaa;font-size:11px}.requests-detail h3{color:#222;font-size:17px;margin:0 0 8px}.requests-detail-time{color:#888;font-size:12px;margin-bottom:16px}.requests-detail-desc{color:#444;font-size:14px;line-height:1.6;margin-bottom:16px}.requests-payload-block{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;font-family:monospace;font-size:12px;margin-bottom:20px;max-height:240px;overflow-x:auto;overflow-y:auto;padding:12px 14px;white-space:pre-wrap;word-break:break-all}.requests-detail-section{margin-bottom:20px}.requests-detail-label{color:#888;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.requests-api-call{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;display:flex;font-family:monospace;font-size:13px;gap:10px;padding:10px 12px;word-break:break-all}.requests-method{background:#6c757d;border-radius:4px;color:#fff;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 8px}.requests-method-get{background:#0d6efd}.requests-method-post{background:#28a745}.requests-method-put{background:#fd7e14}.requests-method-delete{background:#dc3545}.requests-endpoint{color:#333}.requests-template-tag{color:#888;font-size:12px;margin-top:8px}.requests-template-tag code{background:#eef;border-radius:4px;color:#4338ca;font-size:12px;padding:1px 6px}.requests-actions{display:flex;gap:10px;margin-bottom:16px}.requests-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:9px 20px;transition:background .15s}.requests-btn.submit{background:#28a745;color:#fff}.requests-btn.submit:hover{background:#218838}.requests-btn.submit:disabled{background:#8fd19e;cursor:not-allowed}.requests-btn.reject{background:#dc3545;color:#fff}.requests-btn.reject:hover{background:#c82333}.requests-confirm-box{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:13px;margin-bottom:14px;padding:12px 14px}.requests-confirm-box p{margin:0 0 10px}.modal-backdrop{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-card{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;max-width:94vw;padding:28px 28px 20px;width:420px}.modal-card h4{color:#222;font-size:16px;margin:0 0 14px}.modal-card textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;min-height:90px;outline:none;padding:10px;resize:vertical;width:100%}.modal-card textarea:focus{border-color:#007bff}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 18px}.modal-btn.retry{background:#007bff;color:#fff}.modal-btn.retry:hover{background:#0069d9}.modal-btn.finish{background:#6c757d;color:#fff}.modal-btn.finish:hover{background:#5a6268}.modal-btn.cancel{background:#f5f5f5;border:1px solid #ddd;color:#555}.modal-btn.cancel:hover{background:#e8e8e8}.todo-container{box-sizing:border-box;height:100%;margin:0 auto;max-width:640px;overflow-y:auto;padding:24px 16px;width:100%}.todo-container h3{color:#222;font-size:18px;margin:0 0 18px}.todo-add-card{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.todo-description-input,.todo-title-input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;outline:none;padding:9px 12px;width:100%}.todo-description-input{min-height:44px;resize:vertical}.todo-description-input:focus,.todo-title-input:focus{border-color:#007bff}.todo-add-actions{display:flex;justify-content:flex-end}.todo-add-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:9px 18px}.todo-add-btn:hover{background:#0069d9}.todo-add-btn:disabled{background:#90c0ff;cursor:not-allowed}.todo-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.todo-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:10px;padding:11px 14px}.todo-item.done{opacity:.6}.todo-item-main{flex:1 1;min-width:0}.todo-item-header{align-items:center;display:flex;gap:8px}.todo-item-title{color:#333;font-size:14px;font-weight:600;word-break:break-word}.todo-item-description{color:#666;font-size:13px;line-height:1.4;margin:4px 0 0;white-space:pre-wrap;word-break:break-word}.todo-item.done .todo-item-title{color:#999;text-decoration:line-through}.todo-item.done .todo-item-description{color:#aaa;text-decoration:line-through}.todo-badge{background:#e8f0fe;border-radius:10px;color:#1a73e8;font-size:10px;font-weight:700;padding:2px 7px;white-space:nowrap}.todo-done-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:500;padding:5px 12px}.todo-done-btn:hover{background:#218838}.todo-done-btn:disabled{background:#8fd19e;cursor:not-allowed}.todo-clear-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:13px;margin-top:20px;padding:8px 18px}.todo-clear-btn:hover{background:#e8e8e8}.todo-empty{color:#aaa;font-size:14px;padding:40px 0;text-align:center}