@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_83907a{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_83907a{--font-be-vietnam:"Be Vietnam Pro","Be Vietnam Pro Fallback"}:root{--background:#fff;--foreground:#171717;--brand-primary:#1b4d3e;--brand-light:#5a7d73;--brand-bg:#f9f6f1;--tap-min:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--transition-fast:0.15s ease;--transition-normal:0.2s ease}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}*,:after,:before{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth;text-size-adjust:100%;--dvh:1dvh}body,html{max-width:100vw;overflow-x:hidden;-webkit-overflow-scrolling:touch}body{color:var(--foreground);background:var(--background);font-family:var(--font-be-vietnam),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}h1,h2,h3,h4,h5,h6,input,li,p,span,td,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}a{color:inherit;text-decoration:none}*{-webkit-tap-highlight-color:transparent}[role=button],a,button{touch-action:manipulation;min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:16px;font-family:inherit}@media (prefers-color-scheme:dark){html{color-scheme:dark}}@media (hover:none){a:active,button:active{opacity:.75;transform:scale(.97)}}.pwa-overlay{position:fixed;bottom:0;left:0;right:0;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;justify-content:center;align-items:flex-end;animation:pwa-fade-in var(--transition-normal,.3s ease)}@keyframes pwa-fade-in{0%{opacity:0}to{opacity:1}}.pwa-card{background:#fff;border-radius:1.25rem;padding:1.5rem;width:100%;max-width:400px;position:relative;box-shadow:0 10px 25px rgba(0,0,0,.1);animation:pwa-slide-up var(--transition-normal,.3s ease);text-align:center}@keyframes pwa-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-close-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#94a3b8;padding:8px;min-width:44px;min-height:44px;cursor:pointer}.pwa-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:16px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.08)}.pwa-title{font-size:1.25rem;font-weight:700;color:var(--brand-primary,#1b4d3e);margin-bottom:.5rem}.pwa-desc{color:#64748b;font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.pwa-instructions{background:#f8fafc;padding:1rem;border-radius:.75rem;text-align:left;font-size:.95rem;color:#334155;display:flex;flex-direction:column;gap:.75rem}.pwa-inline-icon{display:inline-block;vertical-align:middle;margin:0 4px;color:#007aff}.pwa-install-btn{background:var(--brand-primary,#1b4d3e);color:#fff;border:none;border-radius:.75rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;min-height:48px}.home-page{background:radial-gradient(circle at 12% -10%,#dff4ef 0,transparent 28rem),var(--brand-bg,#f9f6f1)!important}.home-topbar{border:1px solid rgba(226,232,240,.85)!important;box-shadow:0 12px 30px rgba(15,23,42,.055)!important;border-radius:1.25rem!important;padding:.7rem .85rem!important}.home-profile-link h2{font-size:1rem!important;letter-spacing:-.02em}.home-profile-link p{color:#64748b!important}.home-avatar{border-radius:14px!important;border-color:rgba(203,213,225,.8)!important}.home-signout{border-radius:14px!important;background:#fff1f2!important}.home-attendance-quick{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.5rem .72rem;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff;color:#0369a1;font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}.home-attendance-quick:hover{background:#e0f2fe}.home-dashboard-grid{display:flex;flex-direction:column;gap:1.25rem;height:auto;min-height:calc(100dvh - 80px);overflow:visible}.home-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.feature-card-item{background-color:#fff;padding:1rem .8rem .9rem;border-radius:1.35rem;flex-direction:column;gap:.7rem;box-shadow:0 10px 28px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.9);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;height:100%}.feature-card-icon,.feature-card-item{display:flex;align-items:center;justify-content:center}.feature-card-icon{width:48px;height:48px;border-radius:1rem;flex-shrink:0}.feature-card-title{font-weight:700;color:#1b4d3e;font-size:.88rem;letter-spacing:-.01em;text-align:center;line-height:1.3;word-break:break-word}.feature-card-item:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(27,77,62,.12),0 2px 4px rgba(15,23,42,.04);border-color:rgba(148,163,184,.55)}@media (max-width:899px){.home-dashboard-grid{height:auto;min-height:calc(100dvh - 80px);overflow:visible}}.task-create-button{gap:.35rem}.task-create-label{font-size:.86rem}@media (min-width:900px){.home-dashboard-grid{display:flex;flex-direction:column;gap:1.5rem;height:auto;overflow:visible}.home-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.feature-card-item{flex-direction:row;justify-content:flex-start;padding:1.1rem 1.2rem;gap:1rem}.feature-card-icon{width:50px;height:50px}.feature-card-title{text-align:left;font-size:1.02rem}}.mobile-view{display:none}.desktop-view{display:block;overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background-color:#fff}.legacy-task-views{display:none}.task-list-view{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}.task-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;padding:.7rem .85rem;border-bottom:1px solid #f1f5f9;transition:background-color .15s ease}.task-list-row:last-child{border-bottom:0}.task-list-row:hover{background:#f8fafc}.task-list-content{min-width:0}.task-list-meta-button,.task-list-title{font:inherit;border:0;background:transparent;cursor:pointer}.task-list-title{display:flex;min-width:0;align-items:center;gap:.48rem;padding:0;color:#0f172a;font-size:.88rem;font-weight:650;line-height:1.35;text-align:left}.task-list-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-icon{flex:0 0 auto}.task-list-meta{display:flex;min-width:0;align-items:center;gap:.35rem;margin-top:.18rem;color:#64748b;font-size:.74rem;line-height:1.2;white-space:nowrap;overflow:hidden}.task-list-meta-button,.task-list-meta>span{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-meta-button{display:inline-flex;min-width:0;align-items:center;gap:.2rem;padding:0;color:inherit}.task-list-meta-button:hover{color:#047857;text-decoration:underline;text-underline-offset:2px}.task-list-separator{color:#cbd5e1;flex:0 0 auto!important}.task-list-meta-input{min-width:0;max-width:130px;padding:.08rem .25rem;border:1px solid #cbd5e1;border-radius:5px;color:#334155;font:inherit;outline-color:#10b981}.task-list-assignee-select{max-width:150px}.task-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:.42rem}.task-status-badge,.task-status-select{max-width:145px;padding:.28rem .62rem;border:1px solid;border-radius:999px;font-size:.74rem;font-weight:700;line-height:1.15;white-space:nowrap}.task-status-select{cursor:pointer;outline:none}.task-priority-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #fee2e2}.task-restore-button{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:.7rem;font-weight:650;cursor:pointer}@media (max-width:768px){.task-create-button{width:40px;min-width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important}.task-create-label{display:none}.desktop-view{display:none!important}.mobile-view{gap:.65rem}.mobile-task-card,.mobile-view{display:flex;flex-direction:column}.mobile-task-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.04);border:1px solid #e2e8f0;border-left:4px solid #fbbf24;padding:.75rem;position:relative;gap:.55rem}.mobile-task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.mobile-task-title{font-size:.92rem;font-weight:700;color:#0f172a;line-height:1.3;display:flex;align-items:flex-start;gap:.4rem;background:none;border:none;padding:0;text-align:left;cursor:pointer}.mobile-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.8rem;color:#64748b}.mobile-task-meta-item{display:inline-flex;align-items:center;gap:.25rem;background:#f8fafc;padding:.2rem .45rem;border-radius:6px;border:1px solid #e2e8f0}.mobile-task-meta-item-transparent{display:inline-flex;align-items:center;gap:.35rem}.mobile-task-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem;padding-top:.45rem;border-top:1px dashed #f1f5f9}.task-list-row{gap:.5rem;padding:.58rem .62rem}.task-list-title{gap:.34rem;font-size:.78rem;line-height:1.2}.task-list-icon{width:13px;height:13px}.task-list-meta{gap:.25rem;margin-top:.14rem;font-size:.64rem}.task-list-meta-button{max-width:90px}.task-list-actions{align-self:start;gap:.32rem}.task-status-badge,.task-status-select{max-width:105px;padding:.22rem .42rem;font-size:.65rem}.task-priority-dot{width:6px;height:6px;box-shadow:0 0 0 2px #fee2e2}.task-list-meta-input{max-width:102px;font-size:.64rem}.home-page{padding-top:max(.8rem,var(--safe-top,0px))!important}}