@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary:#f2f2f2;--bg-secondary:#e8e8e8;--card-bg:#fff;--surface-high:#fff;--surface-input:#fff;--border-color:#00000014;--border-hover:#00000026;--border-active:#141414;--text-primary:#141414;--text-secondary:#555;--text-accent:#141414;--accent-primary:#141414;--accent-hover:#303030;--accent-muted:#0000000d;--accent-ring:#0000001a;--success-color:#10b981;--success-muted:#10b9811a;--warning-color:#f59e0b;--error-color:#ef4444;--error-muted:#ef44441a;--font-ui:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Inter", "Courier New", monospace;--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration-fast:.15s;--duration-base:.22s;--duration-slow:.3s}[data-theme=dark]{--bg-primary:#111;--bg-secondary:#1a1a1a;--card-bg:#1f1f1f;--surface-high:#2a2a2a;--surface-input:#141414;--border-color:#ffffff1a;--border-hover:#fff3;--border-active:#f2f2f2;--text-primary:#f2f2f2;--text-secondary:#a3a3a3;--text-accent:#f2f2f2;--accent-primary:#f2f2f2;--accent-hover:#e0e0e0;--accent-muted:#ffffff14;--accent-ring:#ffffff26}*,:before,:after{box-sizing:border-box}::placeholder{color:var(--text-secondary);opacity:.7}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3a415599;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#6366f166}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.kanban-container{flex-direction:column;height:100%;display:flex}.kanban-header{margin-bottom:1.75rem}.kanban-header h1{letter-spacing:-.025em;color:var(--text-primary);margin:0 0 .25rem;font-size:1.875rem;font-weight:600}.subtitle{color:var(--text-secondary);font-size:.875rem;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.6875rem}.kanban-tabs{border-bottom:1px solid var(--border-color);gap:0;display:flex}.kanban-tab-btn{cursor:pointer;color:var(--text-secondary);font-family:var(--font-ui);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500;display:flex}.kanban-tab-btn svg{flex-shrink:0;width:15px;height:15px}.kanban-tab-btn:hover{color:var(--text-primary)}.kanban-tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.kanban-board{flex:1;gap:1.25rem;padding-top:1.5rem;padding-bottom:1.5rem;display:flex;overflow-x:auto}.kanban-column{background:var(--bg-secondary);border:1px solid var(--border-color);transition:border-color var(--duration-base) var(--ease-out);border-radius:10px;flex-direction:column;flex:0 0 300px;display:flex;overflow:hidden}.kanban-column:hover{border-color:var(--border-hover)}.kanban-column-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.125rem;display:flex}.col-title-wrap{align-items:center;gap:.625rem;display:flex}.kanban-column-header h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:.6875rem;font-weight:500;font-family:var(--font-mono);margin:0}.task-count{color:var(--text-secondary);font-size:.6875rem;font-family:var(--font-mono);background:#ffffff12;border-radius:99px;padding:1px 7px;font-weight:500}.btn-add-task{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;font-size:1.125rem;line-height:1;display:flex}.btn-add-task:hover{color:var(--accent-primary);background:var(--accent-muted);transform:scale(1.15)}.kanban-tasks{flex-direction:column;flex:1;gap:.625rem;padding:.875rem;display:flex;overflow-y:auto}.kanban-card{background:var(--card-bg);border:1px solid var(--border-color);cursor:grab;transition:transform var(--duration-base) var(--ease-spring), border-color var(--duration-base) var(--ease-out), background var(--duration-fast) var(--ease-out);border-radius:8px;padding:1rem 1.125rem}.kanban-card:hover{border-color:var(--border-hover);background:var(--surface-high);transform:translateY(-2px)}.kanban-card:active{cursor:grabbing;transform:translateY(-1px)}.kanban-card.is-done{opacity:.55}.kanban-card.is-done .card-title{color:var(--text-secondary);text-decoration:line-through}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.card-title{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:400;line-height:1.5}.card-check{color:var(--success-color);background:var(--success-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:.5rem;font-size:.8125rem;font-weight:600;display:flex}.kanban-loading{height:200px;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.75rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#080b10bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);width:100%;max-width:580px;animation:modalSlideUp var(--duration-slow) var(--ease-spring) both;border-radius:14px;flex-direction:column;display:flex;box-shadow:0 24px 48px #0006,0 0 0 1px #6366f114}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.375rem 1.75rem;display:flex}.modal-title-input{color:var(--text-primary);width:100%;font-size:1.125rem;font-weight:500;font-family:var(--font-ui);background:0 0;border:none;outline:none}.modal-title-input::placeholder{color:var(--text-secondary)}.btn-icon{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;font-size:1.25rem;display:flex}.btn-icon:hover{color:var(--text-primary);background:var(--accent-muted)}.modal-body{flex-direction:column;gap:1.75rem;padding:1.75rem;display:flex}.modal-desc-input{color:var(--text-primary);resize:none;min-height:90px;font-size:.875rem;font-family:var(--font-ui);background:0 0;border:none;outline:none;line-height:1.6}.modal-desc-input::placeholder{color:var(--text-secondary)}.todos-section h4{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.08em;font-size:.6875rem;font-family:var(--font-mono);margin:0 0 .875rem;font-weight:500}.todo-list{flex-direction:column;gap:.375rem;margin-bottom:.875rem;display:flex}.todo-item{background:var(--accent-muted);transition:background var(--duration-fast) var(--ease-out);border-radius:6px;align-items:center;gap:.625rem;padding:.5rem .625rem;display:flex}.todo-item:hover{background:var(--accent-ring)}.todo-item input[type=checkbox]{accent-color:var(--accent-primary);flex-shrink:0;width:14px;height:14px}.todo-item span{color:var(--text-primary);flex:1;font-size:.875rem}.todo-item.done span{color:var(--text-secondary);text-decoration:line-through}.btn-icon-small{color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;align-items:center;padding:.125rem;font-size:.875rem;display:flex}.todo-item:hover .btn-icon-small{opacity:1}.btn-icon-small:hover{color:var(--error-color)}.todo-input-row{gap:.5rem;display:flex}.todo-input-row input{background:var(--surface-input);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-ui);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:6px;outline:none;flex:1;padding:.625rem .875rem;font-size:.875rem}.todo-input-row input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-ring)}.btn-secondary{background:var(--accent-muted);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;font-weight:500;font-family:var(--font-ui);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:7px;padding:.625rem 1.25rem;font-size:.875rem}.btn-secondary:hover{background:var(--accent-ring);border-color:var(--border-hover)}.btn-primary{background:var(--accent-primary);color:var(--bg-primary);cursor:pointer;font-weight:500;font-family:var(--font-ui);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);border:none;border-radius:7px;padding:.625rem 1.375rem;font-size:.875rem}.btn-primary:hover{background:var(--accent-hover)}.btn-text{color:var(--text-secondary);cursor:pointer;font-weight:500;font-family:var(--font-ui);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.btn-text:hover{color:var(--text-primary);background:var(--accent-muted)}.modal-footer{border-top:1px solid var(--border-color);align-items:center;gap:.75rem;padding:1.125rem 1.75rem;display:flex}.spacer{flex:1}.btn-success{background:var(--success-muted);color:var(--success-color);cursor:pointer;font-weight:500;font-family:var(--font-ui);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #4ade8033;border-radius:7px;padding:.625rem 1.375rem;font-size:.875rem}.btn-success:hover{background:#4ade8033;border-color:#4ade8059}.status-badge.done{color:var(--success-color);font-size:.8125rem;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;font-size:.6875rem;display:flex}.status-badge.done:before{content:"✓"}.dashboard-container{background:var(--bg-primary);width:100vw;height:100vh;color:var(--text-primary);font-family:var(--font-ui);display:flex;overflow:hidden}.sidebar{background:color-mix(in srgb, var(--card-bg) 80%, transparent);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;gap:0;width:260px;padding:1.75rem 1.25rem 1.5rem;display:flex;position:relative}.sidebar-brand{border-bottom:1px solid var(--border-color);margin-bottom:1.25rem;padding:0 .5rem 1.75rem}.sidebar h2{letter-spacing:-.02em;color:var(--text-primary);font-size:1.0625rem;font-weight:700;font-family:var(--font-ui);margin:0 0 .125rem}.sidebar-tagline{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.625rem}.nav-links{flex-direction:column;flex:1;gap:.25rem;display:flex}.nav-section-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);opacity:.7;margin:.75rem 0 .375rem;padding:0 .75rem;font-size:.625rem}.nav-link{color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border-left:2px solid #0000;border-radius:7px;align-items:center;gap:.625rem;margin-left:-1px;padding:.625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link svg{opacity:.7;width:16px;height:16px;transition:opacity var(--duration-fast) var(--ease-out);flex-shrink:0}.nav-link:hover{background:var(--accent-muted);color:var(--text-primary)}.nav-link:hover svg{opacity:1}.nav-link.active{background:var(--accent-muted);color:var(--text-accent);border-left-color:var(--accent-primary)}.nav-link.active svg{opacity:1;color:var(--accent-primary)}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:1.25rem}.sidebar-user{transition:background var(--duration-fast) var(--ease-out);cursor:pointer;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem;display:flex}.sidebar-user:hover{background:var(--accent-muted)}.user-avatar{background:var(--accent-muted);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.user-role{color:var(--text-secondary);font-size:.6875rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.main-content{flex:1;min-width:0;padding:2.5rem 3rem;position:relative;overflow-y:auto}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.dashboard-header h1{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .25rem;font-size:1.75rem;font-weight:600}.dashboard-subtitle{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.6875rem}.grid-view{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.125rem;display:grid}.card{background:var(--card-bg);border:1px solid var(--border-color);transition:transform var(--duration-base) var(--ease-spring), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);color:inherit;border-radius:12px;flex-direction:column;gap:.875rem;padding:1.375rem;text-decoration:none;display:flex;position:relative;box-shadow:0 1px 3px #0000000d}.card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.card h3{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.card p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.55}.card-date{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);opacity:.7;margin:auto 0 0;font-size:.6875rem}.client-badge{background:var(--accent-muted);border:1px solid var(--border-color);color:var(--text-accent);white-space:nowrap;border-radius:99px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-flex}.card-delete-btn{color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:1.125rem;right:1.125rem}.card:hover .card-delete-btn{opacity:1}.card-delete-btn:hover{color:var(--error-color);background:var(--error-muted)}.creation-form{background:color-mix(in srgb, var(--card-bg) 50%, transparent);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:.875rem;margin-bottom:1.75rem;padding:1.25rem 1.375rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.375rem;min-width:160px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:.6875rem;font-weight:500;font-family:var(--font-mono)}.form-group input,.form-group select{background:var(--surface-input);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-ui);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);appearance:none;border-radius:7px;width:100%;padding:.625rem .875rem;font-size:.875rem}.form-group input:focus,.form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-ring);outline:none}.form-group select option{background:var(--bg-secondary);color:var(--text-primary)}.btn-primary{background:linear-gradient(180deg, var(--accent-hover) 0%, var(--accent-primary) 100%);color:var(--bg-primary);cursor:pointer;font-weight:500;font-family:var(--font-ui);height:fit-content;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);white-space:nowrap;border:none;border-radius:7px;padding:.625rem 1.375rem;font-size:.875rem;box-shadow:inset 0 -1px 1px #0003,inset 0 0 0 1px #0000001f,0 1px 3px #0000002b,inset 0 2px #ffffff26}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty-state{text-align:center;background:color-mix(in srgb, var(--card-bg) 30%, transparent);border:1px dashed var(--border-color);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;padding:4rem 2rem;display:flex}.empty-state-icon{width:40px;height:40px;color:var(--text-secondary);opacity:.4;margin-bottom:.25rem}.empty-state h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.empty-state p{color:var(--text-secondary);max-width:320px;margin:0;font-size:.875rem;line-height:1.6}.error-alert{color:var(--error-color);background:var(--error-muted);font-size:.8125rem;font-family:var(--font-ui);border:1px solid #f8717133;border-radius:7px;padding:.75rem 1rem}.loading-state{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;padding:2rem 0;font-size:.6875rem;display:flex}.tag{background:var(--accent-muted);border:1px solid var(--border-color);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:99px;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:500;text-decoration:none;display:inline-flex}.tag:hover{background:var(--accent-ring);border-color:var(--border-hover);color:var(--text-primary)}.user-name-hover:hover{color:var(--accent-primary)!important}:root{--portal-bg:var(--bg-primary);--portal-surface:var(--bg-secondary);--portal-card:var(--card-bg);--portal-border:var(--border-color);--portal-accent:var(--accent-primary);--portal-accent-glow:var(--accent-muted);--portal-text:var(--text-primary);--portal-muted:var(--text-secondary);--portal-success:var(--success-color);--portal-success-bg:var(--success-muted)}.portal-container{background:var(--portal-bg);width:100vw;min-height:100dvh;color:var(--portal-text);font-family:var(--font-ui);box-sizing:border-box;flex-direction:column;align-items:center;padding:4rem 2rem 6rem;display:flex;position:relative;overflow-x:hidden}.portal-container:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f114 0%,#0000 65%);border-radius:50%;width:560px;height:560px;position:fixed;top:-120px;left:-120px}.portal-container:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#4ade800a 0%,#0000 65%);border-radius:50%;width:480px;height:480px;position:fixed;bottom:-200px;right:-100px}.portal-content{z-index:1;flex-direction:column;gap:3rem;width:100%;max-width:860px;display:flex;position:relative}.portal-header{border-bottom:1px solid var(--portal-border);padding-bottom:2rem}.portal-logo-bar{align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.portal-logo-mark{background:var(--portal-accent);border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.portal-logo-mark svg{width:16px;height:16px;color:var(--bg-primary)}.portal-logo-name{color:var(--portal-text);letter-spacing:-.01em;font-size:.8125rem;font-weight:600}.portal-header h1{letter-spacing:-.03em;color:var(--portal-text);margin:0 0 .625rem;font-size:2.25rem;font-weight:600;line-height:1.15}.portal-header p{color:var(--portal-muted);max-width:580px;margin:0;font-size:1rem;line-height:1.65}.deliverables-section{flex-direction:column;gap:1.25rem;display:flex}.section-label,.deliverables-section h2{text-transform:uppercase;letter-spacing:.1em;color:var(--portal-muted);font-size:.6875rem;font-weight:500;font-family:var(--font-mono);margin:0}.deliverable-card{background:color-mix(in srgb, var(--portal-card) 60%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid var(--portal-border);border-radius:14px;flex-direction:column;gap:1rem;padding:1.75rem;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s,background .15s,box-shadow .15s;animation:.5s ease-out both deliverableFadeIn;display:flex;box-shadow:0 1px 3px #0000000d}.deliverable-card:first-child{animation-delay:0s}.deliverable-card:nth-child(2){animation-delay:60ms}.deliverable-card:nth-child(3){animation-delay:.12s}.deliverable-card:nth-child(4){animation-delay:.18s}.deliverable-card:nth-child(5){animation-delay:.24s}@keyframes deliverableFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.deliverable-card:hover{background:color-mix(in srgb, var(--portal-card) 80%, transparent);border-color:var(--border-hover);transform:translateY(-3px);box-shadow:0 4px 12px #00000014}.deliverable-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.deliverable-title{color:var(--portal-text);letter-spacing:-.01em;align-items:center;gap:.625rem;margin:0;font-size:1.0625rem;font-weight:500;display:flex}.check-icon{color:var(--portal-success);background:var(--portal-success-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.project-tag{background:var(--accent-muted);color:var(--portal-muted);border:1px solid var(--border-color);white-space:nowrap;font-size:.6875rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;border-radius:99px;flex-shrink:0;padding:.25rem .75rem}.deliverable-desc{color:var(--portal-muted);margin:0;font-size:.9375rem;line-height:1.65}.portal-empty{text-align:center;color:var(--portal-muted);background:var(--portal-card);-webkit-backdrop-filter:blur(16px);border:1px dashed var(--portal-border);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;padding:4.5rem 2rem;display:flex}.portal-empty-icon{width:36px;height:36px;color:var(--portal-muted);opacity:.4}.portal-empty h3{color:var(--portal-text);margin:0;font-size:1rem;font-weight:600}.portal-empty p{max-width:300px;margin:0;font-size:.875rem;line-height:1.6}.documents-section{flex-direction:column;gap:1rem;animation:.5s ease-out .15s both deliverableFadeIn;display:flex}.document-row{background:var(--portal-card);border:1px solid var(--portal-border);color:inherit;border-radius:10px;align-items:center;gap:.875rem;padding:.875rem 1.25rem;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .15s;display:flex}.document-row:hover{border-color:var(--border-hover);transform:translate(3px)}.document-icon{width:36px;height:36px;color:var(--portal-accent);background:#6366f11a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.document-info{flex:1;min-width:0}.document-name{color:var(--portal-text);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:500;overflow:hidden}.document-meta{color:var(--portal-muted);font-size:.6875rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.timeline-section{flex-direction:column;gap:1rem;animation:.5s ease-out .25s both deliverableFadeIn;display:flex}.timeline-item{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:10px;align-items:flex-start;gap:1rem;padding:1.125rem 1.375rem;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .15s;display:flex}.timeline-item:hover{border-color:var(--border-hover);transform:translateY(-2px)}.timeline-dot{background:var(--portal-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.timeline-dot.done{background:var(--portal-success)}.timeline-dot.pending{background:var(--portal-muted);opacity:.5}.timeline-label{color:var(--portal-text);font-size:.9375rem;font-weight:500}.timeline-date{color:var(--portal-muted);font-size:.6875rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem}.group:hover .bg-glow{opacity:1!important}
