.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);padding:var(--space-md)}.auth-card{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:var(--space-2xl)}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-header h1{font-size:1.75rem;margin-bottom:var(--space-sm);color:var(--primary-dark)}.auth-header p{font-size:.95rem;color:var(--neutral-500)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form label{display:block;font-weight:600;color:var(--neutral-700);margin-bottom:var(--space-xs);font-size:.9rem}.auth-form input{width:100%;padding:var(--space-sm);border:1px solid var(--neutral-300);border-radius:var(--radius-md);font-size:1rem}.auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a5c2f1a}.auth-instruction{font-size:.95rem;color:var(--neutral-600);text-align:center;margin-bottom:var(--space-md)}.auth-form button[type=submit]{width:100%;background-color:var(--primary);color:#fff;padding:.75rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.auth-form button[type=submit]:hover:not(:disabled){background-color:var(--primary-light)}.auth-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-form button[type=button]{background-color:var(--neutral-100);color:var(--neutral-700);padding:.75rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.auth-form button[type=button]:hover{background-color:var(--neutral-200)}.error-message{background-color:#fee2e2;border-left:4px solid var(--danger);color:#b91c1c;padding:var(--space-sm);border-radius:var(--radius-md);font-size:.9rem;text-align:center}.auth-footer{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--neutral-200)}.auth-footer p{font-size:.85rem;color:var(--neutral-500)}.task-form,.calendar-form{display:flex;flex-direction:column;gap:var(--space-md);background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--accent)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-weight:600;color:var(--neutral-700);font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:var(--space-sm);border:1px solid var(--neutral-300);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a5c2f1a}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-group .error-message{margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:#fee2e2;border-left:3px solid var(--danger);color:#991b1b;font-size:.85rem;border-radius:var(--radius-sm)}.form-group button{background-color:var(--primary);color:#fff;padding:.75rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s;width:100%}.form-group button:hover:not(:disabled){background-color:var(--primary-light)}.form-group button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.tasks-tab{display:flex;flex-direction:column;gap:var(--space-lg)}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.tasks-header h2{margin:0}.task-form{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--accent)}.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-lg)}.kanban-column{background-color:var(--neutral-100);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column}.kanban-column h3{font-size:1.1rem;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:2px solid var(--primary);color:var(--primary-dark)}.task-list{display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.task-card{background-color:#fff;border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border-left:4px solid var(--accent);transition:box-shadow .2s,transform .2s}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm)}.task-header h4{margin:0;font-size:.95rem;color:var(--neutral-800);flex:1}.task-header button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.25rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.task-header button:hover{opacity:1}.task-description{font-size:.85rem;color:var(--neutral-600);margin-bottom:var(--space-xs);line-height:1.4}.task-assigned{font-size:.8rem;color:var(--neutral-500);margin-bottom:var(--space-xs)}.task-date{font-size:.8rem;color:var(--neutral-500);margin-bottom:var(--space-sm)}.task-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--neutral-200)}.btn-status{background-color:var(--primary);color:#fff;padding:.25rem .5rem;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}@media (max-width: 768px){.kanban-board{grid-template-columns:1fr}.task-actions{flex-direction:column}.btn-status{width:100%}}.files-tab{display:flex;flex-direction:column;gap:var(--space-lg)}.files-header{display:flex;justify-content:space-between;align-items:center}.files-header h2{margin:0}.upload-section{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--accent)}.upload-section h3{font-size:1.1rem;margin-bottom:var(--space-md);color:var(--primary-dark)}.upload-form{display:flex;flex-direction:column;gap:var(--space-md)}.upload-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.upload-form label{font-weight:600;color:var(--neutral-700);font-size:.9rem}.upload-form input[type=file]{padding:var(--space-sm);border:2px dashed var(--primary);border-radius:var(--radius-md);background-color:#f0f9f5;cursor:pointer}.upload-form input[type=file]:focus{outline:none;border-color:var(--primary-light)}.file-selected{font-size:.85rem;color:var(--success);font-weight:500;margin-top:var(--space-xs)}.files-list{display:flex;flex-direction:column;gap:var(--space-lg)}.file-category{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);border-top:3px solid var(--primary)}.file-category h3{font-size:1.1rem;margin-bottom:var(--space-md);color:var(--primary-dark)}.file-items{display:flex;flex-direction:column;gap:var(--space-md)}.file-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background-color:var(--neutral-50);border-radius:var(--radius-md);border-left:3px solid var(--accent);transition:background-color .2s}.file-item:hover{background-color:#fefdf8}.file-info{flex:1}.file-info h4{margin:0 0 var(--space-xs) 0;font-size:.95rem;color:var(--neutral-800);word-break:break-word}.file-meta{font-size:.8rem;color:var(--neutral-500);margin:0}.file-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.btn-download{background-color:var(--accent);color:var(--neutral-900);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-delete-file{background-color:var(--danger);color:#fff;padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}@media (max-width: 768px){.file-item{flex-direction:column}.file-actions{width:100%}.btn-download,.btn-delete-file{flex:1;width:100%}}.calendar-tab{display:flex;flex-direction:column;gap:var(--space-lg)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.calendar-header h2{margin:0}.calendar-form{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--accent)}.calendar-timeline{display:flex;flex-direction:column;gap:var(--space-md);position:relative;padding:var(--space-lg) 0 var(--space-lg) var(--space-md)}.calendar-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary) 0%,var(--accent) 100%);border-radius:1.5px}.timeline-item{display:flex;gap:var(--space-md);position:relative;background-color:#fff;padding:var(--space-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.timeline-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.timeline-marker{position:absolute;left:-11px;top:12px;width:20px;height:20px;background-color:#fff;border:3px solid var(--primary);border-radius:50%;flex-shrink:0}.event-milestone .timeline-marker{border-color:var(--primary);background-color:var(--primary)}.event-decision .timeline-marker{border-color:#3b82f6;background-color:#3b82f6}.event-meeting .timeline-marker{border-color:var(--accent);background-color:var(--accent)}.timeline-content{flex:1;padding-left:var(--space-sm)}.timeline-content h3{margin:0 0 var(--space-xs) 0;font-size:1rem;color:var(--primary-dark)}.event-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-xs)}.event-header h3{margin:0;font-size:1.05rem;color:var(--neutral-800)}.event-type{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.event-milestone .event-type{background-color:#ecf5f1;color:var(--primary-dark)}.event-decision .event-type{background-color:#dbeafe;color:#1e40af}.event-meeting .event-type{background-color:#fef3c7;color:#92400e}.event-description{font-size:.9rem;color:var(--neutral-600);margin:var(--space-sm) 0;line-height:1.5}.event-date{font-size:.85rem;color:var(--neutral-500);font-weight:500;margin:var(--space-sm) 0}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--neutral-400)}@media (max-width: 768px){.calendar-timeline{padding-left:var(--space-md)}.timeline-marker{left:-13px}.event-header{flex-direction:column;align-items:flex-start}.event-type{margin-top:var(--space-xs)}}.dashboard{min-height:100vh;display:flex;flex-direction:column;background-color:var(--neutral-50)}.dashboard-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:var(--space-lg);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.header-left h1{font-size:1.75rem;margin-bottom:var(--space-xs);color:#fff}.subtitle{font-size:.95rem;color:#ffffffe6;margin:0}.header-right{display:flex;align-items:center;gap:var(--space-md)}.user-email{font-size:.9rem;opacity:.9}.dashboard-nav{display:flex;gap:0;background-color:#fff;border-bottom:1px solid var(--neutral-200);padding:0 var(--space-lg);box-shadow:var(--shadow-sm)}.nav-tab{background-color:transparent;color:var(--neutral-600);border:none;padding:var(--space-md) var(--space-lg);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent;position:relative}.nav-tab:hover{color:var(--primary)}.nav-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.dashboard-content{flex:1;padding:var(--space-lg);max-width:1200px;margin:0 auto;width:100%}.overview-section{display:grid;gap:var(--space-lg)}.overview-card{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--primary)}.overview-card h2{font-size:1.5rem;margin-bottom:var(--space-md);color:var(--primary-dark)}.overview-card p{font-size:.95rem;color:var(--neutral-600);margin-bottom:var(--space-md);line-height:1.6}.overview-goals{background-color:var(--neutral-50);padding:var(--space-md);border-radius:var(--radius-md);margin:var(--space-md) 0;border-left:4px solid var(--accent)}.overview-goals h3{font-size:1.1rem;margin-bottom:var(--space-sm);color:var(--neutral-800)}.overview-goals ul{list-style:none;padding:0}.overview-goals li{padding:var(--space-xs) 0;color:var(--neutral-600);font-size:.95rem}.overview-goals strong{color:var(--primary-dark);font-weight:600}.overview-next{font-weight:500;color:var(--primary-dark);padding:var(--space-md);background-color:#ecf5f1;border-radius:var(--radius-md);margin-top:var(--space-md)}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.header-right{width:100%;justify-content:space-between}.dashboard-nav{padding:0;overflow-x:auto}.nav-tab{padding:var(--space-md);white-space:nowrap}.dashboard-content{padding:var(--space-md)}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1a5c2f;--primary-light: #2d8548;--primary-dark: #0f3a1d;--accent: #d4a574;--accent-light: #e8c4a0;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-400: #9ca3af;--neutral-500: #6b7280;--neutral-600: #4b5563;--neutral-700: #374151;--neutral-800: #1f2937;--neutral-900: #111827;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--neutral-50);color:var(--neutral-900);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:2rem;color:var(--primary-dark)}h2{font-size:1.5rem;color:var(--primary-dark)}h3{font-size:1.25rem;color:var(--neutral-800)}h4{font-size:1rem;color:var(--neutral-800)}p{color:var(--neutral-600)}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-light);text-decoration:underline}.btn-primary{background-color:var(--primary);color:#fff;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--primary-light);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--neutral-200);color:var(--neutral-900);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:var(--neutral-300)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-logout{background-color:transparent;color:var(--neutral-600);padding:var(--space-xs) var(--space-sm);border:1px solid var(--neutral-300);border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-logout:hover{border-color:var(--danger);color:var(--danger)}.btn-delete{background-color:transparent;color:var(--danger);border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.btn-delete:hover{opacity:.8}.btn-download{background-color:var(--accent);color:var(--neutral-900);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background-color .2s}.btn-download:hover{background-color:var(--accent-light)}.btn-status{background-color:var(--primary);color:#fff;padding:.25rem .75rem;border:none;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;margin-right:var(--space-xs);transition:background-color .2s}.btn-status:hover{background-color:var(--primary-light)}.btn-delete-file{background-color:var(--danger);color:#fff;padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background-color .2s}.btn-delete-file:hover{background-color:#dc2626}.btn-delete-event{background-color:var(--danger);color:#fff;padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);font-size:.85rem;cursor:pointer;transition:background-color .2s;margin-top:var(--space-sm)}.btn-delete-event:hover{background-color:#dc2626}input,textarea,select{font-family:inherit;padding:var(--space-sm);border:1px solid var(--neutral-300);border-radius:var(--radius-md);font-size:.95rem;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a5c2f1a}textarea{resize:vertical}.error-message{background-color:#fee2e2;border-left:4px solid var(--danger);color:#b91c1c;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.success-message{background-color:#dcfce7;border-left:4px solid var(--success);color:#15803d;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.loading{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--neutral-500);font-size:1rem}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--neutral-400);font-size:.95rem}
