@font-face{font-family:Aeonik;src:url(/fonts/Aeonik.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url(/fonts/Aeonik.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url(/fonts/Aeonik.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url(/fonts/Aeonik.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url(/fonts/Aeonik.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--font-sans:"Aeonik", sans-serif;--brand:#1e3a5f;--brand-light:#2d5a8e;--accent:#7ee8a2;--text:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-subtle:#9ca3af;--surface:#fff;--surface-2:#f9fafb;--bg:#f3f4f6;--border:#e5e7eb;--border-light:#f3f4f6;--border-strong:#d1d5db;--table-border:#f3f4f6;--table-row-hover:#f9fafb;--auth-bg:#f8fafc;--radius-card:16px;--shadow-card:0 2px 8px #0000001a;--space-page:clamp(1rem, 4vw, 2rem);--space-page-x:clamp(1rem, 3vw, 2.25rem);--header-h:56px;--bottom-nav-h:56px;--sidebar-w:240px;--sidebar-w-collapsed:72px;--touch-min:44px}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:var(--text);line-height:1.5;font-family:var(--font-sans);overflow-x:hidden}h1,.h1,h2,.h2,h3,.h3,h4,h5,h6,p,a,span,label,li,td,th,button,input,select,textarea{font-family:var(--font-sans)}h1,.h1{font-size:clamp(22px,5vw,32px);font-weight:800;line-height:1.2}h2,.h2{font-size:clamp(18px,4vw,26px);font-weight:700;line-height:1.2}h3,.h3{font-size:clamp(16px,3.5vw,22px);font-weight:700;line-height:1.2}button,a,[role=button],input[type=checkbox],input[type=radio]{touch-action:manipulation}button:active,.btn:active{opacity:.92;transform:scale(.98)}.page-content{padding:var(--space-page) var(--space-page-x);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;width:100%;min-width:0;overflow:auto}.page-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:clamp(1rem,3vw,1.75rem);display:flex}@media (width>=768px){.page-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.page-header__actions{flex-direction:column;gap:.5rem;width:100%;display:flex}@media (width>=768px){.page-header__actions{flex-direction:row;flex-shrink:0;width:auto}}.stat-grid{grid-template-columns:1fr;gap:clamp(.625rem,2vw,.875rem);margin-bottom:clamp(1rem,3vw,1.75rem);display:grid}@media (width>=480px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-grid--5{grid-template-columns:1fr}@media (width>=480px){.stat-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.stat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}}.card-grid{grid-template-columns:1fr;gap:clamp(.875rem,2.5vw,1.125rem);width:100%;display:grid}@media (width>=768px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.card-grid--projects{grid-template-columns:1fr}@media (width>=768px){.card-grid--projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.card-grid--projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.material-card,.flutter-card{background:var(--surface);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);border:1px solid #e5e7eb;flex-direction:column;display:flex;overflow:hidden}@media (width>=1024px){.material-card,.flutter-card{border-radius:12px}}.btn{min-height:var(--touch-min);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:14px;font-weight:600;display:inline-flex}.btn-full{width:100%}.btn-primary{background:var(--brand);color:#fff;border:none}@media (width>=768px){.btn-full-md-auto{width:auto}}.form-input,input.form-input,select.form-input,textarea.form-input{box-sizing:border-box;border:1.5px solid #d1d5db;border-radius:10px;width:100%;min-height:48px;padding:.625rem .875rem;font-size:16px}.form-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell{background:var(--bg);width:100%;height:100dvh;display:flex;overflow:hidden}.app-drawer-backdrop{z-index:890;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;position:fixed;inset:0}.app-sidebar{background:var(--brand);z-index:900;flex-direction:column;flex-shrink:0;transition:width .28s,transform .28s;display:flex;overflow:hidden}.app-sidebar--drawer{width:min(85vw,320px);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #0003}.app-sidebar--drawer.is-open{transform:translate(0)}.app-main-column{flex-direction:column;flex:1;width:100%;min-width:0;display:flex;overflow:hidden}.app-main-column--with-bottom-nav{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))}.app-header{min-height:var(--header-h);background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:clamp(.5rem,2vw,1rem);padding:.625rem clamp(.75rem,3vw,1.75rem);display:flex}.app-header__menu-btn{width:var(--touch-min);height:var(--touch-min);cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.app-header__search{flex:1;min-width:0;max-width:100%;position:relative}@media (width>=768px){.app-header__search{max-width:420px}}.app-header__search input{box-sizing:border-box;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:9px;width:100%;min-height:44px;padding:.5rem .875rem .5rem 2.25rem;font-size:16px}.app-header__actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.app-header__meta{display:none}@media (width>=768px){.app-header__meta{color:var(--text-muted);font-size:13px;display:block}.app-header__upload-btn{display:inline-flex}.app-sidebar--drawer{width:var(--sidebar-w);box-shadow:none;position:relative;transform:none}.app-sidebar--drawer.is-collapsed{width:var(--sidebar-w-collapsed)}.app-drawer-backdrop{display:none!important}.app-header__menu-btn{display:none}}@media (width>=1280px){.app-sidebar--drawer.is-collapsed{width:var(--sidebar-w)}}.bottom-tab-bar{height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);z-index:880;background:#fff;border-top:1px solid #e5e7eb;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}@media (width>=768px){.bottom-tab-bar{display:none}}.bottom-tab-bar__item{color:#9ca3af;cursor:pointer;min-height:var(--bottom-nav-h);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 2px;display:flex}.bottom-tab-bar__item.is-active{color:var(--brand)}.bottom-tab-bar__icon{font-size:24px;line-height:1}.bottom-tab-bar__label{font-size:10px;font-weight:600;line-height:1.1}.doc-table-view--desktop{display:none}.doc-table-view--mobile{display:block}@media (width>=768px){.doc-table-view--desktop{display:block}.doc-table-view--mobile{display:none}}.doc-mobile-card{border-bottom:1px solid #f3f4f6;padding:clamp(.875rem,3vw,1rem)}.doc-mobile-card__row{justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:13px;display:flex}.doc-mobile-card__label{color:var(--text-muted);min-width:88px;font-weight:500}.doc-mobile-card__value{color:var(--text);text-align:right;word-break:break-word}.doc-mobile-card__title{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:15px;font-weight:700;display:flex}.doc-mobile-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.doc-mobile-card__actions button{min-width:calc(50% - .25rem);min-height:var(--touch-min);flex:1}.users-table-view--desktop{display:none}.users-table-view--mobile{display:block}@media (width>=768px){.users-table-view--desktop{display:block}.users-table-view--mobile{display:none}}.user-mobile-card{border-bottom:1px solid var(--table-border);padding:clamp(.875rem,3vw,1rem)}.user-mobile-card:last-child{border-bottom:none}.user-mobile-card__header{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.user-mobile-card__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:flex}.user-mobile-card__meta{flex:1;min-width:0}.user-mobile-card__name{color:var(--text);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:15px;font-weight:700;display:flex}.user-mobile-card__sub{color:var(--text-subtle);margin-top:2px;font-size:12px}.user-mobile-card__row{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.35rem 0;font-size:13px;display:flex}.user-mobile-card__label{color:var(--text-muted);flex-shrink:0;min-width:88px;font-weight:500}.user-mobile-card__value{color:var(--text);text-align:right;word-break:break-word;flex:1}.user-mobile-card__status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.user-mobile-card__actions{border-top:1px solid var(--table-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.875rem;padding-top:.875rem;display:grid}.user-mobile-card__actions button{min-height:var(--touch-min);cursor:pointer;border-radius:8px;font-size:13px;font-weight:600}.user-mobile-card__actions .user-mobile-card__action--full{grid-column:1/-1}.settings-page-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.75rem;display:flex}@media (width>=768px){.settings-page-header{flex-direction:row;justify-content:space-between;align-items:center}}.settings-page-header__actions{gap:.5rem;display:flex}.settings-page-header__actions button{width:100%;min-height:var(--touch-min)}@media (width>=768px){.settings-page-header__actions button{width:auto}}.settings-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--border);scrollbar-width:none;gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{flex-shrink:0}.role-def-card{flex-direction:column;gap:1rem;display:flex}.landing-faq-section details summary::-webkit-details-marker{display:none}.landing-faq-section details summary:after{content:"+";float:right;color:#7aa6c8;font-weight:700}.landing-faq-section details[open] summary:after{content:"−"}@media (width>=640px){.role-def-card{flex-direction:row;align-items:flex-start}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9500;background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=768px){.modal-overlay{align-items:center;padding:20px}}.modal-sheet{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-height:90dvh;animation:.28s sheetUp;display:flex;overflow:hidden}@media (width>=768px){.modal-sheet{border-radius:16px;max-width:540px;animation:.2s ease-out dialogIn}.modal-sheet--wide{max-width:720px}}.modal-sheet__handle{background:#d1d5db;border-radius:999px;width:40px;height:4px;margin:10px auto 4px}@media (width>=768px){.modal-sheet__handle{display:none}}.modal-sheet__scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.modal-sheet__footer{border-top:1px solid #f3f4f6;flex-direction:column-reverse;gap:.625rem;padding:1rem clamp(1rem,3vw,1.5rem);display:flex}@media (width>=768px){.modal-sheet__footer{flex-direction:row;justify-content:flex-end}.modal-sheet__footer .btn-full{width:auto}}.stat-grid--3{grid-template-columns:1fr}@media (width>=480px){.stat-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.stat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dialog-shell{z-index:9800;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=768px){.dialog-shell{align-items:center;padding:20px}}.dialog-panel{background:#fff;border-radius:20px 20px 0 0;width:100%;max-height:90dvh;animation:.25s sheetUp;overflow:hidden;box-shadow:0 25px 60px #00000040}@media (width>=768px){.dialog-panel{border-radius:16px;max-width:440px;animation:.2s ease-out dialogIn}}.dialog-panel__footer{flex-direction:column-reverse;gap:.625rem;padding:1rem 1.5rem 1.5rem;display:flex}@media (width>=768px){.dialog-panel__footer{flex-direction:row;justify-content:flex-end}.dialog-panel__footer button{width:auto;min-width:100px}}.dialog-panel__footer button{min-height:var(--touch-min);width:100%}.notifications-panel-host .notifications-panel{border-radius:20px 20px 0 0;width:100%;max-height:85dvh;animation:.2s ease-out sheetUp;position:fixed;inset:auto 0 0}@media (width>=768px){.notifications-panel-host .notifications-panel{border-radius:14px;width:400px;max-height:480px;animation:.2s ease-out notifPanelIn;position:absolute;inset:calc(100% + 8px) 0 auto auto}}.landing-page{min-height:100dvh;overflow-x:hidden}.landing-nav{padding:0 clamp(1rem,4vw,2.5rem)}.landing-hero{padding:clamp(3rem,10vw,6.25rem) clamp(1rem,4vw,2.5rem) clamp(2rem,8vw,5rem)}.landing-section{padding:clamp(2.5rem,8vw,5rem) clamp(1rem,4vw,2.5rem)}.landing-nav__actions{flex-wrap:wrap;gap:.5rem;display:flex}.landing-nav__actions button{min-height:var(--touch-min)}.owner-header{padding:0 clamp(.75rem,3vw,2rem)}.owner-header__tabs{scrollbar-width:none}.owner-header__tabs::-webkit-scrollbar{display:none}.landing-slideshow-copy{flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2.5rem);display:flex}.owner-toast{bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:9999;position:fixed;left:1rem;right:1rem}@media (width>=768px){.owner-toast{max-width:420px;bottom:28px;left:auto;right:28px}}.auth-page{justify-content:center;align-items:center;min-height:100dvh;padding:clamp(1rem,4vw,2rem);display:flex}.auth-card{border-radius:var(--radius-card);width:100%;max-width:440px;box-shadow:var(--shadow-card);background:#fff;border:1px solid #e5e7eb;padding:clamp(1.5rem,4vw,2.5rem)}.auth-split{flex-direction:column;min-height:100dvh;display:flex}.auth-split__brand{background:#0f1f3a;flex-direction:column;flex-shrink:0;padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,2.5rem);display:none}@media (width>=768px){.auth-split{flex-direction:row}.auth-split__brand{width:min(400px,38vw);display:flex}}.auth-split__form{background:#f8fafc;flex:1;justify-content:center;align-items:center;min-width:0;padding:clamp(1.25rem,4vw,2.5rem);display:flex}.auth-form{width:100%;max-width:420px}.legal-page{min-height:100dvh;overflow-x:hidden}.legal-nav{height:56px;padding:0 clamp(1rem,4vw,2.5rem)}.legal-main{max-width:820px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) clamp(3rem,8vw,5rem)}.settings-split{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.settings-split{grid-template-columns:240px 1fr}}.split-2{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=768px){.split-2{grid-template-columns:1fr 1fr}}.hide-mobile{display:none!important}@media (width>=768px){.hide-mobile{display:revert!important}.hide-desktop{display:none!important}}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-x:auto}@keyframes sheetUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.landing-slideshow-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:420px}}img{max-width:100%;height:auto}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;font-family:var(--font-sans);margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}svg text{font-family:var(--font-sans)}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes notifPanelIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes landingSlideIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landingImageIn{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes landingProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.landing-slideshow-progress{animation:4.5s linear both landingProgress}.landing-slide-enter{animation:.65s both landingSlideIn}.landing-slide-delay-1{animation-delay:80ms}.landing-slide-delay-2{animation-delay:.16s}.landing-slide-delay-3{animation-delay:.24s}.landing-slide-image-enter{animation:.75s both landingImageIn}.landing-slideshow-grid{grid-template-columns:1fr;min-height:auto;display:grid}.landing-slideshow-visual{border-top:1px solid #ffffff0f;min-height:240px}.landing-slideshow-copy{padding:clamp(1.5rem,5vw,2rem) clamp(1rem,4vw,1.5rem)}@media (width>=768px){.landing-slideshow-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:420px}.landing-slideshow-visual{border-top:none;border-left:1px solid #ffffff0f;min-height:auto}.landing-slideshow-copy{padding:32px 24px}}.sidebar-toggle-btn:active{transform:scale(.96)!important}.sidebar-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #7ee8a2}
