@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f7f9;--surface:#fff;--soft:#f6f7f9;--line:#e2e8f0;--ink:#18181b;--muted:#646c7a;--subtle:var(--muted);--blue:#1463ff;--blue-hover:#0d4fd6;--blue-text:#0d4fd6;--blue-soft:#eef2f7;--warn:#a02932;--warn-bg:#fff0f0;--caution:#704900;--caution-bg:#fff3bf;--green:#137049;--green-bg:#e8f8ee;--card-radius:24px;--panel-padding:calc(clamp(16px, 3vw, 28px));--card-gap:calc(clamp(12px, 1.6vw, 20px));--text-label:.75rem;--text-meta:.8125rem;--text-body:.875rem;--text-lead:1rem;--text-card-title:1.125rem;--text-section-title:calc(clamp(1.25rem, 2.2vw, 1.5rem));--control-height:44px;--field-inset:12px;--label-inset:4px;--shadow:0 14px 34px #0a0a0f12;background:var(--canvas);color:var(--ink);font-family:Inter Variable,Inter,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0a0a0f;--surface:#191d24;--soft:#11141b;--line:#2b313a;--ink:#e8ecf3;--muted:#aab0bd;--blue-text:#a4bcff;--blue-soft:#1b2540;--warn:#ffaeb6;--warn-bg:#3c242e;--caution:#ffe08a;--caution-bg:#4a3815;--green:#a0efbc;--green-bg:#1d392c;--shadow:0 20px 60px #05070b42}@supports (color:oklch(23% 0.014 260)){:root{--ink:oklch(21% .006 285.885)}:root[data-theme=dark]{--surface:oklch(23% .014 260);--soft:oklch(18% .012 260);--line:oklch(30% .016 260);--ink:oklch(94% .01 260);--muted:oklch(75% .018 260);--blue-soft:oklch(26% .04 260)}}*{box-sizing:border-box}body{min-width:280px;margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}img{-o-object-fit:cover;object-fit:cover}h1,h2,h3,p{margin:0}[id]{scroll-margin-top:20px}.brand{white-space:nowrap;align-items:center;gap:11px;display:inline-flex}.brand img{border-radius:10px;flex:none}.brand strong{letter-spacing:-.04em;font-size:15px;font-weight:780;line-height:1.3;display:block}.brand small{color:var(--muted);letter-spacing:.13em;margin-top:3px;font-size:8px;font-weight:750;display:block}.icon-button{border:1px solid var(--line);background:var(--surface);min-width:40px;min-height:40px;color:var(--muted);border-radius:12px;flex-shrink:0;place-items:center;transition:background .2s,color .2s,border-color .2s;display:inline-grid}.icon-button:hover{background:var(--blue-soft);color:var(--blue-text);border-color:var(--blue)}@supports (color:color-mix(in lab,red,red)){.icon-button:hover{border-color:color-mix(in srgb,var(--blue) 30%,var(--line))}}.quiet-link{color:var(--blue-text);font-size:var(--text-body);align-items:center;gap:7px;font-weight:680;display:inline-flex}.quiet-link:hover{text-underline-offset:4px;text-decoration:underline}.button{min-height:var(--control-height);width:fit-content;max-width:100%;font-size:var(--text-body);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.primary{color:#fff;background:var(--blue)}.primary:not(:disabled):hover{background:var(--blue-hover)}.secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.secondary:not(:disabled):hover{background:var(--blue-soft)}.compact{padding-inline:12px}.button>svg,.empty-icon>svg,.gallery-step-marker>svg,.icon-button>svg,.nav-items a>svg,.project-card-meta>svg,.quiet-link>svg,.segmented button>svg,:is(.project-category,.project-date-pill)>svg{flex:none}.button,.quiet-link{overflow-wrap:anywhere}.entry-eyebrow,.eyebrow{width:fit-content;color:var(--blue-text);font-size:var(--text-label);letter-spacing:.12em;align-items:center;gap:7px;font-weight:770;display:inline-flex}.entry-shell{background:radial-gradient(ellipse at 70% 3%,var(--blue-soft),transparent 53%);flex-direction:column;min-height:100svh;display:flex}@supports (color:color-mix(in lab,red,red)){.entry-shell{background:radial-gradient(ellipse at 70% 3%,color-mix(in srgb,var(--blue-soft) 80%,transparent),transparent 53%)}}.entry-footer,.entry-header{justify-content:space-between;align-items:center;gap:14px;width:min(100% - 80px,1296px);margin-inline:auto;display:flex}.entry-header{min-height:82px}.entry-tools{align-items:center;gap:20px;display:flex}.entry-tools .quiet-link{color:var(--muted)}.entry-main{flex:1;align-items:center;padding:25px 40px 30px;display:grid}.entry-card{background:var(--surface);border:1px solid var(--line);width:min(100%,1120px);min-height:560px;box-shadow:var(--shadow);border-radius:31px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-inline:auto;padding:10px;display:grid}.entry-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:calc(clamp(25px,4.6vw,65px));display:flex}.entry-flow{width:100%}.entry-eyebrow{border:1px solid var(--blue);background:var(--blue-soft);border-radius:100px;padding:7px 11px}@supports (color:color-mix(in lab,red,red)){.entry-eyebrow{border:1px solid color-mix(in srgb,var(--blue) 14%,var(--line))}}@media (prefers-reduced-motion:no-preference){.entry-eyebrow-pulse{position:relative}.entry-eyebrow-pulse:after{content:"";border-radius:inherit;box-shadow:0 0 0 1px var(--blue),0 0 9px 1px var(--blue);pointer-events:none;opacity:0;animation:2s ease-in-out infinite entry-eyebrow-pulse;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.entry-eyebrow-pulse:after{box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 42%,transparent),0 0 9px 1px color-mix(in srgb,var(--blue) 30%,transparent)}}}@keyframes entry-eyebrow-pulse{0%{opacity:0;transform:scale(1)}20%{opacity:.75;transform:scale(1.02,1.08)}60%,to{opacity:0;transform:scale(1.06,1.22)}}.entry-title{letter-spacing:-.071em;margin-top:21px;font-size:calc(clamp(44px,5vw,73px));font-weight:790;line-height:1}.animated-text-gradient,.entry-title span{color:var(--blue-text)}@media (prefers-reduced-motion:no-preference) and (forced-colors:none){@supports ((-webkit-background-clip:text) or (background-clip:text)){[data-theme=dark] .animated-text-gradient{--text-gradient-violet:#d8b4fe;--text-gradient-teal:#7de2df}.animated-text-gradient{background-color:var(--blue-text);background-image:linear-gradient(105deg,var(--text-gradient-violet,#7135c8),var(--blue-text) 50%,var(--text-gradient-teal,#00747c));color:#0000;background-size:210% 100%;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite alternate text-gradient;display:inline-block}}}@keyframes text-gradient{0%{background-position:0}to{background-position:100%}}.entry-description{max-width:26ch;color:var(--muted);margin:17px 0 25px;font-size:16px;line-height:1.6}.entry-copy .form-stack,.google-button,.google-form{width:100%}.google-button{border:1px solid var(--line);background:var(--surface);border-radius:100px;justify-content:center;align-items:center;gap:12px;min-height:53px;padding:0 36px;font-size:14px;font-weight:720;transition:background .2s,border-color .2s;display:flex;position:relative;box-shadow:0 2px 4px #16234c08}.google-button:hover{border-color:var(--blue);background:var(--blue-soft)}.google-button svg{flex:none}.google-arrow{color:var(--subtle);position:absolute;right:15px}.entry-note{border:1px solid var(--line);background:var(--soft);border-radius:14px;align-items:flex-start;gap:11px;width:100%;margin-top:23px;padding:14px;display:flex}.entry-note svg{color:var(--blue-text);flex:none;margin-top:1px}.entry-note strong{font-size:var(--text-body);font-weight:730}.entry-note p{color:var(--muted);font-size:var(--text-meta);margin-top:3px;line-height:1.5}.entry-alert{width:100%;margin-bottom:12px}.entry-photo{isolation:isolate;color:#fff;background:#172647;border-radius:23px;flex-direction:column;justify-content:flex-end;min-height:420px;padding:28px;display:flex;position:relative;overflow:hidden}.entry-photo-image,.entry-photo:before{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.entry-photo-image{z-index:-2;-o-object-position:51% center;object-position:51% center}.entry-photo:before{content:"";z-index:-1;background:linear-gradient(#0a1431a6,#0000 46%,#081127e8),linear-gradient(120deg,#253fa06b,#18244008)}.photo-bottom{padding:0 7px 7px}.photo-bottom p{letter-spacing:-.065em;margin:10px 0 18px;font-size:calc(clamp(37px,4.5vw,64px));font-weight:740;line-height:.99}.photo-credit{letter-spacing:.14em;color:#e1e8fa;font-size:9px;font-weight:710;display:inline-block}.entry-footer{border-top:1px solid var(--line);min-height:63px;color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-content:center;gap:4px 7px;font-size:12px;display:grid}.entry-security{justify-self:center;align-items:center;gap:7px;display:inline-flex}.account-email{color:var(--muted);overflow-wrap:anywhere;margin-bottom:15px;font-size:13px}.account-email strong{color:var(--ink)}.switch-account{margin-top:20px}.code-input{text-transform:uppercase;font-family:ui-monospace,monospace}.portal-shell{--portal-nav-height:84px;--portal-nav-shrink:16px;--portal-nav-inset:0px;--portal-nav-background:#111118eb;grid-template-columns:237px minmax(0,1fr);min-height:100svh;display:grid;position:relative}.portal-scroll-marker{pointer-events:none;width:1px;height:1px;position:absolute;inset-block-start:48px;inset-inline-start:0}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;align-self:start;height:100svh;padding:23px 15px;display:flex;position:sticky;top:0}.sidebar-brand{margin:1px 8px 24px;display:block}.mobile-menu-toggle{display:none}.sidebar-panel{flex-direction:column;flex:1;display:flex}.nav-items{gap:5px;display:grid}.nav-items a{min-height:var(--control-height);font-weight:630;font-size:var(--text-body);color:var(--muted);border-radius:11px;align-items:center;gap:10px;padding:0 11px;display:flex}.nav-items a.router-link-active,.nav-items a:hover{background:var(--blue-soft);color:var(--blue-text)}.sidebar-footer{border-top:1px solid var(--line);gap:16px;margin-top:auto;padding:17px 9px 0;display:grid}.sidebar-footer .quiet-link{color:var(--muted);justify-self:start}.avatar-link,.sidebar-footer .quiet-link.router-link-active{color:var(--blue-text)}.avatar-link{border:1px solid var(--line);background:var(--blue-soft);border-radius:50%;place-items:center;width:40px;height:40px;display:inline-grid;overflow:hidden}.avatar-link img{border-radius:inherit}.portal-content{background:var(--canvas);max-width:1440px;margin:auto;padding:34px calc(clamp(22px,4vw,58px)) 65px}.skip-link{z-index:20;background:var(--blue);color:#fff;border-radius:8px;padding:9px 13px;position:fixed;top:-120px;left:16px}.skip-link:focus{top:10px}.dashboard-welcome{padding:var(--panel-padding);border-radius:var(--card-radius);border:1px solid var(--line);background:var(--surface);align-items:center;display:flex}.dashboard-welcome h1,.page-intro h1{letter-spacing:-.025em;overflow-wrap:anywhere;margin:12px 0;font-size:calc(clamp(36px,5vw,60px));font-weight:900;line-height:1.05}.dashboard-welcome h1{margin:0 0 8px}.dashboard-welcome p,.page-intro p{color:var(--muted);white-space:pre-line;max-width:70ch;font-size:16px;line-height:1.55}.loading-cards,.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(clamp(14px,2vw,24px));display:grid}.portal-section{margin-top:calc(clamp(28px,4vw,48px))}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.panel h2,.profile-heading h2,.section-head .section-title,.section-head h2{font-size:var(--text-section-title);letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:800;line-height:1.2}.announcement h3,.empty-panel h3,.section-head h3{font-size:var(--text-card-title);line-height:1.3}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.empty-panel,.panel{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface)}.empty-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:177px;padding:22px;display:flex}.empty-panel h3{letter-spacing:-.025em;margin-top:3px;font-weight:730}.empty-panel p{color:var(--muted);font-size:var(--text-body);max-width:46ch}.empty-panel .quiet-link{margin-top:7px}.empty-icon{background:var(--blue-soft);width:42px;height:42px;color:var(--blue-text);border-radius:13px;flex:none;place-items:center;display:inline-grid}.project-card{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);overflow:hidden;box-shadow:0 8px 24px #0a0a0f09}.project-card,.project-card-entry{flex-direction:column;min-width:0;display:flex}.project-card-entry{position:relative}.project-card-entry .project-card{flex:1}.project-card-entry-editable .project-card-footer{padding-inline-end:46px}.project-card-edit{width:44px;height:44px;color:var(--muted);border-radius:12px;place-items:center;display:grid;position:absolute;inset-block-end:12px;inset-inline-end:12px}.project-card-edit:is(:hover,:focus-visible){background:var(--blue-soft);color:var(--blue-text)}.project-card-content{flex-direction:column;flex:1;gap:10px;padding:calc(clamp(16px,2vw,24px));display:flex}.project-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}@media (hover:hover) and (pointer:fine){.gallery-card:not([open]):hover,.project-card:hover{box-shadow:var(--shadow)}}.status-pill{background:var(--soft);width:fit-content;max-width:100%;color:var(--muted);font-size:var(--text-label);border-radius:100px;padding:3px 8px;font-weight:700;line-height:1.4;display:inline-flex}.status-pill[data-status=active]{background:var(--caution-bg);color:var(--caution)}.status-pill[data-status=completed]{background:var(--green-bg);color:var(--green)}.status-pill[data-status=absent],.status-pill[data-status=late]{background:var(--warn-bg);color:var(--warn)}.status-pill:is(.project-category,.project-status,.project-date-pill){color:var(--ink)}.project-category,.project-date-pill{align-items:center;gap:6px}.project-date-pill{background:var(--line)}.project-category{background:var(--blue-soft);background:var(--blue-text)}@supports (color:color-mix(in lab,red,red)){.project-category{background:color-mix(in srgb,var(--blue-text) 18%,var(--surface))}}.project-card h3{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:1.25rem;font-weight:750;line-height:1.25}.project-card p{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--muted);font-size:var(--text-body);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-card-meta{color:var(--muted);font-size:var(--text-meta);align-items:center;gap:7px;display:flex}.project-card-footer{border-top:1px solid var(--line);gap:5px;margin-top:auto;padding-top:10px;display:grid}.page-intro{margin:6px 0 25px}.back-link{margin-bottom:19px}.detail-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;display:flex}.document-list,.invite-list,.timeline-list{margin:0;padding:0;list-style:none}.document-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:calc(clamp(14px,2vw,24px));display:grid}.document-list li,.timeline-list{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface)}.document-list li,.timeline-list li{align-items:center;gap:12px;min-width:0;padding:14px 16px}.document-list li{grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:start;max-width:420px;display:grid;position:relative}.timeline-list li{display:flex}.member-activity li{flex-wrap:wrap;align-items:start}.document-info,.member-activity li>div{overflow-wrap:anywhere;min-width:0}.disclosure-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.disclosure-summary::-webkit-details-marker{display:none}.disclosure-summary svg{color:var(--muted);flex:none}.gallery-card[open] .gallery-summary-chevron,details[open]>.disclosure-summary svg{transform:rotate(180deg)}.timeline-list li+li{border-top:1px solid var(--line)}.document-restricted{grid-column:2}.document-read,.document-read label{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.document-read{font-size:var(--text-meta);margin-top:6px}.document-read label{z-index:1;position:relative}.document-read-pill{color:var(--surface);background:var(--green)}.document-unread-pill{color:#fff;background:#a02932}.document-read input{width:16px;height:16px;accent-color:var(--blue);flex:none}.document-info{gap:4px;display:grid}.document-info h3{font-size:var(--text-lead);font-weight:720;line-height:1.3}.document-open{text-align:start;cursor:pointer}.document-open:after{content:"";border-radius:var(--card-radius);position:absolute;inset:0}.document-open:focus-visible{outline:none}.document-open:focus-visible:after{outline:3px solid var(--blue);outline-offset:-3px}.document-info h3 .status-pill{margin-left:4px}.document-info p{color:var(--muted);font-size:var(--text-body)}.document-info small{color:var(--muted);font-size:var(--text-meta)}.document-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.document-preview{border:1px solid var(--line);width:calc(min(1120px,100vw - 24px));max-width:none;height:calc(min(920px,100dvh - 24px));max-height:none;color:var(--ink);background:var(--surface);border-radius:17px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.document-preview[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.document-download-dialog{width:calc(min(480px,100vw - 24px));height:auto}.document-download-note{padding:14px}.document-preview::backdrop{background:#0c1429b3}.document-preview-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.document-preview-header h2{overflow-wrap:anywhere;font-size:16px;font-weight:730}.document-preview-header .document-actions{flex:none}.pdf-pages{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;text-align:center;background:var(--soft);padding:12px;overflow:auto}.pdf-pages:focus-visible{outline-offset:-3px}.pdf-page{width:min(100%,960px);aspect-ratio:var(--pdf-page-ratio);box-shadow:var(--shadow);background:#fff;margin-inline:auto;position:relative}.pdf-page+.pdf-page{margin-top:12px}.pdf-page canvas{width:100%;height:100%;position:absolute;inset:0}.pdf-pages .alert{justify-items:center;gap:8px;display:grid}.pdf-confirmation{border:1px solid var(--line);background:var(--surface);width:min(100%,960px);font-size:var(--text-body);border-radius:12px;justify-items:center;gap:12px;margin:12px auto 0;padding:16px;display:grid}.pdf-confirm-button{color:var(--surface)}.pdf-confirm-button,.pdf-confirm-button:not(:disabled):hover{background:var(--green)}@supports (color:color-mix(in lab,red,red)){.pdf-confirm-button:not(:disabled):hover{background:color-mix(in srgb,var(--green) 88%,var(--ink))}}.timeline-list a:not(.quiet-link),.timeline-list li{justify-content:space-between;gap:8px 14px}.timeline-list a:not(.quiet-link){flex:1;align-items:center;min-width:0;display:flex}.timeline-list li>div,.timeline-list strong{overflow-wrap:anywhere;min-width:0}.timeline-list a:hover{color:var(--blue-text)}.timeline-list strong{font-size:var(--text-body);font-weight:700}.timeline-list time{flex-shrink:0}.announcement time,.timeline-list span:not(.status-pill),.timeline-list time{color:var(--muted);font-size:var(--text-meta)}.admin-project-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gallery-list{gap:12px;display:grid}.gallery-cards{grid-template-columns:minmax(0,1fr);align-items:start}.panel.gallery-card{--gallery-card-padding:calc(clamp(17px, 3vw, 28px));padding:0}.gallery-card:not([open]){width:100%;max-width:260px;box-shadow:0 8px 24px #0a0a0f09}.gallery-card[open]{grid-column:1/-1}.attendance-card h3,.gallery-card h3{font-size:var(--text-card-title);overflow-wrap:anywhere;font-weight:730;line-height:1.3}.gallery-summary{padding:var(--gallery-card-padding);border-radius:inherit;cursor:pointer;list-style:none}.gallery-summary::-webkit-details-marker{display:none}.gallery-card:not([open]) .gallery-summary{aspect-ratio:1;padding:0;display:grid;overflow:hidden}.gallery-card:not([open]) .gallery-summary-row{grid-template-rows:minmax(0,1fr) auto;display:grid}.gallery-cover{border-radius:calc(-1px + var(--card-radius)) calc(-1px + var(--card-radius)) 0 0;background:var(--soft);display:block;position:relative;overflow:hidden}.gallery-cover img{width:100%;height:100%;position:absolute;inset:0}.gallery-card[open] .gallery-cover{display:none}.gallery-summary-info{justify-content:space-between;align-items:center;gap:14px;display:flex}.gallery-card:not([open]) .gallery-summary-info{gap:8px;padding:12px 14px}@media (width>=481px){.gallery-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}}.gallery-summary-copy{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.gallery-summary-copy time,.gallery-summary-date{color:var(--muted);font-size:var(--text-meta);font-weight:500}.attendance-session-separator,.gallery-summary-chevron{color:var(--muted);flex:none}.gallery-card-body{padding:0 var(--gallery-card-padding) var(--gallery-card-padding)}.gallery-card-actions{justify-content:flex-end;display:flex}.gallery-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.gallery-inline-editor{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.attendance-card{gap:12px;display:grid}.attendance-sessions{background:var(--soft);font-size:var(--text-body);border-radius:9px;flex-wrap:wrap;gap:8px 12px;margin:0;padding:10px 12px;list-style:none;display:flex}.attendance-session{align-items:center;gap:12px;min-width:0;max-width:100%;display:flex}.attendance-session-editing{flex-basis:100%}.attendance-session-editing>form{width:100%;min-width:0}.gallery-steps{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0 0;padding:0;list-style:none;display:grid}.gallery-steps li{text-align:center;color:var(--muted);font-size:var(--text-body);align-content:start;justify-items:center;gap:8px;padding-inline:6px;display:grid;position:relative}.gallery-steps li:not(:last-child):after{content:"";background:var(--line);height:2px;position:absolute;top:14px;left:calc(50% + 18px);right:calc(18px - 50%)}.gallery-step-marker{border:1px solid var(--line);background:var(--soft);border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.gallery-step-label time{color:var(--muted);font-size:var(--text-meta);margin-top:3px;font-weight:500;display:block}.gallery-step-label strong{font-weight:730}.gallery-steps li[data-step=complete]:after{background:var(--green)}.gallery-steps li[data-step=current]{color:var(--ink);font-weight:720}.gallery-steps li[data-step=current] .gallery-step-marker{background:var(--blue);color:#fff;border-color:var(--blue)}.gallery-steps li:is([data-step=complete],[data-payment=paid]){color:var(--green);font-weight:720}.gallery-steps li:is([data-step=complete],[data-payment=paid]) .gallery-step-marker{background:var(--green-bg);color:var(--green);border-color:var(--green)}.gallery-steps li[data-payment=awaiting_payment]{color:var(--warn);font-weight:720}.gallery-steps li[data-payment=awaiting_payment]:not([data-step=complete]) .gallery-step-marker{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.gallery-notes{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:14px;display:grid}.gallery-card .gallery-form-title,.gallery-form-title,.gallery-notes-title{font-size:var(--text-lead);font-weight:720}.gallery-notes-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.gallery-note{background:var(--soft);font-size:var(--text-body);border-radius:9px;padding:10px 12px}.gallery-note strong{margin-bottom:3px;display:block}.gallery-note p{white-space:pre-wrap;overflow-wrap:anywhere}.gallery-note[data-tone=important]{color:var(--warn);background:var(--warn-bg)}.gallery-note[data-tone=info]{color:var(--caution);background:var(--caution-bg)}.gallery-note-actions{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;display:flex}.gallery-note-actions .gallery-note-delete{color:var(--warn)}.gallery-participant{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.gallery-participant>.quiet-link{margin-inline-start:auto}.gallery-participant-summary{flex-wrap:wrap;align-items:center;gap:6px 4px;min-width:0;display:flex}.gallery-participant-summary .gallery-participant-name{overflow-wrap:anywhere;margin:0;font-weight:680}.gallery-participant-arrival{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 4px;display:inline-flex}.gallery-entry-editor{border:1px solid var(--line);border-radius:10px;padding:12px}.gallery-entry-editor .button{place-self:end start}.arrival-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.arrival-row-actions .button{margin-inline-start:auto}.gallery-access{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;margin-top:18px;display:flex}.gallery-access code{overflow-wrap:anywhere;background:var(--soft);color:var(--ink);border-radius:5px;margin-left:5px;padding:3px 6px}@media (width<=850px){.gallery-steps{grid-template-columns:1fr;grid-auto-rows:1fr;gap:12px}.gallery-steps li{text-align:start;grid-template-columns:30px minmax(0,1fr);place-items:start;padding-inline:0}.gallery-step-label{align-content:center;min-height:30px;display:grid}.gallery-steps li:not(:last-child):after{width:2px;height:auto;inset:33px auto -9px 14px}}.announcement-list,.invite-list{gap:var(--card-gap);display:grid}.announcement{min-width:0;padding:var(--panel-padding);border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);overflow-wrap:anywhere;gap:10px;display:grid}.announcement-heading,.announcement-meta{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.announcement-heading{justify-content:space-between}.announcement h3{font-weight:730}.announcement p{color:var(--muted);font-size:var(--text-body);white-space:pre-line;line-height:1.6}.announcement-meta{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-meta);padding-top:10px}.information-alert{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:calc(clamp(12px,2vw,16px))}.information-alert-content{gap:6px;min-width:0;display:grid}.information-alert-title{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.information-alert[data-kind=urgent] :is(.empty-icon,.information-kind){color:var(--warn);background:var(--warn-bg)}.information-alert[data-kind=outdated] .empty-icon{color:var(--muted);background:var(--soft)}.information-kind-control{max-width:240px}.published-information-content{gap:12px;margin-top:12px;display:grid}.panel{padding:var(--panel-padding)}.profile-panel{max-width:550px}.profile-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.profile-heading p{color:var(--muted);font-size:var(--text-meta)}.profile-heading>div{overflow-wrap:anywhere;min-width:0}.profile-avatar{flex:none;width:60px;height:60px}.form-stack{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.form-stack label{min-width:0;color:var(--ink);font-size:var(--text-body);align-content:start;gap:6px;font-weight:680;display:grid}.form-stack .field-label{padding-inline:var(--label-inset);overflow-wrap:anywhere}.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{width:100%;min-width:0;min-height:var(--control-height);padding:8px var(--field-inset);border:1px solid var(--line);background:var(--soft);color:var(--ink);font:inherit;border-radius:10px;font-weight:480}.form-stack select:not([multiple]):not([size]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2364748b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right var(--field-inset) center;background-repeat:no-repeat;background-size:16px 16px;padding-inline-end:calc(16px + 2 * var(--field-inset))}@media (forced-colors:active){.form-stack select:not([multiple]):not([size]){appearance:auto;background-image:none;padding-inline-end:var(--field-inset)}}.form-stack input:read-only{color:var(--muted)}.form-stack .checkbox-label{align-items:center;display:flex}.form-stack .arrival-no-show{color:var(--warn)}.checkbox-label input{width:16px;height:16px;accent-color:var(--blue);flex:none}.hint{color:var(--muted);font-size:var(--text-meta);line-height:1.55}.alert,.success-message{color:var(--warn);background:var(--warn-bg);font-size:var(--text-body);border-radius:9px;padding:10px 12px;line-height:1.5}.success-message{color:var(--green);background:var(--green-bg)}.alert .quiet-link{color:inherit;margin-left:3px;text-decoration:underline}.admin-panel{margin:13px 0 0}.admin-panel>h2+.form-stack{margin-top:14px}.admin-panel>.hint{margin:7px 0 15px}.admin-panel>.alert{margin-top:12px}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:13px;flex-wrap:wrap;gap:3px;padding:4px;display:inline-flex}.segmented button{min-height:var(--control-height);color:var(--muted);font-size:var(--text-body);border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-weight:680;display:flex}.invite-code,.segmented button[aria-pressed=true]{background:var(--blue-soft);color:var(--blue-text)}.invite-code{border-radius:10px;gap:8px;margin-top:14px;padding:13px;font-size:13px;display:grid}.invite-code div,.pagination{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.invite-code code,.invite-details{overflow-wrap:anywhere}.invite-list li{padding:var(--panel-padding);border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px 16px;display:grid}.invite-details{gap:6px;min-width:0;display:grid}.invite-actions,.invite-heading,.invite-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.invite-heading h3{font-size:var(--text-lead);font-weight:730;line-height:1.3}.invite-details p,.invite-meta,.pagination{color:var(--muted);font-size:var(--text-meta)}.invite-actions{align-self:center}.pagination{margin-top:14px}.skeleton-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-content:start;gap:12px;min-height:145px;padding:16px;display:grid}.skeleton-card i{background:var(--line);border-radius:8px;width:65%;height:13px;animation:1.5s ease-in-out infinite alternate skeleton}.skeleton-card i:first-child{width:32px;height:32px}.skeleton-card i:last-child{width:45%}@keyframes skeleton{to{opacity:.35}}@media (width<=1000px){.portal-shell{grid-template-columns:192px minmax(0,1fr)}.portal-content{padding-inline:21px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=761px){.sidebar{overflow-y:auto}.sidebar-footer .icon-button{min-height:0;font-size:var(--text-body);text-align:start;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;font-weight:680;display:inline-flex}.sidebar-footer .icon-button>svg{flex:none}.sidebar-footer .icon-button:hover{text-underline-offset:4px;text-decoration:underline}}@media (width<=760px){.entry-footer,.entry-header{width:calc(100% - 36px)}.entry-header{min-height:69px}.entry-tools{gap:12px}.entry-main{padding:15px 18px 24px}.entry-card{border-radius:22px;grid-template-columns:1fr;min-height:auto}.entry-copy{padding:28px calc(clamp(16px,6vw,52px)) 29px}.entry-photo{border-radius:15px;min-height:240px;padding:15px}.entry-description{margin-bottom:21px}.entry-footer{min-height:55px}.portal-shell{--portal-nav-inset:env(safe-area-inset-top,0px);display:block}.sidebar{--portal-menu-top:calc(var(--portal-nav-height) + var(--portal-nav-inset));z-index:12;height:calc(var(--portal-nav-height) + var(--portal-nav-inset));pointer-events:none;background:0 0;border:0;padding:0}.sidebar:before{content:"";height:var(--portal-menu-top);background:var(--portal-nav-background);opacity:0;transition:opacity .22s;position:absolute;inset:0 0 auto}.sidebar-header{height:100%;padding:var(--portal-nav-inset) 14px 0;justify-content:space-between;align-items:center;gap:10px;transition:transform .22s;display:flex;position:relative}.sidebar-header>*,.sidebar-panel{pointer-events:auto}.sidebar-brand{margin:0}.mobile-menu-toggle{min-height:var(--control-height);font-size:var(--text-body);align-items:center;gap:6px;padding-inline:10px;font-weight:630;display:inline-flex}[data-nav-scrolled=true] .sidebar{--portal-menu-top:calc(var(--portal-nav-height) + var(--portal-nav-inset) - var(--portal-nav-shrink))}.sidebar[data-menu-open=true]{--portal-nav-background:#111118fa}:is([data-nav-scrolled=true] .sidebar,.sidebar[data-menu-open=true]):before{opacity:1}.sidebar[data-menu-open=true]:before{transition:none}[data-nav-scrolled=true] .sidebar-header{transform:translateY(calc(var(--portal-nav-shrink) / -2))}:is([data-nav-scrolled=true] .sidebar,.sidebar[data-menu-open=true]) .sidebar-brand strong{color:#f8fafc}:is([data-nav-scrolled=true] .sidebar,.sidebar[data-menu-open=true]) .sidebar-brand small{color:#d1d8e5}:is([data-nav-scrolled=true] .sidebar,.sidebar[data-menu-open=true]) .mobile-menu-toggle{color:#f8fafc;background:#ffffff0d;border-color:#ffffff30}.sidebar-panel{inset:var(--portal-menu-top) 0 auto;max-height:calc(100vh - var(--portal-menu-top));max-height:calc(100dvh - var(--portal-menu-top));overscroll-behavior:contain;padding:10px 14px max(12px,env(safe-area-inset-bottom,0px));background:var(--portal-nav-background);border-top:1px solid #ffffff25;display:none;position:absolute;overflow-y:auto}.sidebar[data-menu-open=true] .sidebar-panel{display:block}.sidebar-panel .nav-items a{color:#f1f5f9}.sidebar-panel .nav-items a.router-link-active,.sidebar-panel .nav-items a:hover{color:#fff;background:#ffffff1a}.sidebar-footer{border-color:#ffffff25;gap:4px;margin-top:8px;padding:8px 0 0}.sidebar-footer .sidebar-contact{display:none}.sidebar-footer .sidebar-action{min-height:var(--control-height);color:#f1f5f9;font-size:var(--text-body);text-align:start;background:0 0;border:0;border-radius:11px;justify-self:stretch;align-items:center;gap:10px;padding-inline:11px;font-weight:630;display:flex}.sidebar-footer .sidebar-action.router-link-active,.sidebar-footer .sidebar-action:hover{color:#fff;background:#ffffff1a;text-decoration:none}.portal-content{padding-block:20px 42px}.segmented{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));display:grid}.segmented button{text-align:start;padding-inline:9px}.avatar-link,.icon-button{min-width:var(--control-height);min-height:var(--control-height)}.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{font-size:var(--text-lead)}.portal-content [id],.portal-content[id]{scroll-margin-top:calc(12px + var(--portal-nav-height) + var(--portal-nav-inset))}}@media (width<=600px){.invite-list li{grid-template-columns:auto minmax(0,1fr);gap:12px}.invite-actions{grid-column:2}.announcement-heading{display:grid}}@media (width<=540px){.form-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.entry-footer{grid-template-columns:1fr;justify-items:center}.portfolio-link{display:none}.entry-title{font-size:calc(clamp(39px,12vw,52px))}.entry-photo{min-height:200px}.google-button{gap:8px;padding-inline:12px}.google-arrow{position:static}.portal-content{padding-inline:14px}.loading-cards,.projects-grid{grid-template-columns:minmax(0,1fr)}.timeline-list a,.timeline-list li{flex-wrap:wrap}.timeline-list time{text-align:start}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
