:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--secondary:#64748b;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#334155;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0000004d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{-webkit-font-smoothing:antialiased;background:#0f172a;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family);line-height:1.5}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;padding-top:64px}.page-content{flex:1 1;padding:24px;padding:var(--spacing-lg);transition:margin-left .3s ease}.page-content.sidebar-open{margin-left:260px}.page-content.sidebar-closed{margin-left:60px}.navbar{background:#1e293b;background:var(--bg-secondary);border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);height:64px;left:0;padding:0 24px;padding:0 var(--spacing-lg);position:fixed;right:0;top:0;z-index:1000}.navbar,.navbar .logo{align-items:center;display:flex}.navbar .logo{color:#2563eb;color:var(--primary);font-size:1.25rem;font-weight:700;gap:8px;gap:var(--spacing-sm)}.navbar .nav-actions{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);margin-left:auto}.sidebar{background:#1e293b;background:var(--bg-secondary);border-right:1px solid #334155;border-right:1px solid var(--border-color);bottom:0;left:0;overflow-y:auto;padding:16px;padding:var(--spacing-md);position:fixed;top:64px;transition:width .3s ease;width:260px;z-index:900}.sidebar.collapsed{width:60px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.sidebar-item{align-items:center;border-radius:8px;border-radius:var(--border-radius);color:#94a3b8;color:var(--text-secondary);display:flex;gap:16px;gap:var(--spacing-md);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .2s}.sidebar-item:hover{background:#334155;background:var(--bg-tertiary);color:#f8fafc;color:var(--text-primary)}.sidebar-item.active{background:#2563eb;background:var(--primary);color:#fff}.stat-card{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);display:flex;gap:16px;gap:var(--spacing-md);padding:24px;padding:var(--spacing-lg)}.stat-card .stat-icon{font-size:2rem}.stat-card .stat-value{display:block;font-size:1.75rem;font-weight:700}.stat-card .stat-label{color:#94a3b8;color:var(--text-secondary);font-size:.875rem}.stat-card.warning{border-color:#f59e0b;border-color:var(--warning)}.stat-card.success{border-color:#10b981;border-color:var(--success)}.form-group{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-group label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.form-group input,.form-group select,.form-group textarea{background:#334155;background:var(--bg-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb33;outline:none}.form-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:8px;gap:var(--spacing-sm);justify-content:center;padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .2s}.btn.primary{background:#2563eb;background:var(--primary);color:#fff}.btn.primary:hover{background:#1d4ed8;background:var(--primary-dark)}.btn.secondary{background:#334155;background:var(--bg-tertiary);border:1px solid #334155;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.btn.secondary:hover{background:#1e293b;background:var(--bg-secondary)}.btn.small{font-size:.75rem;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.btn.large{font-size:1rem;padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}.btn:disabled{cursor:not-allowed;opacity:.5}.upload-zone{background:#1e293b;background:var(--bg-secondary);border:2px dashed #334155;border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg);transition:all .2s}.upload-zone.required{border-color:#2563eb;border-color:var(--primary)}.upload-zone.has-files{border-color:#10b981;border-color:var(--success);border-style:solid}.upload-zone .zone-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.upload-zone .step-number{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:600}.upload-zone h5{font-size:1rem;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.upload-zone .zone-description{color:#94a3b8;color:var(--text-secondary);font-size:.75rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.dropzone{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;padding:24px;padding:var(--spacing-lg);text-align:center;transition:background .2s}.dropzone.active,.dropzone:hover{background:#2563eb1a}.dropzone .upload-icon{display:block;font-size:1.5rem;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.dropzone .file-types{color:#64748b;color:var(--text-muted);display:block;font-size:.75rem;margin-top:4px;margin-top:var(--spacing-xs)}.file-list{margin-top:16px;margin-top:var(--spacing-md)}.file-item{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:8px;gap:var(--spacing-sm);margin-bottom:4px;margin-bottom:var(--spacing-xs);padding:8px;padding:var(--spacing-sm)}.file-item .file-name{flex:1 1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item .file-size{color:#64748b;color:var(--text-muted);font-size:.75rem}.file-item .remove-btn{background:none;border:none;color:#ef4444;color:var(--danger);cursor:pointer;padding:4px}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:2px 8px}.badge.required{background:#ef444433;color:#ef4444;color:var(--danger)}.badge.optional{background:#64748b33;color:#64748b;color:var(--secondary)}.badge.success{background:#10b98133;color:#10b981;color:var(--success)}.badge.warning{background:#f59e0b33;color:#f59e0b;color:var(--warning)}.status-badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:4px 12px;text-transform:uppercase}.status-badge.in_progress{background:#2563eb33;color:#2563eb;color:var(--primary)}.status-badge.review{background:#f59e0b33;color:#f59e0b;color:var(--warning)}.status-badge.completed{background:#10b98133;color:#10b981;color:var(--success)}.data-table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);text-align:left}.data-table th{color:#94a3b8;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.data-table tbody tr:hover{background:#334155;background:var(--bg-tertiary)}.modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.modal{background:#1e293b;background:var(--bg-secondary);border-radius:12px;border-radius:var(--border-radius-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal.large{max-width:800px}.modal-header{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg)}.modal-header h3{font-size:1.25rem}.modal-actions,.modal-content{padding:24px;padding:var(--spacing-lg)}.modal-actions{border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;gap:16px;gap:var(--spacing-md);justify-content:flex-end}.close-btn{background:none;border:none;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:1.25rem}.progress-bar{background:#334155;background:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:#2563eb;background:var(--primary);border-radius:4px;height:100%;transition:width .3s ease}.admin-tabs,.tab-navigation{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;gap:4px;gap:var(--spacing-xs);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.tab,.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#94a3b8;color:var(--text-secondary);cursor:pointer;padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.tab-btn:hover,.tab:hover{color:#f8fafc;color:var(--text-primary)}.tab-btn.active,.tab.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary);color:#2563eb;color:var(--primary)}.stats-grid,.stats-grid-admin{grid-gap:16px;grid-gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;margin-bottom:var(--spacing-lg)}.stats-grid,.stats-grid-admin,.team-list{display:grid;gap:16px;gap:var(--spacing-md)}.team-list{grid-gap:16px;grid-gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.team-card{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);cursor:pointer;padding:24px;padding:var(--spacing-lg);transition:all .2s}.team-card:hover{border-color:#2563eb;border-color:var(--primary)}.team-card .card-header{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);margin-bottom:16px;margin-bottom:var(--spacing-md)}.team-card .member-avatar{align-items:center;background:#2563eb;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-weight:600;height:48px;justify-content:center;width:48px}.team-card .member-info{flex:1 1}.team-card .member-info h4{margin-bottom:2px}.team-card .member-info .role{color:#94a3b8;color:var(--text-secondary);font-size:.875rem}.team-card .card-stats{grid-gap:8px;grid-gap:var(--spacing-sm);border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);border-top:1px solid #334155;border-top:1px solid var(--border-color);display:grid;gap:8px;gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr);padding:16px 0;padding:var(--spacing-md) 0}.team-card .stat{text-align:center}.team-card .stat .label{color:#64748b;color:var(--text-muted);display:block;font-size:.75rem}.team-card .stat .value{display:block;font-weight:600}.rewards-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.reward-card{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg);text-align:center}.reward-card .reward-icon{font-size:3rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.reward-card h4{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.reward-card p{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.reward-card .points{color:#2563eb;color:var(--primary);font-size:1.25rem;font-weight:700}.leaderboard-item{align-items:center;background:#1e293b;background:var(--bg-secondary);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:16px;gap:var(--spacing-md);margin-bottom:8px;margin-bottom:var(--spacing-sm);padding:16px;padding:var(--spacing-md)}.leaderboard-item .rank{font-size:1.5rem;width:40px}.leaderboard-item .points{color:#2563eb;color:var(--primary);font-weight:700}.loading-screen{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loader{animation:spin 1s linear infinite;border:4px solid #334155;border-top-color:#2563eb;border:4px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--primary);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.page-content{margin-left:0!important;padding:16px;padding:var(--spacing-md)}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.form-grid,.rewards-grid,.stats-grid,.team-list{grid-template-columns:1fr}}.modal-body,.modal-footer{padding:24px;padding:var(--spacing-lg)}.modal-footer{border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;gap:16px;gap:var(--spacing-md);justify-content:flex-end}.modal-header h2{font-size:1.25rem;font-weight:600}.form-row{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.radio-group{display:flex;gap:24px;gap:var(--spacing-lg)}.radio-group label{align-items:center;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;gap:4px;gap:var(--spacing-xs)}.form-hint{color:#64748b;color:var(--text-muted);font-size:.75rem;margin-top:4px;margin-top:var(--spacing-xs)}.form-group.checkbox label{align-items:center;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;gap:8px;gap:var(--spacing-sm)}.invoice-items{margin:16px 0;margin:var(--spacing-md) 0}.invoice-items h4{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.invoice-item-row{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.invoice-item-row .item-description{flex:3 1}.invoice-item-row .item-qty,.invoice-item-row .item-rate{flex:1 1;text-align:right}.invoice-item-row .item-total{flex:1 1;font-weight:500;min-width:80px;text-align:right}.invoice-total{border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;font-size:1.125rem;gap:16px;gap:var(--spacing-md);justify-content:flex-end;padding:16px 0;padding:var(--spacing-md) 0}.preset-buttons{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm)}.preset-btn{align-items:center;background:#334155;background:var(--bg-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:.875rem;gap:2px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.preset-btn.active,.preset-btn:hover{border-color:#2563eb;border-color:var(--primary)}.preset-btn.active{background:#2563eb;background:var(--primary);color:#fff}.preset-btn .preset-points{font-size:.75rem;opacity:.8}.dropdown-overlay{inset:0;position:fixed;z-index:1050}.dropdown{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg);min-width:300px;position:absolute;right:24px;right:var(--spacing-lg);top:60px;z-index:1051}.dropdown-header{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px;padding:var(--spacing-md)}.dropdown-header h3{font-size:1rem;font-weight:600}.dropdown-content{max-height:400px;overflow-y:auto}.dropdown-footer{border-top:1px solid #334155;border-top:1px solid var(--border-color);text-align:center}.dropdown-footer,.notification-item{padding:16px;padding:var(--spacing-md)}.notification-item{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:16px;gap:var(--spacing-md);transition:background .2s}.notification-item:hover{background:#334155;background:var(--bg-tertiary)}.notification-item.unread{background:#2563eb1a}.notification-item .notif-icon{font-size:1.25rem}.notification-item .notif-content p{font-size:.875rem;margin-bottom:2px}.notification-item .notif-time{color:#64748b;color:var(--text-muted);font-size:.75rem}.notification-badge{background:#ef4444;background:var(--danger);border-radius:10px;color:#fff;font-size:.625rem;font-weight:600;padding:2px 6px;position:absolute;right:-4px;top:-4px}.settings-item{align-items:center;background:none;border:none;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:16px;gap:var(--spacing-md);padding:16px;padding:var(--spacing-md);text-align:left;transition:background .2s;width:100%}.settings-item:hover{background:#334155;background:var(--bg-tertiary)}.settings-item:last-child{border-bottom:none}.settings-icon{text-align:center;width:20px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.dashboard-header h1{font-size:1.5rem;font-weight:700}.header-actions{display:flex;gap:8px;gap:var(--spacing-sm);position:relative}.header-actions .btn.icon{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);padding:8px;padding:var(--spacing-sm);position:relative}.stat-card.large{padding:32px;padding:var(--spacing-xl)}.stat-card.large .stat-value{font-size:2rem}.stat-card.clickable{cursor:pointer;transition:all .2s}.stat-card.clickable:hover{border-color:#2563eb;border-color:var(--primary);transform:translateY(-2px)}.stat-trend{font-size:.75rem;margin-top:4px;margin-top:var(--spacing-xs)}.stat-trend.up{color:#10b981;color:var(--success)}.stat-trend.down{color:#ef4444;color:var(--danger)}.overview-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}@media (max-width:1200px){.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.overview-grid{grid-template-columns:1fr}}.overview-section{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg)}.overview-section.wide{grid-column:span 3}@media (max-width:1200px){.overview-section.wide{grid-column:span 2}}@media (max-width:768px){.overview-section.wide{grid-column:span 1}}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md)}.section-header h3{font-size:1rem;font-weight:600}.checkin-list{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm);margin-bottom:16px;margin-bottom:var(--spacing-md)}.checkin-item{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:16px;gap:var(--spacing-md);padding:8px;padding:var(--spacing-sm)}.checkin-item .avatar{align-items:center;background:#2563eb;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.checkin-item .checkin-info{flex:1 1}.checkin-item .checkin-info .name{display:block;font-size:.875rem;font-weight:500}.checkin-item .checkin-info .note{color:#64748b;color:var(--text-muted);display:block;font-size:.75rem}.checkin-item .badge.neutral{background:#1e293b;background:var(--bg-secondary);color:#64748b;color:var(--text-muted)}.urgent-list{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm)}.urgent-item{align-items:center;background:#334155;background:var(--bg-tertiary);border-left:3px solid #334155;border-left:3px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:16px;gap:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.urgent-item.high{border-left-color:#ef4444;border-left-color:var(--danger)}.urgent-item.medium{border-left-color:#f59e0b;border-left-color:var(--warning)}.urgent-item.low{border-left-color:#06b6d4;border-left-color:var(--info)}.urgent-item .urgent-icon{font-size:1.25rem}.urgent-item .urgent-message{flex:1 1;font-size:.875rem}.quick-actions-grid{grid-gap:8px;grid-gap:var(--spacing-sm);display:grid;gap:8px;gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr)}@media (max-width:600px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}.quick-action{align-items:center;background:#334155;background:var(--bg-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:.75rem;gap:4px;gap:var(--spacing-xs);padding:16px;padding:var(--spacing-md);transition:all .2s}.quick-action:hover{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.quick-action span:first-child{font-size:1.25rem}.activity-feed{display:flex;flex-direction:column}.activity-item{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;gap:16px;gap:var(--spacing-md);padding:8px 0;padding:var(--spacing-sm) 0}.activity-item:last-child{border-bottom:none}.activity-time{color:#64748b;color:var(--text-muted);font-size:.75rem;min-width:70px}.activity-icon{font-size:1rem}.activity-text{flex:1 1;font-size:.875rem}.btn.text{background:none;color:#2563eb;color:var(--primary);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.btn.text:hover{text-decoration:underline}.btn.text.danger{color:#ef4444;color:var(--danger)}.btn.full-width{width:100%}.ai-drafting-tab .ai-header{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.ai-drafting-tab .ai-header h2{font-size:1.5rem;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.ai-drafting-tab .ai-header p{color:#94a3b8;color:var(--text-secondary)}.ai-workflow{flex-direction:column;margin-bottom:32px;margin-bottom:var(--spacing-xl)}.ai-workflow,.workflow-step{display:flex;gap:24px;gap:var(--spacing-lg)}.workflow-step{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg)}.workflow-step .step-number{align-items:center;background:#2563eb;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.workflow-step .step-content{flex:1 1}.workflow-step .step-content h4{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.workflow-step .step-content p{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.parse-status{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm)}.status-item{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);font-size:.75rem;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.status-item.complete{background:#10b98133;color:#10b981;color:var(--success)}.status-item.pending{background:#f59e0b33;color:#f59e0b;color:var(--warning)}.ai-progress{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);margin-top:16px;margin-top:var(--spacing-md)}.ai-progress .progress-bar{flex:1 1}.generated-drawings{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm);margin-top:16px;margin-top:var(--spacing-md)}.drawing-preview{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:flex;font-size:.875rem;justify-content:space-between;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.ai-stats{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.ai-stats{grid-template-columns:1fr}}.settings-tab .settings-header{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.settings-tab .settings-header h2{font-size:1.5rem;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.settings-tab .settings-header p{color:#94a3b8;color:var(--text-secondary);margin-bottom:16px;margin-bottom:var(--spacing-md)}.settings-section{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:24px;padding:var(--spacing-lg)}.settings-section h3{font-size:1rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.plan-card{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);padding:24px;padding:var(--spacing-lg);text-align:center}.plan-card .plan-name{font-size:1.25rem;font-weight:600;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.plan-card .plan-price{color:#2563eb;color:var(--primary);font-size:2rem;font-weight:700;margin-bottom:16px;margin-bottom:var(--spacing-md)}.plan-card .plan-features{list-style:none;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.plan-card .plan-features li{color:#94a3b8;color:var(--text-secondary);padding:4px 0;padding:var(--spacing-xs) 0}.payment-method{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:16px;padding:var(--spacing-md)}.billing-list{display:flex;flex-direction:column}.billing-item{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;gap:24px;gap:var(--spacing-lg);padding:16px 0;padding:var(--spacing-md) 0}.billing-item:last-child{border-bottom:none}.billing-item .status.paid{color:#10b981;color:var(--success);font-size:.75rem;text-transform:uppercase}.users-table{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);overflow:hidden}.users-table .table-header{background:#334155;background:var(--bg-tertiary);color:#94a3b8;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.users-table .table-header,.users-table .table-row{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:2fr 1fr 1fr 1fr;padding:16px;padding:var(--spacing-md)}.users-table .table-row{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color)}.users-table .table-row:last-child{border-bottom:none}.users-table .user-info{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.users-table .avatar{align-items:center;background:#2563eb;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-weight:600;height:40px;justify-content:center;width:40px}.users-table .user-name{font-weight:500}.users-table .user-email{color:#64748b;color:var(--text-muted);font-size:.75rem}.role-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:4px 8px;text-transform:capitalize}.role-badge.owner{background:#8b5cf633;color:#8b5cf6}.role-badge.admin{background:#2563eb33;color:#2563eb;color:var(--primary)}.role-badge.drafter{background:#10b98133;color:#10b981;color:var(--success)}.role-badge.client{background:#64748b33;color:#64748b;color:var(--secondary)}.users-table .actions{display:flex;gap:8px;gap:var(--spacing-sm)}.integrations-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.integration-card{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);display:flex;gap:16px;gap:var(--spacing-md);padding:24px;padding:var(--spacing-lg);position:relative}.integration-card .integration-icon{font-size:2rem}.integration-card .integration-info{flex:1 1}.integration-card .integration-info h4{margin-bottom:2px}.integration-card .integration-info p{color:#64748b;color:var(--text-muted);font-size:.75rem}.connected-badge{color:#10b981;color:var(--success);font-size:.625rem;font-weight:600;position:absolute;right:8px;right:var(--spacing-sm);top:8px;top:var(--spacing-sm)}.priority-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.priority-badge.high{background:#ef444433;color:#ef4444;color:var(--danger)}.priority-badge.normal{background:#2563eb33;color:#2563eb;color:var(--primary)}.priority-badge.low{background:#64748b33;color:#64748b;color:var(--secondary)}.type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.type-badge.earned{background:#10b98133;color:#10b981;color:var(--success)}.type-badge.redeemed{background:#2563eb33;color:#2563eb;color:var(--primary)}.positive{color:#10b981;color:var(--success)}.negative{color:#ef4444;color:var(--danger)}.empty-state{padding:32px;padding:var(--spacing-xl)}.empty-row,.empty-state{color:#64748b;color:var(--text-muted);text-align:center}.empty-row{padding:32px!important;padding:var(--spacing-xl)!important}.portal-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.portal-header h1{font-size:1.5rem}.portal-header .header-stats{display:flex;gap:24px;gap:var(--spacing-lg)}.portal-header .quick-stat{text-align:center}.portal-header .quick-stat .value{display:block;font-size:1.25rem;font-weight:700}.portal-header .quick-stat .label{color:#64748b;color:var(--text-muted);display:block;font-size:.75rem}.checkin-banner{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:12px;border-radius:var(--border-radius-lg);flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:24px;padding:var(--spacing-lg)}.checkin-banner,.checkin-content{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.checkin-icon{font-size:2rem}.checkin-text h3{margin-bottom:2px}.checkin-text p{font-size:.875rem;opacity:.9}.checkin-form{display:flex;gap:8px;gap:var(--spacing-sm)}.checkin-form input{background:#fff3;border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;min-width:250px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.checkin-form input::placeholder{color:#ffffffb3}.error-banner{align-items:center;background:#ef444433;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:8px;border-radius:var(--border-radius);color:#ef4444;color:var(--danger);display:flex;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:16px;padding:var(--spacing-md)}.error-banner button{background:none;border:none;color:#ef4444;color:var(--danger);cursor:pointer;font-weight:500}.assignment-cards{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.assignment-card{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg)}.assignment-card.active{border-color:#2563eb;border-color:var(--primary)}.assignment-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.assignment-card .project-id{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem}.assignment-card h3{font-size:1rem;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.assignment-card .client{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.assignment-card .progress-section{align-items:center;display:flex;gap:16px;gap:var(--spacing-md);margin-bottom:16px;margin-bottom:var(--spacing-md)}.assignment-card .progress-section .progress-bar{flex:1 1}.assignment-card .progress-text{font-size:.875rem;font-weight:500}.assignment-card .due-date{color:#94a3b8;color:var(--text-secondary);font-size:.875rem}.assignment-card .due-date,.assignment-card .sheet-list{margin-bottom:16px;margin-bottom:var(--spacing-md)}.assignment-card .sheet-list h4{color:#64748b;color:var(--text-muted);font-size:.75rem;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.sheet-item{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:4px;margin-bottom:var(--spacing-xs);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.sheet-item .status-icon{font-size:.75rem}.sheet-item .status-icon.complete{color:#10b981;color:var(--success)}.sheet-item .status-icon.in_progress{color:#f59e0b;color:var(--warning)}.sheet-item .status-icon.not_started{color:#64748b;color:var(--text-muted)}.card-actions,.pending-list{display:flex;gap:8px;gap:var(--spacing-sm)}.pending-list{flex-direction:column}.pending-item{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:16px;gap:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.pending-item .project-info{flex:1 1}.pending-item .project-id{color:#64748b;color:var(--text-muted);display:block;font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem}.pending-item .project-name{font-weight:500}.pending-item .project-meta{color:#94a3b8;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;gap:2px;text-align:right}.stats-row{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat-box{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);padding:16px;padding:var(--spacing-md);text-align:center}.stat-box .stat-value,.stat-box .value{display:block;font-size:1.5rem;font-weight:700}.stat-box .label,.stat-box .stat-label{color:#64748b;color:var(--text-muted);display:block;font-size:.75rem}.summary-stats{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}@media (max-width:600px){.summary-stats{grid-template-columns:1fr}}.time-log-tab{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}@media (max-width:900px){.time-log-tab{grid-template-columns:1fr}}.time-entry-form,.time-history,.time-summary{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg)}.time-history{grid-column:span 2}@media (max-width:900px){.time-history{grid-column:span 1}}.time-entry-form h2,.time-history h2,.time-summary h2{font-size:1.125rem;margin-bottom:16px;margin-bottom:var(--spacing-md)}.standards-tab{display:flex;gap:24px;gap:var(--spacing-lg)}@media (max-width:900px){.standards-tab{flex-direction:column}}.standards-nav{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs);min-width:200px}.standards-nav button{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#94a3b8;color:var(--text-secondary);cursor:pointer;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all .2s}.standards-nav button:hover{border-color:#2563eb;border-color:var(--primary);color:#f8fafc;color:var(--text-primary)}.standards-nav button.active{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.standards-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);flex:1 1;padding:24px;padding:var(--spacing-lg)}.standards-content h2{font-size:1.25rem;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.standard-card{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:24px;padding:var(--spacing-lg)}.standard-card h3{font-size:1rem}.standard-card h3,.standard-card h4{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.standard-card h4{font-size:.875rem;margin-top:16px;margin-top:var(--spacing-md)}.code-block{background:#0f172a;background:var(--bg-primary);padding:16px;padding:var(--spacing-md)}.code-block,.example{border-radius:8px;border-radius:var(--border-radius);display:block;font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.875rem}.example{background:#2563eb1a;color:#2563eb;color:var(--primary);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.codes-table{width:100%}.codes-table td{padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.codes-table code{background:#0f172a;background:var(--bg-primary);border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.75rem;padding:2px 6px}.template-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.template-card{background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);padding:24px;padding:var(--spacing-lg);text-align:center}.template-card .template-icon{display:block;font-size:2.5rem;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.template-card h4{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.template-card p{color:#64748b;color:var(--text-muted);font-size:.75rem}.checklist-section h3,.template-card p{margin-bottom:16px;margin-bottom:var(--spacing-md)}.checklist-section h3{font-size:1rem}.checklist-items{flex-direction:column}.checklist-items,.checklist-items label{display:flex;gap:8px;gap:var(--spacing-sm)}.checklist-items label{align-items:center;background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;padding:8px;padding:var(--spacing-sm);transition:background .2s}.checklist-items label:hover{background:#0f172a;background:var(--bg-primary)}.points-banner{background:linear-gradient(135deg,#2563eb,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,#8b5cf6 100%);border-radius:12px;border-radius:var(--border-radius-lg);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:32px;padding:var(--spacing-xl);text-align:center}.points-display{align-items:center;display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.points-display .points-icon{font-size:.875rem;opacity:.8}.points-display .points-value{font-size:3rem;font-weight:700}.points-display .points-label{font-size:.875rem;opacity:.8}.reward-card.available{border-color:#10b981;border-color:var(--success)}.reward-card.locked{opacity:.6}.reward-card .reward-points{color:#2563eb;color:var(--primary);display:block;font-size:1.25rem;font-weight:700;margin-bottom:16px;margin-bottom:var(--spacing-md)}.project-detail-view{background:#1e293b;background:var(--bg-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:24px;padding:var(--spacing-lg)}.detail-header{align-items:center;display:flex;gap:24px;gap:var(--spacing-lg);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.detail-header h2{flex:1 1}.detail-content{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg)}.detail-info{grid-gap:16px;grid-gap:var(--spacing-md);background:#334155;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--border-radius);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px;padding:var(--spacing-md)}.info-row{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm)}.info-row .label{color:#64748b;color:var(--text-muted);font-size:.75rem;min-width:80px}.info-row .value{font-weight:500}.sheets-section h3{margin-bottom:16px;margin-bottom:var(--spacing-md)}.actions-section{border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;gap:16px;gap:var(--spacing-md);padding-top:24px;padding-top:var(--spacing-lg)}.filter-buttons{display:flex;gap:4px;gap:var(--spacing-xs)}.filter-buttons .btn.active{background:#2563eb;background:var(--primary);color:#fff}.progress-mini{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm)}.progress-mini .progress-bar{flex:1 1;height:6px}.progress-mini span{font-size:.75rem;min-width:35px}
/*# sourceMappingURL=main.56ffe0bf.css.map*/