@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap";: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:20rem;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.transfer-notification-container{position:sticky;top:0;z-index:100;margin-bottom:1rem}.transfer-notification-banner{background:#fff;border-left:.25rem solid #007bff;box-shadow:0 .125rem .5rem #0000001a;padding:1rem 1.5rem;margin-bottom:.5rem;border-radius:0 .5rem .5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.transfer-notification-banner.received{border-left-color:#28a745;background:linear-gradient(135deg,#f8fff9,#fff)}.transfer-notification-banner.sent{border-left-color:#ffc107;background:linear-gradient(135deg,#fffbf0,#fff)}.transfer-notification-banner.warning{box-shadow:0 .125rem .5rem #ffc10733}.transfer-notification-banner.urgent{border-left-color:#dc3545;background:linear-gradient(135deg,#fff5f5,#fff);box-shadow:0 .125rem .5rem #dc354533}.transfer-notification-banner.urgent .countdown{color:#dc3545!important;font-weight:600}.transfer-content{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.transfer-icon{font-size:1.5rem;flex-shrink:0}.transfer-details{flex:1;min-width:0}.transfer-details h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#495057}.transfer-details p{margin:0 0 .5rem;color:#6c757d;font-size:.875rem;line-height:1.4}.transfer-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.countdown{background:#e9ecef;color:#495057;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;font-family:monospace}.transfer-info{color:#6c757d;font-size:.75rem}.transfer-actions{display:flex;gap:.5rem;flex-shrink:0}.transfer-actions button{padding:.375rem .75rem;border:none;border-radius:.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.transfer-actions button:disabled{opacity:.6;cursor:not-allowed}.accept-btn{background:#28a745;color:#fff}.accept-btn:hover:not(:disabled){background:#218838;transform:translateY(-.0625rem)}.decline-btn,.cancel-btn{background:#6c757d;color:#fff}.decline-btn:hover:not(:disabled),.cancel-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-.0625rem)}.primary-btn{background:#007bff;color:#fff}.primary-btn:hover:not(:disabled){background:#0056b3}.secondary-btn{background:#6c757d;color:#fff}.secondary-btn:hover:not(:disabled){background:#5a6268}@media (max-width: 48rem){.transfer-notification-banner{flex-direction:column;align-items:flex-start;padding:1rem}.transfer-content{width:100%}.transfer-actions{width:100%;justify-content:flex-end;margin-top:.75rem}.transfer-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 30rem){.transfer-actions{flex-direction:column}.transfer-actions button{width:100%}.transfer-content{flex-direction:column;align-items:flex-start;gap:.75rem}.transfer-icon{align-self:center}}.transfer-notification-banner.urgent{animation:slideDown .3s ease-out,urgentPulse 2s ease-in-out infinite}@keyframes urgentPulse{0%,to{box-shadow:0 .125rem .5rem #dc354533}50%{box-shadow:0 .25rem .75rem #dc35454d}}.transfer-actions button:disabled{position:relative}.transfer-actions button:disabled:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.875rem;height:.875rem;border:.125rem solid transparent;border-top:.125rem solid currentColor;border-radius:50%;animation:buttonSpin 1s linear infinite}@keyframes buttonSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:.25rem;border:.125rem solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#0003;background-clip:content-box}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(0 0 0 / 10%) transparent}:root{--font-family-primary: "Open Sans", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;--font-family-mono: "SF Mono", monaco, "Cascadia Code", "Roboto Mono", consolas, "Courier New", monospace;--font-size-h1: 3.2rem;--font-size-h2: 2.4rem;--font-size-h3: 1.8rem;--font-size-h4: 1.4rem;--font-size-body: 1rem;--font-size-small: .875rem;--font-size-xs: .75rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--user-message-colour: #2851c5;--primary-color: #828597;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--primary-hover: #1d4ed8;--secondary-color: #10b981;--secondary-dark: #059669;--accent-color: #f59e0b;--accent-hover: #d97706;--accent-light: #fef3c7;--success-color: #10b981;--success-hover: #059669;--danger-color: #dc2626;--danger-hover: #b91c1c;--warning-bg: #fef3c7;--warning-color: #f59e0b;--warning-text: #92400e;--error-color: #ef4444;--background-color: #f8fafc;--surface-color: #fff;--surface-primary: #f8fafc;--surface-secondary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475262;--text-muted: #94a3b8;--border-color: #e2e8f0;--max-content-width: 100rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--radius-sm: .25rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 5%);--shadow: 0 1px 3px 0 rgb(0 0 0 / 10%), 0 1px 2px -1px rgb(0 0 0 / 10%);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem}body{font-family:var(--font-family-primary);font-weight:400;background:#f1f3f4;color:var(--text-primary);line-height:1.6;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.project-manage-dropdown{position:relative;display:inline-block}.manage-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s ease;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.manage-btn:hover{background:var(--surface-secondary);border-color:var(--text-secondary)}.dropdown-menu{position:absolute;top:100%;right:0;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:16rem;z-index:2000;overflow:hidden}.dropdown-item.primary{background:var(--accent-color);color:#fff}.dropdown-item.primary:hover{background:var(--accent-hover);color:#fff}.dropdown-item.warning{color:#f59e0b}.dropdown-item.warning:hover{background:#fffbeb;color:#f59e0b}.dropdown-item.danger{color:var(--danger-color)}.admin-badge{background:#e9ecef;color:#059669;border:1px solid #10b981;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;letter-spacing:.025em}.new-session-btn:hover{background:var(--accent-color);color:#fff}.clear-chat-btn:hover{background:#dc2626;color:#fff}.edit-btn:hover{background:var(--secondary-color);color:#fff}.confirmation-modal{max-width:25rem;padding:2rem}.confirmation-modal h3{margin-bottom:1rem;color:var(--text-primary)}.confirmation-modal p{margin-bottom:1rem;color:var(--text-secondary);line-height:1.5}.warning-text{color:#dc2626;font-weight:500;background:#fef2f2;padding:.75rem;border-radius:var(--radius-sm);border-left:4px solid #dc2626}.project-actions{margin-top:auto;display:flex;flex-direction:column;gap:.75rem}.action-buttons{display:flex;gap:.5rem;align-items:center}.members-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}@media (width <= 768px){.members-header{flex-direction:column;align-items:flex-start;gap:1rem}.members-actions{width:100%;flex-direction:column;align-items:stretch}.members-actions button{width:100%}}.manage-members-modal{max-width:31.25rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h3{margin:0;color:var(--text-primary)}.modal-body{flex:1;min-height:0}.document-editor-modal .modal-body{overflow:hidden}.description-prompt-modal .modal-header{display:block}.description-prompt-modal .image-info-text{margin-top:.5rem;color:var(--text-secondary);font-size:.9rem}.close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;line-height:1}.close-btn:hover{color:var(--text-primary)}.members-management-list{display:flex;flex-direction:column;gap:1rem}.member-management-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-secondary)}.member-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.member-badges{display:flex;gap:.5rem}.member-actions{display:flex;flex-flow:row nowrap;gap:.5rem;align-items:center;align-self:flex-start;min-width:0;max-width:100%}.toggle-admin-btn{background:var(--secondary-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease}.toggle-admin-btn:hover{background:var(--secondary-dark)}.toggle-admin-btn.remove{background:#f59e0b}.toggle-admin-btn.remove:hover{background:#d97706}.remove-member-btn{font-size:.75rem;padding:.375rem .75rem}.modal-footer{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.rename-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;margin:1rem 0;transition:border-color .2s ease}.rename-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1a}.description-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;margin:1rem 0;resize:vertical;min-height:6rem;font-family:inherit;transition:border-color .2s ease}.description-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1a}.character-count{font-size:.75rem;color:var(--text-secondary);text-align:right;margin-top:-.5rem;margin-bottom:1rem}html,body,#root{height:100vh;margin:0;padding:0}.App{height:100vh;display:flex;flex-direction:column;overflow:hidden}.App.project-view{height:100vh;overflow:hidden}.app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);flex-shrink:0;z-index:100;box-shadow:var(--shadow-sm)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;min-height:6.875rem}.header-left{display:flex;align-items:center;gap:2rem;flex:1}.header-right{display:flex;align-items:center;gap:1rem}.project-info-header{display:flex;flex-direction:column;gap:.25rem}.project-title-header{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.025em}.project-description-header{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.4;max-width:25rem}.back-btn-header{background:var(--primary-color);color:#fff;padding:.75rem 1.25rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm);white-space:nowrap}.back-btn-header:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.header-tabs{display:flex;background:var(--surface-color);border-bottom:1px solid var(--border-color);margin:0;padding:0}.header-tabs button{flex:1;padding:.75rem 2rem;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease,font-weight .2s ease;letter-spacing:.025em;position:relative;min-height:3rem;display:flex;align-items:center;justify-content:center}.header-tabs button.active{color:var(--primary-color)}.header-tabs button:hover:not(.active){color:var(--text-primary)}.header-tabs button:focus{outline:none;border:none;box-shadow:none;font-weight:500}.header-tabs button:focus-visible{outline:none;border:none;box-shadow:none;font-weight:500}.header-tabs button.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:2px;background:var(--primary-color)}.user-menu{display:flex;align-items:center;gap:1rem}.welcome-text{font-size:.875rem;color:var(--text-secondary);font-weight:500}.logout-btn{background:#f8f9fa;color:var(--text-secondary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:var(--text-secondary);color:#fff;border-color:var(--text-secondary)}.auth-form{max-width:32.5rem;margin:1rem auto;padding:2rem;background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);min-height:auto;position:relative}input[type=text],input[type=email],input[type=password],input[type=number],textarea{text-align:left!important}.auth-form h2{text-align:center;margin-bottom:2rem;color:var(--text-primary);font-size:var(--font-size-h2);font-weight:700;letter-spacing:-.025em}.auth-form p{text-align:center;margin-top:2rem;color:var(--text-secondary)}.auth-form .success-message{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem;text-align:center}.auth-form .success-message p{margin:.5rem 0}.auth-form .success-message p:first-child{margin-top:0}.auth-form .success-message p:last-child{margin-bottom:0}.auth-form .info-message{background:var(--info-light, #e3f2fd);color:var(--info-color, #1976d2);border:1px solid var(--info-border, #90caf9);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}.auth-form .info-message p{margin:.5rem 0}.auth-form .info-message p:first-child{margin-top:0}.auth-form .info-message p:last-child{margin-bottom:0}.auth-form .verification-steps{margin:1.5rem 0;padding:1rem;background:#ffffff7f;border-radius:var(--radius)}.auth-form .verification-steps h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--info-color, #1976d2)}.auth-form .verification-steps ol{margin:0;padding-left:1.5rem}.auth-form .verification-steps li{margin:.5rem 0;line-height:1.4}.auth-form .help-info{margin-top:1rem;padding-top:1rem;border-top:1px solid rgb(25 118 210 / 20%)}.auth-form .help-info p{margin:0;color:var(--text-muted, #666)}.network-error-recovery{background-color:var(--warning-bg, #fff3cd);border:1px solid var(--warning-color, #856404);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.network-status{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--warning-color, #856404);font-weight:500}.network-status svg{flex-shrink:0}.retry-btn,.reload-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;margin-right:.5rem;transition:background-color .2s ease}.retry-btn:hover:not(:disabled),.reload-btn:hover{background-color:var(--primary-hover)}.retry-btn:disabled{opacity:.6;cursor:not-allowed}.reload-btn{background-color:var(--secondary-color, #6c757d)}.reload-btn:hover{background-color:var(--secondary-hover, #5a6268)}.verification-actions{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:2rem}.verification-actions button{min-width:8rem;padding:.75rem 1.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}@media (width <= 480px){.verification-actions{flex-direction:column;gap:.75rem}.verification-actions button{width:100%}}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.875rem;letter-spacing:.025em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:all .2s ease;background:var(--surface-color);color:var(--text-primary);text-align:left}.form-group select{padding-right:2.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.invite-choice-section{margin-top:1.5rem;padding:1.5rem;background:var(--surface-secondary);border-radius:var(--radius);text-align:center}.invite-choice-section h4{margin-bottom:.5rem;color:var(--text-primary)}.invite-choice-section p{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.5}.choice-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.choice-buttons button{min-width:10rem}.invite-header{margin-bottom:1.5rem;text-align:left}.invite-header h3,.add-member-form h3{margin-bottom:1.5rem;color:var(--text-primary)}.invite-header p{color:var(--text-secondary);line-height:1.5}.toast{position:fixed;top:2rem;right:2rem;z-index:10000;min-width:20rem;max-width:30rem;padding:1rem;border-radius:var(--radius);box-shadow:0 4px 12px #00000026;animation:slideInRight .3s ease-out}.toast-success{background:var(--success-color);color:#fff}.toast-error{background:var(--error-color);color:#fff}.toast-info{background:var(--accent-color);color:#fff}.toast-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toast-message{flex:1;font-size:.875rem;line-height:1.4}.toast-close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.toast-close:hover{background:#fff3}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (width <= 480px){.toast{top:1rem;right:1rem;left:1rem;min-width:auto;max-width:none}}.invite-preview{margin-bottom:1.5rem;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius);border-left:.25rem solid var(--primary-color)}.invite-preview p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}button,.btn{padding:.75rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.025em;display:inline-flex;align-items:center;justify-content:center;min-height:1.2rem;text-decoration:none;box-shadow:var(--shadow-sm)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button[type=submit],.primary-btn,.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}button[type=submit]:hover:not(:disabled),.primary-btn:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.secondary-btn,.btn-secondary{background:var(--surface-secondary);color:var(--text-secondary);border-color:var(--border-color)}.secondary-btn:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--border-color);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.success-btn,.btn-success,.save-btn{background:var(--success-color);color:#fff;border-color:var(--success-color)}.success-btn:hover:not(:disabled),.btn-success:hover:not(:disabled),.save-btn:hover:not(:disabled){background:var(--success-hover);border-color:var(--success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.danger-btn,.btn-danger,.delete-btn{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.danger-btn:hover:not(:disabled),.btn-danger:hover:not(:disabled),.delete-btn:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.ghost-btn,.btn-ghost,.cancel-btn{background:transparent;color:var(--text-secondary);border-color:var(--border-color);box-shadow:none}.ghost-btn:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.cancel-btn:hover:not(:disabled){background:var(--surface-secondary);color:var(--text-primary);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn,.edit-btn,.download-btn,.refresh-btn{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-size:var(--font-size-small);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.action-btn:hover:not(:disabled),.edit-btn:hover:not(:disabled),.download-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:var(--border-color);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-small{padding:.5rem .75rem;font-size:.8125rem;min-height:2.25rem}.btn-large{padding:1rem 1.5rem;font-size:1rem;min-height:3.25rem}.error-message{background:#fef2f2;color:#991b1b;padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;border:1px solid #fecaca;font-weight:500}.error-message-container{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow-sm);animation:slideIn .3s ease-out}.error-message-content{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem}.error-message-content .error-message{background:none;border:none;padding:0;margin:0;flex:1;color:#991b1b;font-weight:500;font-size:.875rem;line-height:1.5}.dismiss-error-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;padding:.25rem;margin-left:.5rem;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-height:auto}.dismiss-error-btn:hover{background-color:#f3f4f6;color:#374151;transform:none}.error-help{background-color:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem;color:#6b7280;font-size:.8125rem;line-height:1.5}.error-help p{margin:.5rem 0}.error-help p:first-child{margin-top:0}.error-help p:last-child{margin-bottom:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-.625rem)}to{opacity:1;transform:translateY(0)}}.loading{text-align:center;padding:var(--space-3xl);font-size:var(--font-size-body);color:var(--text-secondary)}.project-dashboard{flex:1;display:flex;flex-direction:column;margin:0 2rem}@media (width <= 768px){.project-dashboard{margin:0 1rem}}@media (width <= 480px){.project-dashboard{margin:0 .5rem}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 0}.dashboard-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.create-project-btn{background:var(--secondary-color);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm);letter-spacing:.025em}.create-project-btn:hover{background:var(--secondary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;flex:1}.project-card{background:var(--surface-color);border-radius:var(--radius-sm);padding:1.5rem;box-shadow:none;transition:all .2s ease;border:1px solid var(--border-color);position:relative;width:100%;max-width:28rem;min-height:17rem;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}.project-card:hover{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.project-header h3{color:#2c3e50;font-size:1.2rem}.creator-badge{background-color:#f39c12;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.admin-badge-button{background-color:#f39c12;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;border:none;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:background-color .2s ease}.admin-badge-button:hover:not(:disabled){background-color:#e67e22}.admin-badge-button:disabled{opacity:.6;cursor:not-allowed}.admin-badge-button svg{flex-shrink:0}.project-description{color:var(--text-secondary);line-height:1.5;flex:1;margin-bottom:1rem;overflow-wrap:break-word;max-width:100%;width:100%;-webkit-hyphens:auto;hyphens:auto}.project-meta{display:flex;justify-content:space-between;color:var(--text-muted);font-size:.875rem;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.creation-date,.last-modified-date{color:var(--text-muted)}.last-modified-date{color:#666;font-style:italic}.enter-project-btn{width:100%;background-color:#3498db;color:#fff;padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.enter-project-btn:hover{background-color:#2980b9}.modal-overlay{position:fixed;inset:0;background-color:#0000007f;display:flex;justify-content:center;align-items:flex-start;z-index:10001;overflow-y:auto;padding:2rem 0;min-height:100vh}.modal,.quota-exceeded-modal,.confirmation-modal{background:#fff;border-radius:var(--radius-lg, 8px);padding:2rem;width:fit-content;min-width:25rem;max-width:90vw;height:fit-content;max-height:95vh;box-sizing:border-box;overflow-y:auto;position:relative}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:#0000000d;border:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--text-muted, #666);padding:.6rem;border-radius:50%;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:#00000026;color:var(--text-primary, #000)}.add-member-form{width:50rem;max-width:90vw}.add-member-form .form-content{display:flex;gap:3rem;align-items:flex-start}.add-member-form .form-column-1,.add-member-form .form-column-2{flex:1;display:flex;flex-direction:column;gap:1.5rem}.invite-form{width:50rem;max-width:90vw;padding:2rem}.invite-form .qr-content{display:flex;gap:3rem;align-items:flex-start}.invite-form .qr-column-1,.invite-form .qr-column-2{flex:1;display:flex;flex-direction:column;gap:1.5rem}@media (width <= 768px){.add-member-form{width:auto}.add-member-form .form-content{flex-direction:column;gap:1.5rem}.add-member-form .form-column-1,.add-member-form .form-column-2{width:100%}.invite-form{width:auto}.invite-form .qr-content{flex-direction:column;gap:1.5rem}.invite-form .qr-column-1,.invite-form .qr-column-2{width:100%}}@media (width >= 1200px) and (height <= 700px){.modal{transform:scale(.85);transform-origin:center;margin:1rem}}.modal h3,.modal h2,.quota-exceeded-modal h2,.confirmation-modal h3{margin-top:0;margin-bottom:1rem}.project-view-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:2rem 1.5rem;min-height:100%}.project-view-layout{flex:1;display:flex;position:relative;overflow:hidden;height:100%}.main-content-panel{flex:1;display:flex;flex-direction:column;transition:none;min-width:0;background:var(--surface-color);border-right:1px solid var(--border-color);overflow:hidden;min-height:0}.tab-content-wrapper{flex:1;position:relative;overflow:visible;min-height:0}.chat-panel{background:var(--primary-color);box-shadow:var(--shadow-lg);position:relative;height:100%;z-index:20;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;min-width:3rem;max-width:50rem}.chat-panel.closed{width:3.75rem}.chat-resize-handle{position:absolute;top:0;left:0;width:.25rem;height:100%;background:transparent;cursor:ew-resize;z-index:30;transition:background-color .2s ease}.chat-resize-handle:hover{background:var(--primary-color)}.chat-resize-handle:active{background:var(--primary-dark)}.chat-panel-header{background:transparent;padding:0;flex-shrink:0;border:none;cursor:pointer;width:100%}.chat-panel.closed .chat-panel-header{flex:1;height:100%}.chat-toggle-btn-integrated{width:100%;background:var(--primary-color);color:#fff;border:none;border-radius:0;padding:.75rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;justify-content:space-between;min-height:3rem;pointer-events:none}.clear-chat-btn-compact{background:#fff3;color:#fff;border:1px solid rgb(255 255 255 / 30%);padding:.25rem .5rem;border-radius:.25rem;position:relative;z-index:10;cursor:pointer;pointer-events:auto;font-size:.75rem;transition:all .2s ease}.clear-chat-btn-compact:hover{background:#ffffff4d;border-color:#ffffff7f;transform:translateY(-1px)}.chat-panel.closed .chat-toggle-btn-integrated{flex-direction:column;justify-content:center;padding:1rem .5rem;writing-mode:vertical-lr;text-orientation:mixed}.vertical-text{writing-mode:vertical-lr;text-orientation:mixed;white-space:nowrap}.toggle-icon{font-size:1.2rem;font-weight:700}.chat-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;height:0;padding:.5rem .5rem 0}.chat-panel-content.hidden{display:none}.chat-panel-content.visible{display:flex}.mobile-chat-backdrop{display:none}@media (width <= 768px){.chat-panel.open{position:fixed!important;top:0;right:0;width:85vw!important;max-width:25rem!important;height:100vh;z-index:1000;box-shadow:-.5rem 0 2rem #0000004d}.chat-panel.closed{width:3.125rem!important;position:relative}.mobile-chat-backdrop{display:block;position:fixed;top:0;left:0;width:calc(100vw - 20rem);height:100vh;background:#0000007f;z-index:999;cursor:pointer}.project-view-layout.chat-open .main-content-panel{filter:brightness(.7);pointer-events:none}.chat-resize-handle{display:none}.chat-toggle-btn-integrated{min-height:3.125rem;font-size:.75rem;position:relative;z-index:1001;border-radius:0!important}.chat-input{bottom:calc(2rem + env(safe-area-inset-bottom));padding:1rem}.chat-input textarea{min-height:4rem;padding:1rem}.chat-input button{min-height:4rem;padding:1rem 1.25rem}.chat-panel.closed .chat-toggle-btn-integrated{padding:.5rem .25rem}.content-tabs button{padding:.75rem 1rem;font-size:.8rem}}@media (pointer: coarse){button,.clickable,.btn,.chat-toggle-btn-integrated,.tab-content button{min-height:2.75rem;min-width:2.75rem;padding:.75rem 1rem}.table-row{min-height:3rem}.action-buttons button{min-height:2.75rem;padding:.75rem 1.5rem;font-size:.875rem}.project-card .project-header .admin-badge-button{min-height:auto!important;min-width:auto!important;padding:.25rem .5rem!important;font-size:.8rem!important}.project-card .project-actions{gap:.75rem!important}.project-card .project-actions .action-buttons{gap:.5rem!important}.project-card .project-actions .action-buttons button{min-height:2.75rem!important;padding:.75rem 1.5rem!important}.table-row:hover,button:hover,.btn:hover,.project-card:hover{background:inherit;transform:none;box-shadow:inherit}input,select,textarea{min-height:2.75rem;font-size:1rem}.nav-link{padding:1rem 1.5rem;min-height:2.75rem}.chat-input button{min-height:3rem;padding:.875rem 1.25rem}.chat-input textarea{min-height:6.25rem}}@media (width <= 768px) and (pointer: coarse){.member-actions,.action-buttons{gap:1rem}.project-card .project-actions .action-buttons{gap:.5rem!important}.modal-close-btn{min-height:2.75rem;min-width:2.75rem;padding:.75rem}.tabs button{padding:1rem 1.5rem;min-height:3rem;font-size:.875rem}.project-card{padding:1.5rem;margin-bottom:1rem}.project-card button{width:100%;margin-top:1rem;padding:.875rem}}h1{font-size:var(--font-size-h1);line-height:var(--line-height-tight);font-weight:700}h2{font-size:var(--font-size-h2);line-height:var(--line-height-tight);font-weight:600}h3{font-size:var(--font-size-h3);line-height:var(--line-height-normal);font-weight:600}h4{font-size:var(--font-size-h4);line-height:var(--line-height-normal);font-weight:500}body,p,div{font-size:var(--font-size-body);line-height:var(--line-height-normal)}small,.text-small{font-size:var(--font-size-small)}.text-xs{font-size:var(--font-size-xs)}@media (width <= 1024px){:root{--font-size-h1: 2.8rem;--font-size-h2: 2.1rem;--font-size-h3: 1.6rem;--font-size-h4: 1.3rem}}@media (width <= 768px){:root{--font-size-h1: 2.4rem;--font-size-h2: 1.8rem;--font-size-h3: 1.4rem;--font-size-h4: 1.2rem;--font-size-body: 1rem;--font-size-small: .875rem;--font-size-xs: .75rem;--line-height-normal: 1.6;--line-height-relaxed: 1.8}.dashboard-header h1,.project-title h1{font-size:var(--font-size-h1);margin-bottom:1rem}p{margin-bottom:1rem;line-height:var(--line-height-relaxed)}}@media (width <= 480px){:root{--font-size-h1: 2rem;--font-size-h2: 1.5rem;--font-size-h3: 1.25rem;--font-size-h4: 1.1rem;--font-size-body: 1rem;--font-size-small: .875rem;--font-size-xs: .75rem}h1,h2,h3,h4{margin-bottom:.75rem}}@media (width <= 768px){.modal-overlay{padding:1rem;align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10001!important}.modal,.modal-content{width:calc(100vw - 2rem);max-width:none;margin:1rem}.modal-header{position:sticky;top:0;background:var(--surface-primary);z-index:10;border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.modal-header h2,.modal-header h3{font-size:var(--font-size-h3);margin:0}.modal-close,.modal-close-btn{min-height:2.75rem;min-width:2.75rem;padding:.75rem;font-size:1.25rem;position:absolute;top:.5rem;right:.5rem}.auth-form{margin:1rem auto;padding:1.5rem;max-width:100%;border-radius:var(--radius)}.form-group{margin-bottom:1.5rem}.form-group label{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;font-size:1rem;border-radius:var(--radius);border:2px solid var(--border-color);transition:border-color .2s ease}.form-group select{padding-right:2.5rem}.form-group textarea{min-height:7.5rem;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;padding:1rem 0 0}.form-actions button{width:100%;padding:.875rem 1rem;font-size:1rem;min-height:3rem}.form-actions .btn-primary,.modal-actions .btn-primary{order:-1}.form-row{flex-direction:column;gap:1rem}.form-row .form-group{margin-bottom:0}}@media (width <= 480px){.modal-overlay{padding:.5rem}.modal,.modal-content{margin:1rem 0;border-radius:var(--radius)}.modal-header{padding:1rem}.modal-header h2,.modal-header h3{font-size:var(--font-size-h4)}.auth-form{padding:1rem;margin:.5rem auto}.form-group{margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem}.form-group select{padding-right:2.5rem}.form-actions{gap:.5rem;margin-top:1rem}.form-actions button{padding:.75rem;font-size:.875rem}}@media (pointer: coarse){select{min-height:2.75rem;padding:.75rem 2.5rem .75rem .75rem;background-position:right 1rem center}input[type=checkbox],input[type=radio]{min-width:1.25rem;min-height:1.25rem;margin-right:.75rem}input[type=file]{padding:.875rem;border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--surface-secondary)}input[type=number]{font-size:1.125rem}}.tab-panel-container{margin:0;padding:0}.tab-content{height:100%;overflow-y:scroll;padding:.5rem 1.5rem 1.5rem}.tab-content.visible{display:block}.tab-content.hidden{display:none}.tab-content:has(.history-document){padding-right:0}.chat-interface{height:100%;position:relative;overflow:hidden;margin:0;font-size:.9375rem}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--surface-secondary);flex-shrink:0}.chat-header h3{color:var(--text-primary);font-size:1.33em;font-weight:700;letter-spacing:-.025em}.chat-controls{display:flex;gap:.75rem}.new-session-btn{background:#e9ecef;color:var(--accent-color);padding:.75rem 1rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm)}.new-session-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.clear-chat-btn{background:#e9ecef;color:#dc2626;padding:.75rem 1rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm)}.clear-chat-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.clear-chat-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-messages-container{position:absolute;inset:0 0 calc(5rem + var(--keyboard-height, 0rem) + 1rem);overflow-y:auto;transition:bottom .2s ease}.chat-messages{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;flex-direction:column;max-width:85%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user-message{align-self:flex-end}.chat-message.ai-message{align-self:flex-start}.chat-message.system-message{align-self:center;margin:1rem 0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sender{font-weight:500;font-size:.8em;color:#000;letter-spacing:.025em;text-transform:uppercase;display:flex;align-items:center;gap:.375rem}.timestamp{font-size:.8em;color:#222}.message-content{background:#f8f9fa;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid #e9ecef;position:relative;margin:.25rem;-webkit-user-select:text;user-select:text}.ai-message .message-content{background:#f1f3f4;border:1px solid #e3e5e6}.user-message .message-content{background:var(--user-message-colour);color:#fff;border:none}.user-message .message-content:before{display:none}.ai-message .message-content:before{display:none}.system-message .message-content{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;text-align:center;font-size:.933em;border-radius:8px}.system-message .message-content:before{display:none}.message-content p{margin:0;line-height:1.6;font-size:inherit;white-space:pre-wrap}.extracted-facts-summary{font-size:.8em;color:#666;margin-bottom:.5rem;padding:.25rem 0;opacity:.8}.facts-label{font-style:italic;margin-right:.5rem}.facts-list{display:inline}.fact-item{margin-right:.5rem}.fact-item:not(:last-child):after{content:" • ";color:#999;margin-left:.5rem}.extracted-facts{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.extracted-facts h4{font-size:.9rem;color:#27ae60;margin-bottom:.5rem}.extracted-facts ul{margin-left:1rem;color:#555}.typing-indicator{align-self:flex-start}.typing-dots{display:flex;gap:.25rem;padding:.75rem}.typing-dots span{width:.375rem;height:.375rem;border-radius:50%;background-color:#fff;animation:typing 1.4s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-.625rem)}}.chat-input{position:absolute;bottom:calc(1rem + var(--keyboard-height, 0rem) + 1rem);left:0;right:0;display:flex;align-items:flex-end;gap:1rem;padding:1rem 1rem .25rem;background:var(--primary-color);transition:bottom .2s ease;font-size:inherit}.chat-input textarea{flex:1;padding:1rem 1.25rem;border-radius:var(--radius-lg);font-size:inherit;transition:all .2s ease;background:var(--user-message-colour);color:#fff;font-family:inherit;line-height:1.5;max-height:10rem}.chat-input textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.chat-input textarea::placeholder{color:var(--text-muted)}.chat-input-counter{position:absolute;bottom:.5rem;right:4.5rem;font-size:.8em;color:var(--text-muted);background:var(--surface-color);padding:.25rem .5rem;border-radius:var(--radius);border:1px solid var(--border-color);z-index:1;transition:color .2s ease;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.chat-input-counter.warning{color:#f39c12}.chat-input-counter.danger{color:var(--user-message-colour)}.chat-input button{background:var(--user-message-colour);color:#fff;padding:1rem;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:inherit;font-weight:600;letter-spacing:.025em;transition:all .2s ease;box-shadow:var(--shadow);height:3.25rem;flex-shrink:0}.chat-input button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.chat-input button:disabled{opacity:.5;cursor:not-allowed;transform:none}.history-document{display:flex;flex-direction:column;height:100%;margin-right:.5rem}.history-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:1rem}.history-header.sticky-header{position:sticky;top:0;background:#fff;z-index:10;padding:0}.document-content-container{flex:1;overflow-y:auto;padding-top:1rem;width:100%}.history-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin:0}.document-actions{display:flex;gap:.5rem}.document-actions .action-btn{padding:.5rem .75rem;font-size:.8125rem;min-height:auto}.action-btn.loading{opacity:.7;pointer-events:none}.loading-text{position:relative}.loading-text:after{content:"...";position:absolute;right:-1rem;animation:loading-dots 1s infinite}@keyframes loading-dots{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.refresh-btn svg{animation:none}.refresh-btn:disabled svg{animation:spin 1s linear infinite}.document-info{padding:1rem 1.5rem;background:#e9ecef;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;flex-shrink:0}.document-info-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.document-info-content p{margin:0;flex:1;line-height:1.5}.close-info-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;font-weight:700;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0;min-height:auto;line-height:1}.close-info-btn:hover{background:#0000001a;color:var(--text-primary);transform:none}.markdown-content{flex:1;min-height:0}.markdown-preview{margin-bottom:2rem}.markdown-preview h1{color:var(--primary-color);font-size:2rem;font-weight:800;margin:0 0 .75rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.markdown-preview h2{color:var(--primary-dark);font-size:1.5rem;font-weight:700;margin:2.5rem 0 .5rem;border-bottom:1px solid var(--border-color);padding-bottom:.25rem}.markdown-preview h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem}.markdown-preview h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:.75rem 0 .25rem}.markdown-preview h5{color:var(--text-primary);font-size:1rem;font-weight:600;margin:.5rem 0 .25rem}.markdown-preview h6{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin:.5rem 0 .25rem}.markdown-preview ul{list-style-type:disc;margin-left:1.5rem;margin-bottom:.5rem}.markdown-preview li{margin-bottom:.25rem;line-height:1.5}.markdown-preview strong{font-weight:600;color:var(--text-primary)}.markdown-preview em{font-style:italic;color:var(--text-secondary)}.markdown-preview blockquote{border-left:4px solid var(--accent-color);background:var(--surface-secondary);padding:.75rem;margin:.5rem 0;border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--text-secondary)}.markdown-preview p{margin:.5rem 0;line-height:1.5}.markdown-preview br+br{display:none}.markdown-raw{border-top:2px solid var(--border-color);padding-top:2rem}.markdown-raw h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.markdown-raw pre{background:var(--surface-secondary);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border-color);overflow:auto;font-family:var(--font-family-mono);font-size:.875rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;max-height:25rem}.document-editor-modal{width:50rem;max-width:90vw;height:calc(100vh - 4rem);margin:0;padding:1.2rem;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.document-editor-header{flex-shrink:0;padding-bottom:.75rem;display:flex;gap:.5rem}.document-editor-header .primary-btn,.document-editor-header .secondary-btn{padding:.5rem 1rem;font-weight:500;border-radius:var(--radius);font-size:.9rem;border:1px solid var(--border-color);cursor:pointer;background:#fff;color:var(--text-primary)}.document-editor-header .primary-btn{background:#2563eb;color:#fff;border-color:#2563eb}.document-editor-header .primary-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.document-editor-header .primary-btn:disabled{background:#9ca3af;color:#fff;border-color:#9ca3af;cursor:not-allowed;justify-content:flex-end}.document-editor-header .secondary-btn:hover:not(:disabled){background:#f3f4f6}.document-editor-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.document-editor-header{flex-shrink:0;display:flex;align-items:center;padding-bottom:.75rem}.editor-buttons{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin-right:auto}.action-buttons{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.editor-content-row{flex:1;min-height:0;overflow:hidden}.scrollable-editor-content{height:100%;overflow-y:auto}.editor-buttons button{padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;background:var(--background-secondary);color:var(--text-secondary);cursor:pointer;font-size:.875rem;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.editor-buttons button:hover{background:var(--background-tertiary);color:var(--text-primary)}.editor-buttons button.is-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media (max-width: 768px){.document-editor-header{flex-direction:column;align-items:stretch}.action-buttons{justify-content:flex-end;margin-top:.5rem}}.document-size-indicator-minimal{flex-shrink:0;padding:.5rem 0;text-align:center}.markdown-textarea{width:100%;height:100%;border:1px solid var(--border-color);border-radius:var(--radius);padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;background:#fafafa;color:var(--text-primary);resize:none;outline:none;box-sizing:border-box}.markdown-textarea:focus{border-color:var(--primary-color);background:#fff}.markdown-textarea::placeholder{color:var(--text-muted);font-style:italic}.document-size-indicator-minimal .size-text{font-size:.875rem;color:var(--text-secondary)}.document-size-indicator-minimal .size-error{margin-top:.5rem;color:var(--error);font-size:.875rem;font-weight:500}@media (max-width: 768px){.document-editor-modal{width:calc(100vw - 2rem);height:calc(100vh - 2rem);margin:1rem auto}.document-editor-header{padding:.5rem}.document-modal-editor{margin:0 .5rem .5rem}.document-size-indicator-minimal{padding:.5rem 0}}.document-editor{display:flex;flex-direction:column;gap:1rem}.document-editor h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.document-textarea{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-family:var(--font-family-mono);font-size:.875rem;line-height:1.5;color:var(--text-primary);background:var(--surface-color);resize:vertical;min-height:25rem;transition:border-color .2s ease}.document-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.tiptap-wrapper{width:100%;border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;background:var(--background-secondary)}.tiptap-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.tiptap-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.75rem;background:var(--background-primary);border-bottom:1px solid var(--border-color)}.tiptap-toolbar button{padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;background:var(--background-secondary);color:var(--text-secondary);cursor:pointer;font-size:.875rem;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.tiptap-toolbar button:hover{background:var(--background-tertiary);color:var(--text-primary)}.tiptap-toolbar button:disabled{opacity:.5;cursor:not-allowed}.tiptap-toolbar button.is-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.tiptap-editor{min-height:20rem;padding:1rem;font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:1.6;color:var(--text-primary);background:var(--background-secondary);white-space:pre-wrap!important;outline:none!important}.tiptap-editor:focus{outline:none}.tiptap-editor[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);font-style:italic}.tiptap-editor *{white-space:inherit!important}.tiptap-editor h1{font-size:2rem;font-weight:700;margin:1.5rem 0 1rem;color:var(--text-primary)}.tiptap-editor h2{font-size:1.5rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--text-primary)}.tiptap-editor h3{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text-primary)}.tiptap-editor p{margin:.5rem 0}.tiptap-editor strong{font-weight:600;color:var(--text-primary)}.tiptap-editor em{font-style:italic}.tiptap-editor ul,.tiptap-editor ol{margin:.5rem 0;padding-left:1.5rem}.tiptap-editor li{margin:.25rem 0}.tiptap-editor blockquote{margin:1rem 0;border-left:3px solid var(--primary-color);background:var(--background-tertiary);border-radius:.375rem;padding:.75rem 1rem;font-style:italic;color:var(--text-secondary)}.tiptap-editor a{color:var(--primary-color);text-decoration:underline;cursor:pointer}.tiptap-editor a:hover{color:var(--primary-color-dark)}.tiptap-editor a[href^="person:"],.tiptap-editor a[data-person-link=true]{color:#8b5cf6;background:#8b5cf61a;padding:.125rem .25rem;border-radius:.25rem;text-decoration:none;font-weight:500;cursor:text!important;pointer-events:none}.tiptap-editor a[href^="person:"]:hover,.tiptap-editor a[data-person-link=true]:hover{background:#8b5cf633;color:#7c3aed;cursor:text!important}.document-tiptap-editor{width:100%}.tiptap-error{border:2px solid #ef4444;border-radius:var(--radius);padding:1rem;background:#fef2f2}.tiptap-error p{color:#dc2626;margin-bottom:1rem;font-weight:500}.fallback-textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius);font-family:var(--font-family-mono);font-size:var(--font-size-body);resize:vertical}.editor-help{background:var(--surface-secondary);padding:1rem;border-radius:var(--radius);border:1px solid var(--border-color)}.editor-help p{margin:0 0 .5rem;color:var(--text-primary);font-weight:600}.editor-help ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.editor-help li{margin-bottom:.25rem;font-family:var(--font-family-mono);font-size:.8rem}.history-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.history-filters input,.history-filters select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.search-filter input{width:15.625rem}.history-stats{color:#666;font-size:.9rem;margin-bottom:1.5rem}.history-entries{display:flex;flex-direction:column;gap:1.5rem}.history-entry{border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;background:#fafafa}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.entry-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.family-member{font-weight:500;color:#2c3e50}.entry-date{color:#666;font-size:.9rem}.entry-source{color:#888;font-size:.8rem}.entry-actions{display:flex;gap:.5rem}.entry-text{line-height:1.6;margin-bottom:1rem}.entry-editor{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;line-height:1.6;resize:vertical}.entry-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tag{background-color:#3498db;color:#fff;padding:.25rem .5rem;border-radius:.75rem;font-size:.8rem}.entry-footer{color:#888;font-size:.8rem;text-align:right}.family-members-list{background:#fff;border-radius:8px;padding:0}.tab-content h2,.project-settings h2,.project-images h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:1rem 0}.add-member-btn{background-color:#27ae60;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.family-member-card{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-color);display:flex;flex-direction:column;padding:1rem;transition:box-shadow .2s ease}.member-main-content{display:flex;gap:1rem}.family-member-card:hover{box-shadow:0 .125rem .5rem #0000001a}.member-photo-container{flex-shrink:0;width:7rem;height:7rem;position:relative}.member-photo-placeholder{width:100%;height:100%;background:var(--surface-secondary);border:.125rem dashed var(--border-color);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .2s ease}.member-photo-placeholder:hover{border-color:var(--primary-color)}.member-photo-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.member-avatar{width:4rem;height:4rem;border-radius:50%;background-color:var(--accent-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.25rem}.member-content{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-details{display:flex;flex-direction:column;gap:.25rem}.member-description{margin-bottom:.75rem}.member-description p{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin:0;line-height:1.4}.family-member-card .member-actions .action-btn{padding:.5rem .75rem;font-size:.8125rem;border-radius:var(--radius-sm);border:1px solid;cursor:pointer;transition:all .2s ease;font-weight:500;text-align:center;white-space:nowrap;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.family-member-card .member-actions .action-btn{background:var(--surface-secondary);color:var(--text-secondary);border:.0625rem solid var(--border-color);padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.family-member-card .member-actions .action-btn:hover{background:var(--border-color);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.family-member-card .member-actions .delete-btn{background:var(--error-color);color:#fff;border-color:var(--error-color);flex:0 0 auto;width:2.5rem;padding:.5rem}.family-member-card .member-actions .delete-btn:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.edit-actions{display:flex;flex-flow:row nowrap;gap:.5rem;min-width:0;max-width:100%}.edit-actions .action-btn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}@media (width <= 480px){.member-main-content{flex-wrap:wrap}.member-actions{flex:1 1 100%!important;align-self:stretch!important;max-width:none!important;order:1;flex-flow:row nowrap!important;display:flex!important}.family-member-card .member-actions .action-btn{flex:1!important;min-width:0!important;width:auto!important;padding:.5rem .25rem!important;font-size:.75rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.family-member-card .member-actions .delete-btn{flex:0 0 2rem!important;width:2rem!important;padding:.5rem .25rem!important}.edit-actions{flex:1 1 100%!important;max-width:none!important;flex-flow:row nowrap!important;display:flex!important}.edit-actions .action-btn{flex:1!important;min-width:0!important;padding:.5rem .25rem!important;font-size:.75rem!important}}.members-stats{color:#666;font-size:.9rem;text-align:center;padding-top:1rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none}.empty-state h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.empty-state p{font-size:1.125rem;line-height:1.6}.field-error{color:#dc2626;font-size:.875rem;margin-top:.25rem;display:block}.link-button{background:none;border:none;color:#2563eb;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;margin:.5rem}.link-button:hover{color:#1d4ed8;text-decoration:none}.auth-links{text-align:center;margin:1rem 0}.password-strength{margin-top:.5rem}.strength-bar{height:.25rem;background-color:#e5e7eb;border-radius:.125rem;overflow:hidden;margin-bottom:.25rem}.strength-fill{height:100%;transition:all .3s ease}.strength-text{font-size:.75rem;font-weight:500;margin-bottom:.25rem;display:block}.strength-suggestions{margin-top:.5rem}.suggestion{font-size:.75rem;color:#6b7280;margin-bottom:.25rem;padding-left:.5rem;border-left:.125rem solid #e5e7eb}@media (width <= 1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (width <= 768px){.header-content{padding:1rem;min-height:5rem;flex-direction:column;gap:1rem}.header-left{gap:1rem;flex-direction:column;align-items:flex-start}.header-right{align-self:flex-end}.project-title-header{font-size:1.25rem}.header-tabs{flex-direction:column;border-top:none;border-bottom:1px solid var(--border-color)}.header-tabs button{padding:1rem;border-bottom:none;border-left:3px solid transparent}.header-tabs button.active{border-left:3px solid var(--primary-color);border-bottom:none}.dashboard-header{flex-direction:column;gap:1rem;text-align:center;padding:.75rem 0}.dashboard-header h1{font-size:1.5rem;color:var(--text-primary)}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-view-content{padding:1rem;min-height:100%}.auth-form{margin:1rem auto;padding:2rem;max-width:100%}.chat-messages{padding:.5rem;gap:1rem}.chat-message{max-width:98%}.message-content{padding:1rem}.chat-input{padding:.75rem;gap:.5rem}.chat-input textarea{padding:.75rem;min-height:3rem}.chat-input button{padding:.75rem .5rem;height:auto;min-height:3rem;white-space:nowrap;min-width:4rem}.modal{width:95%;padding:1.5rem;margin:1rem}}@media (width <= 480px){.auth-form{padding:1rem}.dashboard-header h1{font-size:1.25rem;color:var(--text-primary)}.project-title h1{font-size:1.5rem}}@media (width <= 1200px){.chat-panel .chat-input{gap:.5rem}.chat-panel .chat-input textarea{min-height:3.5rem;padding:.5rem}.chat-panel .chat-input button{padding:.5rem .75rem;min-width:4rem;height:3.5rem;min-height:3.5rem;flex-shrink:0}}@media (width <= 900px){.chat-panel .chat-input{gap:.25rem}.chat-panel .chat-input textarea{min-height:3.5rem;padding:.5rem}.chat-panel .chat-input button{padding:.5rem;min-width:3rem;height:3rem;min-height:3rem}}.tabs{display:flex;background:var(--surface-color);border-bottom:1px solid var(--border-color);margin-bottom:2rem;-webkit-user-select:none;user-select:none}.tabs.tabs-header{background:transparent;border-bottom:none;margin-bottom:0;align-self:stretch}.tabs.tabs-gap{gap:.5rem;background:transparent}.tabs button{background:transparent!important;border:none!important;padding:.75rem 1.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease,font-weight .2s ease,background-color .2s ease;letter-spacing:.025em;position:relative;min-height:3rem;display:flex;align-items:center;justify-content:center;border-radius:0!important;box-shadow:none!important}.tabs.tabs-gap button{border-radius:0;padding:.75rem 1rem}.tabs button:hover{color:var(--text-primary)}.tabs.tabs-gap button:hover{background:var(--surface-secondary)}.tabs button:focus{outline:none;border:none;box-shadow:none;font-weight:500}.tabs button:focus-visible{outline:none;border:none;box-shadow:none;font-weight:500}.tabs button.active{color:var(--primary-color);font-weight:500}.tabs button.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:2px;background:var(--primary-color)}.tabs.tabs-header button.active:after{bottom:-1px}.tabs.tabs-gap button.active{color:var(--accent-color);font-weight:500;border-bottom:2px solid var(--accent-color)}.tabs.tabs-gap button.active:after{display:none}.tabs button.danger-tab{color:#dc2626}.tabs button.danger-tab:hover{color:#b91c1c;background:#fef2f2}.tabs button.danger-tab.active{color:#dc2626;border-bottom-color:#dc2626}.tabs button.danger-tab.active:after{background:#dc2626}.project-settings{margin:0;padding:0}.project-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.project-settings-header h1{font-size:1.5rem;color:var(--text-primary)}.back-btn{background:var(--surface-secondary);border:.0625rem solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.back-btn:hover{background:var(--surface-primary);border-color:var(--accent-color)}.settings-section{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:2rem;margin-bottom:2rem}.settings-section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1.5rem}.settings-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.project-form{max-width:30rem}.update-btn,.invite-form .invite-btn{background:var(--primary-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:.25rem;cursor:pointer;font-size:.75rem;transition:background-color .2s ease}.update-btn:hover,.invite-form .invite-btn:hover{background:var(--primary-hover)}.update-btn:disabled,.invite-form .invite-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.invite-section{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}.members-section{margin-bottom:2rem}.members-list{display:flex;flex-direction:column;gap:1rem}.member-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);gap:1rem}@media (width <= 768px){.member-item{flex-direction:column;align-items:stretch;gap:.75rem}.member-info{width:100%;min-width:0}.member-name,.member-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role,.member-role select{width:100%}.member-item button{width:100%;margin-top:.5rem}}.member-email{font-size:.875rem;color:var(--text-secondary)}.member-role{min-width:8rem}.member-role select{width:100%;padding:.5rem;border:.0625rem solid var(--border-color);border-radius:var(--radius);font-size:.875rem}.remove-btn{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:background .2s ease}.remove-btn:hover{background:var(--danger-hover)}.leave-project-section{margin-bottom:2rem;padding:1rem;background:var(--surface-tertiary);border:1px solid var(--warning-color);border-radius:var(--radius)}.leave-project-btn{background:var(--warning-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.leave-project-btn:hover{background:var(--danger-color)}.leave-project-warning{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.4}.leave-btn{background:var(--warning-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.leave-btn:hover{background:var(--danger-color)}.current-user-indicator{font-size:.8125rem;color:var(--text-secondary);font-weight:400}.project-limits{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}.limits-info{display:flex;gap:2rem}.limit-item{font-size:.875rem;color:var(--text-secondary)}.error{text-align:center;padding:2rem;color:var(--danger-color)}.error h3{margin-bottom:1rem}.error button{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;margin-top:1rem}.chat-input-disabled{padding:1rem;background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);margin:1rem;position:absolute;bottom:0;left:0;right:0;z-index:10}.chat-input.quota-exceeded{background:#f97316;border:.0625rem solid #ea580c;border-radius:1rem;padding-bottom:1rem;color:#fff;justify-content:center;align-items:center}.reader-message{text-align:center}.reader-message p{margin:0;color:var(--text-secondary);font-size:.933em;font-style:italic}.quota-exceeded-message{text-align:center}.quota-exceeded-message p{margin:0;color:#fff;font-size:.933em;font-weight:500}.quota-info{display:flex;align-items:center;gap:1rem}.reset-quota-btn,.reset-all-quota-btn{background:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.reset-quota-btn:hover,.reset-all-quota-btn:hover{background:#d97706;transform:translateY(-1px)}.reset-quota-btn:disabled,.reset-all-quota-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.reset-all-quota-btn{background:#dc2626}.reset-all-quota-btn:hover{background:#b91c1c}.quota-actions{grid-column:1 / -1;display:flex;justify-content:center;margin-top:1rem}.page-header{margin-bottom:2rem}.page-header h1,.page-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.page-header p{color:var(--text-secondary);font-size:.875rem}.page-header .header-content{display:flex;justify-content:space-between;align-items:center;padding:0;min-height:auto}.page-header .header-text{flex:1}.page-header .header-actions{padding:0}.settings-page{margin:0;padding:0;width:100%;flex:1}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.settings-header p{color:var(--text-secondary);font-size:.875rem}.settings-content{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:2rem}.profile-settings h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.section-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:2rem}.profile-form{max-width:30rem}.disabled-input{background:var(--surface-secondary);cursor:not-allowed}.email-change-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}.change-email-btn{background:var(--primary-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;transition:background-color .2s ease}.change-email-btn:hover{background:var(--primary-hover)}.email-change-form{background:var(--surface-secondary);padding:1.5rem;border-radius:.5rem;margin-top:1.5rem;border:1px solid var(--border-color)}.email-change-form h3{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.email-change-form .section-description{margin-bottom:1rem}.email-change-form .form-actions{display:flex;gap:.75rem;justify-content:flex-end}.change-email-submit-btn{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;transition:background-color .2s ease}.change-email-submit-btn:hover{background:var(--primary-hover)}.change-email-submit-btn:disabled,.help-text{color:var(--text-secondary);font-size:.75rem;margin-top:.25rem}.success-message{background:var(--success-light);color:var(--success-color);padding:1rem;border-radius:var(--radius);margin-bottom:1rem;border:.0625rem solid var(--success-color)}.subscription-settings h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.subscription-info{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem;width:100%;max-width:100%}.current-plan{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}@media (width <= 48rem){.current-plan{padding:1rem}.plan-header{flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1rem}.upgrade-action{align-self:center;width:100%;max-width:12rem}.upgrade-action button{width:100%}.plan-tier{flex-wrap:wrap;gap:.5rem}.tier-badge{font-size:.8rem}.plan-price{font-size:.9rem}.benefit-row{padding:.5rem}.benefit-feature{font-size:.9rem}.current-limit,.pro-limit,.arrow{font-size:.8rem}.upgrade-benefits{padding:1rem;margin-top:.75rem}.upgrade-tagline{font-size:1rem;margin-bottom:1rem}.upgrade-pricing{text-align:center;margin-top:1rem}.price-text{font-size:.9rem}.usage-stats{padding:1rem}.usage-stats h3{font-size:.95rem}.stats-grid{gap:.75rem}.stat-item{min-width:0}.stat-label{font-size:.8rem}.stat-value{font-size:.9rem}.plan-features{padding:1rem}.plan-features h3{font-size:.95rem}.plan-features .features-grid,.plan-features .feature-item{gap:.5rem}.plan-features .feature-icon{font-size:1rem;flex-shrink:0}.plan-features .feature-item span:last-child{font-size:.85rem}.subscription-info{gap:1rem;margin-bottom:1rem}.storage-usage-section h4{font-size:.9rem}.storage-bar-container,.storage-bar{width:100%;min-width:0}.storage-info{font-size:.8rem;word-break:break-word}.storage-note{font-size:.75rem}}.plan-title-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:.75rem}.plan-tier{display:flex;align-items:center;gap:.75rem}.upgrade-action{flex-shrink:0}.upgrade-benefits{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-top:1rem}.upgrade-tagline{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin-bottom:1.25rem;text-align:center}.benefits-comparison{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.benefit-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#fff;border-radius:var(--radius-sm);border:.0625rem solid #e2e8f0}.benefit-feature{font-weight:500;color:var(--text-primary);flex:1}.current-limit{color:var(--text-secondary);font-weight:500;min-width:3rem;text-align:right}.arrow{color:var(--primary-color);font-weight:700;margin:0 .75rem}.pro-limit{color:var(--primary-color);font-weight:600;min-width:3rem;text-align:left}.upgrade-pricing{text-align:center;padding-top:1rem;border-top:.0625rem solid #e2e8f0}.price-text{color:var(--text-primary);font-size:1rem}.price-text strong{color:var(--primary-color);font-size:1.1rem}.pro-benefits{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:.0625rem solid #bbf7d0;border-radius:var(--radius);padding:1.5rem;margin-top:1rem;text-align:center}.pro-message{color:var(--success-color);font-size:1.1rem;font-weight:500;margin-bottom:1rem}.billing-action{margin-top:1rem}.manage-billing-btn-inline{background:var(--surface-primary);color:var(--text-primary);border:.0625rem solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-size:.9rem}.manage-billing-btn-inline:hover{background:var(--surface-secondary);border-color:var(--primary-color)}.plan-details{display:flex;align-items:center;gap:1rem}.tier-badge{background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tier-badge.free{background:var(--text-secondary)}.tier-badge.pro{background:var(--success-color)}.plan-price{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.usage-stats{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.usage-stats h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.stat-item.list-style{flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:.0625rem solid var(--border-color)}.stat-item.list-style:last-child{border-bottom:none}.stat-bar{height:.5rem;background:var(--surface-primary);border-radius:var(--radius-sm);overflow:hidden}.stat-fill{height:100%;background:var(--accent-color);transition:width .3s ease}.plan-features{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.plan-features h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.plan-features .features-grid{display:flex;flex-direction:column;gap:.75rem}.plan-features .feature-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-primary);justify-content:flex-start}.plan-features .feature-icon{font-size:.875rem;width:1.5rem;height:1.5rem;background:var(--accent-color);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0}.storage-usage-section{margin-top:1.5rem}.storage-usage-section h4{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.storage-details{display:flex;flex-direction:column;gap:.75rem}.storage-bar-container{width:100%}.storage-bar{width:100%;height:.5rem;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden;position:relative}.storage-fill{height:100%;background:#007bff;transition:width .3s ease;border-radius:var(--radius-sm)}.storage-info{font-size:.875rem;color:var(--text-secondary)}.storage-used{font-weight:500}.storage-note{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.quota-widget{background:var(--surface-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.quota-widget.compact{padding:1rem;margin-bottom:1rem}.quota-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.quota-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.quota-warning{background:var(--warning-bg);border:.0625rem solid var(--warning-color);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--warning-text)}.warning-icon{font-size:1rem}.upgrade-link{background:none;border:none;color:var(--accent-color);text-decoration:underline;cursor:pointer;font-size:inherit;margin-left:.5rem}.upgrade-link:hover{color:var(--accent-hover)}.quota-details{display:flex;flex-direction:column;gap:1.5rem}.quota-section{border:.0625rem solid var(--border-color);border-radius:var(--radius-sm);padding:1rem;background:var(--surface-secondary)}.quota-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.quota-icon{font-size:1.25rem}.quota-title{font-weight:600;color:var(--text-primary)}.quota-progress{display:flex;flex-direction:column;gap:.5rem}.quota-stats{display:flex;justify-content:space-between;align-items:baseline;font-size:.875rem}.quota-used{font-weight:600;color:var(--text-primary)}.quota-limit{color:var(--text-secondary)}.quota-bar{height:.5rem;background:var(--surface-tertiary);border-radius:.25rem;overflow:hidden;position:relative}.quota-fill{height:100%;background:var(--accent-color);transition:width .3s ease,background-color .3s ease;border-radius:.25rem}.quota-percentage{font-size:.75rem;color:var(--text-secondary);text-align:center}.quota-note{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.quota-upgrade{margin-top:1.5rem;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius-sm);text-align:center}.quota-upgrade p{margin:0 0 .75rem;color:var(--text-secondary);font-size:.875rem}.upgrade-btn{background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.upgrade-btn:hover{background:var(--accent-hover)}.quota-summary{display:flex;gap:1rem}.quota-item{flex:1;display:flex;flex-direction:column;gap:.25rem}.quota-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.quota-text{font-size:.75rem;color:var(--text-primary);font-weight:600;text-align:center}.quota-widget.compact .quota-bar{height:.25rem}.quota-exceeded-modal{background:var(--surface-primary);border-radius:var(--radius);box-shadow:0 1rem 3rem #0003;max-width:32rem;width:100%}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.modal-close:hover{background:var(--surface-secondary);color:var(--text-primary)}.person-modal-overlay{background-color:#0000004d}.person-modal{background:#fff;border-radius:var(--radius-lg, .5rem);box-shadow:0 .5rem 2rem #00000026;width:20rem;max-width:90vw;position:relative}.person-modal-header{display:flex;justify-content:flex-end;padding:.75rem;border-bottom:.0625rem solid var(--border-light, #eee)}.person-modal-content{padding:0}.person-modal .person-card{border:none;box-shadow:none;background:transparent;margin:0}.person-modal .modal-close{position:static;width:1.5rem;height:1.5rem;font-size:1rem;padding:0;background:none;border:none;cursor:pointer;color:var(--text-muted, #666);display:flex;align-items:center;justify-content:center}.person-modal .modal-close:hover{background:var(--surface-secondary, #f5f5f5);color:var(--text-primary, #333)}.quota-description{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.quota-usage-details{background:var(--surface-secondary);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1.5rem}.usage-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.usage-row:not(:last-child){border-bottom:.0625rem solid var(--border-color);padding-bottom:.5rem;margin-bottom:.5rem}.usage-label{color:var(--text-secondary);font-size:.875rem}.usage-value{color:var(--text-primary);font-weight:600;font-size:.875rem}.usage-value.highlight{color:var(--error-color)}.upgrade-section,.contact-section{background:var(--surface-secondary);border-radius:var(--radius-sm);padding:1.5rem;margin-bottom:0}.upgrade-section h3,.contact-section h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.upgrade-section p,.contact-section p{margin:0 0 1rem;color:var(--text-secondary);font-size:.875rem}.upgrade-benefits{margin:0 0 1rem;padding-left:1.5rem}.upgrade-benefits li{color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem}.upgrade-price{text-align:center;padding:.75rem;background:var(--accent-color);color:#fff;border-radius:var(--radius-sm);font-size:1rem}.quota-reset-info{background:var(--surface-tertiary);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem}.quota-reset-info p{margin:0;color:var(--text-secondary);font-size:.75rem}.quota-exceeded-modal .modal-actions{padding:1rem 1.5rem 1.5rem;border-top:.0625rem solid var(--border-color)}.subsection{margin-top:2rem}.info-box ul{margin-left:2rem}.secondary-btn{background:var(--surface-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.secondary-btn:hover{background:var(--surface-tertiary)}.upgrade-btn,.contact-btn{background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.upgrade-btn:hover,.contact-btn:hover{background:var(--accent-hover)}.upgrade-btn:disabled{background:var(--surface-tertiary);color:var(--text-secondary);cursor:not-allowed}.quota-management-view{padding:1.5rem}.quota-management-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.users-panel{background:var(--surface-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;max-height:70vh;overflow-y:auto}.users-search{margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:.0625rem solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-primary);font-size:.875rem}.search-input:focus{outline:none;border-color:var(--accent-color)}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-item{padding:1rem;border:.0625rem solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-secondary);cursor:pointer;transition:all .2s ease}.user-item:hover{border-color:var(--accent-color);background:var(--surface-tertiary)}.user-item.selected{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.user-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.user-name{font-weight:600;font-size:.875rem;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:.75rem;color:var(--text-secondary)}.user-item.selected .user-email{color:#fffc}.user-tier{margin-bottom:.5rem}.user-quotas{font-size:.75rem}.user-item.selected .quota-label{color:#fffc}.quota-value{font-weight:600}.user-details-panel{background:var(--surface-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;max-height:70vh;overflow-y:auto}.user-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:.0625rem solid var(--border-color)}.user-details-header h3{margin:0;color:var(--text-primary)}.quota-section{margin-bottom:2rem;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius-sm)}.quota-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.quota-section-header h4{margin:0;color:var(--text-primary);font-size:1rem}.reset-btn{background:var(--warning-color);color:#fff;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.75rem;cursor:pointer;transition:background-color .2s ease}.reset-btn:hover{background:#d97706}.quota-stats,.quota-progress{margin-bottom:1rem}.progress-bar{height:.5rem;background:var(--surface-tertiary);border-radius:.25rem;overflow:hidden}.progress-fill{height:100%;background:var(--accent-color);transition:width .3s ease}.quota-actions{margin-top:1.5rem}.quota-form{background:var(--surface-tertiary);border-radius:var(--radius-sm);padding:1.5rem}.quota-form h4{margin:0 0 .5rem;color:var(--text-primary)}.quota-form p{margin:0 0 1rem;color:var(--text-secondary);font-size:.875rem}.cancel-btn{background:var(--surface-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}@media (width <= 768px){.quota-management-content{grid-template-columns:1fr;gap:1rem}}.subscription-actions{margin-top:2rem}.upgrade-section,.manage-billing-section{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem}.upgrade-section h3,.manage-billing-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.upgrade-section p,.manage-billing-section p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.manage-billing-btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:background .2s ease}.manage-billing-btn:hover{background:var(--accent-hover)}.billing-notice{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-top:1rem}.billing-notice h3{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.billing-notice p{color:var(--text-secondary);font-size:.875rem;font-style:italic}.danger-zone h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.change-password-section{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:2rem;margin-bottom:2rem}.change-password-header{margin-bottom:1rem}.change-password-header h3{font-size:1rem;color:var(--text-primary);margin:0}.change-password-content p{color:var(--text-secondary);margin-bottom:1.5rem}.change-password-form .form-group{margin-bottom:1.5rem}.change-password-form .password-input-container{max-width:25rem}.change-password-form .password-input{width:100%}.danger-section{background:var(--surface-color);border:.0625rem solid var(--danger-color);border-radius:var(--radius);padding:2rem;margin-top:2rem}.danger-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.danger-header h3{font-size:1rem;color:var(--text-primary)}.danger-badge{background:var(--danger-color);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.danger-content p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.danger-details{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.danger-details h4{font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.danger-details ul{list-style:disc;margin-left:1.5rem;color:var(--text-secondary);font-size:.875rem}.danger-details li{margin-bottom:.25rem}.delete-account-btn{background:var(--danger-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:background .2s ease}.delete-account-btn:hover{background:var(--danger-hover)}.delete-confirm{background:var(--surface-secondary);border:.0625rem solid var(--danger-color);border-radius:var(--radius);padding:1.5rem;margin-top:1rem}.confirm-form h4{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.confirm-form p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.confirm-actions{display:flex;gap:1rem;margin-top:1rem}.confirm-delete-btn{background:var(--danger-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:600;transition:background .2s ease}.confirm-delete-btn:hover{background:var(--danger-hover)}.confirm-delete-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.cancel-delete-btn{background:var(--surface-secondary);border:.0625rem solid var(--border-color);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s ease}.cancel-delete-btn:hover{background:var(--surface-primary);border-color:var(--accent-color)}.retry-btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;margin-top:1rem}.settings-btn{background:var(--surface-secondary);border:.0625rem solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s ease;margin-right:.5rem}.settings-btn:hover{background:var(--surface-primary);border-color:var(--accent-color)}.admin-dashboard{margin:0;padding:2rem}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.admin-header p{color:var(--text-secondary);font-size:.875rem}.admin-content{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:2rem}.admin-error{text-align:center;padding:2rem}.admin-error h1{color:var(--danger-color);margin-bottom:1rem}.admin-error p{color:var(--text-secondary);margin-bottom:.5rem}.system-stats-view h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.stats-header p{color:var(--text-secondary);font-size:.875rem}.admin-stats-list{max-width:40rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.stat-row:last-child{border-bottom:none}.stat-name{color:var(--text-secondary);font-weight:400}.stat-value{color:var(--text-primary);font-weight:600;font-family:monospace}.stat-separator{height:1px;background:var(--border-color);margin:1rem 0}.stats-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem}.stat-card h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.stat-main{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.stat-number{font-size:2rem;font-weight:700;color:var(--accent-color);line-height:1}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.stat-breakdown{display:flex;justify-content:space-around;gap:1rem}.stat-desc{font-size:.75rem;color:var(--text-secondary)}.stats-actions{text-align:center}.user-management-view,.project-management-view{width:100%}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.management-header h2{font-size:1.25rem;color:var(--text-primary)}.search-controls{display:flex;gap:1rem}.users-table,.projects-table{width:100%;border:.0625rem solid var(--border-color);border-radius:var(--radius);overflow:hidden;margin-bottom:2rem}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-header{background:var(--surface-secondary);display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr 1fr;font-weight:600;font-size:.875rem;color:var(--text-primary)}.projects-table .table-header{grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr 1fr}.header-cell{padding:.75rem;border-right:.0625rem solid var(--border-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-cell:last-child{border-right:none}.table-body{background:var(--surface-color)}.table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr 1fr;border-bottom:.0625rem solid var(--border-color);transition:background .2s ease}.projects-table .table-row{grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr 1fr}.table-row:hover{background:var(--surface-secondary)}.table-row:last-child{border-bottom:none}.table-cell{padding:.75rem;border-right:.0625rem solid var(--border-color);font-size:.875rem;display:flex;align-items:center;min-width:0;overflow:hidden}.table-cell:last-child{border-right:none}.user-email,.project-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.user-name,.project-description{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.project-count,.member-count,.admin-count{font-weight:600;color:var(--text-primary)}.date-text{color:var(--text-secondary);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.project-type{padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.project-type.test{background:var(--warning-light);color:var(--warning-color)}.project-type.production{background:var(--success-light);color:var(--success-color)}.view-btn{background:var(--accent-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--radius);cursor:pointer;font-size:.75rem;transition:background .2s ease}.view-btn:hover{background:var(--accent-hover)}.action-buttons{display:flex;gap:.5rem}.role-badge{padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.role-badge.admin{background:var(--danger-light);color:var(--danger-color)}.role-badge.writer{background:var(--success-light);color:var(--success-color)}.role-badge.reader{background:var(--warning-light);color:var(--warning-color)}@media (width <= 1024px){.users-table,.projects-table{min-width:800px}.table-container{box-shadow:inset -1rem 0 1rem -1rem #0000001a}}@media (width <= 768px){.users-table,.projects-table{min-width:unset;border:none;margin-bottom:1rem}.table-header{display:none}.table-body{background:transparent}.table-row{display:block;background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);margin-bottom:1rem;padding:1rem;box-shadow:var(--shadow-sm);grid-template-columns:none}.table-row:hover{background:var(--surface-color);box-shadow:var(--shadow-md)}.table-cell{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-right:none;border-bottom:.0625rem solid var(--border-color);flex-wrap:wrap;gap:.5rem}.table-cell:last-child{border-bottom:none;padding-bottom:0}.table-cell:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;min-width:6rem;flex-shrink:0}.table-row .action-buttons{flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem}.table-row .action-buttons button{width:100%;padding:.75rem 1rem;font-size:.875rem}.project-card .action-buttons{flex-direction:row;justify-content:center;gap:.75rem;margin-top:.5rem}.project-card .action-buttons button{flex:1;min-width:0;padding:.75rem 1rem;font-size:.875rem}.project-type,.role-badge{font-size:.75rem;padding:.25rem .5rem}.user-email,.project-name,.user-name,.project-description{max-width:100%;word-break:break-word}}@media (width <= 480px){.table-row{padding:.75rem;margin-bottom:.75rem}.table-cell{flex-direction:column;align-items:flex-start;gap:.25rem}.table-cell:before{margin-bottom:.25rem}.action-buttons{margin-top:.75rem}.action-buttons button{padding:.5rem .75rem;font-size:.8rem}}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:background .2s ease}.pagination-btn:hover{background:var(--accent-hover)}.pagination-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:.875rem}.user-detail-view{width:100%}.verify-btn{margin-left:1rem}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.detail-header h2{font-size:1.25rem;color:var(--text-primary)}.detail-content{display:flex;flex-direction:column;gap:2rem}.detail-section{background:var(--surface-secondary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1.5rem}.detail-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.detail-value{font-size:.875rem;color:var(--text-primary)}.edit-input,.edit-select{padding:.5rem;border:.0625rem solid var(--border-color);border-radius:var(--radius);font-size:.875rem}.edit-input:focus,.edit-select:focus{outline:none;border-color:var(--accent-color)}.projects-list{display:flex;flex-direction:column;gap:1rem}.project-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius)}.project-info{display:flex;flex-direction:column;gap:.25rem}.project-name{font-weight:600;color:var(--text-primary)}.project-meta{display:flex;align-items:center;gap:1rem}.project-date{font-size:.875rem;color:var(--text-secondary)}.edit-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:.0625rem solid var(--border-color)}@media (width <= 1024px){.family-members-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}}@media (width <= 768px){.family-members-grid{grid-template-columns:1fr;gap:1rem}.family-member-card{padding:1rem;border-radius:var(--radius)}.member-header{flex-direction:row;align-items:center;margin-bottom:.75rem;gap:1rem}.member-avatar{width:3.125rem;height:3.125rem;flex-shrink:0;font-size:1rem}.member-actions{flex-flow:row wrap;gap:.5rem;margin-left:auto}.family-member-card .action-btn{padding:.5rem .75rem;font-size:.75rem;min-width:auto;height:auto;min-height:2rem!important;white-space:nowrap}.member-info{display:flex;flex-direction:column;gap:.5rem}.member-name{font-size:1rem;margin-bottom:.25rem;line-height:1.3}.member-details{display:flex;flex-direction:column;gap:.25rem}.family-member-card .form-group{margin-bottom:.75rem}.family-member-card .form-group input,.family-member-card .form-group select{padding:.5rem;font-size:.875rem}.edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}}@media (width <= 480px){.family-member-card{padding:.75rem}.member-header{gap:.75rem}.member-avatar{width:2.5rem;height:2.5rem;font-size:.875rem}.member-actions{flex-direction:column;gap:.25rem;min-width:5rem}.family-member-card .action-btn{padding:.375rem .5rem;font-size:.7rem;min-height:1.75rem;width:100%}.member-name{font-size:.95rem}}@media (width <= 768px) and (orientation: landscape){.family-member-card{display:flex;flex-direction:column;padding:.75rem 1rem}.member-main-content{display:flex;flex-direction:row;align-items:center;gap:1rem}.member-header{flex-direction:row;margin-bottom:0;flex-shrink:0}.member-info{flex:1;min-width:0}.member-details{flex-flow:row wrap;gap:.5rem}.member-actions{flex-direction:row;flex-shrink:0}}@media (pointer: coarse){.family-member-card .action-btn{min-height:2.75rem;min-width:2.75rem;padding:.75rem}.member-avatar{min-width:2.75rem;min-height:2.75rem}}@media (width <= 1200px) and (width >= 769px){.family-members-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.family-member-card{padding:1.25rem}}.main-navigation{flex-shrink:0}.nav-container{background:var(--surface-color);max-width:var(--max-content-width);margin:0 auto;padding:1rem;display:flex;align-items:center;justify-content:space-between;min-height:6rem;border-bottom:.0625rem solid var(--border-color)}.nav-brand .brand-link{text-decoration:none;color:inherit}.logo{display:flex;align-items:center}.logo-image{height:8vh;width:auto;object-fit:contain}.nav-menu,.nav-auth,.nav-guest{display:flex;align-items:center;gap:1rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius);transition:all .2s ease;font-weight:500;display:flex;align-items:center;justify-content:center}.nav-link:hover{color:var(--accent-color);background:var(--surface-secondary)}.nav-divider{width:.0625rem;height:1.5rem;background:var(--border-color)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:.0625rem solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.875rem}.user-menu-trigger:hover{border-color:var(--accent-color);background:var(--surface-secondary)}.user-avatar{width:2rem;height:2rem;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.dropdown-arrow{transition:transform .2s ease;font-size:.75rem;color:var(--text-secondary)}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:16rem;z-index:2000;overflow:hidden}.dropdown-header{padding:1rem;background:var(--surface-secondary);border-bottom:.0625rem solid var(--border-color)}.user-name-full{font-weight:600;color:var(--text-primary);text-align:left;width:100%}.dropdown-header .user-email{font-size:.875rem;color:var(--text-secondary);text-align:left;width:100%}.dropdown-divider{height:.0625rem;background:var(--border-color)}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:.875rem;transition:background .2s ease;text-decoration:none;justify-content:flex-start}.dropdown-item:hover{background:var(--surface-secondary);color:var(--text-primary)}.dropdown-item.danger:hover{background:var(--danger-light);color:var(--danger-color)}.dropdown-icon{font-size:1rem;width:1.25rem;text-align:left;display:flex;align-items:center;justify-content:flex-start}.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:background .2s ease}.mobile-menu-toggle:hover{background:var(--surface-secondary)}.hamburger{display:flex;flex-direction:column;gap:.25rem;width:1.5rem}.hamburger span{width:100%;height:.125rem;background:var(--text-primary);transition:all .3s ease;transform-origin:center}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(.375rem,.375rem)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(.375rem,-.375rem)}.mobile-menu{display:none;position:fixed;inset:0;background:var(--surface-color);z-index:999;overflow-y:auto;padding-top:8rem}.mobile-menu-content{padding:1rem}.mobile-user-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius);margin-bottom:1rem}.mobile-user-avatar{width:3rem;height:3rem;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem}.mobile-user-name{font-weight:600;color:var(--text-primary)}.mobile-user-email{font-size:.875rem;color:var(--text-secondary)}.mobile-menu-divider{height:.0625rem;background:var(--border-color);margin:1rem 0}.mobile-menu-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:1rem;transition:background .2s ease;text-decoration:none;border-radius:var(--radius);margin-bottom:.5rem;justify-content:flex-start}.mobile-menu-item:hover{background:var(--surface-secondary);color:var(--text-primary)}.mobile-menu-item.primary{background:var(--accent-color);color:#fff}.mobile-menu-item.primary:hover{background:var(--accent-hover);color:#fff}.mobile-menu-item.warning{color:#f59e0b}.mobile-menu-item.warning:hover{background:#fffbeb;color:#f59e0b}.mobile-menu-item.danger{color:#dc2626}.mobile-menu-item.danger:hover{background:#fef2f2;color:#dc2626}.mobile-menu-icon{font-size:1.25rem;width:1.5rem;text-align:left;display:flex;align-items:center;justify-content:flex-start}.mobile-menu-backdrop{display:none;position:fixed;inset:0;background:#0000007f;z-index:998}.landing-page{min-height:100vh}.hero{background:linear-gradient(135deg,var(--surface-color) 0%,var(--surface-secondary) 100%);padding:6rem 0 8rem;display:flex;align-items:center;min-height:85vh;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url(/images/family.jpg) center/cover no-repeat;opacity:.2;pointer-events:none}.hero-content{max-width:75rem;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;position:relative;z-index:1;gap:4rem}.hero-main{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-text{display:flex;align-items:center}.hero-description{display:flex;flex-direction:column;gap:2rem}.hero-title{font-size:clamp(3rem,6vw,5rem);font-weight:900;line-height:1.05;color:var(--text-primary);margin-bottom:2rem;letter-spacing:-.05em}.hero-subtitle{font-size:1.375rem;line-height:1.7;color:var(--text-secondary);font-weight:400;margin:0;text-shadow:0 1px 3px rgb(255 255 255 / 80%);margin-bottom:1rem}.hero-subtitle:last-child{margin-bottom:0}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-features{width:100%;display:flex;justify-content:center}.hero-feature-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:64rem;width:100%}.hero-feature-box{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 .25rem 1rem #0000000d;position:relative;overflow:hidden}.hero-feature-box:before{content:"";position:absolute;top:0;left:0;right:0;height:.25rem;background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));transform:scaleX(0);transition:transform .3s ease}.hero-feature-box:hover:before{transform:scaleX(1)}.hero-feature-box:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.hero-feature-box h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.025em}.hero-feature-box p{font-size:1rem;color:var(--text-secondary);line-height:1.6;font-weight:400;margin-bottom:.75rem}.hero-feature-box p:last-child{margin-bottom:0}.features{padding:8rem 0;background:var(--background-color);position:relative;overflow:hidden}.features:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200"><defs><pattern id="document-pattern" width="300" height="200" patternUnits="userSpaceOnUse"><g opacity="0.04" fill="%236366f1"><rect x="50" y="40" width="40" height="50" rx="2"/><rect x="100" y="60" width="35" height="45" rx="2"/><rect x="210" y="30" width="38" height="55" rx="2"/><rect x="160" y="100" width="42" height="48" rx="2"/><circle cx="75" cy="130" r="15" fill="none" stroke="%236366f1" stroke-width="1" opacity="0.06"/><circle cx="225" cy="150" r="12" fill="none" stroke="%236366f1" stroke-width="1" opacity="0.05"/></g></pattern></defs><rect width="300" height="200" fill="url(%23document-pattern)"/></svg>') repeat;pointer-events:none;z-index:0}.features .container{position:relative;z-index:1}.container{max-width:75rem;margin:0 auto;padding:0 1rem}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;text-align:center;color:var(--text-primary);margin-bottom:4rem;letter-spacing:-.05em;line-height:1.1}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:2rem}.feature-card{background:var(--surface-color);border:.0625rem solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 .25rem 1rem #0000000d}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.25rem;background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));transform:scaleX(0);transition:transform .3s ease}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.features .feature-card{background:var(--surface-color)!important;border:.0625rem solid var(--border-color)!important;border-radius:var(--radius-lg)!important;padding:2.5rem!important;text-align:center!important;transition:all .3s ease!important;position:relative!important;overflow:hidden!important;box-shadow:0 .25rem 1rem #0000000d!important}.feature-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:1rem;color:#fff;margin-left:auto;margin-right:auto;box-shadow:0 .5rem 1rem #f59e0b4d}.feature-icon svg{width:2rem;height:2rem;fill:currentcolor}.feature-card h3{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.025em}.feature-card p{color:var(--text-secondary);line-height:1.7;font-size:1rem;font-weight:400}.how-it-works{padding:8rem 0;background:var(--surface-secondary)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem;margin-top:3rem}.step{text-align:center;position:relative}.step-number{width:4rem;height:4rem;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem;position:relative;z-index:1}.step-content h3{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.025em}.step-content p{color:var(--text-secondary);line-height:1.7;font-size:1rem;font-weight:400}.cta{padding:8rem 0;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-hover) 100%);color:#fff;text-align:center}.cta-content{max-width:48rem;margin:0 auto}.cta h2{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;margin-bottom:1.5rem;letter-spacing:-.05em;line-height:1.1}.cta p{font-size:1.375rem;opacity:.95;margin-bottom:3rem;line-height:1.6;font-weight:400;max-width:40rem;margin-left:auto;margin-right:auto}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta .btn{padding:1rem 2rem;font-size:1.125rem;font-weight:600}.btn-outline{background:transparent;border:.125rem solid white;color:#fff;transition:all .3s ease}.btn-outline:hover{background:#fff;color:var(--accent-color);transform:translateY(-.125rem);box-shadow:0 .5rem 2rem #ffffff4d}.btn-large{padding:1rem 2rem;font-size:1.125rem;font-weight:600;border-radius:.75rem;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;letter-spacing:-.025em}.btn-large:hover{transform:translateY(-.125rem);box-shadow:0 .5rem 2rem #00000026}.btn-small{padding:.5rem 1rem;font-size:.875rem;border-radius:.5rem;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;font-weight:500;letter-spacing:-.015em}.btn-small:hover{transform:translateY(-.0625rem)}.main-content{flex:1;background:var(--background-color);overflow-y:auto;min-height:0;max-height:100%;max-width:var(--max-content-width);margin:0 auto;width:100%;padding:1rem}.main-content-auth{flex:1;background:var(--background-color);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;max-width:var(--max-content-width);margin:0 auto;width:100%;overflow-y:auto;min-height:0;max-height:100%}@media (width <= 768px){.main-content-auth{padding:1rem .5rem}}.main-content-project{flex:1;background:var(--background-color);overflow:hidden;min-height:0;max-height:100%;max-width:var(--max-content-width);margin:0 auto;width:100%}@media (width <= 768px){.nav-menu{display:flex;gap:.5rem;flex-wrap:wrap}.nav-menu a,.nav-menu button{font-size:.875rem;padding:.5rem .75rem;display:flex;align-items:center;justify-content:center}.user-menu-trigger{padding:.5rem;gap:0}.user-name,.dropdown-arrow{display:none}.user-avatar{width:2.25rem;height:2.25rem;flex-shrink:0}.mobile-menu-toggle,.mobile-menu,.mobile-menu-backdrop{display:none}.hero-content{gap:3rem}.hero-main{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-feature-boxes{grid-template-columns:1fr;gap:1.5rem;max-width:24rem}.hero-feature-box{padding:1.5rem}.hero-feature-box h3{font-size:1.125rem}.hero-feature-box p{font-size:.875rem}.features-grid,.steps{grid-template-columns:1fr}.hero-actions{justify-content:center}.cta-actions{flex-direction:column;align-items:center}}@media (width <= 480px){.nav-container{padding:0 .5rem}.nav-menu{gap:.25rem}.nav-menu a,.nav-menu button{padding:.375rem .5rem;font-size:.8125rem;display:flex;align-items:center;justify-content:center}.user-avatar{width:2rem;height:2rem;font-size:.75rem;flex-shrink:0}.user-menu-trigger{padding:.375rem}.hero{padding:3rem 0 5rem}.hero-title{margin-bottom:1.5rem}.hero-subtitle{margin-bottom:2rem;font-size:1.125rem}.features,.how-it-works,.cta{padding:5rem 0}.section-title{margin-bottom:3rem}.container{padding:0 .5rem}.feature-card{padding:1.5rem}}.danger-zone{background-color:var(--surface-color)}.danger-zone h2{color:#dc2626;margin-bottom:1rem}.danger-warning{color:#991b1b;font-weight:500;margin-bottom:2rem;padding:1rem;background-color:#fecaca;border:1px solid #f87171;border-radius:6px}.danger-action{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem;border:1px solid #fca5a5;border-radius:6px;background-color:#fff}.action-info h3{color:#991b1b;margin-bottom:.5rem}.action-info p{color:#6b7280;margin:0;line-height:1.5}.delete-project-btn{background-color:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.delete-project-btn:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px)}.delete-project-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.main-content-header{display:flex;flex-direction:column;background:var(--surface-secondary);border-bottom:1px solid var(--border-color);padding:0;flex-shrink:0}.main-content-header .project-title{margin:1rem 1rem .5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.2}.main-content-header .tabs-header{justify-content:flex-start;align-items:center}.header-actions{display:flex;gap:.5rem;align-items:center;padding:0 1rem}.settings-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.settings-btn:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.settings-btn svg{flex-shrink:0}.project-settings-btn{max-height:1.5rem;padding:.1875rem .75rem;font-size:.8125rem}.deletion-list{margin:1rem 0;padding-left:1.5rem;color:var(--text-secondary)}.deletion-list li{margin-bottom:.5rem}.confirm-text-display{background:var(--surface-secondary);padding:1rem;border-radius:var(--radius-sm);margin:1rem 0;font-family:var(--font-family-mono);border:1px solid var(--border-color)}.confirm-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;margin:1rem 0;font-family:var(--font-family-mono)}.confirm-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.token-usage-view{padding:1.5rem}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.analytics-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary);font-size:.875rem}.filter-input{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary);font-size:.875rem;min-width:12.5rem}.filter-input::placeholder{color:var(--text-secondary)}.chart-section{margin:2rem 0}.chart-container{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;height:12.5rem}.simple-chart{display:flex;align-items:end;height:100%;gap:2px;padding:1rem 0}.chart-bar{flex:1;background:var(--primary-color);border-radius:2px 2px 0 0;position:relative;min-height:2px;transition:all .2s ease}.chart-bar:hover{background:var(--primary-color-hover)}.chart-bar:hover .bar-tooltip{opacity:1;transform:translateY(-100%) scale(1)}.bar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-90%) scale(.8);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem;font-size:.75rem;white-space:nowrap;opacity:0;transition:all .2s ease;z-index:10;box-shadow:0 4px 12px #00000026}.table-section{margin:2rem 0}.data-table{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.data-table table{width:100%;border-collapse:collapse}.data-table th{background:var(--surface-secondary);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:var(--surface-secondary)}.user-rank{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700}.tier-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-transform:uppercase}.tier-badge.free{background:var(--surface-secondary);color:var(--text-secondary)}.tier-badge.pro{background:var(--primary-color);color:#fff}.tokens-used,.request-count{font-weight:600;color:var(--primary-color)}.last-used{color:var(--text-secondary);font-size:.875rem}.user-id{font-family:var(--font-family-mono);font-size:.875rem;color:var(--text-secondary)}.tokens-amount{font-weight:600;color:var(--primary-color)}.usage-context{display:flex;gap:.5rem;align-items:center}.context-badge{background:var(--success-color);color:#fff;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700}.project-id{font-family:var(--font-family-mono);font-size:.75rem;color:var(--text-secondary)}@media (width <= 768px){.analytics-header{flex-direction:column;align-items:stretch}.analytics-filters{flex-direction:column}.filter-input{min-width:unset}.simple-chart{gap:1px}.data-table{overflow-x:auto}.data-table table{min-width:600px}.user-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.invite-actions{margin:1rem 0 1.5rem}.invite-header{margin-bottom:1rem}.invite-header h3{margin:0 0 .5rem;color:var(--text-primary)}.invite-header p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.invite-form h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.5rem}.invite-form>p{margin:0 0 1.5rem;color:var(--text-secondary)}.invite-form input[type=email]{background-color:#fafafa}.invite-success .next-steps{text-align:left}.invitation-mode-selector{margin-bottom:2rem}.mode-options{display:flex;gap:1rem;flex-direction:column}.mode-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.mode-option:hover,.mode-option.selected{border-color:var(--accent-color);background:var(--surface-secondary)}.mode-option input[type=radio]{margin:0;margin-top:.125rem}.mode-content{flex:1}.mode-content strong{display:block;margin-bottom:.25rem;color:var(--text-primary)}.mode-content p{margin:0;color:var(--text-secondary);font-size:.875rem}.invite-options-panel{padding:2rem;text-align:center}.invite-options-panel h3{margin:0 0 1rem;color:var(--text-primary)}.invite-options-panel p{margin:0 0 2rem;color:var(--text-secondary)}.invite-option-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.invite-option-btn{display:flex;align-items:center;padding:1.5rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--surface-primary);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.invite-option-btn:hover{border-color:var(--accent-color);background:var(--surface-secondary)}.invite-option-btn .option-content{flex:1}.invite-option-btn .option-content strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:1.1rem}.invite-option-btn .option-content p{margin:0;color:var(--text-secondary);font-size:.875rem}.loading-container{text-align:center;margin:2rem 0}.loading-container p{margin:1rem 0 0;color:var(--text-secondary);font-size:.875rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.invitation-link-display{margin:2rem 0}.link-container{display:flex;gap:.75rem;align-items:stretch;width:100%}@media (width <= 768px){.link-container{flex-direction:column;gap:.5rem}}.invitation-link-input{flex:1;padding:.75rem;border:.0625rem solid var(--border-color);border-radius:var(--radius);font-family:Courier New,Courier,monospace;font-size:.875rem;background:var(--surface-secondary);color:var(--text-primary);word-break:break-all;min-width:0}.invitation-link-input.small{font-size:.8125rem;padding:.5rem}.copy-link-btn{padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .2s ease;position:relative;display:flex;align-items:center;gap:.5rem}.copy-link-btn:before{content:"";width:1rem;height:1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0}.copy-link-btn:disabled{background:var(--text-muted);cursor:not-allowed}.qr-code-display{text-align:center;margin:2rem 0}.qr-code-container{display:inline-block;padding:1.5rem;background:#fff;border-radius:var(--radius);box-shadow:0 .25rem .5rem #0000001a;border:.0625rem solid var(--border-color)}.qr-code-image{display:block;max-width:100%;height:auto}.instructions{margin:2rem 0;text-align:left}.instructions h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.instructions ol{margin:0;padding-left:1.5rem;color:var(--text-secondary);line-height:1.5}.instructions li{margin:.5rem 0}.link-backup{margin-top:2rem;padding-top:2rem;border-top:.0625rem solid var(--border-color)}.link-backup p{margin:0 0 1rem;font-size:.9375rem;color:var(--text-primary)}.invite-success{padding:2rem;text-align:center}.invite-success h3{margin:0 0 1rem;color:var(--success-color);font-size:1.5rem}.invitation-link-container{margin:1.5rem 0;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius-md)}.invitation-link-container label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.link-copy-container{display:flex;gap:.5rem}.invitation-link-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary);font-family:var(--font-family-mono);font-size:.875rem}.copy-link-btn:hover{background:var(--primary-hover)}.next-steps{margin:1.5rem 0;padding:1rem;background:var(--info-bg);border-left:4px solid var(--info-color);border-radius:var(--radius-sm)}.next-steps h4{margin:0 0 .75rem;color:var(--info-color);font-size:1rem}.next-steps ol{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.next-steps li{margin-bottom:.5rem;line-height:1.5}.invite-help{margin-top:1.5rem;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius-md)}.invite-help h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.invite-help ul{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.invite-help li{margin-bottom:.5rem;line-height:1.5}.invite-help strong{color:var(--text-primary)}.invite-acceptance{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.invite-card{max-width:32rem;width:100%;background:var(--surface-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 .5rem 2rem #0000001a}.invite-card h2{margin:0 0 1rem;color:var(--text-primary);text-align:center;font-size:1.75rem}.invitation-details{margin:1.5rem 0;padding:1rem;background:var(--surface-secondary);border-radius:var(--radius-md);text-align:center}.invitation-details p{margin:.5rem 0;color:var(--text-primary)}.personal-message{margin-top:1rem;padding:.75rem;background:var(--surface-primary);border-radius:var(--radius-sm);font-style:italic;color:var(--text-secondary)}.auth-section{margin-top:1.5rem}.auth-section h3{margin:0 0 1rem;color:var(--text-primary);text-align:center}.auth-switch{margin-top:1rem;text-align:center;padding-top:1rem;border-top:1px solid var(--border-color)}.auth-switch p{margin:0 0 .5rem;color:var(--text-secondary);font-size:.9rem}.link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-weight:500;text-decoration:underline;padding:0}.link-btn:hover{color:var(--primary-hover)}.invite-loading,.invite-success,.invite-error{max-width:32rem;background:var(--surface-primary);border-radius:var(--radius-lg);padding:2rem;text-align:center;box-shadow:0 .5rem 2rem #0000001a}.invite-loading h2,.invite-success h2,.invite-error h2{margin:0 0 1rem;font-size:1.5rem}.invite-error h2{color:var(--error-color)}.loading-spinner{width:2rem;height:2rem;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}.member-actions .remove-btn{background:var(--error-color);color:#fff;border:none;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.member-actions .remove-btn:hover{background:var(--danger-hover)}.family-member-card .member-actions{display:flex;gap:.5rem;align-items:center}.family-member-card .action-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.75rem;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;min-width:3rem;height:1.75rem}.family-member-card .action-btn:hover{background:var(--surface-secondary);border-color:var(--primary-color);color:var(--text-primary)}.family-member-card .delete-btn{color:var(--error-color);border-color:var(--error-color);min-width:1.75rem;padding:.25rem}.family-member-card .delete-btn:hover{background:var(--error-color);color:#fff}.family-member-card .delete-btn svg{width:14px;height:14px}@media (width <= 768px){.member-actions{flex-direction:column;gap:.25rem;align-items:stretch}.member-actions .action-btn,.member-actions .remove-btn{font-size:.8rem;padding:.4rem .6rem;text-align:center}.modal-content{margin:1rem;max-width:calc(100vw - 2rem)}.invite-form,.invite-success,.invite-card{padding:1.5rem}.link-copy-container{flex-direction:column}.copy-link-btn{width:100%}}.email-verification-banner{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:1px solid #e17055;border-radius:var(--radius-md);margin:1rem 0;padding:1rem;box-shadow:var(--shadow-sm);position:relative;z-index:200}.banner-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.banner-message{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.banner-message strong{color:#d63031}.banner-actions{display:flex;gap:.5rem}.resend-btn{background:#fd79a8;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.resend-btn:hover:not(:disabled){background:#e84393;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.resend-btn:disabled{opacity:.7;cursor:not-allowed}.banner-feedback{margin-top:.75rem;padding:.5rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.banner-feedback.success{background:#d1f2eb;color:#00b894;border:1px solid #00b894}.banner-feedback.error{background:#fadbd8;color:#e74c3c;border:1px solid #e74c3c}@media (width <= 768px){.banner-content{flex-direction:column;align-items:stretch;text-align:center}.banner-message{justify-content:center}}.notification-container{position:fixed;top:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem;max-width:25rem;pointer-events:none}.notification{pointer-events:auto;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:.125rem solid;overflow:hidden;transform:translate(100%);animation:slideIn .3s ease-out forwards}.notification:hover{transform:translate(0) scale(1.02)}.notification-content{padding:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-message{flex:1;font-size:.875rem;line-height:1.4;font-weight:500}.notification-close{background:none;border:none;font-size:1.25rem;font-weight:700;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;flex-shrink:0;margin-top:-.125rem}.notification-close:hover{background:#0000001a}.notification-success{border-color:#00b894;background:linear-gradient(135deg,#d1f2eb,#a8e6cf)}.notification-success .notification-message,.notification-success .notification-close{color:#00695c}.notification-error{border-color:#e74c3c;background:linear-gradient(135deg,#fadbd8,#ffccd5)}.notification-error .notification-message,.notification-error .notification-close{color:#c0392b}.notification-warning{border-color:#f39c12;background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.notification-warning .notification-message,.notification-warning .notification-close{color:#b7791f}.notification-info{border-color:#3498db;background:linear-gradient(135deg,#d6eaf8,#aed6f1)}.notification-info .notification-message,.notification-info .notification-close{color:#2471a3}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (width <= 768px){.notification-container{top:.5rem;right:.5rem;left:.5rem;max-width:none}.notification{margin:0}.notification-content{padding:.75rem}}.notification.removing{animation:slideOut .3s ease-in forwards}.management-header{margin-bottom:1.5rem}.header-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.search-controls{flex:1;max-width:25rem}.admin-controls{display:flex;gap:.5rem}.cleanup-btn{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cleanup-btn:hover:not(:disabled){background:#c0392b;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.scan-orphans-btn{background:var(--secondary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.scan-orphans-btn:hover:not(:disabled){background:var(--secondary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.orphaned-users-section{margin:2rem 0;padding:1.5rem;border:2px solid #e67e22;border-radius:var(--radius);background:#fdf2e9}.orphaned-users-section h3{margin:0 0 1rem;color:#e67e22;font-size:1.25rem}.orphaned-users-section p{margin:0 0 1.5rem;color:#8b4513}.orphaned-users-table .table-row.orphaned-row{background:#fff;border:1px solid #f39c12}.orphaned-users-table .table-row.orphaned-row:hover{background:#fefbf6}.verification-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.verification-badge.verified{background:#d5f4e6;color:#27ae60}.verification-badge.unverified{background:#faddd7;color:#e74c3c}.fix-btn{background:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:all .2s ease}.fix-btn:hover{background:#229954;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.orphaned-users-help{margin-top:1.5rem;padding:1rem;background:#e67e221a;border-radius:var(--radius)}.orphaned-users-help p{margin:0 0 .5rem;font-weight:600;color:#e67e22}.orphaned-users-help ul{margin:0;padding-left:1.5rem;color:#8b4513}.orphaned-users-help li{margin:.25rem 0}.cleanup-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.success-message{background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem;font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:24rem;padding:2rem;text-align:center;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:2rem auto;max-width:32rem}.error-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.error-state h2{color:var(--color-text-primary);margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.error-state p{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.5;max-width:24rem}.error-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}@media (width <= 768px){.header-controls{flex-direction:column;align-items:stretch}.search-controls{max-width:none}.admin-controls{justify-content:center}.cleanup-btn{width:100%}}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:3rem!important;width:100%}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-secondary);transition:color .2s ease;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.25rem}.password-toggle-btn:hover{color:var(--color-text-primary);background-color:#0000000d}.password-toggle-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.password-toggle-btn svg{width:1.25rem;height:1.25rem}.legal-document{max-width:50rem;margin:2rem auto;padding:0 1rem;font-family:var(--font-family-primary);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.legal-document .container{background:var(--color-bg-surface);padding:2.5rem;border-radius:.5rem;box-shadow:var(--shadow-medium)}.legal-document h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--color-primary);border-bottom:2px solid var(--color-primary);padding-bottom:.75rem}.legal-document h2{font-size:1.25rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.legal-document h3{font-size:1rem;font-weight:500;margin-top:1.5rem;margin-bottom:.5rem;color:var(--color-text-primary)}.legal-document section{margin-bottom:1.5rem}.legal-document p{margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.legal-document ul,.legal-document ol{margin-bottom:.75rem;padding-left:1.25rem}.legal-document li{margin-bottom:.25rem;font-size:.875rem;line-height:1.4}.legal-document a{color:var(--color-primary);text-decoration:underline}.legal-document a:hover{color:var(--color-primary-dark)}.legal-document strong{font-weight:600;color:var(--color-text-primary)}.legal-document em{font-style:italic;color:var(--color-text-secondary)}.warning-box{background:#ffc1071a;border:2px solid #ffc107;border-radius:.5rem;padding:1.5rem;margin:1.5rem 0}.warning-box h3{color:#b8860b;margin-top:0;margin-bottom:1rem}.highlight-box{background:#28a7451a;border:2px solid #28a745;border-radius:.5rem;padding:1.5rem;margin:1.5rem 0}.highlight-box h3{color:#1e7e34;margin-top:0;margin-bottom:1rem}.summary-box{background:#007bff1a;border:2px solid #007bff;border-radius:.5rem;padding:1.5rem;margin:1.5rem 0}.summary-box h3{color:#004085;margin-top:0;margin-bottom:1rem}.final-reminder{background:#6c757d1a;border-left:4px solid #6c757d;padding:1.5rem;margin:2rem 0;border-radius:0 .5rem .5rem 0}.final-reminder h3{color:#495057;margin-top:0;margin-bottom:1rem}.cookie-category,.storage-category,.third-party-service{background:#f8f9facc;border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem;margin:1rem 0}.no-use-list h3{color:#dc3545;margin-bottom:.5rem}.faq-item{background:#f8f9fa7f;border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin:1rem 0}.faq-item h3{color:var(--color-primary);margin-top:0;margin-bottom:1rem}.contact-info{background:#007bff0d;border:1px solid #007bff;border-radius:.5rem;padding:1.5rem;margin-top:2rem}.site-footer{background:var(--color-bg-surface);border-top:1px solid var(--color-border);padding:2rem 0 1rem;margin-top:3rem}.site-footer .container{max-width:75rem;margin:0 auto;padding:0 1rem}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2rem}.footer-section h4{font-size:var(--font-size-h4);font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.footer-links{display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-body);transition:color .2s ease}.footer-links a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid var(--color-border);padding-top:1rem;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-small)}@media (width <= 48rem){.footer-content{grid-template-columns:1fr;gap:2rem}.legal-document .container{padding:1.5rem 1rem}.legal-document h1{font-size:1.5rem}.legal-document h2{font-size:1.125rem}}.project-images-view{margin:0;padding:0}.images-header{margin-bottom:var(--space-2xl);text-align:center}.images-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.images-header-text{flex:1;text-align:left}.refresh-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-1px)}.refresh-btn svg{flex-shrink:0}.images-header h2{font-size:var(--font-size-h2);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.025em}.images-header p{font-size:var(--font-size-body);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0}.images-upload-area{margin-bottom:var(--space-3xl);border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--surface-color);transition:all .3s ease;position:relative;overflow:hidden}.images-upload-area:hover{border-color:var(--primary-color);background:var(--surface-secondary)}.images-upload-area.drag-over{border-color:var(--primary-color);background:var(--primary-light);background:color-mix(in srgb,var(--primary-color) 5%,var(--surface-color) 95%);transform:scale(1.02)}.upload-placeholder{padding:var(--space-3xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.upload-placeholder svg{color:var(--text-muted);opacity:.8}.upload-placeholder h3{font-size:var(--font-size-h4);font-weight:600;color:var(--text-primary);margin:0}.upload-placeholder p{font-size:var(--font-size-body);color:var(--text-secondary);margin:0;line-height:var(--line-height-normal)}.file-input-hidden{display:none}.upload-btn{background:var(--primary-color);color:#fff;border:none;padding:var(--space-md) var(--space-xl);border-radius:var(--radius);font-size:var(--font-size-small);font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.upload-btn:hover:not(.disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.upload-btn.disabled{opacity:.6;cursor:not-allowed}.error-close{background:none;border:none;color:var(--danger-color);font-size:1.25rem;cursor:pointer;padding:0;margin-left:var(--space-lg);line-height:1}.images-gallery{margin-top:var(--space-2xl)}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-color)}.gallery-header h3{font-size:var(--font-size-h4);font-weight:600;color:var(--text-primary);margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--space-xl)}.image-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease;box-shadow:var(--shadow-sm)}.image-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color) 70%)}.image-thumbnail{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-secondary)}.image-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.image-card:hover .image-thumbnail img{transform:scale(1.05)}.image-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;gap:var(--space-md);opacity:0;transition:opacity .3s ease}.image-card:hover .image-overlay{opacity:1}.image-overlay button{background:#ffffffe5;color:var(--text-primary);border:none;border-radius:var(--radius);padding:var(--space-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem}.image-overlay .view-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.image-overlay .delete-btn:hover{background:var(--danger-color);color:#fff;transform:scale(1.1)}.image-info{padding:var(--space-lg)}.image-title{font-size:var(--font-size-small);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs) 0;line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0 0 var(--space-sm) 0;line-height:var(--line-height-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.image-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--text-muted)}.file-size{font-weight:500}.upload-date{font-style:italic}.gallery-placeholder{text-align:center;padding:var(--space-4xl) var(--space-2xl);color:var(--text-muted)}.gallery-placeholder svg{opacity:.5;margin-bottom:var(--space-xl)}.gallery-placeholder h3{font-size:var(--font-size-h4);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-md) 0}.gallery-placeholder p{font-size:var(--font-size-body);color:var(--text-muted);max-width:30rem;margin:0 auto;line-height:var(--line-height-relaxed)}.profile-picture-upload{position:relative;display:flex;align-items:flex-start;gap:.5rem}.profile-picture-upload.vertical-layout{flex-direction:column;align-items:center;padding:.5rem}.member-main-content.edit-mode{display:flex;flex-direction:column;gap:1rem}.member-main-content.edit-mode .member-photo-container{width:7rem;height:auto;flex-shrink:0}.member-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.member-header .member-name{margin:0;flex:1;min-width:5rem;font-size:1rem;font-weight:600}.member-header .member-actions{flex-shrink:0;display:flex;gap:.5rem}@media (width <= 360px){.member-header{flex-direction:column;align-items:stretch}.member-header .member-actions{justify-content:flex-end}}.edit-top-row{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.name-fields{display:flex;flex-direction:column;gap:.75rem;flex:1;min-width:0}.name-fields .form-group input,.name-fields .form-group textarea{width:100%;min-height:2.5rem;line-height:1.4;overflow-wrap:break-word;resize:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;font-family:inherit;font-size:.875rem;transition:border-color .2s ease,height .2s ease;overflow:hidden}.name-fields .form-group input:focus,.name-fields .form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgb(var(--primary-color-rgb),.1)}.edit-full-width{width:100%}@media (width <= 640px){.edit-top-row{flex-direction:column;gap:1rem}}.description-group{width:100%}.description-group textarea.non-resizable{resize:none;width:100%;min-height:6rem}.edit-full-width .edit-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;align-items:center}.edit-full-width .edit-actions button{min-width:6rem;font-size:.875rem;padding:.75rem 1.5rem}@media (width <= 480px){.edit-full-width .edit-actions{flex-direction:column;align-items:stretch;gap:.75rem}.edit-full-width .edit-actions .action-btn{width:100%;min-width:auto;padding:1rem 1.5rem;font-size:1rem;font-weight:600}}.member-account-status{width:100%;margin-top:.75rem;padding:0;background:none;border:none}.account-linked{display:flex;align-items:center;gap:.5rem;color:var(--success-color);font-size:.9rem}.account-linked svg{flex-shrink:0}.account-email{font-weight:500;color:var(--text-primary)}.account-type{color:var(--text-secondary);font-style:italic}.invite-link-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:0;margin:0;background:none;color:var(--primary-color);border:none;cursor:pointer;font-size:.9rem;text-align:left;text-decoration:underline;transition:color .2s ease}.invite-link-button:hover{color:var(--primary-hover);text-decoration:underline}.invite-link-button svg{flex-shrink:0}.profile-picture-preview,.profile-picture-current{position:relative;display:inline-block;width:6rem;height:6rem;overflow:visible}.preview-image,.profile-picture-current img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);border:2px solid var(--border-color);display:block}.remove-picture-btn{position:absolute;top:.25rem;right:.25rem;padding:0;background:var(--danger-color);color:#fff;border:none;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;font-weight:700;line-height:1;transition:transform .2s ease}.remove-picture-btn:hover{transform:scale(1.1);background:var(--danger-hover)}.photo-upload-overlay{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;padding:var(--space-xs);text-align:center;opacity:0;transition:opacity .3s ease}.profile-picture-current:hover .photo-upload-overlay{opacity:1}.file-input-overlay{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-size-xs);font-weight:500;padding:0}.profile-picture-placeholder{width:6rem;height:6rem;border:2px dashed var(--border-color);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--surface-secondary);transition:all .3s ease;position:relative;padding:.25rem;box-sizing:border-box}.profile-picture-placeholder:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 5%,var(--surface-secondary) 95%)}.profile-picture-placeholder svg{color:var(--text-muted);margin-bottom:var(--space-xs)}.profile-picture-placeholder p{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.file-input-label{background:var(--primary-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-block;white-space:nowrap;align-self:center;min-width:5rem}.file-input-label:hover{background:var(--primary-hover);transform:translateY(-1px)}.url-fallback{margin-top:var(--space-lg);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.url-fallback summary{padding:var(--space-md);background:var(--surface-secondary);cursor:pointer;font-size:var(--font-size-small);font-weight:500;color:var(--text-secondary);transition:background .2s ease}.url-fallback summary:hover{background:color-mix(in srgb,var(--primary-color) 5%,var(--surface-secondary) 95%)}.url-fallback input{width:100%;padding:var(--space-md);border:none;font-size:var(--font-size-small);background:var(--surface-color)}@media (width <= 48rem){.project-images-view{margin:0;padding:0}.images-header h2{font-size:var(--font-size-h3)}.upload-placeholder{padding:var(--space-2xl) var(--space-lg)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-lg)}.image-overlay{opacity:1;background:#0000004d}.gallery-placeholder{padding:var(--space-3xl) var(--space-lg)}}.image-viewer-overlay{background:#000000e5}.image-viewer-modal{background:var(--surface-color);border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;width:auto;height:auto;display:flex;flex-direction:column;overflow:hidden;position:relative}.image-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);flex-shrink:0}.image-viewer-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30rem}.image-viewer-content{display:flex;align-items:center;justify-content:center;padding:var(--space-lg);flex:1;overflow:hidden}.full-size-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius)}.image-viewer-info{padding:var(--space-md) var(--space-lg);flex-shrink:0}.image-viewer-info p{margin:0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.5}.view-btn:disabled{opacity:.5;cursor:not-allowed}.view-btn:disabled:hover{background:var(--surface-secondary);transform:none}@media (width <= 48rem){.image-viewer-modal{max-width:95vw;max-height:95vh}.image-viewer-header{padding:var(--space-sm) var(--space-md)}.image-viewer-header h3{font-size:var(--font-size-base);max-width:15rem}.image-viewer-content{padding:var(--space-md)}.image-viewer-info{padding:var(--space-sm) var(--space-md)}}.image-compression-modal{max-width:40rem;width:95%}.image-compression-modal .modal-subtitle{color:var(--text-secondary);font-size:var(--font-size-small);margin:.25rem 0 0;font-weight:400}.oversized-files-list{margin:1.5rem 0;max-height:20rem;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-secondary)}.oversized-file-item{padding:1rem;border-bottom:1px solid var(--border-color)}.oversized-file-item:last-child{border-bottom:none}.file-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.file-checkbox input[type=checkbox]{margin-top:.125rem;cursor:pointer;flex-shrink:0}.file-checkbox:hover{background:var(--surface-hover)}.file-details{flex:1;cursor:pointer;display:block}.file-info{display:flex;flex-direction:column;gap:.25rem}.file-name{font-weight:500;color:var(--text-primary);word-break:break-word}.file-sizes{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-small);color:var(--text-secondary)}.current-size{color:var(--danger-color);font-weight:500}.arrow{color:var(--text-tertiary);font-weight:700}.estimated-size{color:var(--success-color);font-weight:500}.compression-info{display:flex;gap:.75rem;padding:1rem;background:var(--info-background);border:1px solid var(--info-border);border-radius:var(--radius);margin:1rem 0 1.5rem}.info-icon{color:var(--info-color);flex-shrink:0;margin-top:.125rem}.info-text{flex:1}.info-text p{margin:0 0 .5rem;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.4}.info-text p:last-child{margin-bottom:0}.compression-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentcolor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width <= 48rem){.image-compression-modal{width:100%;max-width:none;margin:1rem}.oversized-files-list{max-height:15rem}.file-sizes{flex-direction:column;align-items:flex-start;gap:.25rem}.arrow{display:none}.compression-info{flex-direction:column;gap:.5rem}.info-icon{align-self:flex-start}}.images-header-layout{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2rem}.images-header-text h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.images-header-text p{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.images-header-info{flex:1;min-width:0}.members-header{margin-bottom:2rem}.members-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.refresh-btn{display:flex;align-items:center;gap:.5rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-small)}.refresh-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.images-upload-box{flex-shrink:0;width:16rem;margin-top:1rem}.upload-drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--surface-secondary);transition:all .2s ease;position:relative}.upload-drop-zone.drag-over{border-color:var(--primary-color);background:var(--primary-background)}.upload-desktop{display:flex;flex-direction:column;align-items:center;padding:1.5rem;gap:.75rem;text-align:center}.upload-desktop svg{color:var(--text-tertiary);margin-bottom:.25rem}.upload-text{display:flex;flex-direction:column;gap:.25rem}.upload-main{font-size:var(--font-size-small);font-weight:500;color:var(--text-secondary)}.upload-sub{font-size:var(--font-size-xs);color:var(--text-tertiary)}.upload-btn-compact{background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:var(--font-size-small);cursor:pointer;transition:background-color .2s ease}.upload-btn-compact:hover:not(.disabled){background:var(--primary-hover)}.upload-btn-compact.disabled{opacity:.6;cursor:not-allowed}.upload-mobile{display:none;flex-direction:column;align-items:center;padding:1.5rem;gap:.75rem;text-align:center;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:500;transition:all .2s ease}.upload-mobile svg{color:var(--text-tertiary)}.upload-mobile:hover{color:var(--text-primary);background:var(--surface-hover)}.file-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}@media (width <= 64rem){.images-upload-box{width:14rem}.upload-desktop{padding:1.25rem}}@media (width <= 48rem){.images-header-layout{flex-direction:column;gap:1.5rem}.images-upload-box{width:100%;max-width:20rem;align-self:center}.upload-desktop{display:none}.upload-mobile{display:flex}.images-header-info{text-align:center}.refresh-btn{align-self:center}}.image-crop-modal{max-width:32rem;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.image-crop-modal .modal-subtitle{color:var(--text-secondary);font-size:var(--font-size-small);margin:.25rem 0 0;font-weight:400}.crop-container{flex:1;display:flex;justify-content:center;align-items:center;padding:1.5rem;background:var(--surface-secondary);border-radius:var(--radius);margin:1rem 0;overflow:hidden}.crop-canvas{border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;max-width:100%;max-height:100%;background:var(--surface-primary)}.crop-info{display:flex;gap:.75rem;padding:1rem;background:var(--info-background);border:1px solid var(--info-border);border-radius:var(--radius);margin:0 0 1.5rem}.crop-info .info-icon{color:var(--info-color);flex-shrink:0;margin-top:.125rem}.crop-info .info-text{flex:1}.crop-info .info-text p{margin:0;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.4}.processing-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentcolor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@media (width <= 48rem){.image-crop-modal{width:100%;max-width:none;margin:1rem;max-height:95vh}.crop-container{padding:1rem;margin:.75rem 0}.crop-canvas{max-width:calc(100vw - 6rem);max-height:50vh}.crop-info{flex-direction:column;gap:.5rem;padding:.75rem}.crop-info .info-icon{align-self:flex-start}}.project-subscriptions-settings .projects-list{display:flex;flex-direction:column;gap:1rem}.project-subscription-card{background:var(--surface-primary);border:.0625rem solid var(--border-color);border-radius:var(--radius);padding:1rem;transition:border-color .2s ease,box-shadow .2s ease}.project-subscription-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-sm)}.project-subscription-card .project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.project-subscription-card .project-title-section{display:flex;align-items:center;gap:.75rem;flex:1}.project-subscription-card .project-title-section h4{margin:0;font-size:1.125rem;color:var(--text-primary)}.project-subscription-card .project-content{display:flex;flex-direction:column;gap:1rem}@media (width >= 768px){.project-subscription-card .project-content{flex-direction:row;align-items:center;justify-content:space-between}.project-subscription-card .project-details{flex:1}.project-subscription-card .project-actions{flex-shrink:0;margin-left:1rem}}.project-subscription-card .subscription-details{display:flex;flex-direction:column;gap:.5rem}.project-subscription-card .subscription-details p{margin:0;font-size:.875rem;color:var(--text-secondary)}.project-subscription-card .quota-summary{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.project-subscription-card .quota-item{font-size:.8rem;color:var(--text-secondary)}.project-subscription-card .upgrade-section{display:flex;flex-direction:column;gap:.5rem}.project-subscription-card .upgrade-section p{margin:0;font-size:.875rem;color:var(--text-secondary)}.project-subscription-card .upgrade-note{font-size:.8rem;color:var(--text-tertiary);font-style:italic}@media (width >= 768px){.project-subscription-card .quota-summary{flex-direction:row;gap:1rem}.project-subscription-card .upgrade-section{flex-direction:row;align-items:center;gap:1rem}}.document-size-indicator{margin-top:1rem;padding:1rem;border-radius:var(--radius);border:.0625rem solid var(--border-color);background:var(--surface-secondary);transition:all .2s ease}.document-size-indicator.warning{border-color:var(--warning-color);background:var(--warning-bg)}.document-size-indicator.error{border-color:var(--error-color);background:var(--error-bg)}.document-size-indicator .size-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.document-size-indicator .character-count{font-weight:600;color:var(--text-primary)}.document-size-indicator.warning .character-count{color:var(--warning-text)}.document-size-indicator.error .character-count{color:var(--error-text)}.document-size-indicator .file-size{font-size:.875rem;color:var(--text-secondary)}.document-size-indicator .help-btn{width:1.5rem;height:1.5rem;border-radius:50%;border:.0625rem solid var(--warning-color);background:var(--warning-color);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:background-color .2s ease}.document-size-indicator .help-btn:hover{background:var(--warning-hover)}.size-progress-bar{width:100%;height:.5rem;background:var(--surface-tertiary);border-radius:.25rem;overflow:hidden;margin-bottom:.5rem}.size-progress-fill{height:100%;background:var(--primary-color);transition:all .3s ease}.document-size-indicator.warning .size-progress-fill{background:var(--warning-color)}.document-size-indicator.error .size-progress-fill{background:var(--error-color)}.size-error{margin-top:.5rem;padding:.5rem;background:var(--error-bg);border:.0625rem solid var(--error-color);border-radius:.25rem;color:var(--error-text);font-size:.875rem;font-weight:500}.document-size-modal{max-width:35rem;width:90vw}.document-size-modal .size-guidance h4:first-child{color:var(--warning-text);margin-bottom:1rem}.document-size-modal .current-stats{background:var(--surface-tertiary);padding:1rem;border-radius:var(--radius);margin-bottom:1.5rem}.document-size-modal .current-stats p{margin:.25rem 0}.document-size-modal ul{margin:1rem 0;padding-left:1.5rem}.document-size-modal ul li{margin-bottom:.75rem;line-height:1.4}.tip-box{background:var(--primary-bg);border:.0625rem solid var(--primary-color);border-radius:var(--radius);padding:1rem;margin-top:1.5rem}.tip-box h4{color:var(--primary-text);margin-bottom:.5rem}.tip-box p{margin:0;line-height:1.4}.error-help-btn{margin-left:1rem;padding:.25rem .5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.25rem;font-size:.75rem;cursor:pointer;transition:background-color .2s ease}.error-help-btn:hover{background:var(--primary-hover)}@media (width <= 768px){.document-size-indicator .size-info{flex-direction:column;align-items:stretch;text-align:center}.document-size-modal{width:95vw;margin:1rem}.error-help-btn{margin-left:0;margin-top:.5rem;display:block}}.person-link-container{position:relative;display:inline-block}.person-link{color:var(--link-color);text-decoration:none;cursor:pointer;transition:color .15s ease}.person-link:hover{color:var(--link-hover-color);text-decoration:underline}.person-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);z-index:1000;margin-bottom:.5rem;pointer-events:none;animation:person-tooltip-appear .2s ease-out}@keyframes person-tooltip-appear{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.person-tooltip-content{background:#fff;border:1px solid #ddd;border-radius:.5rem;padding:1rem;min-width:16rem;max-width:20rem;box-shadow:0 .25rem 1rem #00000026;display:flex;gap:.75rem;align-items:flex-start}.person-tooltip-content:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border:.5rem solid transparent;border-top-color:#fff;border-bottom:none}.person-tooltip-content:after{content:"";position:absolute;top:calc(100% + 1px);left:50%;transform:translate(-50%);width:0;height:0;border:.5rem solid transparent;border-top-color:#ddd;border-bottom:none}.person-photo{flex-shrink:0;width:3rem;height:3rem;border-radius:.25rem;overflow:hidden}.person-photo img{width:100%;height:100%;object-fit:cover}.person-avatar{width:100%;height:100%;background:linear-gradient(135deg,#06c,#4d9fff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025rem}.person-name{font-weight:600;color:#333;margin-bottom:.25rem;font-size:.875rem}.person-id{font-size:.75rem;color:#666;font-family:var(--font-family-mono);margin-bottom:.5rem}@media (prefers-color-scheme: dark){.person-link{color:var(--link-color)}.person-link:hover{color:var(--link-hover-color)}.person-tooltip-content{background:#2a2a2a;border-color:#555;color:#e0e0e0}.person-tooltip-content:before{border-top-color:#2a2a2a}.person-tooltip-content:after{border-top-color:#555}.person-name{color:#e0e0e0}.person-id{color:#aaa}}.people-viewer{margin:0;padding:0}.people-stats{margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:.5rem;border:1px solid #e9ecef}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1.5rem}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;color:#06c;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.025rem}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.5rem;margin:2rem 0}.person-card{background:#fff;border:1px solid #e9ecef;border-radius:.75rem;padding:1.5rem;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.person-card:hover{border-color:#06c;box-shadow:0 .25rem 1rem #0066cc1a;transform:translateY(-1px)}.person-card.selected{border-color:#06c;box-shadow:0 0 0 2px #06c3;background:#0066cc05}.person-card.editing{border-color:#28a745;cursor:default}.person-card-header{display:flex;gap:1rem;align-items:flex-start}.person-photo-edit{flex-shrink:0;display:flex;align-items:flex-start;justify-content:flex-start}.person-photo-edit .profile-picture-upload{width:auto;max-width:none}.person-photo-edit .profile-picture-upload.vertical-layout{align-items:center;padding:0}.person-photo-edit .photo-container,.person-photo-edit .photo-upload-actions{display:flex;justify-content:center}.person-photo-display{flex-shrink:0;width:4rem;height:4rem;border-radius:.5rem;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.person-photo-display.clickable:hover{transform:scale(1.05);box-shadow:0 .25rem 1rem #0066cc1a}.person-photo{width:100%;height:100%;object-fit:cover}.person-avatar{width:100%;height:100%;background:linear-gradient(135deg,#06c,#4d9fff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025rem;border-radius:.5rem}.person-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.person-name{font-size:1.125rem;font-weight:600;color:#333;margin-bottom:.25rem;line-height:1.3}.person-stats{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}.mention-count{font-size:.875rem;color:#06c;font-weight:500;background:#0066cc1a;padding:.125rem .5rem;border-radius:1rem}.person-id{font-size:.75rem;color:#888;font-family:var(--font-family-mono)}.person-mentions{margin:1rem 0;padding:.75rem;background:#f8f9fa;border-radius:.375rem;border:1px solid #e9ecef}.mentions-header{font-size:.75rem;color:#666;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025rem}.mentions-list{display:flex;flex-direction:column;gap:.25rem}.mention-item{display:flex;align-items:center;gap:.5rem}.mention-position{font-size:.75rem;color:#888;font-family:var(--font-family-mono);background:#fff;padding:.125rem .375rem;border-radius:.25rem;border:1px solid #ddd}.more-mentions{font-size:.75rem;color:#666;font-style:italic;margin-top:.25rem}.person-edit-form{margin-top:1rem}.person-actions{display:flex;gap:.5rem;justify-content:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.people-help{margin:3rem 0 2rem;padding:1.5rem;background:#f8f9fa;border-radius:.75rem;border:1px solid #e9ecef}.people-help h3{color:#333;margin-bottom:1rem;font-size:1.125rem}.people-help ul{list-style:none;padding:0;margin:0 0 1rem}.people-help li{margin-bottom:.75rem;padding-left:1.5rem;position:relative}.people-help li:before{content:"•";color:#06c;position:absolute;left:0;font-weight:700}.people-help code{background:#e9ecef;padding:.125rem .375rem;border-radius:.25rem;font-family:var(--font-family-mono);font-size:.875rem;color:#333}.help-note{padding:.75rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:.375rem;color:#856404;font-size:.875rem}@media (prefers-color-scheme: dark){.people-stats{background:#2a2a2a;border-color:#555}.stat-number{color:#66b3ff}.stat-label{color:#aaa}.person-card{background:#2a2a2a;border-color:#555;color:#e0e0e0}.person-card:hover{border-color:#66b3ff;box-shadow:0 .25rem 1rem #66b3ff1a}.person-card.selected{border-color:#66b3ff;box-shadow:0 0 0 2px #66b3ff33;background:#66b3ff0d}.person-card.editing{border-color:#40d461}.person-name{color:#e0e0e0}.mention-count{color:#66b3ff;background:#66b3ff1a}.person-id{color:#aaa}.person-mentions{background:#1a1a1a;border-color:#444}.mentions-header{color:#aaa}.mention-position{background:#333;color:#ccc;border-color:#555}.more-mentions{color:#aaa}.person-actions{border-top-color:#555}.people-help{background:#2a2a2a;border-color:#555}.people-help h3{color:#e0e0e0}.people-help code{background:#444;color:#e0e0e0}.help-note{background:#3d3d00;border-color:#660;color:#ff9}}.database-gc-view{max-width:1200px;margin:0 auto}.gc-header{margin-bottom:2rem}.gc-header h2{margin-bottom:.5rem;color:var(--text-primary)}.gc-header p{color:var(--text-secondary);font-size:.9rem}.gc-controls{display:flex;gap:1rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.gc-analysis-section,.gc-cleanup-section,.gc-utility-section{display:flex;flex-direction:column;gap:1.25rem}.gc-analysis-section h3,.gc-cleanup-section h3{margin:0 0 .5rem;color:var(--primary-color);font-size:1.25rem}.gc-analysis-section p,.gc-cleanup-section p{margin:0 0 1rem;color:var(--text-secondary);font-size:.875rem}.gc-cleanup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem;margin-top:1rem}.gc-cleanup-item{display:flex;flex-direction:column;gap:.5rem}.gc-cleanup-item button{width:100%;padding:.75rem 1rem;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-cleanup-desc{font-size:.75rem;color:var(--text-secondary);font-style:italic;text-align:center;margin:0;line-height:1.3}.gc-btn{display:inline-block;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-align:center}.gc-btn:disabled{opacity:.6;cursor:not-allowed}.gc-btn-analyze{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.gc-btn-analyze:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.gc-btn-cleanup{background-color:var(--danger-color, #dc3545);color:#fff;border-color:var(--danger-color, #dc3545)}.gc-btn-cleanup:hover:not(:disabled){background-color:var(--danger-hover, #c82333);border-color:var(--danger-hover, #c82333)}.gc-btn-confirm{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.gc-btn-confirm:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.gc-btn-clear{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.gc-btn-clear:hover:not(:disabled){background-color:var(--hover-color, #f8f9fa);border-color:var(--text-secondary)}.gc-info{background:var(--background-alt, #f8f9fa);border-radius:var(--radius);padding:1rem;font-size:.875rem}.gc-info p{margin:0 0 .5rem}.gc-info p:last-child{margin-bottom:0}.gc-output-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:1.5rem}.output-header{background:var(--background-alt, #f8f9fa);border-bottom:1px solid var(--border-color);padding:1rem}.output-header h3{margin:0;font-size:1rem;color:var(--text-primary)}.gc-output{padding:1rem;min-height:300px;max-height:500px;overflow-y:auto}.output-content{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.4;color:var(--text-primary);margin:0;white-space:pre-wrap;word-break:break-word}.output-placeholder{display:flex;align-items:center;justify-content:center;height:250px;color:var(--text-secondary);font-style:italic}.gc-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}.gc-summary{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem}.gc-summary h3{margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.stat-item.total{font-weight:600;border-bottom:2px solid var(--primary-color);margin-top:.5rem;padding-top:1rem}.stat-label{color:var(--text-secondary);font-size:.875rem}.stat-value{font-weight:600;color:var(--text-primary);font-size:1rem}.stat-item.total .stat-value{color:var(--primary-color);font-size:1.1rem}@media (max-width: 768px){.gc-button-group{flex-direction:column;gap:.75rem}.gc-btn{width:auto;min-width:auto;max-width:none}.summary-stats{grid-template-columns:1fr}.gc-cleanup-grid{grid-template-columns:1fr;gap:.75rem}}@media (prefers-color-scheme: dark){.gc-error{background:#2d1b1e;color:#f8d7da;border-color:#3d1e22}.gc-info,.output-header{background:var(--surface-alt, #2a2a2a)}}.document-activity-modal{width:35rem;max-width:90vw;max-height:90vh}.activity-loading,.activity-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.activity-loading .loading-spinner{margin-bottom:1rem}.activity-loading p,.activity-empty p{margin:.5rem 0}.activity-list{max-height:60vh;overflow-y:auto}.activity-entry{padding:1rem;border-bottom:.0625rem solid var(--border-color);transition:background-color .2s ease;-webkit-user-select:text;user-select:text}.activity-entry:last-child{border-bottom:none}.activity-entry:hover{background-color:var(--surface-alt)}.activity-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.activity-user{display:flex;align-items:flex-start;gap:.75rem;flex:1}.activity-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:.125rem}.activity-user-info{flex:1;min-width:0}.activity-user-name{font-weight:600;color:var(--text-primary);font-size:.875rem;-webkit-user-select:text;user-select:text}.activity-description{color:var(--text-secondary);font-size:.875rem;margin-top:.125rem;-webkit-user-select:text;user-select:text}.activity-details{margin-left:2rem;font-size:.8125rem}.activity-changes{color:var(--text-secondary);margin-bottom:.25rem;-webkit-user-select:text;user-select:text}.activity-change-description{color:var(--text-muted);font-style:italic;-webkit-user-select:text;user-select:text}.loading-text{color:var(--text-muted);animation:pulse 1.5s ease-in-out infinite}.load-more-container{padding:1.5rem;text-align:center;border-top:.0625rem solid var(--border-color)}.load-more-btn{display:inline-flex;align-items:center;gap:.5rem}.load-more-btn .loading-spinner.small{width:1rem;height:1rem;border-width:.125rem}.activity-error{margin-bottom:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
