@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";.login-page{min-height:100vh;width:100%;background-color:#f4f7fb;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,sans-serif}.login-container{width:100%;max-width:420px}.login-card{background:#fff;border-radius:20px;padding:40px 32px;box-shadow:0 4px 12px #0000000a,0 12px 32px #0000000f;border:1px solid #e5e7eb;animation:fadeIn .4s ease}.login-card h1{font-size:32px;font-weight:700;color:#111827;text-align:center;margin-bottom:8px;line-height:1.2}.login-card h2{font-size:15px;font-weight:400;color:#6b7280;text-align:center;margin-bottom:32px}form{width:100%}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%;height:52px;border:1px solid #d1d5db;border-radius:12px;padding:0 48px 0 16px;font-size:15px;color:#111827;background-color:#fff;transition:all .25s ease;outline:none}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:color .2s ease;border-radius:6px}.password-toggle:hover{color:#374151;background-color:#f3f4f6}.password-toggle svg{width:20px;height:20px}.form-group input{width:100%;height:52px;border:1px solid #d1d5db;border-radius:12px;padding:0 16px;font-size:15px;color:#111827;background-color:#fff;transition:all .25s ease;outline:none}.form-group input::placeholder{color:#9ca3af}.form-group input:hover{border-color:#9ca3af}.form-group input:focus,.password-input-wrapper input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.btn-primary{width:100%;height:52px;border:none;border-radius:12px;background-color:#2563eb;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease}.btn-primary:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 20px #2563eb26}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:24px;text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.login-footer a{text-decoration:none;color:#2563eb;font-size:14px;font-weight:500;transition:.2s ease}.login-footer a:hover{color:#1d4ed8;text-decoration:underline}.login-footer .separator{color:#d1d5db;font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.login-page{padding:16px}.login-card{padding:32px 24px;border-radius:18px}.login-card h1{font-size:28px}.login-card h2{font-size:14px;margin-bottom:28px}.form-group input,.password-input-wrapper input,.btn-primary{height:50px}}@media (max-width: 480px){.login-container{max-width:100%}.login-card{padding:28px 20px;border-radius:16px}.login-card h1{font-size:24px}.login-card h2{font-size:13px}.form-group{margin-bottom:18px}.form-group label{font-size:13px}.form-group input,.password-input-wrapper input,.btn-primary{height:48px;font-size:14px;border-radius:10px}.login-footer a{font-size:13px}}.payment-pending-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:14px 16px;margin-bottom:20px}.payment-pending-banner strong{display:block;font-size:14px;font-weight:600;color:#92400e;margin-bottom:4px}.payment-pending-banner p{font-size:13px;color:#78350f;margin:0;line-height:1.5}.auth-subtitle{font-size:14px;color:#6b7280;text-align:center;margin:-20px 0 24px;line-height:1.5}.auth-success-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:20px;margin:16px 0 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.auth-success-icon{font-size:2rem;line-height:1}.auth-success-banner strong{font-size:15px;font-weight:700;color:#15803d}.auth-success-banner p{font-size:13px;color:#166534;margin:0;line-height:1.5}.auth-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin-bottom:18px;font-size:13px;color:#991b1b;line-height:1.5}.registration-page{min-height:100vh;background:#f5f6f8;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px 60px}.registration-container{width:100%;max-width:860px;background:#fff;border:1px solid #e2e5ea;border-radius:10px;overflow:hidden}.registration-header{padding:32px 36px 24px;border-bottom:1px solid #e2e5ea;text-align:center}.reg-logo{display:flex;justify-content:center;margin-bottom:16px}.reg-logo-img{height:48px;width:auto;object-fit:contain}.reg-logo-text{font-size:17px;font-weight:700;color:#2563eb;letter-spacing:-.3px}.registration-header h1{font-size:22px;font-weight:700;color:#111827;margin:0 0 6px;letter-spacing:-.3px}.registration-header p{font-size:14px;color:#6b7280;margin:0}.step-indicator{display:flex;align-items:center;padding:20px 36px;background:#fafafa;border-bottom:1px solid #e2e5ea;gap:0}.step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.step:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 14px);right:calc(-50% + 14px);height:1px;background:#d1d5db;z-index:0}.step.completed:not(:last-child):after{background:#2563eb}.step-number{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;position:relative;z-index:1;transition:background .2s,color .2s}.step.active .step-number{background:#2563eb;color:#fff}.step.completed .step-number{background:#16a34a;color:#fff}.step-label{margin-top:6px;font-size:11px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.4px}.step.active .step-label{color:#2563eb;font-weight:600}.step.completed .step-label{color:#16a34a}.registration-form{padding:32px 36px}.form-section{margin-bottom:8px}.form-section h3{font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.6px;margin:0 0 20px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{padding:9px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.form-group textarea{resize:vertical;min-height:76px}.form-group small{font-size:11px;color:#9ca3af;margin-top:4px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:40px}.password-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:16px;color:#9ca3af;padding:2px;line-height:1;display:flex;align-items:center}.password-toggle:hover{color:#374151}.skills-input{display:flex;gap:8px;margin-bottom:8px}.skills-input input{flex:1}.skills-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.skill-tag{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.skill-tag button{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:15px;padding:0;line-height:1;display:flex;align-items:center}.skill-tag button:hover{color:#1d4ed8}.payment-info-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:20px}.fee-display{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.fee-label{font-size:13px;color:#6b7280;font-weight:500}.fee-amount{font-size:26px;font-weight:700;color:#111827;letter-spacing:-.5px}.payment-instructions h4{font-size:13px;font-weight:600;color:#374151;margin:0 0 8px}.payment-instructions ol{margin:0;padding-left:18px}.payment-instructions li{font-size:13px;color:#6b7280;margin-bottom:5px;line-height:1.5}.payment-success-badge{display:flex;align-items:flex-start;gap:8px;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;border-radius:6px;padding:10px 14px;font-size:13px;font-weight:500;margin-top:14px;word-break:break-all}.razorpay-pay-section{display:flex;flex-direction:column;align-items:center;gap:10px}.btn-razorpay{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:360px;padding:11px 24px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;letter-spacing:.1px}.btn-razorpay:hover:not(:disabled){background:#1d4ed8}.btn-razorpay:disabled{opacity:.5;cursor:not-allowed}.razorpay-icon{font-size:17px}.razorpay-note{font-size:12px;color:#9ca3af;text-align:center;margin:0}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:28px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:9px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f3f4f6}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.registration-footer{padding:16px 36px;border-top:1px solid #e2e5ea;background:#fafafa}.registration-footer p{margin:0;font-size:13px;color:#6b7280;text-align:center}.registration-footer a{color:#2563eb;text-decoration:none;font-weight:500}.registration-footer a:hover{text-decoration:underline}@media (max-width: 640px){.registration-page{padding:0;align-items:flex-start;background:#fff}.registration-container{border:none;border-radius:0}.registration-header,.registration-form,.registration-footer,.step-indicator{padding-left:20px;padding-right:20px}.step-label{font-size:10px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.skills-input{flex-direction:column}.btn-razorpay{max-width:100%}}.shell-layout{min-height:100vh;background:radial-gradient(1000px 420px at 6% -10%,color-mix(in srgb,var(--color-primary) 16%,transparent),transparent),radial-gradient(900px 460px at 100% 0%,color-mix(in srgb,var(--color-secondary) 14%,transparent),transparent),var(--bg-secondary)}.shell-backdrop{display:none}.shell-sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-primary) 96%,#dbe8f8),var(--bg-primary));border-right:1px solid var(--border-color);z-index:30;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.shell-brand{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1rem .9rem;border-bottom:1px solid var(--border-color)}.shell-logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;color:#fff;background:linear-gradient(140deg,#1f6fd6,#198e88)}.shell-brand h2{margin:0;font-size:1.03rem;font-family:Space Grotesk,sans-serif}.shell-brand p{margin:.1rem 0 0;color:var(--text-secondary);font-size:.77rem}.shell-nav{padding:.7rem;overflow:auto}.shell-nav-item{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--text-primary);border-radius:11px;padding:.66rem .72rem;margin-bottom:.35rem;font-size:.92rem;font-weight:600;transition:var(--transition-base)}.shell-nav-icon{width:28px;height:28px;border-radius:8px;display:grid;place-content:center;background:var(--bg-tertiary)}.shell-nav-icon svg{width:16px;height:16px;fill:currentColor}.shell-nav-item:hover{color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.shell-nav-item.active{color:#fff;background:linear-gradient(140deg,#2b7ee6,#1f66c8)}.shell-nav-item.active .shell-nav-icon{background:#fff3}.shell-main{margin-left:278px;min-height:100vh}.shell-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.95rem 1.25rem;background:color-mix(in srgb,var(--bg-primary) 95%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color)}.shell-topbar-left{display:flex;align-items:center;gap:.9rem}.shell-topbar h1{margin:0;font-size:1.35rem;line-height:1.1;font-family:Space Grotesk,sans-serif}.shell-topbar p{margin:.2rem 0 0;color:var(--text-secondary);font-size:.84rem}.shell-menu-btn{display:none;width:40px;height:40px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);padding:0}.shell-menu-btn span{display:block;width:18px;height:2px;margin:4px auto;background:var(--text-primary)}.shell-user{display:flex;align-items:center;gap:.65rem}.shell-avatar{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;background:linear-gradient(140deg,#1f6fd6,#198e88);color:#fff}.shell-user-meta{display:flex;flex-direction:column}.shell-user-meta strong{font-size:.87rem}.shell-user-meta span{color:var(--text-secondary);font-size:.74rem}.shell-link-btn,.shell-logout{border-radius:10px;padding:.45rem .72rem;font-size:.8rem;text-decoration:none;font-weight:600}.shell-link-btn{border:1px solid var(--border-color);color:var(--text-primary)}.shell-logout{border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.shell-content{padding:1.2rem}@media (max-width: 880px){.shell-backdrop[data-open=true]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#030b1673;border:0;display:block}.shell-sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.shell-sidebar[data-open=true]{transform:translate(0)}.shell-main{margin-left:0}.shell-menu-btn{display:inline-block}.shell-user-meta,.shell-link-btn{display:none}}.dashboard-grid{display:grid;gap:1rem}.welcome-card{position:relative;overflow:hidden;border-radius:16px;padding:1.45rem;background:linear-gradient(140deg,#1f6fd6,#198e88);color:#fff;box-shadow:var(--shadow-lg)}.welcome-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-80px;background:#ffffff24}.welcome-overline{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;opacity:.9}.welcome-card h2{margin:.25rem 0 .45rem;font-size:clamp(1.2rem,2.4vw,1.85rem)}.welcome-card p{margin:0;max-width:700px;color:#ffffffeb}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:13px;padding:.95rem;box-shadow:var(--shadow-sm)}.stat-card h3{margin:0;color:var(--text-secondary);font-size:.82rem}.stat-number{margin:.42rem 0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.18rem,2vw,1.6rem)}.stat-change{font-size:.78rem;font-weight:600}.stat-change.positive{color:var(--color-success)}.stat-change.negative{color:var(--color-danger)}.stat-change.neutral{color:var(--text-secondary)}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quick-actions,.recent-activity{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:13px;padding:.95rem;box-shadow:var(--shadow-sm)}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.section-head h3{margin:0;font-size:1rem}.section-head span{color:var(--text-secondary);font-size:.78rem}.action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.action-btn{border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);padding:.7rem;font-size:.83rem;font-weight:600}.activity-list{display:grid;gap:.62rem}.activity-item{display:flex;gap:.65rem;border:1px solid var(--border-color);border-radius:10px;padding:.64rem}.activity-dot{margin-top:.34rem;width:10px;height:10px;border-radius:50%;background:linear-gradient(140deg,#1f6fd6,#198e88)}.activity-content p{margin:0;font-size:.88rem}.activity-time{color:var(--text-secondary);font-size:.76rem}@media (max-width: 1180px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.insights-grid{grid-template-columns:1fr}}@media (max-width: 620px){.stats-grid,.action-buttons{grid-template-columns:1fr}}.form-modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-xl);padding:1rem}.form-grid input{width:100%;border:1px solid var(--border-color);border-radius:9px;padding:.62rem .68rem;font-size:.86rem;background:var(--bg-primary);color:var(--text-primary)}.page-grid{display:grid;gap:1rem}.panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-sm);padding:1rem}.panel h3{margin:0 0 .75rem;font-size:1rem;font-family:Space Grotesk,sans-serif}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.metric{border:1px solid var(--border-color);border-radius:12px;padding:.8rem;background:var(--bg-primary)}.metric span{display:block;color:var(--text-secondary);font-size:.78rem}.metric strong{display:block;margin-top:.3rem;font-size:1.22rem;font-family:Space Grotesk,sans-serif}.table-wrap{overflow-x:auto}.app-table{width:100%;border-collapse:collapse}.app-table th,.app-table td{text-align:left;padding:.72rem;border-bottom:1px solid var(--border-color);font-size:.9rem}.app-table th{color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.status-pill{display:inline-block;border-radius:999px;padding:.25rem .55rem;font-size:.74rem;font-weight:700}.status-pill.green{color:#0e7a3c;background:#dff7e9}.status-pill.blue{color:#1657b7;background:#e3efff}.status-pill.orange{color:#93550c;background:#fff1dd}.status-pill.red{color:#9d2732;background:#ffe5e9}.status-pill.purple{color:#6b21a8;background:#f3e8ff}.status-pill.gray{color:#4b5563;background:#f3f4f6}.btn-secondary{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;padding:.35rem .65rem;font-size:.82rem;cursor:pointer}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.app-table td:last-child{display:flex;gap:.45rem;align-items:center}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.split-2,.metrics{grid-template-columns:1fr}}.highlights{margin:0;padding-left:1rem;display:grid;gap:.6rem;color:var(--text-primary)}.form-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080f1b73;z-index:120;display:grid;place-items:center;padding:1rem}.form-modal{width:min(860px,100%);max-height:88vh;overflow:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-xl);padding:1rem}.form-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.form-modal-head h3{margin:0;font-size:1rem}.close-btn{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;width:30px;height:30px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.form-grid input,.form-grid select{width:100%;border:1px solid var(--border-color);border-radius:9px;padding:.62rem .68rem;font-size:.86rem;background:var(--bg-primary);color:var(--text-primary)}.form-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.6rem}.primary-btn,.secondary-btn{border-radius:9px;padding:.55rem .85rem;font-size:.84rem;font-weight:600}.secondary-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.primary-btn{border:1px solid #2c77df;background:#2c77df;color:#fff}.primary-btn:disabled{opacity:.65;cursor:not-allowed}@media (max-width: 700px){.form-grid{grid-template-columns:1fr}}.task-cards{display:grid;gap:.85rem}.task-card{border:1px solid var(--border-color);border-radius:12px;padding:1rem;background:var(--bg-secondary);display:grid;gap:.5rem}.task-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-title{font-weight:600;font-size:.95rem;font-family:Space Grotesk,sans-serif}.task-priority-badge{color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .55rem;white-space:nowrap}.task-description{font-size:.85rem;color:var(--text-secondary);margin:0}.task-card-meta{display:flex;gap:1rem;flex-wrap:wrap}.task-due,.task-assigned-by{font-size:.8rem;color:var(--text-secondary)}.task-status-row{display:flex;align-items:center;gap:.6rem;margin-top:.25rem}.task-status-label{font-size:.82rem;color:var(--text-secondary);white-space:nowrap}.task-status-select{border:1px solid var(--border-color);border-radius:8px;padding:.35rem .6rem;font-size:.84rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.days-left-badge{display:inline-block;font-size:.82rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;white-space:nowrap}.days-left-badge.days-normal{color:#15803d;background:#dcfce7}.days-left-badge.days-warning{color:#92400e;background:#fef3c7}.days-left-badge.days-overdue{color:#991b1b;background:#fee2e2}.task-card--completed{opacity:.75}.task-card--completed .task-title{text-decoration:line-through;color:var(--text-secondary)}.task-completed-info{display:grid;gap:.4rem;margin-top:.25rem}.task-completed-badge{font-size:.82rem;font-weight:700;color:#15803d}.task-completion-note{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.5}.task-proof-link{font-size:.82rem;color:#2563eb;text-decoration:none;font-weight:600}.task-proof-link:hover{text-decoration:underline}.task-actions-row{display:flex;align-items:center;gap:.6rem;margin-top:.25rem;flex-wrap:wrap}.complete-btn{padding:.4rem .9rem;font-size:.82rem;background:#15803d;border-color:#15803d;white-space:nowrap}.complete-btn:hover:not(:disabled){background:#166534;border-color:#166534}.completion-modal{width:min(520px,100%)}.completion-task-name{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0 0 1.1rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid #2563eb}.completion-field{display:grid;gap:.4rem;margin-bottom:1rem}.completion-field label{font-size:.84rem;font-weight:600;color:var(--text-primary)}.required{color:#ef4444;margin-left:2px}.optional{color:var(--text-secondary);font-weight:400;font-size:.78rem}.completion-textarea{width:100%;border:1px solid var(--border-color);border-radius:9px;padding:.65rem .75rem;font-size:.86rem;background:var(--bg-primary);color:var(--text-primary);resize:vertical;font-family:inherit;line-height:1.5;box-sizing:border-box}.completion-textarea:focus{outline:none;border-color:#2563eb}.proof-upload-area{border:2px dashed var(--border-color);border-radius:10px;min-height:110px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .15s}.proof-upload-area:hover{border-color:#2563eb}.proof-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.2rem;color:var(--text-secondary);font-size:.84rem;text-align:center;pointer-events:none}.proof-upload-icon{font-size:1.6rem}.proof-upload-hint{font-size:.75rem;color:var(--text-secondary);opacity:.7}.proof-preview-img{width:100%;max-height:220px;object-fit:contain;display:block}.proof-error{font-size:.8rem;color:#ef4444;margin:0}.proof-filename{font-size:.8rem;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:.5rem}.proof-remove-btn{background:none;border:none;color:#ef4444;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline}.complete-submit-btn{background:#15803d;border-color:#15803d}.complete-submit-btn:hover:not(:disabled){background:#166534;border-color:#166534}.admin-completion-note{font-size:.75rem;color:var(--text-secondary);margin-top:.2rem;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proof-view-link{color:#2563eb;font-size:.82rem;font-weight:600;text-decoration:none}.proof-view-link:hover{text-decoration:underline}.empty-msg{padding:1rem;color:var(--text-secondary);font-size:.9rem}.toast-viewport{position:fixed;top:16px;right:16px;z-index:400;display:grid;gap:10px;width:min(360px,calc(100vw - 24px))}.toast-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-md);font-size:.86rem}.toast-item.success{border-color:#8fdab1;background:#ecfbf3;color:#0f5f33}.toast-item.error{border-color:#f0a7b2;background:#fff1f3;color:#8c2230}.toast-item.warning{border-color:#f6d99f;background:#fff8ea;color:#8a5a0c}.toast-item.info{border-color:#b9d4ff;background:#eff5ff;color:#1a4d9e}.toast-item button{border:0;background:transparent;color:inherit;font-size:.85rem;cursor:pointer;line-height:1;padding:2px 4px}:root{--color-primary: #4A90E2;--color-primary-dark: #357ABD;--color-primary-light: #6BA3E8;--color-secondary: #50C878;--color-secondary-dark: #3DA860;--color-secondary-light: #6DD48E;--color-accent: #FF6B6B;--color-warning: #FFA500;--color-info: #17A2B8;--color-success: #28A745;--color-danger: #DC3545;--color-white: #FFFFFF;--color-black: #000000;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-tertiary: #F3F4F6;--bg-dark: #1F2937;--text-primary: #111827;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-inverse: #FFFFFF;--border-color: #E5E7EB;--border-color-dark: #D1D5DB;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--sidebar-width: 260px;--navbar-height: 64px;--container-max-width: 1280px}[data-theme=dark]{--bg-primary: #111827;--bg-secondary: #1F2937;--bg-tertiary: #374151;--bg-dark: #000000;--text-primary: #F9FAFB;--text-secondary: #D1D5DB;--text-tertiary: #9CA3AF;--text-inverse: #111827;--border-color: #374151;--border-color-dark: #4B5563;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;min-height:100vh;line-height:var(--line-height-normal)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}p{margin:0}ul,ol{list-style:none;margin:0;padding:0}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;border-spacing:0}body{font-family:"Manrope",var(--font-family-base);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-secondary)}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,Manrope,sans-serif}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.font-bold{font-weight:var(--font-weight-bold)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-end{justify-content:flex-end}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.w-full{width:100%}.h-full{height:100%}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.transition{transition:all var(--transition-base)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--color-white)}
