:root{--blue:#17458f;--blue-deep:#082b61;--gold:#f7a81b;--ink:#14233b;--paper:#f5f7fb;--line:#dce3ee;--muted:#637087;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,PingFang TC,sans-serif}a{color:inherit}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:24px;padding:14px max(4vw,24px);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.identity,.topbar{display:flex;align-items:center}.identity{gap:12px;text-decoration:none}.identity>span:last-child{display:flex;flex-direction:column}.identity strong{font-size:.96rem}.identity small{margin-top:2px;color:var(--muted);font-size:.68rem;letter-spacing:.03em}.brandLogo{width:42px;height:42px;border-radius:10px;background:url(/favicon.svg?v=20260728) 50%/cover no-repeat}.publicNav{display:flex;align-items:center;gap:8px}.publicNav a{padding:9px 12px;border-radius:8px;color:var(--blue-deep);font-size:.76rem;font-weight:800;text-decoration:none}.publicNav a:hover{background:#edf3fc}.globalSearch{display:flex;align-items:center;flex:1 1;max-width:420px;margin-left:auto}.globalSearch input{width:100%;height:38px;padding:0 12px;color:var(--ink);background:#f8fafd;border:1px solid var(--line);border-right:0;border-radius:9px 0 0 9px;font:inherit;font-size:.76rem}.globalSearch button{height:38px;padding:0 14px;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:0 9px 9px 0;font-size:.72rem;font-weight:900;cursor:pointer}.homepageIntro{padding:58px max(5vw,28px) 36px;text-align:center;background:#fff}.homepageIntro .clubEnglish{margin:0 0 10px;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.homepageIntro h1{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(2.4rem,6vw,5.2rem);font-weight:400;letter-spacing:-.04em}.homepageIntro>p:last-child{margin:16px 0 0;color:var(--gold);font-size:.88rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.focusSection{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);grid-gap:20px;gap:20px;max-width:1320px;margin:0 auto;padding:24px max(3vw,20px) 34px}.focusCard{min-height:290px;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,62px);color:#fff;background:radial-gradient(circle at 85% 20%,rgba(247,168,27,.28),transparent 30%),linear-gradient(135deg,var(--blue-deep),var(--blue));border-radius:18px;box-shadow:0 18px 54px rgba(10,43,92,.16)}.focusLabel{margin:0 0 16px;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.14em}.focusCard h2{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:400}.focusCard>p{margin:10px 0 0;color:rgba(255,255,255,.78)}.focusMeta{font-weight:800}.focusCard>a{align-self:flex-start;margin-top:24px;padding:10px 15px;border:1px solid rgba(255,255,255,.32);border-radius:9px;color:#fff;font-size:.76rem;font-weight:900;text-decoration:none}.quoteFocus blockquote{max-width:780px;margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(1.7rem,3.6vw,3.2rem);line-height:1.45}.quickLinks{display:grid;grid-gap:12px;gap:12px}.quickLinks a{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.quickLinks a:hover{transform:translateY(-2px);border-color:#b9c9df}.quickLinks strong{color:var(--blue-deep);font-size:.95rem}.quickLinks span{margin-top:5px;color:var(--muted);font-size:.72rem}.latestActivity{display:grid;grid-template-columns:220px 1fr;grid-gap:24px;gap:24px;align-items:center;max-width:1320px;margin:0 auto 12px;padding:26px max(3vw,20px)}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:.69rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.latestActivity h2{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:2rem;font-weight:400}.latestActivity article{padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:14px}.latestActivity article span{color:var(--blue);font-size:.69rem;font-weight:900}.latestActivity article h3{margin:8px 0 5px;font-size:1.05rem}.latestActivity article p{margin:0;color:var(--muted);font-size:.78rem}.upcomingEventsSection{max-width:1320px;margin:0 auto;padding:28px max(3vw,20px);scroll-margin-top:82px}.upcomingEventGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:14px;gap:14px}.upcomingEventGrid article{display:grid;grid-template-columns:82px 1fr;grid-gap:16px;gap:16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.upcomingEventGrid time{color:var(--blue);font-size:.72rem;font-weight:850}.upcomingEventGrid time b{display:block;margin-top:5px;font-family:Georgia,serif;font-size:1.15rem}.upcomingEventGrid h3{margin:9px 0 6px;font-size:1rem}.upcomingEventGrid p{margin:0 0 12px;color:var(--muted);font-size:.76rem}.upcomingEventGrid a{color:var(--blue);font-size:.72rem;font-weight:850;text-decoration:none}.rotaryNews{max-width:1320px;margin:0 auto;padding:28px max(3vw,20px);scroll-margin-top:82px}.newsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px}.newsCard{display:flex;flex-direction:column;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.newsMeta{display:flex;align-items:center;justify-content:space-between;gap:10px}.newsMeta time{color:var(--blue);font-size:.72rem;font-weight:850}.newsMeta span{color:var(--muted);font-size:.68rem}.newsCard h3{margin:10px 0 6px;font-size:1.05rem;color:var(--blue-deep)}.newsCard p{flex:1 1;margin:0 0 12px;color:var(--muted);font-size:.76rem;line-height:1.7}.newsCard>a{align-self:flex-start;color:var(--blue);font-size:.72rem;font-weight:850;text-decoration:none}.newsCard>a:hover{text-decoration:underline}.latestPhotos,.searchResults{max-width:1320px;margin:0 auto;padding:28px max(3vw,20px);scroll-margin-top:82px}.searchResultGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.searchResultGrid a{display:flex;flex-direction:column;gap:6px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none}.searchResultGrid span{color:var(--gold);font-size:.66rem;font-weight:900}.searchResultGrid small{color:var(--muted)}.photoAdminActions{display:flex;gap:8px}.photoAdminActions a{padding:9px 13px;color:#fff;background:var(--blue);border-radius:8px;font-size:.72rem;font-weight:900;text-decoration:none}.photoGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.photoGrid>a{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none}.photoGrid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e9eef6}.photoGrid span{display:flex;flex-direction:column;gap:4px;padding:13px}.photoGrid small{color:var(--muted)}.calendarWorkspace{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:24px;gap:24px;max-width:1500px;margin:auto;padding:34px max(3vw,20px);scroll-margin-top:82px}.calendarSidebar{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,35,59,.05)}.calendarSidebar h2{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:2rem;font-weight:400}.monthNavigation{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px;gap:8px;align-items:center;margin:20px 0}.monthNavigation a{padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--blue);font-size:.72rem;font-weight:800;text-align:center;text-decoration:none}.legend{display:grid;grid-gap:9px;gap:9px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem}.legendDot{width:9px;height:9px;border-radius:50%;background:var(--blue)}.legendDot.board{background:#b97800}.legendDot.outdoor{background:#2d8a4c}.legendDot.special{background:#a83268}.upcoming{margin-top:22px}.upcoming h3{font-size:.85rem}.upcoming a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.upcoming time{display:block;color:var(--muted);font-size:.69rem}.upcoming strong{display:block;margin-top:4px;font-size:.78rem}.desktopCalendar{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,35,59,.05)}.monthGrid,.weekdayRow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdayRow div{padding:12px;color:var(--muted);font-size:.72rem;font-weight:900;text-align:center}.calendarCell,.weekdayRow div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendarCell{min-height:132px;padding:8px;background:#fff}.calendarCell:nth-child(7n){border-right:0}.calendarCell.outside{background:#fafbfc;color:#aab2bf}.calendarCell.today{background:#fff9ec}.dayNumber{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:50%;font-size:.78rem;font-weight:800}.calendarCell.today .dayNumber{color:#fff;background:var(--blue)}.cellEvents{display:grid;grid-gap:5px;gap:5px;margin-top:5px}.calendarEvent{display:block;padding:5px 7px;border-left:3px solid var(--blue);border-radius:4px;color:#183a70;background:#edf3fc;font-size:.68rem;font-weight:750;line-height:1.35;text-decoration:none;overflow:hidden}.calendarEvent time{margin-right:4px;font-weight:500}.calendarEvent.board{border-color:#b97800;color:#754d00;background:#fff4dd}.calendarEvent.outdoor{border-color:#2d8a4c;color:#22663b;background:#e8f6ec}.calendarEvent.special{border-color:#a83268;color:#8d2857;background:#faeaf1}.mobileAgenda{display:none}.eventDetails{max-width:1500px;margin:auto;padding:26px max(3vw,20px) 80px}.sectionHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.sectionHeading h2{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:2.4rem;font-weight:400}.sectionHeading>p{max-width:440px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.detailList{display:grid;grid-gap:10px;gap:10px}.detailList article{display:grid;grid-template-columns:130px 1fr;grid-gap:24px;gap:24px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.detailList time{color:var(--blue);font-size:.78rem;font-weight:800}.detailList time b{display:block;margin-top:5px;font-family:Georgia,serif;font-size:1.25rem}.categoryLabel{display:inline-block;padding:4px 8px;border-radius:4px;color:var(--blue);background:#e8eef9;font-size:.68rem;font-weight:900}.categoryLabel.board{color:#825200;background:#fff0d4}.categoryLabel.outdoor{color:#22663b;background:#e5f4ea}.categoryLabel.special{color:#9f2855;background:#f9e6ed}.agendaCard h3,.detailList h3{margin:9px 0 7px}.agendaCard p,.detailList p{margin:5px 0;color:var(--muted);font-size:.78rem;line-height:1.55}.eventActions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.eventActions a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #cdd8e8;border-radius:6px;color:var(--blue);background:#fff;font-size:.69rem;font-weight:850;text-decoration:none}.emptyState{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.emptyState,footer{padding:30px;text-align:center}footer{color:rgba(255,255,255,.72);background:#071d42;font-size:.76rem}.albumPage{min-height:100vh;padding-bottom:72px;background:var(--paper)}.albumHeader{padding:48px max(5vw,24px) 34px;color:#fff;background:linear-gradient(135deg,var(--blue-deep),var(--blue))}.albumHeader a{display:inline-block;margin-bottom:36px;font-size:.78rem;font-weight:850;text-decoration:none}.albumHeader>p{margin:6px 0;color:rgba(255,255,255,.75)}.albumHeader h1{max-width:900px;margin:0 0 12px;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(2rem,5vw,4rem);font-weight:400}.albumHeader small{display:block;margin-top:16px;color:var(--gold);font-weight:850}.albumGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;max-width:1320px;margin:0 auto;padding:28px max(3vw,20px)}.albumGrid button{overflow:hidden;border:0;padding:0;cursor:zoom-in;border-radius:12px;background:#e9eef6}.albumGrid img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .2s ease}.albumGrid button:hover img{transform:scale(1.02)}.photoLightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#061329ed;animation:lightboxIn .18s ease}.photoLightbox>button{position:absolute;z-index:2;border:0;color:#fff;background:#ffffff18;cursor:pointer}.photoLightboxClose{top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:2rem}.photoLightboxNext,.photoLightboxPrevious{top:50%;width:48px;height:70px;border-radius:8px;font-size:3rem;transform:translateY(-50%)}.photoLightboxPrevious{left:14px}.photoLightboxNext{right:14px}.photoLightbox .photoLightboxImage{position:static;max-width:calc(100vw - 140px);max-height:calc(100vh - 48px);padding:0;background:transparent;cursor:zoom-in;overflow:auto}.photoLightboxImage img{display:block;max-width:100%;max-height:calc(100vh - 48px);width:auto;height:auto;object-fit:contain;transition:transform .2s ease}.photoLightboxImage.zoomed{cursor:zoom-out}.photoLightboxImage.zoomed img{max-width:none;max-height:none;transform:scale(1.7)}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.photoLightbox,.photoLightboxImage img{animation:none;transition:none}}@media (max-width:900px){.topbar{flex-wrap:wrap}.globalSearch{order:3;flex-basis:100%;max-width:none}.publicNav a:not(:last-child){display:none}.homepageIntro{padding:40px 20px 26px}.focusSection{grid-template-columns:1fr}.focusCard{min-height:250px}.quickLinks{grid-template-columns:repeat(3,1fr)}.quickLinks a{min-height:100px}.calendarWorkspace,.latestActivity{grid-template-columns:1fr}.calendarSidebar,.desktopCalendar,.eventDetails{display:none}.mobileAgenda{display:block}.albumGrid,.photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobileMonthHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobileMonthHeader h2{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:2rem;font-weight:400}.mobileMonthHeader div{display:flex;gap:7px}.mobileMonthHeader a{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:6px;color:var(--blue);background:#fff;font-size:.75rem;font-weight:850;text-decoration:none}.agendaCard{display:grid;grid-template-columns:88px 1fr;grid-gap:16px;gap:16px;margin-bottom:12px;padding:20px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:12px;box-shadow:0 7px 24px rgba(20,35,59,.05)}.agendaCard.board{border-left-color:#b97800}.agendaCard.outdoor{border-left-color:#2d8a4c}.agendaCard.special{border-left-color:#a83268}.agendaCard>time{color:var(--blue);font-size:.78rem;font-weight:900;line-height:1.45}}@media (max-width:600px){.topbar{padding:11px 14px}.identity strong{font-size:.82rem}.identity small{font-size:.56rem}.brandLogo{width:36px;height:36px}.homepageIntro .clubEnglish{font-size:.62rem}.homepageIntro h1{font-size:2.3rem}.focusSection{padding:14px 14px 24px}.focusCard{min-height:235px;padding:28px 24px;border-radius:14px}.quoteFocus blockquote{font-size:1.65rem}.quickLinks{grid-template-columns:1fr;gap:8px}.quickLinks a{min-height:72px;padding:15px 18px}.latestActivity,.latestPhotos,.searchResults{padding:20px 14px}.latestPhotos .sectionHeading{align-items:flex-start}.photoAdminActions{width:100%}.photoAdminActions a{flex:1 1;text-align:center}.albumGrid,.photoGrid{grid-template-columns:1fr}.albumGrid{padding:16px 14px}.upcomingEventGrid article{grid-template-columns:72px 1fr}.calendarWorkspace{padding:22px 14px}.agendaCard{grid-template-columns:1fr;gap:8px}.agendaCard>time{font-size:.84rem}.eventActions a{flex:1 1}}.loginShell{min-height:100vh;background:linear-gradient(135deg,#102f67,#17458f);display:grid;place-items:center;padding:1rem}.loginCard{width:min(430px,100%);background:#fff;border-radius:20px;padding:2rem;box-shadow:0 24px 70px #071b3d55;color:#172033}.loginCard .adminBrandLogo{width:230px;height:110px;margin:auto}.loginCard>p{text-align:center;color:#17458f;font-size:.72rem;font-weight:900;letter-spacing:.12em}.loginCard h1{text-align:center;margin:.5rem 0 1.5rem;font-size:2.2rem;line-height:1.2}.loginCard label{display:block;font-size:.82rem;font-weight:800}.loginCard input{display:block;width:100%;margin-top:.4rem;border:1px solid #ccd5e3;border-radius:10px;padding:.85rem}.loginCard button{width:100%;border:0;border-radius:10px;background:#17458f;color:#fff;padding:.85rem;font-weight:800;margin:1rem 0;cursor:pointer}.loginCard button:disabled{opacity:.65}.loginCard a{display:block;text-align:center;color:#17458f;text-decoration:none;font-size:.82rem}.loginError{background:#fff0f0;color:#b42318;border-radius:8px;padding:.7rem;margin-top:.8rem}.adminLink{margin-left:auto;color:#fff;text-decoration:none;border:1px solid #ffffff55;border-radius:999px;padding:.55rem .85rem;font-size:.82rem}.officeShell{min-height:100vh;background:#f3f6fb;color:#172033;display:grid;grid-template-columns:250px 1fr}.sideNav{background:#102f67;color:#fff;padding:1.4rem;display:flex;flex-direction:column;gap:.45rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.officeBrand{display:flex;align-items:center;gap:.75rem;padding:.4rem 0 1.5rem}.officeBrand>b{background:#f7a81b;color:#102f67;border-radius:12px;padding:.65rem;font-size:1.25rem}.officeBrand span{font-weight:800}.officeBrand small{display:block;font-size:.68rem;font-weight:500;opacity:.7;margin-top:.2rem}.sideNav button{background:transparent;border:0;color:#dce7fa;text-align:left;padding:.85rem 1rem;border-radius:10px;font-weight:700;cursor:pointer}.sideNav button.active,.sideNav button:hover{background:#ffffff18;color:#fff}.sideNav>a{color:#f7c75e;text-decoration:none;font-size:.82rem;padding:.75rem 1rem;border-radius:10px;white-space:nowrap}.sideNav>a:hover{background:#ffffff18}.sideNav>a:last-child{margin-top:auto}.workspace{padding:2rem 2.4rem;max-width:1500px;width:100%;margin:auto}.workspaceHead{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.5rem}.workspaceHead p{color:#17458f;font-size:.72rem;font-weight:900;letter-spacing:.14em;margin:0}.workspaceHead h1{margin:.2rem 0;font-size:2rem}.roleBadge{display:inline-block;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:900;background:#e7edf8;color:#17458f}.roleBadge.president{background:#fff0c9;color:#7a5200}.authBox{display:flex;gap:.5rem}.authBox input,.metricCard input,.modal input,.modal select,.modal textarea,.taskComposer input,.taskComposer select,.toolbar input,.toolbar select,.twoCol select,.twoCol textarea{border:1px solid #d7deea;background:white;border-radius:9px;padding:.72rem}.button,.workspace button{border:0;border-radius:9px;background:#17458f;color:#fff;padding:.7rem .95rem;font-weight:800;cursor:pointer;text-decoration:none;font-size:.82rem}.notice{background:#fff4d8;border:1px solid #f7a81b;color:#72500a;padding:.8rem 1rem;border-radius:10px;cursor:pointer}.notice,.statGrid{margin-bottom:1rem}.statGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.statGrid.three{grid-template-columns:repeat(3,1fr)}.metricCard,.panel,.statGrid article{background:#fff;border:1px solid #e1e6ef;border-radius:16px;box-shadow:0 8px 30px #163c7710}.statGrid article{padding:1.2rem}.statGrid span{display:block;color:#68748a;font-size:.8rem}.statGrid b{font-size:2rem;color:#17458f}.panel{padding:1.25rem;margin-bottom:1rem}.panelTitle,.taskComposer,.toolbar{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.compactRow{display:grid;grid-template-columns:115px 1fr 140px;grid-gap:1rem;gap:1rem;padding:.9rem 0;border-top:1px solid #edf0f5}.calendarRow span,.compactRow span{color:#68748a}.toolbar{justify-content:flex-start;margin-bottom:1rem;flex-wrap:wrap}.toolbar input{min-width:280px}.dataTable{display:flex;flex-direction:column}.calendarRow{display:grid;grid-template-columns:100px 1fr 75px 60px 60px;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem;border-top:1px solid #edf0f5}.calendarRow time{font-weight:900;color:#17458f}.calendarRow div span,.calendarRow time small{display:block;font-size:.76rem;margin-top:.25rem}.status{font-size:.72rem;border-radius:999px;padding:.35rem;text-align:center}.status.confirmed{background:#e5f6ee;color:#16734a}.status.tentative{background:#fff3d7;color:#855c08}.workspace button.danger{background:#fff0f0;color:#b42318}.newsComposer{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.8rem;gap:.8rem;margin-top:1rem}.newsComposer label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:800;color:#33415c}.newsComposer input,.newsComposer textarea{border:1px solid #d7deea;background:#fff;border-radius:9px;padding:.72rem;font-weight:500}.newsComposer .newsSummaryField{grid-column:1/-1}.newsComposer textarea{resize:vertical}.newsComposerActions{grid-column:1/-1;display:flex;justify-content:flex-end}.aiActions{display:flex;gap:.5rem;align-items:center;margin-right:auto}.aiButton{background:#e7edf8!important;color:#17458f!important}.aiButton:disabled{opacity:.45;cursor:not-allowed}.newsAdminList{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}.newsAdminCard{display:grid;grid-template-columns:1fr auto;grid-gap:1rem;gap:1rem;align-items:center;background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:1rem}.newsAdminCard.hidden{opacity:.55}.newsAdminMeta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.newsAdminMeta time{font-size:.72rem;font-weight:900;color:#17458f}.newsAdminMeta b,.newsAdminMeta span{font-size:.7rem;border-radius:999px;padding:.25rem .55rem}.newsAdminMeta span{background:#e7edf8;color:#17458f}.newsAdminMeta b{background:#edf0f5;color:#68748a}.newsAdminCard h3{margin:.45rem 0 .3rem;font-size:1rem}.newsAdminCard p{margin:0 0 .35rem;color:#68748a;font-size:.8rem;line-height:1.5}.newsAdminCard a{color:#17458f;font-size:.76rem;word-break:break-all}.newsAdminActions{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.taskComposer{justify-content:flex-start;flex-wrap:wrap;margin-bottom:1.2rem}.kanban{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.kanban>div{background:#f5f7fb;border-radius:12px;padding:1rem;min-height:260px}.taskCard{background:white;border-left:4px solid #8aa1c4;border-radius:9px;padding:.85rem;margin:.7rem 0;box-shadow:0 4px 14px #163c770d}.taskCard.high{border-left-color:#d92d20}.taskCard.medium{border-left-color:#f7a81b}.taskCard b,.taskCard span{display:block}.taskCard span{font-size:.75rem;color:#68748a;margin:.35rem 0}.taskCard select{border:0;background:#edf2fa;padding:.4rem;border-radius:6px}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.metricCard{padding:1.2rem}.metricCard>span{color:#17458f;font-weight:900}.metricCard>b{font-size:1.8rem}.metricCard label{display:flex;justify-content:space-between;align-items:center;margin:.6rem 0;font-size:.8rem}.metricCard input{width:90px}.progress{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden;margin:1rem 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#17458f,#f7a81b)}.twoCol{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:1.2rem;gap:1.2rem}.twoCol textarea{width:100%;min-height:230px;resize:vertical}.aiAnswer{background:#f5f7fb;border-radius:12px;padding:1.2rem;white-space:pre-wrap;line-height:1.7}.modalBackdrop{position:fixed;inset:0;background:#0c1c38aa;display:grid;place-items:center;z-index:20;padding:1rem}.modal{background:white;border-radius:18px;padding:1.25rem;width:min(720px,100%);max-height:94vh;overflow:auto}.modal label{display:block;font-size:.78rem;font-weight:800;margin:.7rem 0}.modal input,.modal select,.modal textarea{width:100%;display:block;margin-top:.3rem}.modal textarea{min-height:90px}.formGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.attachmentBox{border:1px solid #dce3ef;background:#f8faff;border-radius:12px;padding:1rem;margin:1rem 0}.attachmentBox h3,.attachmentBox p{margin:0}.attachmentBox .panelTitle p{font-size:.72rem;color:#68748a;margin-top:.2rem}.uploadButton{background:#17458f;color:#fff;border-radius:9px;padding:.65rem .85rem;cursor:pointer;margin:0!important}.uploadButton input{display:none}.attachmentRow{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:.6rem;gap:.6rem;border-top:1px solid #e1e6ef;padding:.75rem 0}.attachmentRow b,.attachmentRow span{display:block}.attachmentRow span{font-size:.72rem;color:#68748a;margin-top:.2rem}.attachmentRow a{color:#17458f;font-weight:800;text-decoration:none;font-size:.82rem}.attachmentNotice{color:#17458f!important;margin:.65rem 0!important}.emptyAttachments,.saveFirstHint{color:#68748a;font-size:.82rem}.publishPhotoOption{display:flex;align-items:center;gap:.5rem;margin:.65rem 0;color:#33415c;font-size:.78rem}.publishPhotoOption input{width:auto}.albumWorkspace .workspaceHead span{color:#68748a;font-size:.82rem}.albumWorkspace .statGrid small{font-size:.7rem}.albumUpload{display:flex;align-items:center;justify-content:space-between;gap:1rem}.albumUpload h2,.albumUpload p{margin:.2rem 0}.albumUpload p{color:#68748a;font-size:.78rem}.visibilityPolicy{display:flex;gap:1rem;flex-wrap:wrap;border:0;padding:.8rem 0 0;margin:0}.visibilityPolicy legend{font-size:.78rem;font-weight:900;color:#172033}.visibilityPolicy label{font-size:.78rem;color:#33415c}.albumPhotoTabs{display:flex;gap:.5rem;margin:1rem 0}.albumPhotoTabs button{background:#e7edf8;color:#17458f}.albumPhotoTabs button.active{background:#17458f;color:#fff}.albumPhotoTabs b{margin-left:.3rem}.albumBulkBar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:1rem;z-index:3}.albumBulkBar label{font-weight:800}.albumBulkBar span{color:#68748a;margin-right:auto}.adminPhotoGrid button:disabled,.albumBulkBar button:disabled,.albumUpload button:disabled{opacity:.45;cursor:not-allowed}.albumEmpty{text-align:center;padding:5rem 1rem}.albumEmpty>span{font-size:3rem}.adminPhotoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.adminPhotoGrid article{overflow:hidden;background:#fff;border:1px solid #e1e6ef;border-radius:14px}.adminPhotoGrid article.coverPhoto{border:2px solid #f7a81b}.adminPhotoGrid label{display:block;position:relative}.adminPhotoGrid label input{position:absolute;z-index:1;margin:.7rem;width:20px;height:20px}.coverBadge{position:absolute;z-index:1;right:.7rem;top:.7rem;background:#f7a81b;color:#102f67!important;border-radius:999px;padding:.35rem .65rem;font-size:.72rem!important;font-weight:900}.adminPhotoGrid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.adminPhotoGrid article>div{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.8rem}.adminPhotoGrid b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.adminPhotoGrid small{display:block;width:100%;color:#68748a}.privateBadge,.publicBadge{padding:.35rem .55rem!important}.publicBadge{background:#16734a!important}.privateBadge{background:#68748a!important}.queueRow{display:grid;grid-template-columns:1fr auto;grid-gap:1rem;gap:1rem;align-items:center;border-top:1px solid #edf0f5;padding:.75rem 0}.queueRow span{display:block;color:#68748a;font-size:.75rem}.queueRow progress{width:100%;height:7px}.adminAlbumList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.adminAlbumList>a{display:grid;grid-template-columns:145px 1fr auto;grid-gap:1rem;gap:1rem;align-items:center;background:#fff;border:1px solid #e1e6ef;border-radius:16px;overflow:hidden;color:#172033;text-decoration:none;box-shadow:0 8px 30px #163c7710}.adminAlbumCover{height:125px;background:#e7edf8;display:grid;place-items:center}.adminAlbumCover img{width:100%;height:100%;object-fit:cover}.adminAlbumCover span{font-size:2rem}.adminAlbumList h2,.adminAlbumList p{margin:.2rem 0}.adminAlbumList h2{font-size:1rem}.adminAlbumList div>span,.adminAlbumList p,.adminAlbumList time{font-size:.75rem;color:#68748a}.adminAlbumList>a>b{color:#17458f;font-size:.78rem;padding-right:1rem}.modalActions{display:flex;gap:.45rem;align-items:center}.governanceWorkspace{max-width:1320px}.governanceTabs{display:flex;gap:.5rem;border-bottom:1px solid #dce3ef;margin-bottom:1.25rem}.governanceTabs button{border-radius:10px 10px 0 0;background:transparent;color:#68748a;padding:.9rem 1.25rem}.governanceTabs button.active{background:#17458f;color:#fff}.governanceSummary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.governanceSummary article{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:1.1rem}.governanceSummary small,.governanceSummary span{display:block;color:#68748a}.governanceSummary b{display:block;color:#17458f;font-size:1.8rem;margin:.2rem 0}.governanceToolbar{display:flex;align-items:center;gap:.8rem}.governanceToolbar>div{margin-right:auto}.governanceToolbar h2,.governanceToolbar p{margin:.15rem 0}.governanceToolbar p{font-size:.78rem;color:#68748a}.auditFilters input,.auditFilters select,.governanceModal input,.governanceModal select,.governanceModal textarea,.governanceToolbar input,.projectEditor .relationColumns input{border:1px solid #d7deea;background:#fff;border-radius:9px;padding:.72rem}.peopleList{display:flex;flex-direction:column;gap:.75rem}.personCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:1rem;gap:1rem;background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:1rem}.personCard.protected{border-color:#f7a81b;background:#fffaf0}.personCard.disabled{opacity:.65}.personAvatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#17458f;color:#fff;font-weight:900}.personCard h3,.personCard p{margin:.15rem 0}.personCard h3 span{font-size:.68rem;background:#e7edf8;color:#17458f;border-radius:999px;padding:.25rem .5rem}.personCard p,.personCard small{color:#68748a}.personCard code{color:#172033}.personActions{display:flex;gap:.4rem}.statusPill{border-radius:999px;padding:.3rem .55rem;background:#edf0f5;color:#68748a;font-size:.7rem;white-space:nowrap}.statusPill.active{background:#e5f6ee;color:#16734a}.projectCardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.projectManageCard{display:flex;flex-direction:column;background:#fff;border:1px solid #e1e6ef;border-radius:16px;padding:1.15rem;min-height:260px}.projectManageCard header{display:flex;justify-content:space-between;align-items:center}.projectManageCard h2{font-size:1.1rem;margin:.8rem 0 .3rem}.projectManageCard>p{color:#68748a;font-size:.8rem;line-height:1.5;flex:1 1}.projectManageCard dl{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.4rem;gap:.4rem}.projectManageCard dl div{background:#f5f7fb;border-radius:8px;padding:.55rem;text-align:center}.projectManageCard dt{font-size:.68rem;color:#68748a}.projectManageCard dd{margin:.2rem 0 0;font-weight:900}.projectStatus{font-size:.7rem;padding:.3rem .5rem;border-radius:999px;background:#e7edf8;color:#17458f}.projectStatus.active{background:#e5f6ee;color:#16734a}.projectStatus.closed{background:#edf0f5;color:#68748a}.projectStatus.paused{background:#fff0f0;color:#b42318}.auditFilters{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.auditFilters label{font-size:.72rem;color:#68748a}.auditFilters label input{display:block;margin-top:.25rem}.auditList{display:flex;flex-direction:column;gap:.55rem}.auditList article{display:grid;grid-template-columns:145px 180px minmax(0,1fr) minmax(100px,auto) auto;grid-gap:1rem;gap:1rem;align-items:center;background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:.8rem}.auditList code,.auditList span,.auditList time{font-size:.72rem;color:#68748a}.auditList div b,.auditList div span{display:block}.auditList p{margin:0}.governanceModal header{display:flex;justify-content:space-between;align-items:flex-start}.governanceModal header h2,.governanceModal header p{margin:.1rem 0}.governanceModal>label{margin:.8rem 0}.governanceModal label small{display:block;color:#68748a;margin-top:.3rem}.governanceModal .modalActions{justify-content:flex-end;margin-top:1rem}.governanceModal button:disabled{opacity:.5}.projectEditor{width:min(1050px,100%)}.relationColumns{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:1rem;gap:1rem;margin-top:1rem}.relationColumns>section{background:#f5f7fb;border-radius:12px;padding:1rem}.relationColumns h3{margin:.1rem 0 .7rem}.relationColumns h3 span{background:#17458f;color:#fff;border-radius:999px;padding:.2rem .5rem;font-size:.7rem}.relationColumns>section>input{width:100%;margin-bottom:.5rem}.choiceList{max-height:280px;overflow:auto;background:#fff;border:1px solid #e1e6ef;border-radius:9px}.choiceList label{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem;border-bottom:1px solid #edf0f5;margin:0}.choiceList label:last-child{border-bottom:0}.choiceList input{width:auto;margin-top:.25rem}.choiceList span b,.choiceList span small{display:block}.choiceList span small{color:#68748a;margin-top:.15rem}.governanceFirstLogin{max-width:560px;margin:5rem auto}.governanceFirstLogin input{display:block;width:100%;margin:1rem 0;border:1px solid #d7deea;border-radius:9px;padding:.8rem}@media(max-width:900px){.officeShell{display:block}.sideNav{height:auto;position:static;display:flex;flex-direction:row;overflow:auto;padding:.8rem}.officeBrand{display:none}.sideNav>a{display:block;padding:.65rem .8rem}.sideNav>a:last-child{margin-top:0}.sideNav button{white-space:nowrap}.workspace{padding:1rem}.workspaceHead{align-items:flex-start;flex-direction:column}.authBox{width:100%}.authBox input{min-width:0;flex:1 1}.metricGrid,.statGrid{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:1fr}.calendarRow{grid-template-columns:80px 1fr 70px}.calendarRow button{grid-row:2}.twoCol{grid-template-columns:1fr}.adminPhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminAlbumList{grid-template-columns:1fr}.projectCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.personCard{grid-template-columns:auto 1fr auto}.personActions{grid-column:2/-1}.auditList article{grid-template-columns:120px 150px 1fr}.auditList article code{grid-column:3}.relationColumns{grid-template-columns:1fr}}@media(max-width:560px){.calendarRow,.metricGrid,.statGrid,.statGrid.three{grid-template-columns:1fr}.toolbar input{min-width:100%}.adminLink{display:none}.albumUpload{align-items:stretch;flex-direction:column}.albumBulkBar{position:static}.albumBulkBar span{width:100%;order:-1}.adminPhotoGrid{grid-template-columns:1fr}.adminAlbumList>a{grid-template-columns:92px 1fr}.adminAlbumCover{height:105px}.adminAlbumList>a>b{display:none}.governanceSummary,.projectCardGrid{grid-template-columns:1fr}.governanceToolbar{align-items:stretch;flex-direction:column}.governanceToolbar>div{margin-right:0}.governanceToolbar input{width:100%}.personCard{grid-template-columns:auto 1fr}.personCard>.statusPill{grid-column:1}.personActions{grid-column:1/-1;flex-wrap:wrap}.auditList article{grid-template-columns:1fr}.auditList article code{grid-column:auto}.governanceTabs{overflow:auto}.formGrid{grid-template-columns:1fr}}.adminBrandLogo,.brandLogo,.footerLogo{display:block;flex:0 0 auto;background-image:url(/taipei-jixian-logo.png?v=20260727);background-repeat:no-repeat;background-position:50%;background-size:contain}.brandLogo{width:210px;height:100px;aspect-ratio:21/10}.topbar .identity{min-width:0}.topbar .brandLogo{width:180px;height:86px}.siteName{max-width:220px;font-size:.78rem;line-height:1.35;letter-spacing:.08em}.officeBrand small,.siteName small{display:block;margin-top:.35rem;font-size:.72em;line-height:1.35;letter-spacing:.12em}.footerLogo{width:140px;height:68px}.officeBrand{flex-direction:column;align-items:flex-start;gap:.7rem;padding:.2rem 0 1.3rem}.adminBrandLogo{width:202px;height:96px}.officeBrand strong{color:#f7c75e;font-size:.66rem;line-height:1.4;letter-spacing:.08em}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (max-width:760px){.topbar .brandLogo{width:145px;height:69px}.topbar .identity>span:last-child{display:none}}@media (max-width:600px){.hero nav{align-items:center;flex-wrap:wrap}.brandLogo{width:150px;height:72px}.siteName{max-width:145px;font-size:.62rem}.term{display:none}}