Spaces:
Running
Running
Commit ·
ddd7f1c
1
Parent(s): b93c887
Switch to pre-built frontend to bypass HF build memory limits
Browse files- .dockerignore +0 -1
- Dockerfile +3 -7
- frontend/build/asset-manifest.json +13 -0
- frontend/build/index.html +1 -0
- frontend/build/static/css/main.2976ec41.css +2 -0
- frontend/build/static/css/main.2976ec41.css.map +1 -0
- frontend/build/static/js/main.a17b8f6c.js +0 -0
- frontend/build/static/js/main.a17b8f6c.js.LICENSE.txt +79 -0
- frontend/build/static/js/main.a17b8f6c.js.map +0 -0
.dockerignore
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
node_modules
|
| 2 |
**/node_modules
|
| 3 |
-
build
|
| 4 |
dist
|
| 5 |
.env
|
| 6 |
.env.local
|
|
|
|
| 1 |
node_modules
|
| 2 |
**/node_modules
|
|
|
|
| 3 |
dist
|
| 4 |
.env
|
| 5 |
.env.local
|
Dockerfile
CHANGED
|
@@ -42,13 +42,9 @@ RUN cd /app/backend && npm ci --only=production
|
|
| 42 |
|
| 43 |
COPY --chown=hfuser:hfuser backend/ /app/backend/
|
| 44 |
|
| 45 |
-
# 4. Frontend Implementation
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
COPY --chown=hfuser:hfuser frontend/ /app/frontend/
|
| 50 |
-
RUN echo "REACT_APP_API_URL=/api" > /app/frontend/.env.production && \
|
| 51 |
-
cd /app/frontend && CI=false GENERATE_SOURCEMAP=false npm run build
|
| 52 |
|
| 53 |
# 5. Configurations
|
| 54 |
RUN rm -f /etc/nginx/sites-enabled/default
|
|
|
|
| 42 |
|
| 43 |
COPY --chown=hfuser:hfuser backend/ /app/backend/
|
| 44 |
|
| 45 |
+
# 4. Frontend Implementation (using pre-built assets)
|
| 46 |
+
# We copy the 'build' folder directly which was generated locally
|
| 47 |
+
COPY --chown=hfuser:hfuser frontend/build /app/frontend/build
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
# 5. Configurations
|
| 50 |
RUN rm -f /etc/nginx/sites-enabled/default
|
frontend/build/asset-manifest.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"files": {
|
| 3 |
+
"main.css": "/static/css/main.2976ec41.css",
|
| 4 |
+
"main.js": "/static/js/main.a17b8f6c.js",
|
| 5 |
+
"index.html": "/index.html",
|
| 6 |
+
"main.2976ec41.css.map": "/static/css/main.2976ec41.css.map",
|
| 7 |
+
"main.a17b8f6c.js.map": "/static/js/main.a17b8f6c.js.map"
|
| 8 |
+
},
|
| 9 |
+
"entrypoints": [
|
| 10 |
+
"static/css/main.2976ec41.css",
|
| 11 |
+
"static/js/main.a17b8f6c.js"
|
| 12 |
+
]
|
| 13 |
+
}
|
frontend/build/index.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#0d0f12"/><meta name="description" content="TaskFlow - Multi-tenant task management"/><title>TaskFlow</title><script defer="defer" src="/static/js/main.a17b8f6c.js"></script><link href="/static/css/main.2976ec41.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
frontend/build/static/css/main.2976ec41.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@import url(https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#f5f0e8;--bg-surface:#faf7f2;--bg-elevated:#fff;--bg-hover:#ede8de;--bg-active:#e4ddd0;--border:#ddd6c8;--border-strong:#c9c0b0;--text-primary:#1c1814;--text-secondary:#4a4540;--text-muted:#8c8278;--text-faint:#b8b0a4;--accent:#2d5a3d;--accent-hover:#234a31;--accent-light:#eef5f0;--accent-border:#a8c8b4;--amber:#c17d11;--amber-light:#fdf3e0;--amber-border:#e8c070;--rose:#9b3a3a;--rose-light:#fdf0f0;--rose-border:#dba8a8;--blue:#2a5080;--blue-light:#eef3fa;--blue-border:#a0bcd8;--violet:#5a3a7a;--violet-light:#f3eefa;--violet-border:#c0a0d8;--s-todo:#6b6258;--s-todo-bg:#f0ece5;--s-progress:var(--blue);--s-progress-bg:var(--blue-light);--s-review:var(--violet);--s-review-bg:var(--violet-light);--s-done:var(--accent);--s-done-bg:var(--accent-light);--s-cancelled:var(--rose);--s-cancelled-bg:var(--rose-light);--p-low:var(--accent);--p-medium:var(--amber);--p-high:#c15a11;--p-critical:var(--rose);--sidebar-w:252px;--header-h:56px;--radius:6px;--radius-lg:10px;--radius-xl:14px;--shadow-sm:0 1px 3px #1c181414;--shadow-md:0 4px 12px #1c18141a;--shadow-lg:0 8px 32px #1c181424}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#f5f0e8;background:var(--bg-base);color:#1c1814;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;line-height:1.6}h1,h2,h3,h4{font-family:Lora,serif;line-height:1.25}a{color:#2d5a3d;color:var(--accent);text-decoration:none}a:hover{color:#234a31;color:var(--accent-hover);text-decoration:underline}button,input,select,textarea{font-family:inherit}button{cursor:pointer}code,pre{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#f5f0e8;background:var(--bg-base)}::-webkit-scrollbar-thumb{background:#c9c0b0;background:var(--border-strong);border-radius:3px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.AppLayout_shell__-WSbh{display:flex;height:100vh;overflow:hidden}.AppLayout_overlay__fZhcL{background:#1c181473;display:none;inset:0;position:fixed;z-index:40}.AppLayout_sidebar__Jpx93{background:var(--bg-surface);border-right:1.5px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform .25s ease;width:var(--sidebar-w);z-index:50}.AppLayout_sidebarHeader__7iBzk{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 18px 14px}.AppLayout_logo__UREN3{align-items:center;display:flex;gap:9px}.AppLayout_logoMark__mGG8B{align-items:center;background:var(--accent);border-radius:7px;color:#fff;display:flex;flex-shrink:0;font-family:Lora,serif;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.AppLayout_logoText__IolZI{color:var(--text-primary);font-family:Lora,serif;font-size:17px;font-weight:700;letter-spacing:-.2px}.AppLayout_closeMobile__SDU7m{background:none;border:none;color:var(--text-muted);display:none;padding:4px}.AppLayout_orgBadge__wQ4W1{align-items:center;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);display:flex;font-size:11.5px;font-weight:600;gap:7px;margin:10px 14px;overflow:hidden;padding:7px 11px;white-space:nowrap}.AppLayout_orgBadge__wQ4W1 span{overflow:hidden;text-overflow:ellipsis}.AppLayout_nav__CAteW{display:flex;flex:1 1;flex-direction:column;gap:1px;padding:6px 10px}.AppLayout_navItem__JRoDw{align-items:center;border:1px solid #0000;border-radius:var(--radius);color:var(--text-secondary);display:flex;font-size:13.5px;font-weight:500;gap:11px;padding:9px 12px;text-decoration:none;transition:all .13s ease}.AppLayout_navItem__JRoDw:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.AppLayout_navItemActive__02LAB{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent);font-weight:600}.AppLayout_navItemActive__02LAB:hover{background:var(--accent-light);color:var(--accent);text-decoration:none}.AppLayout_navSection__nO4nx{color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:10px 12px 4px;text-transform:uppercase}.AppLayout_userSection__c4AJ-{align-items:center;border-top:1px solid var(--border);display:flex;gap:8px;padding:14px}.AppLayout_userInfo__BpqjV{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.AppLayout_avatar__wuW8X{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Lora,serif;font-size:12.5px;font-weight:700;height:32px;justify-content:center;width:32px}.AppLayout_userDetails__VEFvJ{display:flex;flex-direction:column;min-width:0}.AppLayout_userName__crZov{color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.AppLayout_userRole__liuO\+{color:var(--text-muted);font-size:11px;text-transform:capitalize}.AppLayout_logoutBtn__4vKwv{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--text-faint);display:flex;padding:5px;transition:all .15s}.AppLayout_logoutBtn__4vKwv:hover{background:var(--rose-light);color:var(--rose)}.AppLayout_main__hDtlC{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.AppLayout_header__fi\+aq{align-items:center;background:var(--bg-surface);border-bottom:1.5px solid var(--border);display:flex;flex-shrink:0;height:var(--header-h);justify-content:space-between;padding:0 24px}.AppLayout_menuBtn__VApm1{background:none;border:none;color:var(--text-muted);cursor:pointer;display:none;padding:4px}.AppLayout_headerRight__D50Vi{align-items:center;display:flex;gap:10px;margin-left:auto}.AppLayout_headerOrg__uwjUN{color:var(--text-muted);font-size:12.5px;font-weight:500}.AppLayout_headerAvatar__1tKhC{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-family:Lora,serif;font-size:11.5px;font-weight:700;height:30px;justify-content:center;width:30px}.AppLayout_content__7cY98{flex:1 1;overflow-y:auto;padding:26px 30px}@media(max-width:768px){.AppLayout_sidebar__Jpx93{height:100%;left:0;position:fixed;top:0;transform:translateX(-100%)}.AppLayout_sidebarOpen__UAJyc{transform:translateX(0)}.AppLayout_overlay__fZhcL{display:block}.AppLayout_closeMobile__SDU7m,.AppLayout_menuBtn__VApm1{display:flex}.AppLayout_headerOrg__uwjUN{display:none}.AppLayout_content__7cY98{padding:18px 16px}}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-weight:500;gap:7px;justify-content:center;letter-spacing:.01em;transition:all .15s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);border-color:var(--border);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{background:var(--rose-light);border-color:var(--rose-border);color:var(--rose)}.btn-danger:hover:not(:disabled){background:#f7e0e0}.btn-ghost{background:#0000;border-color:#0000;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-secondary)}.btn-sm{font-size:12.5px;padding:5px 11px}.btn-md{font-size:13.5px;padding:8px 16px}.btn-lg{font-size:14.5px;padding:11px 22px}.badge{align-items:center;border:1px solid #0000;border-radius:100px;display:inline-flex;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;padding:2px 9px;white-space:nowrap}.badge-todo{background:var(--s-todo-bg);border-color:#ddd6c8;color:var(--s-todo)}.badge-inprogress{background:var(--s-progress-bg);border-color:var(--blue-border);color:var(--s-progress)}.badge-inreview{background:var(--s-review-bg);border-color:var(--violet-border);color:var(--s-review)}.badge-done{background:var(--s-done-bg);border-color:var(--accent-border);color:var(--s-done)}.badge-cancelled{background:var(--s-cancelled-bg);border-color:var(--rose-border);color:var(--s-cancelled)}.badge-low{background:var(--accent-light);border-color:var(--accent-border);color:var(--p-low)}.badge-medium{background:var(--amber-light);border-color:var(--amber-border);color:var(--p-medium)}.badge-high{background:#fef3ea;border-color:#e8b880;color:var(--p-high)}.badge-critical{background:var(--rose-light);border-color:var(--rose-border);color:var(--p-critical)}.field{display:flex;flex-direction:column;gap:5px}.field-label{color:var(--text-secondary);font-size:12.5px;font-weight:600;letter-spacing:.02em}.field-input{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13.5px;padding:9px 13px;transition:border-color .15s;width:100%}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2d5a3d1a;outline:none}.field-input-error{border-color:var(--rose)!important}.field-error{color:var(--rose);font-size:11.5px}select.field-input{appearance:none;cursor:pointer}textarea.field-input{line-height:1.6;min-height:90px;resize:vertical}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px}.empty-state{flex-direction:column;gap:10px;padding:56px 24px;text-align:center}.empty-icon,.empty-state{align-items:center;display:flex;justify-content:center}.empty-icon{background:var(--bg-base);border:1.5px solid var(--border);border-radius:50%;color:var(--text-faint);height:52px;margin-bottom:4px;width:52px}.empty-title{color:var(--text-secondary);font-family:Lora,serif;font-size:16px;font-weight:600}.empty-desc{color:var(--text-muted);font-size:13px;line-height:1.5;max-width:300px}.empty-action{margin-top:10px}@keyframes spin{to{transform:rotate(1turn)}}.spinner{border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:15px;width:15px}.spinner,.spinner-dark{animation:spin .7s linear infinite;display:inline-block}.spinner-dark{border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:18px;width:18px}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:24px}.page-title{color:var(--text-primary);font-family:Lora,serif;font-size:22px;font-weight:700;letter-spacing:-.2px}.page-subtitle{color:var(--text-muted);font-size:13px;margin-top:3px}.page-action{flex-shrink:0}.divider{background:var(--border);height:1px;margin:16px 0}.AuthPage_page__T7n24{align-items:center;background:var(--bg-base);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.AuthPage_page__T7n24:before{background:radial-gradient(ellipse 60% 40% at 20% 20%,#2d5a3d0d 0,#0000 60%),radial-gradient(ellipse 50% 50% at 80% 80%,#c17d110a 0,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.AuthPage_card__O59l0{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:430px;padding:38px 36px;position:relative;width:100%;z-index:1}.AuthPage_logoArea__6o8g4{align-items:center;display:flex;gap:10px;margin-bottom:26px}.AuthPage_logoMark__AN5O2{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:flex;font-family:Lora,serif;font-size:16px;font-weight:700;height:34px;justify-content:center;width:34px}.AuthPage_logoName__WObTd{font-size:20px;letter-spacing:-.2px}.AuthPage_heading__YJ7h9,.AuthPage_logoName__WObTd{color:var(--text-primary);font-family:Lora,serif;font-weight:700}.AuthPage_heading__YJ7h9{font-size:19px;margin-bottom:4px}.AuthPage_sub__xc58L{color:var(--text-muted);font-size:13px;margin-bottom:26px}.AuthPage_form__C2Rz-{display:flex;flex-direction:column;gap:14px}.AuthPage_pwWrap__-h4B9{position:relative}.AuthPage_pwWrap__-h4B9 .AuthPage_field-input__fsikM{padding-right:40px}.AuthPage_pwToggle__M3OWR{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:color .15s}.AuthPage_pwToggle__M3OWR:hover{color:var(--text-secondary)}.AuthPage_demos__DVAcH{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.AuthPage_demosLabel__nVMgh{color:var(--text-muted);font-size:12px;font-style:italic;margin-bottom:9px}.AuthPage_demoBtns__SpF4p{display:flex;flex-wrap:wrap;gap:8px}.AuthPage_switchLink__OtQCw{color:var(--text-muted);font-size:12.5px;margin-top:18px;text-align:center}.AuthPage_row__4u-NT{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:480px){.AuthPage_card__O59l0{padding:26px 18px}.AuthPage_row__4u-NT{grid-template-columns:1fr}}.DashboardPage_page__0UWnA{max-width:1100px}.DashboardPage_center__sFqev{align-items:center;display:flex;height:300px;justify-content:center}.DashboardPage_kpiGrid__5jV7P{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));margin-bottom:22px}.DashboardPage_kpiCard__IjbQG{align-items:center;background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-lg);color:inherit;display:flex;gap:14px;overflow:hidden;padding:18px;position:relative;text-decoration:none;transition:all .15s}.DashboardPage_kpiCard__IjbQG:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.DashboardPage_kpiIconWrap__-E-Vq{align-items:center;border-radius:var(--radius);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.DashboardPage_kpiBody__ncnwj{display:flex;flex-direction:column}.DashboardPage_kpiCount__J0oZT{color:var(--text-primary);font-family:Lora,serif;font-size:24px;font-weight:700;line-height:1}.DashboardPage_kpiLabel__CyT5R{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:3px}.DashboardPage_kpiPulse__-wA7-{animation:DashboardPage_pulse__EoDbj 2s ease infinite;background:var(--s-progress);border-radius:50%;height:8px;position:absolute;right:12px;top:12px;width:8px}@keyframes DashboardPage_pulse__EoDbj{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.DashboardPage_grid2__PVteF{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 320px}.DashboardPage_cardHead__4vVjN{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.DashboardPage_cardTitle__iTcrh{color:var(--text-primary);font-family:Lora,serif;font-size:15px;font-weight:600}.DashboardPage_activityList__creUz{display:flex;flex-direction:column;gap:1px}.DashboardPage_activityRow__ZpHbw{align-items:center;border-radius:var(--radius);color:inherit;display:flex;gap:12px;justify-content:space-between;padding:10px;text-decoration:none;transition:background .12s}.DashboardPage_activityRow__ZpHbw:hover{background:var(--bg-base);text-decoration:none}.DashboardPage_activityLeft__4d8QD{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.DashboardPage_activityInfo__M7jvr{display:flex;flex-direction:column;gap:1px;min-width:0}.DashboardPage_activityTitle__kQnXG{color:var(--text-primary);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.DashboardPage_activityMeta__fblYb,.DashboardPage_activityTime__cR7gy{color:var(--text-muted);font-size:11.5px}.DashboardPage_activityTime__cR7gy{flex-shrink:0;white-space:nowrap}.DashboardPage_emptyNote__sVJC-{color:var(--text-muted);font-size:13px;padding:16px 0}.DashboardPage_totalPill__gS3jd{background:var(--bg-base);border:1px solid var(--border);border-radius:100px;color:var(--text-muted);font-size:12px;padding:2px 10px}.DashboardPage_priorityChart__vDGpJ{display:flex;flex-direction:column;gap:12px}.DashboardPage_pRow__61rgt{align-items:center;display:flex;gap:10px}.DashboardPage_pLabel__-B48c{color:var(--text-secondary);flex-shrink:0;font-size:12.5px;font-weight:500;width:58px}.DashboardPage_pTrack__jB3-n{background:var(--bg-base);border:1px solid var(--border);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.DashboardPage_pFill__Lmbns{border-radius:3px;height:100%;transition:width .6s ease}.DashboardPage_pCount__90Xf3{color:var(--text-secondary);font-size:12.5px;font-weight:600;text-align:right;width:20px}.DashboardPage_boardLink__PdDh6{align-items:center;border-top:1px solid var(--border);color:var(--accent);display:inline-flex;font-size:12.5px;font-weight:500;gap:6px;margin-top:18px;padding-top:14px;text-decoration:none;transition:color .15s;width:100%}.DashboardPage_boardLink__PdDh6:hover{color:var(--accent-hover);text-decoration:none}@media(max-width:900px){.DashboardPage_grid2__PVteF{grid-template-columns:1fr}}@media(max-width:580px){.DashboardPage_kpiGrid__5jV7P{grid-template-columns:1fr 1fr}}.TaskModal_overlay__Q9Xz2{align-items:center;animation:TaskModal_fadeIn__2rLvQ .15s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c181480;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}@keyframes TaskModal_fadeIn__2rLvQ{0%{opacity:0}to{opacity:1}}.TaskModal_modal__etGZO{animation:TaskModal_slideUp__cKB\+y .2s ease;background:var(--bg-elevated);border:1.5px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:92vh;max-width:530px;overflow-y:auto;width:100%}@keyframes TaskModal_slideUp__cKB\+y{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.TaskModal_header__FBOEj{align-items:center;display:flex;justify-content:space-between;padding:20px 22px 0}.TaskModal_title__lAwo3{color:var(--text-primary);font-family:Lora,serif;font-size:17px;font-weight:700}.TaskModal_closeBtn__Mk\+WE{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:flex;padding:5px;transition:all .13s}.TaskModal_closeBtn__Mk\+WE:hover{background:var(--bg-hover);color:var(--text-primary)}.TaskModal_body__tvDsK{display:flex;flex-direction:column;gap:14px;padding:18px 22px}.TaskModal_row__b5KKh{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.TaskModal_footer__0Fe\+9{border-top:1px solid var(--border);display:flex;gap:9px;justify-content:flex-end;margin-top:4px;padding-top:4px}@media(max-width:480px){.TaskModal_row__b5KKh{grid-template-columns:1fr}}.TasksPage_page__ymy1x{max-width:1200px}.TasksPage_filters__Z1S6H{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.TasksPage_searchWrap__BSm5e{position:relative}.TasksPage_searchIcon__KonSs{color:var(--text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.TasksPage_searchInput__QJ9D2{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13.5px;padding:9px 36px;transition:border-color .15s;width:100%}.TasksPage_searchInput__QJ9D2:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2d5a3d1a;outline:none}.TasksPage_clearBtn__IZqWF{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.TasksPage_clearBtn__IZqWF:hover{background:var(--bg-hover);color:var(--text-primary)}.TasksPage_filterRow__OZMa8{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.TasksPage_filterSelect__AbU9c{appearance:none;background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:13px;padding:7px 12px;transition:border-color .15s}.TasksPage_filterSelect__AbU9c:focus{border-color:var(--accent);outline:none}.TasksPage_filterSelect__AbU9c:hover{border-color:var(--border-strong)}.TasksPage_tableWrap__e-2MZ{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.TasksPage_table__tResw{border-collapse:collapse;font-size:13.5px;width:100%}.TasksPage_table__tResw thead tr{background:var(--bg-surface);border-bottom:1.5px solid var(--border)}.TasksPage_table__tResw th{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;padding:11px 14px;text-align:left;text-transform:uppercase}.TasksPage_table__tResw td{border-bottom:1px solid var(--border);padding:13px 14px;vertical-align:middle}.TasksPage_table__tResw tbody tr:last-child td{border-bottom:none}.TasksPage_table__tResw tbody tr:hover td{background:var(--bg-base)}.TasksPage_dimmed__xRUTM{opacity:.65}.TasksPage_taskLink__Llxfn{color:var(--text-primary);display:block;font-weight:500;text-decoration:none}.TasksPage_taskLink__Llxfn:hover{color:var(--accent);text-decoration:none}.TasksPage_taskDesc__5pCIl{color:var(--text-muted);font-size:12px;margin-top:3px}.TasksPage_assignee__Pb3DW{color:var(--text-secondary);font-size:13px}.TasksPage_unassigned__w7Wt2{color:var(--text-faint);font-style:normal}.TasksPage_dueDate__00YVb{color:var(--text-secondary);font-size:12.5px}.TasksPage_overdue__ntCCK{color:var(--rose);font-size:12.5px;font-weight:600}.TasksPage_updated__DRdlM{color:var(--text-muted);font-size:12px;white-space:nowrap}.TasksPage_rowActions__4lfES{display:flex;gap:5px;justify-content:flex-end}.TasksPage_loadingArea__S1-7L{align-items:center;display:flex;justify-content:center;padding:56px}.TasksPage_pagination__zGbHd{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:18px}.TasksPage_pageInfo__FkhtO{color:var(--text-muted);font-size:13px}@media(max-width:768px){.TasksPage_table__tResw td:nth-child(4),.TasksPage_table__tResw td:nth-child(6),.TasksPage_table__tResw th:nth-child(4),.TasksPage_table__tResw th:nth-child(6){display:none}}@media(max-width:520px){.TasksPage_table__tResw td:nth-child(5),.TasksPage_table__tResw th:nth-child(5){display:none}}.BoardPage_page__uZveF{max-width:100%}.BoardPage_board__VAxDJ{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(230px,1fr));overflow-x:auto;padding-bottom:16px}.BoardPage_column__BAUQg{background:var(--bg-surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);min-height:300px;padding:14px;transition:border-color .15s,background .15s}.BoardPage_columnOver__mlV-E{background:var(--accent-light);border-color:var(--accent)}.BoardPage_colHeader__i7-Zx{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.BoardPage_colHeaderLeft__Dss4S{align-items:center;display:flex;gap:7px}.BoardPage_colDot__T9Far{border-radius:50%;flex-shrink:0;height:8px;width:8px}.BoardPage_colLabel__bbQoL{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:13px;font-weight:600}.BoardPage_colCount__9LYl2{border-radius:100px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;padding:1px 7px}.BoardPage_addColBtn__M6Iha{align-items:center;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:flex;height:26px;justify-content:center;transition:all .15s;width:26px}.BoardPage_addColBtn__M6Iha:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-secondary)}.BoardPage_cards__a5fhs{display:flex;flex-direction:column;gap:10px;min-height:80px}.BoardPage_emptyCol__9hxhI{border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-faint);font-size:12px;padding:20px;text-align:center;transition:all .15s}.BoardPage_emptyColOver__-Fsco{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.BoardPage_card__D7spK{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);cursor:grab;padding:12px;transition:all .15s;-webkit-user-select:none;user-select:none}.BoardPage_card__D7spK:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.BoardPage_card__D7spK:active{cursor:grabbing}.BoardPage_cardDragging__1Ftjz{opacity:.45;transform:rotate(1.5deg) scale(.97)}.BoardPage_cardTop__azBvi{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.BoardPage_cardMenuBtn__beoQO{align-items:center;border-radius:4px;color:var(--text-faint);display:flex;padding:2px;text-decoration:none;transition:all .12s}.BoardPage_cardMenuBtn__beoQO:hover{background:var(--bg-hover);color:var(--text-secondary);text-decoration:none}.BoardPage_cardTitle__5zl2S{color:var(--text-primary);display:block;font-size:13.5px;font-weight:500;line-height:1.4;margin-bottom:6px;text-decoration:none;transition:color .12s}.BoardPage_cardTitle__5zl2S:hover{color:var(--accent);text-decoration:none}.BoardPage_cardDesc__bbVl4{color:var(--text-muted);font-size:12px;line-height:1.5;margin-bottom:10px}.BoardPage_cardMeta__w82N7{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.BoardPage_cardAssignee__RuOP2{align-items:center;color:var(--text-muted);display:flex;font-size:11.5px;gap:5px}.BoardPage_miniAvatar__Yr\+Hk{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:9px;font-weight:700;height:18px;justify-content:center;width:18px}.BoardPage_cardDue__T5K2H{align-items:center;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);display:flex;font-size:11px;gap:4px;padding:2px 7px}.BoardPage_cardDueOverdue__9fJbw{background:var(--rose-light);border-color:var(--rose-border);color:var(--rose)}@media (max-width:960px){.BoardPage_board__VAxDJ{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.BoardPage_board__VAxDJ{grid-template-columns:1fr}}.TaskDetailPage_page__RCFW7{max-width:1000px}.TaskDetailPage_center__awYsn{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.TaskDetailPage_topBar__lsKZq{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:22px}.TaskDetailPage_backLink__3CDqt{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:13.5px;font-weight:500;gap:7px;text-decoration:none;transition:color .15s}.TaskDetailPage_backLink__3CDqt:hover{color:var(--accent);text-decoration:none}.TaskDetailPage_actions__uBEHt{display:flex;gap:8px}.TaskDetailPage_layout__VMnOG{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1fr 268px}.TaskDetailPage_main__JMRXA{display:flex;flex-direction:column}.TaskDetailPage_taskHeader__hvGt\+{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:14px}.TaskDetailPage_taskTitle__EgO37{color:var(--text-primary);flex:1 1;font-family:Lora,serif;font-size:21px;font-weight:700;letter-spacing:-.2px;min-width:0}.TaskDetailPage_badges__AForH{display:flex;flex-shrink:0;flex-wrap:wrap;gap:7px;margin-top:3px}.TaskDetailPage_desc__b64qQ{color:var(--text-secondary);font-size:14px;line-height:1.75;white-space:pre-wrap}.TaskDetailPage_noDesc__o8Nwv{color:var(--text-muted);font-size:13.5px;font-style:italic}.TaskDetailPage_sectionLabel__62lbv{align-items:center;color:var(--text-muted);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.07em;margin-bottom:14px;text-transform:uppercase}.TaskDetailPage_commentCount__LzfLG{background:var(--bg-base);border:1px solid var(--border);border-radius:100px;color:var(--text-muted);font-family:Inter,sans-serif;font-size:11px;padding:1px 8px}.TaskDetailPage_noComments__3QF5T{color:var(--text-muted);font-size:13px;font-style:italic;margin-bottom:16px}.TaskDetailPage_commentList__whuxi{display:flex;flex-direction:column;gap:16px;margin-bottom:18px}.TaskDetailPage_comment__aRi0f{align-items:flex-start;display:flex;gap:10px;position:relative}.TaskDetailPage_commentAvatar__3Wfbl{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Lora,serif;font-size:12px;font-weight:700;height:30px;justify-content:center;margin-top:2px;width:30px}.TaskDetailPage_commentBody__s65U5{flex:1 1;min-width:0}.TaskDetailPage_commentMeta__-L8Ia{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.TaskDetailPage_commentAuthor__2UhY-{color:var(--text-primary);font-size:13px;font-weight:600}.TaskDetailPage_commentTime__ny5vx{color:var(--text-muted);font-size:11.5px}.TaskDetailPage_commentText__KgpLz{color:var(--text-secondary);font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.TaskDetailPage_commentDelete__8VRoi{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;flex-shrink:0;margin-top:2px;padding:4px;transition:all .13s}.TaskDetailPage_commentDelete__8VRoi:hover{background:var(--rose-light);color:var(--rose)}.TaskDetailPage_commentForm__aebcF{align-items:flex-start;border-top:1px solid var(--border);display:flex;gap:10px;padding-top:16px}.TaskDetailPage_commentInputWrap__\+ozsS{display:flex;flex:1 1;flex-direction:column;gap:8px}.TaskDetailPage_commentInput__UD3B8{min-height:70px;resize:none}.TaskDetailPage_timeline__mwSw9{display:flex;flex-direction:column}.TaskDetailPage_tlItem__KbjKK{display:flex;gap:12px;padding-bottom:18px;position:relative}.TaskDetailPage_tlItem__KbjKK:before{background:var(--border);bottom:0;content:"";left:6px;position:absolute;top:16px;width:1px}.TaskDetailPage_tlItem__KbjKK:last-child:before{display:none}.TaskDetailPage_tlItem__KbjKK:last-child{padding-bottom:0}.TaskDetailPage_tlDot__McJdy{background:var(--bg-elevated);border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;height:14px;margin-top:3px;width:14px}.TaskDetailPage_tlContent__hv5O5{flex:1 1;min-width:0}.TaskDetailPage_tlHeader__mCrqO{align-items:center;display:flex;flex-wrap:wrap;gap:7px;margin-bottom:5px}.TaskDetailPage_tlActor__UcMtP{color:var(--text-primary);font-size:13px;font-weight:600}.TaskDetailPage_tlAction__17A89{color:var(--text-secondary);font-size:13px}.TaskDetailPage_changes__0wtjZ{background:var(--bg-base);border-radius:var(--radius);color:var(--text-secondary);display:flex;flex-direction:column;font-size:12px;gap:3px;margin-bottom:5px;padding:7px 10px}.TaskDetailPage_change__UE2O6{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.TaskDetailPage_change__UE2O6 s{color:var(--rose)}.TaskDetailPage_change__UE2O6 strong{color:var(--accent)}.TaskDetailPage_tlTime__swr2X{color:var(--text-muted);font-size:11.5px}.TaskDetailPage_detail__xQN3Q{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:9px 0}.TaskDetailPage_detail__xQN3Q:last-child{border-bottom:none}.TaskDetailPage_detailIcon__Pd-Yk{align-items:center;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);display:flex;flex-shrink:0;height:26px;justify-content:center;margin-top:2px;width:26px}.TaskDetailPage_detailLabel__N04Bw{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.TaskDetailPage_detailValue__ilczV{color:var(--text-primary);font-size:13.5px;font-weight:500}@media (max-width:768px){.TaskDetailPage_layout__VMnOG{grid-template-columns:1fr}.TaskDetailPage_sidebar__TD2vS{order:-1}}.AdminPage_page__MpHST{max-width:1100px}.AdminPage_tabs__eUbSt{border-bottom:1.5px solid var(--border);display:flex;gap:3px;margin-bottom:22px}.AdminPage_tab__QDTkp{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;gap:7px;margin-bottom:-1.5px;padding:9px 16px;transition:all .13s}.AdminPage_tab__QDTkp:hover{color:var(--text-primary)}.AdminPage_tabActive__eltob{border-bottom-color:var(--accent);color:var(--accent)}.AdminPage_sectionHead__7Gt2n{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.AdminPage_sectionCount__Ri2p\+{color:var(--text-muted);font-size:13px;font-weight:500}.AdminPage_inviteBox__6alIi{background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--radius-lg);margin-bottom:14px;padding:14px}.AdminPage_inviteRow__7qEm6{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.AdminPage_tableWrap__-O\+tC{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.AdminPage_table__wtuEU{border-collapse:collapse;font-size:13.5px;width:100%}.AdminPage_table__wtuEU thead tr{background:var(--bg-surface);border-bottom:1.5px solid var(--border)}.AdminPage_table__wtuEU th{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;padding:11px 14px;text-align:left;text-transform:uppercase}.AdminPage_table__wtuEU td{border-bottom:1px solid var(--border);padding:13px 14px;vertical-align:middle}.AdminPage_table__wtuEU tbody tr:last-child td{border-bottom:none}.AdminPage_table__wtuEU tbody tr:hover td{background:var(--bg-base)}.AdminPage_userCell__0rCMf{align-items:center;display:flex;gap:10px}.AdminPage_userAvatar__no\+T1{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Lora,serif;font-size:13px;font-weight:700;height:34px;justify-content:center;width:34px}.AdminPage_userName__df90h{color:var(--text-primary);font-size:13.5px;font-weight:500}.AdminPage_userEmail__fW8Q\+{color:var(--text-muted);font-size:12px;margin-top:1px}.AdminPage_dateCell__uzPSS{color:var(--text-muted);font-size:12px;white-space:nowrap}.AdminPage_rowActions__u1qzf{align-items:center;display:flex;gap:7px}.AdminPage_roleSelect__60l3a{appearance:none;background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:12.5px;padding:5px 9px}.AdminPage_loadArea__qgEYO{align-items:center;display:flex;justify-content:center;padding:56px}.AdminPage_pagination__ELjaF{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:18px}@media(max-width:640px){.AdminPage_table__wtuEU td:nth-child(3),.AdminPage_table__wtuEU td:nth-child(4),.AdminPage_table__wtuEU th:nth-child(3),.AdminPage_table__wtuEU th:nth-child(4){display:none}}
|
| 2 |
+
/*# sourceMappingURL=main.2976ec41.css.map*/
|
frontend/build/static/css/main.2976ec41.css.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"file":"static/css/main.2976ec41.css","mappings":"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","sources":["index.css","components/layout/AppLayout.module.css","components/ui/components.css","pages/AuthPage.module.css","pages/DashboardPage.module.css","components/tasks/TaskModal.module.css","pages/TasksPage.module.css","pages/BoardPage.module.css","pages/TaskDetailPage.module.css","pages/AdminPage.module.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n:root {\n /* Cream / warm parchment palette */\n --bg-base: #f5f0e8;\n --bg-surface: #faf7f2;\n --bg-elevated: #ffffff;\n --bg-hover: #ede8de;\n --bg-active: #e4ddd0;\n\n --border: #ddd6c8;\n --border-strong: #c9c0b0;\n\n --text-primary: #1c1814;\n --text-secondary:#4a4540;\n --text-muted: #8c8278;\n --text-faint: #b8b0a4;\n\n --accent: #2d5a3d;\n --accent-hover: #234a31;\n --accent-light: #eef5f0;\n --accent-border: #a8c8b4;\n\n --amber: #c17d11;\n --amber-light: #fdf3e0;\n --amber-border: #e8c070;\n\n --rose: #9b3a3a;\n --rose-light: #fdf0f0;\n --rose-border: #dba8a8;\n\n --blue: #2a5080;\n --blue-light: #eef3fa;\n --blue-border: #a0bcd8;\n\n --violet: #5a3a7a;\n --violet-light: #f3eefa;\n --violet-border: #c0a0d8;\n\n /* Status */\n --s-todo: #6b6258;\n --s-todo-bg: #f0ece5;\n --s-progress: var(--blue);\n --s-progress-bg: var(--blue-light);\n --s-review: var(--violet);\n --s-review-bg: var(--violet-light);\n --s-done: var(--accent);\n --s-done-bg: var(--accent-light);\n --s-cancelled: var(--rose);\n --s-cancelled-bg:var(--rose-light);\n\n /* Priority */\n --p-low: var(--accent);\n --p-medium: var(--amber);\n --p-high: #c15a11;\n --p-critical: var(--rose);\n\n --sidebar-w: 252px;\n --header-h: 56px;\n --radius: 6px;\n --radius-lg: 10px;\n --radius-xl: 14px;\n --shadow-sm: 0 1px 3px rgba(28,24,20,0.08);\n --shadow-md: 0 4px 12px rgba(28,24,20,0.1);\n --shadow-lg: 0 8px 32px rgba(28,24,20,0.14);\n}\n\nhtml, body, #root { height: 100%; }\nbody {\n font-family: 'Inter', system-ui, sans-serif;\n background: var(--bg-base);\n color: var(--text-primary);\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n}\n\nh1,h2,h3,h4 { font-family: 'Lora', serif; line-height: 1.25; }\na { color: var(--accent); text-decoration: none; }\na:hover { color: var(--accent-hover); text-decoration: underline; }\ninput, textarea, select, button { font-family: inherit; }\nbutton { cursor: pointer; }\ncode, pre { font-family: 'JetBrains Mono', monospace; }\n\n::-webkit-scrollbar { width: 5px; height: 5px; }\n::-webkit-scrollbar-track { background: var(--bg-base); }\n::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 3px; }\n\n.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }\n",".shell { display:flex; height:100vh; overflow:hidden; }\n.overlay { display:none; position:fixed; inset:0; background:rgba(28,24,20,.45); z-index:40; }\n\n.sidebar {\n width:var(--sidebar-w); background:var(--bg-surface);\n border-right:1.5px solid var(--border); display:flex;\n flex-direction:column; flex-shrink:0; z-index:50;\n transition:transform .25s ease;\n}\n\n.sidebarHeader { display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--border); }\n\n.logo { display:flex;align-items:center;gap:9px; }\n.logoMark { width:30px;height:30px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;font-family:'Lora',serif;flex-shrink:0; }\n.logoText { font-family:'Lora',serif;font-weight:700;font-size:17px;color:var(--text-primary);letter-spacing:-.2px; }\n\n.closeMobile { display:none; background:none; border:none; color:var(--text-muted); padding:4px; }\n\n.orgBadge {\n display:flex;align-items:center;gap:7px;margin:10px 14px;\n padding:7px 11px;background:var(--bg-base);border-radius:var(--radius);\n font-size:11.5px;font-weight:600;color:var(--text-muted);border:1px solid var(--border);\n overflow:hidden;white-space:nowrap;\n}\n.orgBadge span { overflow:hidden;text-overflow:ellipsis; }\n\n.nav { flex:1;padding:6px 10px;display:flex;flex-direction:column;gap:1px; }\n\n.navItem {\n display:flex;align-items:center;gap:11px;padding:9px 12px;\n border-radius:var(--radius);color:var(--text-secondary);\n font-size:13.5px;font-weight:500;transition:all .13s ease;text-decoration:none;\n border:1px solid transparent;\n}\n.navItem:hover { background:var(--bg-hover);color:var(--text-primary);text-decoration:none; }\n.navItemActive { background:var(--accent-light);color:var(--accent);border-color:var(--accent-border);font-weight:600; }\n.navItemActive:hover { background:var(--accent-light);color:var(--accent);text-decoration:none; }\n\n.navSection { font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-faint);text-transform:uppercase;padding:10px 12px 4px; }\n\n.userSection { padding:14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px; }\n.userInfo { flex:1;display:flex;align-items:center;gap:10px;min-width:0; }\n.avatar {\n width:32px;height:32px;border-radius:50%;background:var(--accent);\n color:#fff;font-weight:700;font-size:12.5px;display:flex;align-items:center;\n justify-content:center;flex-shrink:0;font-family:'Lora',serif;\n}\n.userDetails { display:flex;flex-direction:column;min-width:0; }\n.userName { font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }\n.userRole { font-size:11px;color:var(--text-muted);text-transform:capitalize; }\n\n.logoutBtn { background:none;border:none;color:var(--text-faint);padding:5px;border-radius:var(--radius);display:flex;align-items:center;transition:all .15s; }\n.logoutBtn:hover { background:var(--rose-light);color:var(--rose); }\n\n.main { flex:1;display:flex;flex-direction:column;overflow:hidden; }\n.header { height:var(--header-h);background:var(--bg-surface);border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0; }\n.menuBtn { display:none;background:none;border:none;color:var(--text-muted);padding:4px;cursor:pointer; }\n.headerRight { display:flex;align-items:center;gap:10px;margin-left:auto; }\n.headerOrg { font-size:12.5px;color:var(--text-muted);font-weight:500; }\n.headerAvatar { width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:11.5px;display:flex;align-items:center;justify-content:center;font-family:'Lora',serif; }\n.content { flex:1;overflow-y:auto;padding:26px 30px; }\n\n@media(max-width:768px){\n .sidebar{position:fixed;top:0;left:0;height:100%;transform:translateX(-100%);}\n .sidebarOpen{transform:translateX(0);}\n .overlay{display:block;}\n .closeMobile{display:flex;}\n .menuBtn{display:flex;}\n .headerOrg{display:none;}\n .content{padding:18px 16px;}\n}\n","/* ── Buttons ── */\n.btn {\n display:inline-flex; align-items:center; justify-content:center; gap:7px;\n font-weight:500; border:1px solid transparent; border-radius:var(--radius);\n cursor:pointer; transition:all .15s ease; white-space:nowrap;\n font-family:'Inter',sans-serif; letter-spacing:0.01em;\n}\n.btn:disabled { opacity:.5; cursor:not-allowed; }\n\n.btn-primary { background:var(--accent); color:#fff; border-color:var(--accent); }\n.btn-primary:hover:not(:disabled) { background:var(--accent-hover); border-color:var(--accent-hover); }\n\n.btn-secondary { background:var(--bg-elevated); color:var(--text-secondary); border-color:var(--border); }\n.btn-secondary:hover:not(:disabled) { background:var(--bg-hover); border-color:var(--border-strong); }\n\n.btn-danger { background:var(--rose-light); color:var(--rose); border-color:var(--rose-border); }\n.btn-danger:hover:not(:disabled) { background:#f7e0e0; }\n\n.btn-ghost { background:transparent; color:var(--text-muted); border-color:transparent; }\n.btn-ghost:hover:not(:disabled) { background:var(--bg-hover); color:var(--text-secondary); }\n\n.btn-sm { padding:5px 11px; font-size:12.5px; }\n.btn-md { padding:8px 16px; font-size:13.5px; }\n.btn-lg { padding:11px 22px; font-size:14.5px; }\n\n/* ── Badges ── */\n.badge {\n display:inline-flex; align-items:center; padding:2px 9px;\n border-radius:100px; font-size:11.5px; font-weight:600; white-space:nowrap;\n border:1px solid transparent; font-family:'Inter',sans-serif;\n}\n.badge-todo { background:var(--s-todo-bg); color:var(--s-todo); border-color:#ddd6c8; }\n.badge-inprogress { background:var(--s-progress-bg); color:var(--s-progress); border-color:var(--blue-border); }\n.badge-inreview { background:var(--s-review-bg); color:var(--s-review); border-color:var(--violet-border); }\n.badge-done { background:var(--s-done-bg); color:var(--s-done); border-color:var(--accent-border); }\n.badge-cancelled { background:var(--s-cancelled-bg);color:var(--s-cancelled); border-color:var(--rose-border); }\n\n.badge-low { background:var(--accent-light); color:var(--p-low); border-color:var(--accent-border); }\n.badge-medium { background:var(--amber-light); color:var(--p-medium); border-color:var(--amber-border); }\n.badge-high { background:#fef3ea; color:var(--p-high); border-color:#e8b880; }\n.badge-critical { background:var(--rose-light); color:var(--p-critical); border-color:var(--rose-border); }\n\n/* ── Fields ── */\n.field { display:flex; flex-direction:column; gap:5px; }\n.field-label { font-size:12.5px; font-weight:600; color:var(--text-secondary); letter-spacing:.02em; }\n.field-input {\n background:var(--bg-elevated); border:1.5px solid var(--border);\n border-radius:var(--radius); color:var(--text-primary);\n font-size:13.5px; padding:9px 13px; transition:border-color .15s;\n width:100%;\n}\n.field-input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(45,90,61,0.1); }\n.field-input-error { border-color:var(--rose) !important; }\n.field-error { font-size:11.5px; color:var(--rose); }\nselect.field-input { appearance:none; cursor:pointer; }\ntextarea.field-input { resize:vertical; min-height:90px; line-height:1.6; }\n\n/* ── Card ── */\n.card {\n background:var(--bg-elevated); border:1px solid var(--border);\n border-radius:var(--radius-lg); padding:22px;\n box-shadow:var(--shadow-sm);\n}\n\n/* ── Empty State ── */\n.empty-state { display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 24px;gap:10px; }\n.empty-icon { width:52px;height:52px;border-radius:50%;background:var(--bg-base);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-faint);margin-bottom:4px; }\n.empty-title { font-family:'Lora',serif;font-size:16px;font-weight:600;color:var(--text-secondary); }\n.empty-desc { font-size:13px;color:var(--text-muted);max-width:300px;line-height:1.5; }\n.empty-action { margin-top:10px; }\n\n/* ── Spinner ── */\n@keyframes spin { to { transform:rotate(360deg); } }\n.spinner {\n width:15px; height:15px;\n border:2px solid rgba(255,255,255,.35);\n border-top-color:white; border-radius:50%;\n animation:spin .7s linear infinite;\n display:inline-block; flex-shrink:0;\n}\n.spinner-dark {\n width:18px; height:18px;\n border:2px solid var(--border); border-top-color:var(--accent);\n border-radius:50%; animation:spin .7s linear infinite; display:inline-block;\n}\n\n/* ── Page Header ── */\n.page-header { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px;flex-wrap:wrap; }\n.page-title { font-family:'Lora',serif;font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px; }\n.page-subtitle { font-size:13px;color:var(--text-muted);margin-top:3px; }\n.page-action { flex-shrink:0; }\n\n/* ── Divider ── */\n.divider { height:1px; background:var(--border); margin:16px 0; }\n",".page {\n min-height:100vh; display:flex; align-items:center; justify-content:center;\n background:var(--bg-base); padding:24px; position:relative; overflow:hidden;\n}\n/* Subtle paper texture illusion with radial bg */\n.page::before {\n content:''; position:absolute; inset:0;\n background:\n radial-gradient(ellipse 60% 40% at 20% 20%, rgba(45,90,61,.05) 0%, transparent 60%),\n radial-gradient(ellipse 50% 50% at 80% 80%, rgba(193,125,17,.04) 0%, transparent 60%);\n pointer-events:none;\n}\n\n.card {\n background:var(--bg-elevated); border:1.5px solid var(--border);\n border-radius:var(--radius-xl); padding:38px 36px;\n width:100%; max-width:430px; position:relative; z-index:1;\n box-shadow:var(--shadow-lg);\n}\n\n.logoArea { display:flex;align-items:center;gap:10px;margin-bottom:26px; }\n.logoMark { width:34px;height:34px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;font-family:'Lora',serif; }\n.logoName { font-family:'Lora',serif;font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px; }\n\n.heading { font-family:'Lora',serif;font-size:19px;font-weight:700;margin-bottom:4px;color:var(--text-primary); }\n.sub { font-size:13px;color:var(--text-muted);margin-bottom:26px; }\n.form { display:flex;flex-direction:column;gap:14px; }\n\n.pwWrap { position:relative; }\n.pwWrap .field-input { padding-right:40px; }\n.pwToggle { position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s; }\n.pwToggle:hover { color:var(--text-secondary); }\n\n.demos { margin-top:18px;padding-top:18px;border-top:1px solid var(--border); }\n.demosLabel { font-size:12px;color:var(--text-muted);margin-bottom:9px;font-style:italic; }\n.demoBtns { display:flex;gap:8px;flex-wrap:wrap; }\n\n.switchLink { margin-top:18px;font-size:12.5px;color:var(--text-muted);text-align:center; }\n.row { display:grid;grid-template-columns:1fr 1fr;gap:14px; }\n\n@media(max-width:480px){\n .card{padding:26px 18px;}\n .row{grid-template-columns:1fr;}\n}\n",".page{max-width:1100px;}\n.center{display:flex;align-items:center;justify-content:center;height:300px;}\n\n.kpiGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px;margin-bottom:22px;}\n.kpiCard{\n background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-lg);\n padding:18px;display:flex;align-items:center;gap:14px;transition:all .15s;\n text-decoration:none;color:inherit;position:relative;overflow:hidden;\n}\n.kpiCard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px);text-decoration:none;}\n.kpiIconWrap{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;}\n.kpiBody{display:flex;flex-direction:column;}\n.kpiCount{font-family:'Lora',serif;font-size:24px;font-weight:700;line-height:1;color:var(--text-primary);}\n.kpiLabel{font-size:12px;color:var(--text-muted);margin-top:3px;font-weight:500;}\n.kpiPulse{\n position:absolute;top:12px;right:12px;width:8px;height:8px;\n background:var(--s-progress);border-radius:50%;\n animation:pulse 2s ease infinite;\n}\n@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}\n\n.grid2{display:grid;grid-template-columns:1fr 320px;gap:18px;}\n\n.cardHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}\n.cardTitle{font-family:'Lora',serif;font-size:15px;font-weight:600;color:var(--text-primary);}\n\n.activityList{display:flex;flex-direction:column;gap:1px;}\n.activityRow{\n display:flex;align-items:center;justify-content:space-between;gap:12px;\n padding:10px;border-radius:var(--radius);text-decoration:none;color:inherit;transition:background .12s;\n}\n.activityRow:hover{background:var(--bg-base);text-decoration:none;}\n.activityLeft{display:flex;align-items:center;gap:10px;min-width:0;flex:1;}\n.activityInfo{display:flex;flex-direction:column;gap:1px;min-width:0;}\n.activityTitle{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}\n.activityMeta{font-size:11.5px;color:var(--text-muted);}\n.activityTime{font-size:11.5px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;}\n\n.emptyNote{font-size:13px;color:var(--text-muted);padding:16px 0;}\n\n.totalPill{font-size:12px;background:var(--bg-base);border:1px solid var(--border);border-radius:100px;padding:2px 10px;color:var(--text-muted);}\n\n.priorityChart{display:flex;flex-direction:column;gap:12px;}\n.pRow{display:flex;align-items:center;gap:10px;}\n.pLabel{font-size:12.5px;color:var(--text-secondary);width:58px;flex-shrink:0;font-weight:500;}\n.pTrack{flex:1;height:6px;background:var(--bg-base);border-radius:3px;overflow:hidden;border:1px solid var(--border);}\n.pFill{height:100%;border-radius:3px;transition:width .6s ease;}\n.pCount{font-size:12.5px;font-weight:600;color:var(--text-secondary);width:20px;text-align:right;}\n\n.boardLink{\n display:inline-flex;align-items:center;gap:6px;\n font-size:12.5px;color:var(--accent);margin-top:18px;padding-top:14px;\n border-top:1px solid var(--border);width:100%;font-weight:500;\n text-decoration:none;transition:color .15s;\n}\n.boardLink:hover{color:var(--accent-hover);text-decoration:none;}\n\n@media(max-width:900px){.grid2{grid-template-columns:1fr;}}\n@media(max-width:580px){.kpiGrid{grid-template-columns:1fr 1fr;}}\n",".overlay {\n position: fixed; inset: 0; background: rgba(28,24,20,.5);\n display: flex; align-items: center; justify-content: center;\n z-index: 100; padding: 16px;\n backdrop-filter: blur(3px);\n animation: fadeIn .15s ease;\n}\n@keyframes fadeIn { from{opacity:0} to{opacity:1} }\n\n.modal {\n background: var(--bg-elevated); border: 1.5px solid var(--border-strong);\n border-radius: var(--radius-xl); width: 100%; max-width: 530px;\n box-shadow: var(--shadow-lg);\n animation: slideUp .2s ease;\n max-height: 92vh; overflow-y: auto;\n}\n@keyframes slideUp { from{transform:translateY(18px);opacity:0} to{transform:translateY(0);opacity:1} }\n\n.header {\n display: flex; align-items: center; justify-content: space-between;\n padding: 20px 22px 0;\n}\n\n.title { font-family: 'Lora', serif; font-size: 17px; font-weight: 700; color: var(--text-primary); }\n\n.closeBtn {\n background: none; border: none; color: var(--text-muted); cursor: pointer;\n padding: 5px; border-radius: var(--radius); display: flex; align-items: center;\n transition: all .13s;\n}\n.closeBtn:hover { background: var(--bg-hover); color: var(--text-primary); }\n\n.body { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }\n\n.row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }\n\n.footer {\n display: flex; justify-content: flex-end; gap: 9px;\n padding-top: 4px; border-top: 1px solid var(--border); margin-top: 4px;\n}\n\n@media(max-width:480px){ .row{grid-template-columns:1fr;} }\n",".page { max-width: 1200px; }\n\n.filters { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }\n\n.searchWrap { position: relative; }\n.searchIcon { position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none; }\n.searchInput {\n width: 100%; background: var(--bg-elevated); border: 1.5px solid var(--border);\n border-radius: var(--radius); color: var(--text-primary); font-size: 13.5px;\n padding: 9px 36px; transition: border-color .15s;\n}\n.searchInput:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(45,90,61,.1); }\n.clearBtn {\n position:absolute;right:10px;top:50%;transform:translateY(-50%);\n background:none;border:none;color:var(--text-muted);padding:4px;cursor:pointer;\n border-radius:4px;display:flex;align-items:center;\n}\n.clearBtn:hover { color:var(--text-primary);background:var(--bg-hover); }\n\n.filterRow { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }\n.filterSelect {\n background: var(--bg-elevated); border: 1.5px solid var(--border);\n border-radius: var(--radius); color: var(--text-secondary);\n font-size: 13px; padding: 7px 12px; cursor: pointer; transition: border-color .15s; appearance: none;\n}\n.filterSelect:focus { outline: none; border-color: var(--accent); }\n.filterSelect:hover { border-color: var(--border-strong); }\n\n/* Table */\n.tableWrap {\n background: var(--bg-elevated); border: 1.5px solid var(--border);\n border-radius: var(--radius-lg); overflow: hidden;\n}\n\n.table { width: 100%; border-collapse: collapse; font-size: 13.5px; }\n\n.table thead tr { border-bottom: 1.5px solid var(--border); background: var(--bg-surface); }\n.table th {\n padding: 11px 14px; text-align: left; font-size: 11px; font-weight: 700;\n color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em;\n}\n.table td { padding: 13px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; }\n.table tbody tr:last-child td { border-bottom: none; }\n.table tbody tr:hover td { background: var(--bg-base); }\n.dimmed { opacity: .65; }\n\n.taskLink { font-weight: 500; color: var(--text-primary); text-decoration: none; display: block; }\n.taskLink:hover { color: var(--accent); text-decoration: none; }\n.taskDesc { font-size: 12px; color: var(--text-muted); margin-top: 3px; }\n\n.assignee { font-size: 13px; color: var(--text-secondary); }\n.unassigned { color: var(--text-faint); font-style: normal; }\n\n.dueDate { font-size: 12.5px; color: var(--text-secondary); }\n.overdue { font-size: 12.5px; color: var(--rose); font-weight: 600; }\n\n.updated { font-size: 12px; color: var(--text-muted); white-space: nowrap; }\n.rowActions { display: flex; gap: 5px; justify-content: flex-end; }\n\n.loadingArea { display:flex;align-items:center;justify-content:center;padding:56px; }\n\n/* Pagination */\n.pagination { display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px; }\n.pageInfo { font-size:13px;color:var(--text-muted); }\n\n@media(max-width:768px){\n .table th:nth-child(4),.table td:nth-child(4),\n .table th:nth-child(6),.table td:nth-child(6){ display:none; }\n}\n@media(max-width:520px){\n .table th:nth-child(5),.table td:nth-child(5){ display:none; }\n}\n",".page { max-width: 100%; }\n\n.board {\n display: grid;\n grid-template-columns: repeat(4, minmax(230px, 1fr));\n gap: 16px;\n align-items: start;\n overflow-x: auto;\n padding-bottom: 16px;\n}\n\n.column {\n background: var(--bg-surface);\n border: 1.5px solid var(--border);\n border-radius: var(--radius-lg);\n padding: 14px;\n min-height: 300px;\n transition: border-color .15s, background .15s;\n}\n\n.columnOver {\n border-color: var(--accent);\n background: var(--accent-light);\n}\n\n.colHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n}\n\n.colHeaderLeft {\n display: flex;\n align-items: center;\n gap: 7px;\n}\n\n.colDot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.colLabel {\n font-size: 13px;\n font-weight: 600;\n color: var(--text-secondary);\n font-family: 'Inter', sans-serif;\n}\n\n.colCount {\n font-size: 11px;\n font-weight: 700;\n padding: 1px 7px;\n border-radius: 100px;\n font-family: 'Inter', sans-serif;\n}\n\n.addColBtn {\n background: none;\n border: 1px solid var(--border);\n border-radius: var(--radius);\n color: var(--text-muted);\n width: 26px;\n height: 26px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all .15s;\n}\n.addColBtn:hover { background: var(--bg-hover); color: var(--text-secondary); border-color: var(--border-strong); }\n\n.cards {\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 80px;\n}\n\n.emptyCol {\n border: 1.5px dashed var(--border);\n border-radius: var(--radius);\n padding: 20px;\n text-align: center;\n font-size: 12px;\n color: var(--text-faint);\n transition: all .15s;\n}\n\n.emptyColOver {\n border-color: var(--accent);\n color: var(--accent);\n background: var(--accent-light);\n}\n\n/* Task card */\n.card {\n background: var(--bg-elevated);\n border: 1.5px solid var(--border);\n border-radius: var(--radius);\n padding: 12px;\n cursor: grab;\n transition: all .15s;\n user-select: none;\n}\n\n.card:hover {\n border-color: var(--border-strong);\n box-shadow: var(--shadow-md);\n transform: translateY(-1px);\n}\n\n.card:active { cursor: grabbing; }\n\n.cardDragging {\n opacity: 0.45;\n transform: rotate(1.5deg) scale(0.97);\n}\n\n.cardTop {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n}\n\n.cardMenuBtn {\n color: var(--text-faint);\n display: flex;\n align-items: center;\n padding: 2px;\n border-radius: 4px;\n transition: all .12s;\n text-decoration: none;\n}\n.cardMenuBtn:hover { color: var(--text-secondary); background: var(--bg-hover); text-decoration: none; }\n\n.cardTitle {\n display: block;\n font-size: 13.5px;\n font-weight: 500;\n color: var(--text-primary);\n line-height: 1.4;\n margin-bottom: 6px;\n text-decoration: none;\n transition: color .12s;\n}\n.cardTitle:hover { color: var(--accent); text-decoration: none; }\n\n.cardDesc {\n font-size: 12px;\n color: var(--text-muted);\n line-height: 1.5;\n margin-bottom: 10px;\n}\n\n.cardMeta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.cardAssignee {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 11.5px;\n color: var(--text-muted);\n}\n\n.miniAvatar {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n background: var(--accent);\n color: #fff;\n font-size: 9px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.cardDue {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--text-muted);\n background: var(--bg-base);\n padding: 2px 7px;\n border-radius: 4px;\n border: 1px solid var(--border);\n}\n\n.cardDueOverdue {\n color: var(--rose);\n background: var(--rose-light);\n border-color: var(--rose-border);\n}\n\n@media (max-width: 960px) {\n .board { grid-template-columns: repeat(2, 1fr); }\n}\n\n@media (max-width: 560px) {\n .board { grid-template-columns: 1fr; }\n}\n",".page { max-width: 1000px; }\n\n.center {\n display: flex; flex-direction: column;\n align-items: center; justify-content: center;\n padding: 80px 24px; text-align: center;\n}\n\n.topBar {\n display: flex; align-items: center; justify-content: space-between;\n margin-bottom: 22px; flex-wrap: wrap; gap: 10px;\n}\n\n.backLink {\n display: inline-flex; align-items: center; gap: 7px;\n font-size: 13.5px; color: var(--text-secondary);\n text-decoration: none; transition: color .15s; font-weight: 500;\n}\n.backLink:hover { color: var(--accent); text-decoration: none; }\n\n.actions { display: flex; gap: 8px; }\n\n.layout {\n display: grid; grid-template-columns: 1fr 268px;\n gap: 18px; align-items: start;\n}\n\n.main { display: flex; flex-direction: column; }\n\n.taskHeader {\n display: flex; align-items: flex-start;\n justify-content: space-between; gap: 14px;\n margin-bottom: 14px; flex-wrap: wrap;\n}\n\n.taskTitle {\n font-family: 'Lora', serif; font-size: 21px; font-weight: 700;\n color: var(--text-primary); letter-spacing: -.2px; flex: 1; min-width: 0;\n}\n\n.badges { display: flex; gap: 7px; flex-shrink: 0; flex-wrap: wrap; margin-top: 3px; }\n\n.desc {\n font-size: 14px; color: var(--text-secondary);\n line-height: 1.75; white-space: pre-wrap;\n}\n.noDesc { font-size: 13.5px; color: var(--text-muted); font-style: italic; }\n\n/* Section label */\n.sectionLabel {\n font-size: 11px; font-weight: 700; text-transform: uppercase;\n letter-spacing: .07em; color: var(--text-muted);\n margin-bottom: 14px; display: flex; align-items: center; gap: 8px;\n}\n\n.commentCount {\n background: var(--bg-base); border: 1px solid var(--border);\n border-radius: 100px; padding: 1px 8px;\n font-size: 11px; color: var(--text-muted);\n font-family: 'Inter', sans-serif;\n}\n\n.noComments {\n font-size: 13px; color: var(--text-muted);\n font-style: italic; margin-bottom: 16px;\n}\n\n/* Comments */\n.commentList { display: flex; flex-direction: column; gap: 16px; margin-bottom: 18px; }\n\n.comment {\n display: flex; gap: 10px; align-items: flex-start; position: relative;\n}\n\n.commentAvatar {\n width: 30px; height: 30px; border-radius: 50%;\n background: var(--accent); color: #fff;\n font-size: 12px; font-weight: 700; font-family: 'Lora', serif;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0; margin-top: 2px;\n}\n\n.commentBody { flex: 1; min-width: 0; }\n\n.commentMeta {\n display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px;\n}\n.commentAuthor { font-size: 13px; font-weight: 600; color: var(--text-primary); }\n.commentTime { font-size: 11.5px; color: var(--text-muted); }\n\n.commentText {\n font-size: 13.5px; color: var(--text-secondary);\n line-height: 1.6; white-space: pre-wrap; word-break: break-word;\n}\n\n.commentDelete {\n background: none; border: none; color: var(--text-faint);\n padding: 4px; border-radius: 4px; cursor: pointer;\n display: flex; align-items: center; transition: all .13s;\n flex-shrink: 0; margin-top: 2px;\n}\n.commentDelete:hover { background: var(--rose-light); color: var(--rose); }\n\n/* Comment form */\n.commentForm {\n display: flex; gap: 10px; align-items: flex-start;\n padding-top: 16px; border-top: 1px solid var(--border);\n}\n\n.commentInputWrap {\n flex: 1; display: flex; flex-direction: column; gap: 8px;\n}\n\n.commentInput { resize: none; min-height: 70px; }\n\n/* Audit timeline */\n.timeline { display: flex; flex-direction: column; }\n\n.tlItem {\n display: flex; gap: 12px; position: relative; padding-bottom: 18px;\n}\n.tlItem::before {\n content: ''; position: absolute; left: 6px; top: 16px; bottom: 0;\n width: 1px; background: var(--border);\n}\n.tlItem:last-child::before { display: none; }\n.tlItem:last-child { padding-bottom: 0; }\n\n.tlDot {\n width: 14px; height: 14px; border-radius: 50%;\n background: var(--bg-elevated); border: 2px solid var(--border-strong);\n flex-shrink: 0; margin-top: 3px;\n}\n\n.tlContent { flex: 1; min-width: 0; }\n\n.tlHeader { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 5px; }\n.tlActor { font-size: 13px; font-weight: 600; color: var(--text-primary); }\n.tlAction { font-size: 13px; color: var(--text-secondary); }\n\n.changes {\n display: flex; flex-direction: column; gap: 3px;\n background: var(--bg-base); border-radius: var(--radius);\n padding: 7px 10px; margin-bottom: 5px;\n font-size: 12px; color: var(--text-secondary);\n}\n\n.change { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }\n.change s { color: var(--rose); }\n.change strong { color: var(--accent); }\n\n.tlTime { font-size: 11.5px; color: var(--text-muted); }\n\n/* Details sidebar */\n.sidebar {}\n\n.detail {\n display: flex; gap: 10px; align-items: flex-start;\n padding: 9px 0; border-bottom: 1px solid var(--border);\n}\n.detail:last-child { border-bottom: none; }\n\n.detailIcon {\n width: 26px; height: 26px; background: var(--bg-base);\n border-radius: var(--radius); display: flex; align-items: center;\n justify-content: center; color: var(--text-muted);\n flex-shrink: 0; margin-top: 2px; border: 1px solid var(--border);\n}\n\n.detailLabel { font-size: 11px; color: var(--text-muted); margin-bottom: 2px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }\n.detailValue { font-size: 13.5px; font-weight: 500; color: var(--text-primary); }\n\n@media (max-width: 768px) {\n .layout { grid-template-columns: 1fr; }\n .sidebar { order: -1; }\n}\n",".page { max-width: 1100px; }\n\n.tabs { display:flex;gap:3px;border-bottom:1.5px solid var(--border);margin-bottom:22px; }\n.tab {\n display:inline-flex;align-items:center;gap:7px;padding:9px 16px;\n font-size:13.5px;font-weight:500;color:var(--text-muted);\n background:none;border:none;border-bottom:2px solid transparent;\n cursor:pointer;transition:all .13s;margin-bottom:-1.5px;\n}\n.tab:hover { color:var(--text-primary); }\n.tabActive { color:var(--accent);border-bottom-color:var(--accent); }\n\n.sectionHead { display:flex;align-items:center;justify-content:space-between;margin-bottom:14px; }\n.sectionCount { font-size:13px;font-weight:500;color:var(--text-muted); }\n\n.inviteBox {\n background:var(--bg-base);border:1.5px solid var(--border);\n border-radius:var(--radius-lg);padding:14px;margin-bottom:14px;\n}\n.inviteRow { display:flex;gap:8px;align-items:center;flex-wrap:wrap; }\n\n.tableWrap {\n background:var(--bg-elevated);border:1.5px solid var(--border);\n border-radius:var(--radius-lg);overflow:hidden;\n}\n.table { width:100%;border-collapse:collapse;font-size:13.5px; }\n.table thead tr { border-bottom:1.5px solid var(--border);background:var(--bg-surface); }\n.table th { padding:11px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em; }\n.table td { padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:middle; }\n.table tbody tr:last-child td { border-bottom:none; }\n.table tbody tr:hover td { background:var(--bg-base); }\n\n.userCell { display:flex;align-items:center;gap:10px; }\n.userAvatar {\n width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;\n font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;\n flex-shrink:0;font-family:'Lora',serif;\n}\n.userName { font-size:13.5px;font-weight:500;color:var(--text-primary); }\n.userEmail { font-size:12px;color:var(--text-muted);margin-top:1px; }\n\n.dateCell { font-size:12px;color:var(--text-muted);white-space:nowrap; }\n.rowActions { display:flex;align-items:center;gap:7px; }\n.roleSelect {\n background:var(--bg-base);border:1.5px solid var(--border);\n border-radius:var(--radius);color:var(--text-secondary);\n font-size:12.5px;padding:5px 9px;cursor:pointer;appearance:none;\n}\n\n.loadArea { display:flex;align-items:center;justify-content:center;padding:56px; }\n\n.pagination { display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px; }\n\n@media(max-width:640px){\n .table th:nth-child(3),.table td:nth-child(3),\n .table th:nth-child(4),.table td:nth-child(4){ display:none; }\n}\n"],"names":[],"sourceRoot":""}
|
frontend/build/static/js/main.a17b8f6c.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/build/static/js/main.a17b8f6c.js.LICENSE.txt
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* @license React
|
| 3 |
+
* react-dom.production.min.js
|
| 4 |
+
*
|
| 5 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
| 6 |
+
*
|
| 7 |
+
* This source code is licensed under the MIT license found in the
|
| 8 |
+
* LICENSE file in the root directory of this source tree.
|
| 9 |
+
*/
|
| 10 |
+
|
| 11 |
+
/**
|
| 12 |
+
* @license React
|
| 13 |
+
* react-jsx-runtime.production.min.js
|
| 14 |
+
*
|
| 15 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
| 16 |
+
*
|
| 17 |
+
* This source code is licensed under the MIT license found in the
|
| 18 |
+
* LICENSE file in the root directory of this source tree.
|
| 19 |
+
*/
|
| 20 |
+
|
| 21 |
+
/**
|
| 22 |
+
* @license React
|
| 23 |
+
* react.production.min.js
|
| 24 |
+
*
|
| 25 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
| 26 |
+
*
|
| 27 |
+
* This source code is licensed under the MIT license found in the
|
| 28 |
+
* LICENSE file in the root directory of this source tree.
|
| 29 |
+
*/
|
| 30 |
+
|
| 31 |
+
/**
|
| 32 |
+
* @license React
|
| 33 |
+
* scheduler.production.min.js
|
| 34 |
+
*
|
| 35 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
| 36 |
+
*
|
| 37 |
+
* This source code is licensed under the MIT license found in the
|
| 38 |
+
* LICENSE file in the root directory of this source tree.
|
| 39 |
+
*/
|
| 40 |
+
|
| 41 |
+
/**
|
| 42 |
+
* @license lucide-react v0.309.0 - ISC
|
| 43 |
+
*
|
| 44 |
+
* This source code is licensed under the ISC license.
|
| 45 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 46 |
+
*/
|
| 47 |
+
|
| 48 |
+
/**
|
| 49 |
+
* @remix-run/router v1.23.2
|
| 50 |
+
*
|
| 51 |
+
* Copyright (c) Remix Software Inc.
|
| 52 |
+
*
|
| 53 |
+
* This source code is licensed under the MIT license found in the
|
| 54 |
+
* LICENSE.md file in the root directory of this source tree.
|
| 55 |
+
*
|
| 56 |
+
* @license MIT
|
| 57 |
+
*/
|
| 58 |
+
|
| 59 |
+
/**
|
| 60 |
+
* React Router DOM v6.30.3
|
| 61 |
+
*
|
| 62 |
+
* Copyright (c) Remix Software Inc.
|
| 63 |
+
*
|
| 64 |
+
* This source code is licensed under the MIT license found in the
|
| 65 |
+
* LICENSE.md file in the root directory of this source tree.
|
| 66 |
+
*
|
| 67 |
+
* @license MIT
|
| 68 |
+
*/
|
| 69 |
+
|
| 70 |
+
/**
|
| 71 |
+
* React Router v6.30.3
|
| 72 |
+
*
|
| 73 |
+
* Copyright (c) Remix Software Inc.
|
| 74 |
+
*
|
| 75 |
+
* This source code is licensed under the MIT license found in the
|
| 76 |
+
* LICENSE.md file in the root directory of this source tree.
|
| 77 |
+
*
|
| 78 |
+
* @license MIT
|
| 79 |
+
*/
|
frontend/build/static/js/main.a17b8f6c.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|