@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");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}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");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}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");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}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff)format("woff");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}:root{color:#282629;font-synthesis:none;text-rendering:optimizelegibility;--magenta:#ec008c;--magenta-dark:#c80076;--magenta-soft:#fff0f8;--anthracite:#282629;--brand-gray:#656263;--line:#e4e2e4;--muted:#6f6b70;--surface:#fff;--canvas:#f6f6f7;--shadow:0 18px 50px #20191d1a;background:#f5f5f6;font-family:Barlow,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--canvas);min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}:focus-visible{outline-offset:2px;outline:3px solid #ec008c47}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--magenta);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.brand{flex-direction:column;gap:3px;display:inline-flex}.brand-lockup{color:var(--brand-gray);letter-spacing:-.09em;font-size:3.1rem;font-weight:600;line-height:.8}.brand-lockup strong{color:var(--magenta);font-weight:600}.brand__descriptor{color:#777273;letter-spacing:.095em;text-transform:uppercase;font-size:.73rem;font-weight:600}.brand--compact .brand-lockup{font-size:2.4rem}.brand-lockup--large{font-size:4.4rem}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--magenta);box-shadow:0 7px 18px #ec008c2b}.button--primary:hover{background:var(--magenta-dark)}.button--secondary{color:var(--anthracite);background:#fff;border-color:#d9d6d8}.button--secondary:hover{background:#f8f7f8;border-color:#bcb7ba}.button--text{color:var(--magenta-dark);background:0 0}.button--text:hover{background:var(--magenta-soft)}.button--danger-text{color:#a12935;background:0 0;min-height:38px}.button--danger-text:hover{background:#fff2f2}.button--danger{color:#9a2935;background:#fff2f2;border:1px solid #f0c7cb}.button--danger:hover{background:#ffe6e9}.button--full{width:100%}.button--large{border-radius:11px;min-height:52px;font-size:1rem}.icon-button{color:#5e595d;background:0 0;border:0;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.icon-button:hover{background:#f2f0f1}.icon-button--has-data{color:#17663f;background:#e5f6ed}.icon-button--has-data:hover{background:#d7f0e3}.icon-button--surface{border:1px solid var(--line);background:#fff}.text-link,.back-link{color:var(--magenta-dark);font-weight:600;text-decoration:none}.text-link:hover,.back-link:hover{text-decoration:underline}.back-link{align-items:center;gap:6px;margin-bottom:30px;font-size:.9rem;display:inline-flex}.boot-screen{background:#fff;align-content:center;justify-items:center;gap:30px;min-height:100vh;display:grid}.boot-screen__loader{border:3px solid #eee9ec;border-top-color:var(--magenta);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{background:#fff;grid-template-columns:minmax(390px,.92fr) minmax(520px,1.08fr);min-height:100vh;display:grid}.auth-layout__visual{color:#fff;background:#262427;flex-direction:column;justify-content:space-between;min-height:100vh;padding:max(38px,min(5vw,74px));display:flex;position:relative;overflow:hidden}.auth-layout__brand{z-index:2;position:relative}.auth-layout__brand .brand-lockup{color:#aaa5a7}.auth-layout__brand .brand__descriptor{color:#bdb8ba}.auth-layout__message{z-index:2;max-width:490px;margin:auto 0;padding:70px 0;position:relative}.auth-layout__message h1{letter-spacing:-.045em;margin:0;font-size:max(3rem,min(5.4vw,5.6rem));font-weight:500;line-height:.96}.auth-layout__message>p:last-child{color:#c5c0c2;max-width:410px;margin:28px 0 0;font-size:1.13rem;line-height:1.55}.auth-layout__trust{z-index:2;color:#aaa5a7;align-items:center;gap:11px;font-size:.88rem;display:flex;position:relative}.auth-layout__trust svg{color:var(--magenta)}.building-lines{opacity:.14;width:67%;height:74%;position:absolute;bottom:-12%;right:-6%;transform:skewY(-8deg)}.building-lines span{border:1px solid #fff;border-bottom:0;position:absolute;bottom:0}.building-lines span:first-child{width:28%;height:62%;left:0}.building-lines span:nth-child(2){width:23%;height:86%;left:28%}.building-lines span:nth-child(3){width:34%;height:72%;left:51%}.building-lines span:nth-child(4){border-width:1px 0 0;width:68%;height:45%;left:8%}.building-lines span:nth-child(5){border-width:1px 0 0;width:68%;height:25%;left:8%}.auth-layout__form{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:46px 7vw 28px;display:flex}.auth-layout__mobile-brand{display:none}.auth-card{width:min(100%,430px)}.auth-card__heading{margin-bottom:30px}.auth-card__heading h2{color:var(--anthracite);letter-spacing:-.035em;margin:0;font-size:max(2rem,min(3vw,2.65rem));font-weight:600;line-height:1.1}.auth-card__heading>p:last-child{color:var(--muted);margin:13px 0 0;font-size:1rem;line-height:1.5}.auth-card__icon{width:54px;height:54px;color:var(--magenta);background:var(--magenta-soft);border-radius:16px;place-items:center;margin-bottom:24px;display:grid}.auth-layout__help{color:#8a8689;text-align:center;width:min(100%,430px);margin:54px 0 0;font-size:.8rem}.form-stack{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field label{color:#3f3b3e;font-size:.9rem;font-weight:600}.field input{width:100%;min-height:51px;color:var(--anthracite);background:#fff;border:1px solid #d8d5d7;border-radius:10px;outline:none;padding:12px 14px;transition:border .18s,box-shadow .18s}.field textarea{resize:vertical;width:100%;min-height:170px;color:var(--anthracite);font:inherit;background:#fff;border:1px solid #d8d5d7;border-radius:10px;outline:none;padding:14px 16px;line-height:1.55;transition:border .18s,box-shadow .18s}.field input::placeholder,.field textarea::placeholder{color:#aaa6a8}.field input:focus,.field textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 3px #ec008c1a}.password-control{position:relative}.password-control input{padding-right:52px}.password-control .icon-button{position:absolute;top:5px;right:5px}.control--error input{border-color:#bd2f3f}.field-error{color:#a32634;margin:-1px 0 0;font-size:.82rem}.form-row{align-items:center;display:flex}.form-row--end{justify-content:flex-end;margin-top:-5px}.form-help{color:var(--muted);text-align:center;margin:-4px 0 0;font-size:.85rem;line-height:1.45}.alert{border-radius:9px;padding:12px 14px;font-size:.9rem;line-height:1.45}.alert--error{color:#8e2632;background:#fff5f6;border:1px solid #f0c9cd}.divider{color:#8a8588;align-items:center;gap:13px;margin:25px 0;font-size:.8rem;display:flex}.divider:before,.divider:after{background:var(--line);content:"";flex:1;height:1px}.success-state{text-align:center;flex-direction:column;align-items:center;gap:15px;padding-top:10px;display:flex}.success-state>svg{color:#16835d}.success-state h3{margin:0;font-size:1.3rem}.success-state p{color:var(--muted);margin:0 0 13px;line-height:1.5}.app-shell{background:var(--canvas);min-height:100vh}.sidebar{z-index:20;background:#fff;border-right:1px solid #e7e5e6;flex-direction:column;width:255px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar__brand{border-bottom:1px solid #f0edef;padding:33px 28px 29px}.sidebar__brand .brand-lockup{font-size:2.55rem}.sidebar__nav{flex-direction:column;flex:1;gap:4px;padding:24px 15px;display:flex;overflow-y:auto}.nav-item{color:#625e61;border-radius:9px;align-items:center;gap:13px;min-height:47px;padding:10px 13px;font-size:.94rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--anthracite);background:#f7f5f6}.nav-item.active{color:var(--magenta-dark);background:var(--magenta-soft);font-weight:600}.nav-item--admin{margin-top:auto}.sidebar__footer{border-top:1px solid #ece9eb;padding:15px}.user-summary{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px;text-decoration:none;display:grid}.user-summary:hover{background:#f7f5f6}.user-summary>span:not(.avatar),.mobile-drawer__user>span:not(.avatar){min-width:0;overflow:hidden}.user-summary strong,.user-summary small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-summary strong{font-size:.9rem}.user-summary small{color:var(--muted);margin-top:3px;font-size:.73rem}.avatar{color:#fff;background:var(--anthracite);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:.85rem;font-weight:700;display:inline-grid}.avatar--small{border-radius:10px;width:38px;height:38px}.avatar--large{border-radius:20px;width:74px;height:74px;font-size:1.3rem}.app-shell__content{min-height:100vh;margin-left:255px}.topbar{z-index:15;backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e7e5e6;justify-content:flex-end;align-items:center;height:74px;padding:0 max(20px,min(3vw,42px));display:flex;position:sticky;top:0}.topbar__actions{align-items:center;gap:11px;display:flex}.topbar__menu,.topbar__mobile-brand,.bottom-nav{display:none}.topbar__profile{text-decoration:none;display:inline-flex}.page-container{width:min(100%,1500px);margin:0 auto;padding:max(28px,min(4vw,52px))}.page-stack{flex-direction:column;gap:36px;display:flex}.home-page,.works-page,.incidents-page,.appointments-page{gap:24px}.home-page .page-heading,.works-page .page-heading,.incidents-page .page-heading,.appointments-page .page-heading{margin-bottom:-4px}.home-page .section-heading{margin-bottom:10px}.home-page .summary-grid{gap:10px}.home-page .summary-card{min-height:98px;padding:16px}.page-stack--narrow{max-width:970px}.page-heading{justify-content:space-between;align-items:flex-start;gap:25px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:max(2rem,min(3vw,2.85rem));font-weight:600}.page-heading p:last-child{max-width:680px;color:var(--muted);margin:10px 0 0;line-height:1.5}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:1.3rem}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:.9rem}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:120px;padding:20px;display:grid;box-shadow:0 3px 10px #211b1e08}.summary-card__icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.summary-card__icon svg{width:21px}.summary-card__icon--magenta{color:#c40074;background:#fff0f8}.summary-card__icon--green{color:#157451;background:#ebf8f2}.summary-card__icon--blue{color:#276f97;background:#edf7fc}.summary-card__icon--amber{color:#94610c;background:#fff7e6}.summary-card strong,.summary-card span{display:block}.summary-card strong{font-size:1.8rem;line-height:1}.summary-card div>span{color:var(--muted);margin-top:7px;font-size:.84rem;line-height:1.2}.summary-card__arrow{color:#b2adaf}.empty-panel{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:center;gap:max(30px,min(6vw,90px));min-height:280px;padding:max(32px,min(5vw,65px));display:flex;position:relative;overflow:hidden}.empty-panel>div:last-child{z-index:2;max-width:620px;position:relative}.empty-panel h2{letter-spacing:-.025em;margin:0;font-size:max(1.5rem,min(2.3vw,2.1rem));font-weight:600}.empty-panel p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.55}.empty-panel__illustration{border-bottom:3px solid #d9d5d7;flex:none;width:210px;height:150px;position:relative}.empty-panel__illustration span{background:linear-gradient(90deg,#0000 46%,#eee 47% 53%,#0000 54%);border:2px solid #d9d5d7;border-bottom:0;position:absolute;bottom:0}.empty-panel__illustration span:first-child{width:70px;height:95px;left:0}.empty-panel__illustration span:nth-child(2){width:82px;height:145px;left:65px}.empty-panel__illustration span:nth-child(3){width:68px;height:115px;left:142px}.empty-panel--compact{min-height:190px}.empty-panel__icon{width:68px;height:68px;color:var(--magenta);background:var(--magenta-soft);border-radius:18px;flex:none;place-items:center;display:grid}.profile-card,.sessions-card{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 4px 14px #221c1f08}.profile-card{padding:max(25px,min(4vw,42px))}.profile-card__identity{border-bottom:1px solid var(--line);align-items:center;gap:19px;padding-bottom:30px;display:flex}.profile-card__identity h2{margin:0 0 9px;font-size:1.55rem}.badge-row{flex-wrap:wrap;gap:7px;display:flex}.badge{color:#625d61;background:#f0eef0;border-radius:20px;align-items:center;min-height:27px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--success{color:#146747;background:#e9f7f0}.profile-details{gap:0;margin:15px 0;display:grid}.profile-details>div{border-bottom:1px solid #f0edef;grid-template-columns:180px 1fr;gap:15px;padding:17px 0;display:grid}.profile-details dt{color:var(--muted);align-items:center;gap:9px;display:flex}.profile-details dt svg{width:18px}.profile-details dd{margin:0;font-weight:500}.profile-card__actions{gap:10px;padding-top:12px;display:flex}.session-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:22px 25px;display:grid}.session-row:last-child{border-bottom:0}.session-row__icon{color:#5e595d;background:#f3f1f2;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.session-row__content>div{align-items:center;gap:10px;display:flex}.session-row h2{margin:0;font-size:1rem;font-weight:600}.session-row p{color:var(--muted);margin:6px 0 0;font-size:.84rem}.session-row small{color:#999497;margin-top:3px;display:block}.loading-row{color:var(--muted);text-align:center;padding:30px}.dialog-backdrop,.mobile-drawer-backdrop{z-index:100;backdrop-filter:blur(3px);background:#18141685;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-backdrop{place-items:center;padding:20px;display:grid}.dialog{width:min(100%,400px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;padding:36px;position:relative}.dialog__close{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.dialog__icon{width:68px;height:68px;color:var(--magenta);background:var(--magenta-soft);border-radius:20px;place-items:center;margin:0 auto 20px;display:grid}.dialog h2{margin:0;font-size:1.65rem}.dialog p{color:var(--muted);margin:11px 0 25px;line-height:1.5}.dialog .button--text{margin-top:4px}.mobile-drawer-backdrop{display:none}.button--small{min-height:38px;padding:7px 13px;font-size:.86rem}.icon-button--danger{color:#9a2935}.icon-button--danger:hover{background:#fff0f1}.muted-text{color:var(--muted);line-height:1.5}.content-loader{border:4px solid #e8e5e7;border-top-color:var(--magenta);border-radius:50%;width:44px;height:44px;margin:80px auto;animation:.8s linear infinite spin}.form-alert--success{color:#146747;background:#edf9f3;border-color:#bce3d1}.form-alert--info{color:#265173;background:#eef7ff;border-color:#c8deef;align-items:center;gap:.55rem;display:flex}.form-alert--info svg{flex:none;width:18px;height:18px}.user-dialog-error{color:#b42335;font-size:.9rem;font-weight:700;line-height:1.35}.field{color:#3f3b3e;font-size:.9rem;font-weight:600}.field>span{color:var(--muted);margin-left:4px;font-size:.76rem;font-weight:400}.field small{color:var(--muted);font-size:.76rem;font-weight:400;line-height:1.4}.field select,.compact-select select{width:100%;min-height:51px;color:var(--anthracite);background:#fff;border:1px solid #d8d5d7;border-radius:10px;outline:none;padding:12px 38px 12px 14px}.field input:focus,.field select:focus,.compact-select select:focus{border-color:var(--magenta);box-shadow:0 0 0 3px #ec008c1a}.toolbar-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:end;gap:14px;padding:15px;display:flex}.toolbar-card .search-field{flex:320px}.works-toolbar .search-field{flex:320px;height:42px;min-height:42px}.works-toolbar .search-field input{height:100%;line-height:1.2}.collapsible-filters{display:contents}.collapsible-filters__toggle{display:none}.collapsible-filters__body{display:contents}.status-filter{border:0;flex-wrap:nowrap;flex:none;gap:8px;margin:0;padding:0;display:flex}.status-filter legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status-filter label{border:1px solid var(--border);min-height:36px;color:var(--muted);cursor:pointer;background:#fafafa;border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.status-filter input{width:15px;height:15px;accent-color:var(--brand)}.status-filter label:has(input:checked){color:var(--brand);background:#fff2f8;border-color:#e4a5c0}.search-field{min-height:48px;color:var(--muted);border:1px solid #d8d5d7;border-radius:10px;align-items:center;gap:11px;padding:0 14px;display:flex}.search-field input{border:0;outline:0;width:100%}.work-list{flex-direction:column;gap:12px;display:flex}.work-card{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:19px;min-height:128px;padding:22px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 4px 14px #221c1f08}.work-card:hover{border-color:#cfcacd;transform:translateY(-1px);box-shadow:0 12px 30px #221c1f12}.work-card__icon{width:54px;height:54px;color:var(--magenta);background:var(--magenta-soft);border-radius:14px;place-items:center;display:grid}.work-card__body h2{margin:8px 0 12px;font-size:1.25rem}.work-card__title{align-items:center;gap:10px;display:flex}.work-card__title>strong{color:var(--brand-gray);letter-spacing:.06em;font-size:.78rem}.work-card__meta{color:var(--muted);flex-wrap:wrap;gap:8px 22px;font-size:.84rem;display:flex}.work-card__meta span{align-items:center;gap:6px;display:inline-flex}.work-card__meta svg{width:16px;height:16px}.work-card__arrow{color:#aba6a9}.status-badge{border-radius:20px;align-items:center;min-height:26px;padding:3px 9px;font-size:.73rem;font-weight:700;display:inline-flex}.status-badge--planned{color:#626064;background:#efedef}.status-badge--in_progress{color:#146747;background:#e6f6ee}.status-badge--finished{color:#23608c;background:#eaf4fb}.status-badge--post_work{color:#8a5a09;background:#fff4dc}.form-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:max(24px,min(4vw,42px))}.form-section-heading{align-items:flex-start;gap:13px;margin:7px 0 21px;display:flex}.form-section-heading:not(:first-of-type){border-top:1px solid var(--line);margin-top:38px;padding-top:32px}.form-section-heading>svg{color:var(--magenta)}.form-section-heading h2{margin:0;font-size:1.15rem}.form-section-heading p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.form-grid{gap:19px;display:grid}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.field--span-two{grid-column:span 2}.input-with-action{position:relative}.input-with-action input{padding-right:50px}.input-with-action button{width:41px;height:41px;color:var(--magenta);background:var(--magenta-soft);border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:5px;right:5px}.input-with-action svg{width:18px}.input-with-action--wide{gap:8px;display:flex}.input-with-action--wide input{flex:1;min-width:0;padding-right:14px}.input-with-action--wide button{width:auto;min-width:116px;padding:0 16px;font-weight:700;display:inline-flex;position:static}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:36px;padding-top:25px;display:flex}.work-hero{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:19px;padding:27px;display:grid}.work-detail-page{gap:18px}.work-detail-page .back-link{margin-bottom:0}.work-hero__actions{justify-items:end;gap:10px;display:grid}.work-hero__icon{width:64px;height:64px;color:var(--magenta);background:var(--magenta-soft);border-radius:17px;place-items:center;display:grid}.work-hero__main>div{align-items:center;gap:10px;display:flex}.work-hero__main>div>strong{color:var(--brand-gray);letter-spacing:.07em;font-size:.82rem}.work-hero h1{margin:7px 0 5px;font-size:max(1.7rem,min(3vw,2.4rem))}.work-hero p{color:var(--muted);align-items:center;gap:6px;margin:0;display:flex}.work-hero p svg{width:17px}.compact-select{min-width:175px;color:var(--muted);font-size:.74rem;font-weight:600}.compact-select select{min-height:44px;margin-top:5px}.tabs{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;padding:5px;display:flex;overflow-x:auto}.tabs button{min-height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 15px;font-weight:600}.tabs button.active{color:var(--magenta-dark);background:var(--magenta-soft)}.tabs button span{color:#8d888b;margin-left:4px;font-size:.72rem}.work-overview{gap:16px;display:grid}.work-overview-section{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #2a23270a}.work-overview-section>header,.work-overview-section>summary{justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:17px 21px;list-style:none;display:flex}.work-overview-section>summary{cursor:pointer}.work-overview-section>summary::-webkit-details-marker{display:none}.work-overview-section>header h2,.work-overview-section>summary h2{margin:2px 0 0;font-size:1.18rem}.work-overview-section>header .eyebrow,.work-overview-section>summary .eyebrow{margin:0}.work-overview-section>header>span,.work-overview-section>summary>span{color:#666064;white-space:nowrap;background:#f4f2f3;border-radius:999px;margin-left:auto;padding:5px 10px;font-size:.75rem;font-weight:700}.work-overview-section>summary>svg{width:19px;transition:transform .2s}.work-overview-section[open]>summary>svg{transform:rotate(180deg)}.work-overview-section__body{border-top:1px solid #efedef;padding:20px 21px 22px}.content-loader--compact{min-height:105px}.work-operational-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.work-operational-metric{min-width:0;min-height:92px;color:var(--ink);background:#fcfbfc;border:1px solid #eae6e8;border-radius:12px;grid-template-columns:32px 1fr;align-content:center;column-gap:10px;padding:14px 34px 14px 14px;text-decoration:none;display:grid;position:relative}.work-operational-metric>span{width:32px;height:32px;color:var(--magenta-dark);background:var(--magenta-soft);border-radius:9px;grid-row:1/span 2;place-items:center;display:grid}.work-operational-metric>span svg{width:17px}.work-operational-metric>strong{font-size:1.35rem;line-height:1}.work-operational-metric>small{overflow-wrap:anywhere;color:var(--muted);margin-top:5px;font-size:.74rem;line-height:1.2}.work-operational-metric>svg{color:#aaa4a8;width:15px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.work-operational-metric:hover,.work-appointment-metric:hover,.work-appointment-all:hover{background:#fff9fc;border-color:#e9bfd5}.work-attention{background:#fffaf0;border:1px solid #f1dba4;border-radius:12px;margin-top:13px;padding:14px 16px}.work-attention--clear{background:#f4fbf8;border-color:#cfe8dc}.work-attention__title{color:#8a6103;align-items:center;gap:8px;display:flex}.work-attention--clear .work-attention__title{color:#236b4a}.work-attention__title svg{width:18px}.work-attention__list{gap:5px;margin-top:10px;display:grid}.work-attention__list a{color:#514a4e;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:6px 0;text-decoration:none;display:grid}.work-attention__list a strong{color:#936600}.work-attention__list a svg{width:15px}.work-attention p{color:#52715f;margin:8px 0 0;font-size:.84rem}.work-appointment-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.work-appointment-metric{min-height:69px;color:var(--ink);background:#fcfbfc;border:1px solid #eae6e8;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:11px 32px 11px 12px;text-decoration:none;display:grid;position:relative}.work-appointment-metric>svg:first-child{color:#777074;width:20px}.work-appointment-metric>svg:last-child{color:#aaa4a8;width:15px;position:absolute;right:9px}.work-appointment-metric strong,.work-appointment-metric small{display:block}.work-appointment-metric strong{font-size:1.1rem}.work-appointment-metric small{color:var(--muted);margin-top:2px;font-size:.72rem}.work-appointment-metric--confirmed>svg:first-child,.work-appointment-metric--completed>svg:first-child{color:#25805a}.work-appointment-metric--warning>svg:first-child{color:#a56e00}.work-appointment-all{min-height:48px;color:var(--magenta-dark);border:1px dashed #ddd5d9;border-radius:11px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.work-appointment-all svg{width:17px}.work-appointment-all svg:last-child{margin-left:3px}.work-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.work-data-card{background:#fcfbfc;border:1px solid #eae6e8;border-radius:12px;padding:18px}.work-data-card--wide{grid-column:1/-1}.work-data-card h3{margin:0;font-size:1rem}.work-data-card__count{margin-top:18px;font-size:1.65rem;display:block}.work-data-card__count+span{color:var(--muted);font-size:.82rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.detail-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:25px}.detail-card--wide,.detail-card--full{grid-column:1/-1}.detail-card__heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px;display:flex}.detail-card h2,.detail-card h3{margin:0}.detail-card__heading p:last-child{color:var(--muted);margin:5px 0 0}.stack-list{flex-direction:column;display:flex}.stack-row{border-bottom:1px solid #efedef;align-items:center;gap:13px;padding:15px 0;display:flex}.stack-row>svg{color:var(--magenta)}.stack-row>div{flex:1}.stack-row strong,.stack-row span{display:block}.stack-row span{color:var(--muted);margin-top:4px;font-size:.84rem}.soft-label{background:#e9f7f0;border-radius:20px;align-items:center;width:max-content;min-height:24px;padding:3px 8px;font-weight:600;color:#146747!important;font-size:.72rem!important;display:inline-flex!important}.principal-person{align-items:center;gap:13px;margin-top:20px;display:flex}.principal-person>svg{color:var(--magenta)}.principal-person span,.principal-person strong{display:block}.principal-person span{color:var(--muted);font-size:.76rem}.principal-person strong{margin-top:3px}.text-button{color:var(--magenta-dark);background:0 0;border:0;align-items:center;gap:5px;margin-top:18px;padding:0;font-weight:600;display:inline-flex}.text-button svg{width:17px}.inline-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:13px;margin-top:20px;display:grid}.inline-form--panel{background:#faf9fa;border:1px solid #e7e3e5;border-radius:12px;padding:20px}.space-create-form{grid-template-columns:minmax(145px,1.35fr) repeat(4,minmax(86px,1fr)) auto;align-items:end;gap:10px;margin-top:20px;display:grid}.space-create-form>button{min-width:82px;min-height:51px;padding-inline-start:14px;padding-inline-end:14px}.space-create-form__submit{width:82px}.location-select-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.location-select-row>.field{min-width:0}.location-select-row>.button{white-space:nowrap;min-height:44px}.location-quick-create{grid-template-columns:minmax(145px,1.35fr) repeat(4,minmax(86px,1fr)) auto;align-items:end;gap:10px;margin:.75rem 0 1rem;display:grid}.location-quick-create .form-alert{grid-column:1/-1}.location-quick-create__contact{grid-column:1/-1;align-items:baseline;gap:.5rem;padding-top:.25rem;display:flex}.location-quick-create__contact strong{color:var(--ink)}.location-quick-create__contact span{color:var(--muted);font-size:.82rem}.location-quick-create__actions{align-items:center;gap:.5rem;display:flex}.location-quick-create__actions .button{min-height:44px;padding-inline-start:12px;padding-inline-end:12px}.space-table{background:#fff;border:1px solid #e8e5e7;border-radius:12px;margin-top:16px;overflow:hidden}.space-table__header,.space-table__row{grid-template-columns:minmax(0,1fr) 184px;align-items:center;gap:12px;display:grid}.space-table__header{min-height:42px;color:var(--muted);text-transform:uppercase;background:#f7f6f7;padding:0 16px;font-size:.75rem;font-weight:700}.space-table__row{border-top:1px solid #efedef;min-height:58px;padding:10px 16px}.space-table__row>span{overflow-wrap:anywhere;min-width:0}.space-table__row strong,.space-table__row small{display:block}.space-table__row small{color:var(--muted);margin-top:3px;font-size:.76rem}.space-list{flex-direction:column;margin-top:16px;display:flex}.space-row{border-bottom:1px solid #efedef;grid-template-columns:105px 1fr auto auto;align-items:center;gap:13px;padding:14px 5px;display:grid}.space-row__level{color:var(--magenta-dark);text-transform:uppercase;font-size:.72rem;font-weight:700}.space-row__main strong,.space-row__main span{display:block}.space-row__main span{color:var(--muted);margin-top:4px;font-size:.81rem}.space-row__actions{grid-template-columns:repeat(4,42px);justify-content:end;gap:4px;width:184px;display:grid}.icon-button--placeholder{visibility:hidden;pointer-events:none}.space-row--inactive,.faculty-card--inactive{opacity:.66;background:#f7f8f9}.empty-inline{color:var(--muted);border:1px dashed #d8d3d6;border-radius:12px;align-items:center;gap:13px;padding:24px;display:flex}.empty-inline svg{color:var(--magenta)}.dialog-card{width:min(100%,520px);max-height:90vh;box-shadow:var(--shadow);background:#fff;border-radius:18px;flex-direction:column;gap:17px;padding:30px;display:flex;overflow-y:auto}.dialog-card--user{width:min(100%,620px);max-height:96vh}.dialog-card h2{margin:0}.dialog-card p:last-child{color:var(--muted);margin:6px 0 0}.team-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;display:grid}.team-columns h3{margin-bottom:13px}.person-row{border-bottom:1px solid #efedef;align-items:center;gap:12px;padding:13px 0;display:flex}.person-row>div{flex:1}.person-row strong,.person-row span{display:block}.person-row span{color:var(--muted);margin-top:3px;font-size:.78rem}.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.faculty-card{border:1px solid #e8e5e7;border-radius:12px;align-items:center;gap:13px;padding:17px;display:flex}.faculty-card>svg{color:var(--magenta)}.faculty-card>div{flex:1}.faculty-card strong,.faculty-card span,.faculty-card small{display:block}.faculty-card span{color:var(--muted);margin-top:4px;font-size:.81rem}.faculty-card small{color:#918c8f;margin-top:4px}.faculty-form{grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr) minmax(120px,.9fr) minmax(115px,.85fr) minmax(170px,1.15fr) auto auto;align-items:end;gap:10px;margin-top:18px;display:grid}.faculty-form--single-row{grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr) minmax(120px,.9fr) minmax(115px,.85fr) minmax(170px,1.15fr) auto auto;overflow-x:auto}.faculty-form--single-row>*{min-width:0}.faculty-form>.check-row{white-space:nowrap;align-items:center;min-height:48px;margin:0}.faculty-form>.button{white-space:nowrap;min-height:48px}@media (max-width:1150px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{grid-template-columns:minmax(360px,.8fr) minmax(480px,1.2fr)}.auth-layout__message h1{font-size:4rem}}@media (max-width:900px){.auth-layout{min-height:100vh;display:block}.auth-layout__visual{display:none}.auth-layout__form{justify-content:flex-start;padding:36px 30px 28px}.auth-layout__mobile-brand{width:min(100%,430px);margin:0 auto 65px;display:block}.auth-layout__help{margin-top:45px}.sidebar{display:none}.app-shell__content{margin-left:0}.topbar{justify-content:space-between}.topbar__menu,.topbar__mobile-brand{display:inline-flex}.topbar__menu{background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;padding:0}.topbar__create{display:none}.bottom-nav{z-index:30;height:calc(70px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);background:#fffffff7;border-top:1px solid #dddadd;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav--with-ocr{grid-template-columns:repeat(6,1fr)}.bottom-nav a,.bottom-nav button{color:#777276;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:0;font-size:.66rem;text-decoration:none;display:flex}.bottom-nav svg{width:21px;height:21px}.bottom-nav .active{color:var(--magenta-dark);font-weight:600}.bottom-nav__add svg{color:#fff;width:37px;height:37px;fill:var(--magenta);stroke:var(--magenta);filter:drop-shadow(0 5px 8px #ec008c33);margin-top:-22px}.page-container{padding-bottom:105px}.mobile-drawer-backdrop{display:block}.mobile-drawer{width:min(88vw,370px);box-shadow:var(--shadow);background:#fff;flex-direction:column;padding:22px;display:flex;position:absolute;top:0;bottom:0;left:0}.mobile-drawer__header{justify-content:space-between;align-items:center;display:flex}.mobile-drawer__user{border-block:1px solid var(--line);align-items:center;gap:13px;margin:29px 0 18px;padding:18px 0;display:flex}.mobile-drawer__user strong,.mobile-drawer__user small{display:block}.mobile-drawer__user small{color:var(--muted);margin-top:4px;font-size:.74rem}.mobile-drawer nav{flex-direction:column;gap:4px;display:flex}.mobile-drawer nav a{color:#514d50;border-radius:9px;align-items:center;gap:13px;min-height:48px;padding:10px;text-decoration:none;display:flex}.mobile-drawer nav a.active{color:var(--magenta-dark);background:var(--magenta-soft)}.mobile-drawer nav svg,.mobile-drawer__logout svg{width:20px}.mobile-drawer__logout{color:#9a2935;background:0 0;border:0;align-items:center;gap:13px;min-height:48px;margin-top:auto;padding:10px;display:flex}.inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form>.button{min-height:51px}.space-create-form,.location-quick-create{grid-template-columns:repeat(2,minmax(0,1fr))}.location-quick-create__actions{grid-column:1/-1;justify-content:flex-end}.faculty-form{grid-template-columns:repeat(2,minmax(0,1fr))}.space-table__header{display:none}.space-table__row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px}.space-table__row .space-row__actions{grid-area:1/2}.work-operational-metrics,.work-appointment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.auth-layout__form{padding:28px 21px 24px}.auth-layout__mobile-brand{margin-bottom:48px}.auth-card__heading h2{font-size:2rem}.topbar{height:64px;padding:0 15px}.topbar__actions{gap:7px}.icon-button--surface{display:none}.page-container{padding:24px 17px 100px}.page-stack{gap:27px}.space-create-form,.location-select-row,.location-quick-create{grid-template-columns:1fr}.location-quick-create__actions{justify-content:stretch}.location-quick-create__actions .button{flex:1}.page-heading{display:block}.page-heading__action,.page-heading>.button{display:none}.appointments-page .page-heading{align-items:flex-start;gap:14px;display:flex}.appointments-page .page-heading>.button{flex:none;display:inline-flex}.page-heading h1{font-size:2rem}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.summary-card{grid-template-columns:1fr auto;align-content:space-between;min-height:138px;padding:16px}.summary-card__icon{width:38px;height:38px}.summary-card>div{grid-column:1/-1}.summary-card strong{font-size:1.65rem}.summary-card__arrow{visibility:hidden;position:absolute}.empty-panel{min-height:auto;padding:27px 23px;display:block}.empty-panel__illustration{transform-origin:bottom;width:150px;height:105px;margin:0 auto 32px;transform:scale(.74)}.empty-panel__icon{margin-bottom:23px}.profile-card{padding:23px}.profile-card__identity{align-items:flex-start}.profile-details>div{grid-template-columns:1fr;gap:8px}.profile-card__actions{flex-direction:column}.session-row{grid-template-columns:auto 1fr;align-items:flex-start;padding:20px}.session-row__content>div{flex-direction:column;align-items:flex-start;gap:6px}.session-row .button{grid-column:1/-1;justify-self:flex-end}.dialog{padding:34px 24px 24px}.toolbar-card{flex-direction:column;align-items:stretch}.status-filter{flex-wrap:wrap}.work-card{grid-template-columns:auto 1fr;align-items:start;min-height:0;padding:18px}.work-card__icon{width:46px;height:46px}.work-card__arrow{display:none}.work-card__meta{flex-direction:column;align-items:flex-start;gap:7px}.form-card{padding:22px 18px}.form-grid--two,.form-grid--three{grid-template-columns:1fr}.field--span-two{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.work-hero{grid-template-columns:auto 1fr;align-items:start;padding:20px}.work-hero__icon{width:50px;height:50px}.work-hero .compact-select,.work-hero__actions{grid-column:1/-1;justify-items:stretch}.work-overview{gap:11px}.work-overview-section>header,.work-overview-section>summary{min-height:66px;padding:13px 15px}.work-overview-section>summary h2{font-size:1.02rem}.work-overview-section>summary>span{padding:4px 8px;font-size:.68rem}.work-overview-section__body{padding:14px 13px 16px}.work-operational-metrics{gap:8px}.work-operational-metric{grid-template-columns:28px 1fr;column-gap:8px;min-height:78px;padding:11px 27px 11px 10px}.work-operational-metric>span{width:28px;height:28px}.work-operational-metric>strong{font-size:1.15rem}.work-operational-metric>small{font-size:.66rem}.work-attention{padding:12px}.work-attention__list a{font-size:.78rem}.work-appointment-metrics{gap:8px}.work-appointment-metric{min-height:61px;padding-block-start:9px;padding-block-end:9px}.work-data-grid{grid-template-columns:1fr}.work-data-card--wide{grid-column:auto}.detail-grid{grid-template-columns:1fr}.detail-card{padding:20px 17px}.detail-card__heading{flex-direction:column;align-items:stretch}.space-table-actions{flex-direction:row;width:100%}.space-table-actions .button{flex:1 1 0;justify-content:center;min-width:0;padding-inline-start:10px;padding-inline-end:10px}.inline-form,.faculty-form,.report-filter-row,.smtp-test-row{grid-template-columns:1fr}.space-row{grid-template-columns:1fr auto auto}.space-row__level{grid-column:1/-1}.team-columns,.faculty-grid{grid-template-columns:1fr}.dialog-card{padding:24px 19px}}.metric-strip{border:1px solid var(--border);background:var(--border);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric-strip>div{color:var(--muted);background:#fff;align-items:center;gap:.75rem;padding:1rem 1.15rem;display:flex}.metric-strip svg{width:20px;color:var(--brand)}.metric-strip strong{color:var(--ink);margin-right:.25rem;font-size:1.15rem}.metric-label--compact{display:none}.metric-strip__urgent svg,.metric-strip__urgent strong{color:#bc2c2c}.filter-bar{border:1px solid var(--border);background:#fff;border-radius:16px;flex-wrap:nowrap;align-items:end;gap:.75rem;padding:1rem;display:flex;overflow-x:auto}.filter-bar .search-field{flex:1 0 280px}.filter-bar .compact-filter,.filter-bar .check-filter,.filter-bar .button{flex:none}.search-field{border:1px solid var(--border);border-radius:10px;align-items:center;gap:.6rem;min-height:44px;padding:0 .85rem;display:flex}.search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #da00661a}.search-field svg{width:18px;color:var(--muted);flex:none}.search-field input{background:0 0;border:0;outline:0;width:100%}.compact-filter{color:var(--muted);gap:.3rem;font-size:.75rem;font-weight:600;display:grid}.compact-filter select{border:1px solid var(--border);max-width:230px;min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 .75rem}.check-filter{min-height:44px;color:var(--muted);white-space:nowrap;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.advanced-filters{border:1px solid var(--border);background:#fafafa;border-radius:16px;flex-wrap:nowrap;align-items:end;gap:.75rem;padding:1rem;display:flex;overflow-x:auto}.advanced-filters .compact-filter,.advanced-filters .check-filter,.advanced-filters .button{flex:none}.selection-bar{color:#6f1746;background:#fff0f7;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.incident-list{background:0 0;border:0;border-radius:0;gap:.7rem;display:grid;overflow:visible}.incident-select-row{border:1px solid var(--border);background:#fff;border-radius:15px;align-items:center;display:flex;overflow:hidden;box-shadow:0 6px 18px #2421240d}.incident-select-row:nth-child(2n){background:#fffcff}.incident-select-row--active{padding-left:1rem}.incident-select-row>input{width:18px;height:18px;accent-color:var(--brand);flex:none}.incident-select-row .incident-row{border-bottom:0;flex:1}.incident-row{min-width:0;min-height:76px;color:inherit;grid-template-columns:150px minmax(0,1fr) 118px repeat(4,34px) 190px 14px;align-items:center;gap:.55rem;padding:.8rem 1rem;text-decoration:none;transition:background .15s;display:grid}.incident-row:last-child{border-bottom:0}.incident-row:hover{background:#fcf8fa}.incident-row>svg{width:18px;color:var(--muted)}.incident-row .priority-dot,.incident-row .category-dot{grid-column:3;justify-self:start}.incident-row .notes-label{grid-column:4;justify-self:center}.incident-row .budget-label{grid-column:5;justify-self:center}.incident-row .wait-label{grid-column:6;justify-self:center;width:34px}.incident-row .appointment-label{grid-column:7;justify-self:center}.incident-row>.status-badge{white-space:nowrap;grid-column:8;justify-content:center;justify-self:stretch;width:100%;min-width:0;max-width:100%;padding-inline-start:.7rem;padding-inline-end:.7rem}.incident-row>svg:last-child{grid-column:9}.incident-row__code,.incident-row__main{gap:.25rem;min-width:0;display:grid}.incident-row__code strong{color:var(--brand);letter-spacing:.02em}.incident-row__code span,.incident-row__code small,.incident-row__main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.incident-row__code small{font-size:.74rem}.incident-row__main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.priority-dot,.priority-pill{align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:inline-flex}.priority-dot:before{content:"";background:#7b8794;border-radius:50%;width:8px;height:8px}.priority-dot--high:before{background:#e4811d}.priority-dot--urgent:before{background:#d93636}.priority-dot--low:before{background:#6591a6}.priority-pill{color:#4c5965;background:#edf1f4;border-radius:999px;padding:.4rem .65rem}.priority-pill--high{color:#a44d00;background-color:#fff1de}.priority-pill--urgent{color:#aa2020;background-color:#ffe8e8}.category-dot{color:#4b5563;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;max-width:118px;font-size:.76rem;font-weight:700;display:inline-flex;overflow:hidden}.category-dot:before{background:var(--brand);content:"";border-radius:50%;flex:none;width:8px;height:8px}.wait-label{color:#8b6100;white-space:nowrap;justify-content:center;align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.wait-label svg{width:15px}.wait-label--empty{visibility:hidden}.budget-label{color:#8b6100;background:#fff3d6;border-radius:10px;place-items:center;width:34px;height:34px;display:inline-grid}.budget-label svg{width:17px}.budget-label--approved{color:#167348;background:#e3f6ec}.budget-label--rejected{color:#a12935;background:#ffe6e9}.budget-label--empty{visibility:hidden}.notes-label{color:#285f7f;background:#e8f4fb;border-radius:10px;place-items:center;width:34px;height:34px;display:inline-grid}.notes-label svg{width:17px}.notes-label--empty{visibility:hidden}.appointment-label{color:#5a3d91;background:#eee8fb;border-radius:10px;place-items:center;width:34px;height:34px;display:inline-grid}.appointment-label svg{width:17px}.appointment-label--empty{visibility:hidden}.incident-tab-shortcut{cursor:pointer;transition:transform .12s,box-shadow .12s}.incident-tab-shortcut:hover{transform:translateY(-1px);box-shadow:0 6px 14px #231f201f}.incident-status--pending_review{color:#795c00;background:#fff4cc}.incident-status--pending_execution{color:#335f7e;background:#e7f3fb}.incident-status--in_progress{color:#7253a0;background:#f0eafa}.incident-status--work_done{color:#1f6b4b;background:#e3f5eb}.incident-status--rejection_proposed{color:#944d00;background:#fff0de}.incident-status--closed{color:#315d4b;background:#e6f0eb}.incident-status--rejected,.incident-status--void{color:#6b7075;background:#eceff1}.incident-create-page{max-width:1280px}.incident-create-form{gap:1.8rem;padding:max(30px,min(4vw,54px));display:grid}.incident-create-form .form-grid--two,.incident-create-form .form-grid--three{align-items:start;gap:1.35rem}.incident-create-main-fields{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.75fr) minmax(260px,1.3fr)}.incident-create-form .field{min-width:0}.incident-create-form .field select{z-index:1;position:relative}.step-marker{align-items:center;gap:.8rem;padding-top:.25rem;display:flex}.step-marker>span{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.step-marker h2,.step-marker p{margin:0}.step-marker h2{font-size:1.1rem}.step-marker p{color:var(--muted);margin-top:.15rem;font-size:.85rem}.inline-notice,.duplicate-warning{color:#34515e;background:#f1f6f8;border-radius:12px;gap:.75rem;padding:.85rem 1rem;display:flex}.inline-notice svg,.duplicate-warning>svg{flex:none;width:19px}.duplicate-warning{color:#6e520e;background:#fff6df}.duplicate-warning strong,.duplicate-warning p{margin:0 0 .25rem;display:block}.duplicate-warning a{color:#765300;margin-top:.3rem;font-weight:600;display:block}.photo-placeholder{color:var(--muted);text-align:left;background:#fafbfb;border:1px dashed #b7bec4;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.photo-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;display:grid}.photo-actions .photo-placeholder{cursor:pointer;width:100%;font:inherit}.photo-placeholder svg{width:24px;color:var(--brand)}.photo-placeholder span{gap:.1rem;display:grid}.photo-placeholder strong{color:var(--ink)}.selected-file-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;display:grid}.selected-file-card{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.selected-file-card img,.selected-file-card__icon{object-fit:cover;background:#f4f2f3;border-radius:10px;width:58px;height:58px}.selected-file-card__icon{color:var(--brand);place-items:center;display:grid}.selected-file-card strong,.selected-file-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-file-card small{color:var(--muted);margin-top:3px;font-size:.78rem}.advanced-toggle{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100%;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;padding:.75rem 0;font-weight:600;display:flex}.advanced-toggle svg{width:18px;transition:transform .2s}.advanced-toggle svg.rotated{transform:rotate(180deg)}.advanced-panel{background:#f7f8f9;border-radius:12px;padding:1rem}.incident-hero{border:1px solid var(--border);background:#fff;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.4rem;display:flex}.incident-detail-page{gap:18px}.incident-detail-page .back-link{margin-bottom:0}.incident-hero__main{min-width:0}.incident-hero__main>div{align-items:center;gap:.65rem;display:flex}.incident-hero__main>div>strong{color:var(--brand)}.incident-hero h1{margin:.65rem 0 .4rem;font-size:max(1.45rem,min(2.3vw,2rem))}.incident-hero p{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.incident-hero p a{color:var(--ink);font-weight:600}.incident-hero__labels{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.incident-category-pill{border:1px solid var(--border);max-width:100%;color:var(--ink);overflow-wrap:anywhere;background:#f4f3f5;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:600}.incident-more-info{color:var(--muted);margin-top:12px;font-size:.8rem}.incident-more-info summary{cursor:pointer;width:fit-content;padding:8px 0;font-weight:600}.incident-more-info summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.incident-more-info dl{flex-wrap:wrap;gap:8px 24px;margin:4px 0 0;display:flex}.incident-more-info dl>div{align-items:baseline;gap:6px;min-width:0;display:flex}.incident-more-info dd{color:var(--ink);overflow-wrap:anywhere;margin:0}@media (max-width:600px){.incident-hero__labels{justify-content:flex-start}.incident-more-info dl{flex-direction:column;gap:6px}}.action-ribbon{border-left:4px solid var(--brand);background:#fff4f8;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.action-ribbon p{margin:0 0 .2rem}.action-ribbon__buttons{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}@media (min-width:768px){.app-shell--native .action-ribbon{flex-direction:column;align-items:stretch;gap:.65rem}.app-shell--native .action-ribbon__buttons{justify-content:flex-start;width:100%}}.incident-detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:1rem;display:grid}.incident-description{white-space:pre-wrap;line-height:1.6}.attachment-section{border-top:1px solid var(--border);margin-top:1.35rem;padding-top:1.1rem}.attachment-section h3{margin:.15rem 0 0}.attachment-grid{gap:.55rem;margin-top:.8rem;display:grid}.attachment-card{border:1px solid var(--border);border-radius:10px;grid-template-columns:46px minmax(0,1fr) repeat(4,auto);align-items:center;gap:.65rem;padding:.6rem;display:grid;position:relative}.attachment-card--previous{opacity:.62;background:#f7f8f9}.attachment-thumb{cursor:zoom-in;background:#f1eff0;border:0;border-radius:7px;width:46px;height:42px;padding:0;display:block;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-card>svg{width:26px;color:var(--brand);margin:auto}.attachment-card>div{gap:.15rem;min-width:0;display:grid}.attachment-card strong,.attachment-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-card span{color:var(--muted);font-size:.75rem}.attachment-card--grouped{grid-template-columns:46px minmax(0,1fr) auto}.attachment-card>.attachment-card__actions{align-items:center;gap:3px;display:flex}.photo-evidence-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.attachment-actions--photos{align-items:center}.attachment-card--photo{grid-template-columns:46px minmax(0,190px) auto minmax(0,1fr)}.attachment-card--photo>.attachment-card__actions{justify-content:flex-end}.photo-phase-picker{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.photo-phase-picker>span{color:var(--muted);font-size:.78rem;font-weight:600}.photo-phase-picker>div{border:1px solid var(--border);background:#faf9fa;border-radius:10px;gap:3px;max-width:100%;padding:3px;display:inline-flex}.photo-phase--before{--photo-phase-color:#a61b24;--photo-phase-bg:#fff0f1;--photo-phase-border:#f1b8be}.photo-phase--during{--photo-phase-color:#9a4300;--photo-phase-bg:#fff3e6;--photo-phase-border:#efc297}.photo-phase--after{--photo-phase-color:#17653a;--photo-phase-bg:#eaf7ee;--photo-phase-border:#afd8be}.photo-phase--unclassified{--photo-phase-color:#736c71;--photo-phase-bg:#f2f0f1;--photo-phase-border:#d8d2d5}.photo-phase-picker button{min-height:40px;color:var(--photo-phase-color);background:0 0;border:0;border-radius:7px;padding:7px 14px;font-size:.8rem;font-weight:700}.photo-phase-picker button.is-active{background:var(--photo-phase-bg);box-shadow:inset 0 0 0 1px var(--photo-phase-border)}.photo-phase-select{border:1px solid var(--photo-phase-border);width:max-content;max-width:100%;height:28px;min-height:28px;color:var(--photo-phase-color);background:var(--photo-phase-bg);font:inherit;border-radius:8px;margin:0;padding:3px 23px 3px 8px;font-size:.75rem;font-weight:700}.photo-phase-select option{color:#202428;background:#fff}.photo-phase-select:focus-visible{outline:2px solid var(--photo-phase-color);outline-offset:2px}.photo-phase-picker button:focus-visible{outline:2px solid var(--photo-phase-color);outline-offset:2px}.attachment-card .photo-phase-badge{width:max-content;max-width:100%;color:var(--photo-phase-color);background:var(--photo-phase-bg);border-radius:7px;padding:4px 9px;font-weight:700}.photo-evidence-filter{color:var(--muted);align-items:center;gap:7px;font-size:.75rem;display:flex}.photo-evidence-filter select{border:1px solid var(--border);width:auto;min-height:36px;font:inherit;background:#fff;border-radius:8px;padding:5px 27px 5px 9px}.attachment-card--photo strong{font-size:.85rem}@media (min-width:481px) and (max-width:1024px){.attachment-section>.detail-card__heading{flex-direction:column;align-items:flex-start}.attachment-section .attachment-actions.attachment-actions--photos{justify-content:flex-start;width:100%}}@media (max-width:480px){.photo-phase-picker{gap:5px}.photo-phase-picker button{min-height:44px;padding:7px 11px}.attachment-card--grouped{gap:6px;padding:8px}.attachment-card--photo{grid-template-columns:46px minmax(0,1fr) auto}.attachment-card--photo>.attachment-card__actions{grid-column:2/-1;justify-content:flex-end}.attachment-actions.attachment-actions--photos{justify-content:flex-start;width:100%}.attachment-actions--photos>.button{padding-inline-start:.55rem;padding-inline-end:.55rem}.attachment-actions--photos .photo-phase-picker{flex-direction:column;align-items:flex-start;gap:4px}.attachment-actions--photos .photo-phase-picker button{padding:6px;font-size:.7rem}.attachment-card>.attachment-card__actions{gap:0}.attachment-card__actions .icon-button{width:32px;min-width:32px;padding:6px}.attachment-card--photo strong{white-space:normal;font-size:.78rem}.selected-file-grid{grid-template-columns:minmax(0,1fr)}}.fact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.25rem 0 0;display:grid}.app-shell--native .attachment-actions.attachment-actions--photos{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-end;gap:4px}.app-shell--native .attachment-actions--photos .photo-phase-picker{flex-direction:column;flex:none;align-items:flex-start;gap:4px}.app-shell--native .photo-phase-picker button{min-width:28px;padding:5px;font-size:.8rem}.app-shell--native .attachment-actions--photos>.button{flex:none;gap:4px;min-height:40px;padding:6px;font-size:.72rem}.app-shell--native .attachment-actions--photos>.button svg{width:16px;height:16px}.app-shell--native .photo-phase-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m2 4 3 3 3-3' fill='none' stroke='%23202428' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 3px center;background-repeat:no-repeat;width:40px;padding-left:6px;padding-right:15px}.app-shell--native .attachment-card--photo{grid-template-columns:40px minmax(0,190px) 40px minmax(0,1fr);gap:4px}.app-shell--native .attachment-card--photo>.attachment-card__actions{grid-column:auto;gap:0}.app-shell--native .attachment-card--photo .attachment-thumb{width:40px}.app-shell--native .attachment-card__actions .icon-button{width:28px;min-width:28px;padding:4px}@media (max-width:480px){.app-shell--native .attachment-card--photo{grid-template-columns:40px minmax(0,1fr) 40px auto}.app-shell--native .attachment-card--photo strong{font-size:.68rem}}.fact-grid div{background:#f6f7f8;border-radius:10px;padding:.75rem}.fact-grid dt{color:var(--muted);font-size:.75rem}.fact-grid dd{margin:.25rem 0 0;font-weight:600}.wait-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.wait-row>svg{color:#9a6b00;width:18px}.wait-row>div{flex:1;gap:.2rem;display:grid}.wait-row span{color:var(--muted);font-size:.82rem}.field--compact{grid-template-columns:24px 1fr;align-items:center;gap:.25rem .5rem;margin-top:1rem;display:grid}.field--compact select{grid-column:1/-1}.image-lightbox{z-index:90;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#050507;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.image-lightbox figure{place-items:center;width:100vw;height:100dvh;max-height:100dvh;margin:0;display:grid;overflow:hidden}.image-lightbox__stage{touch-action:none;place-items:center;width:100vw;height:100dvh;display:grid;overflow:hidden}.image-lightbox img{object-fit:contain;cursor:zoom-in;touch-action:none;user-select:none;width:auto;max-width:100vw;height:auto;max-height:100dvh;transition:transform .16s}.image-lightbox img.is-zoomed{cursor:grab}.image-lightbox img.is-zoomed:active{cursor:grabbing;transition:none}.image-lightbox figcaption{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));color:#fff;text-align:center;white-space:nowrap;backdrop-filter:blur(8px);background:#0000008c;border-radius:999px;align-items:center;gap:.55rem;max-width:calc(100vw - 32px);padding:.45rem .75rem;font-size:.78rem;line-height:1.15;display:inline-flex;position:fixed;transform:translate(-50%)}.image-lightbox figcaption span{font-weight:800}.image-lightbox figcaption.image-lightbox__photo-caption{white-space:normal;border-radius:12px;gap:4px;width:max-content;max-width:calc(100vw - 32px);display:grid}.image-lightbox__photo-caption span{overflow-wrap:anywhere;font-weight:500}.image-lightbox__photo-caption small{opacity:.8;font-size:.7rem}.image-lightbox .icon-button{color:#fff;backdrop-filter:blur(8px);background:#ffffff2e}.image-lightbox__close{z-index:2;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));position:fixed}.image-lightbox__nav{z-index:2;position:fixed;top:50%;transform:translateY(-50%)}.image-lightbox__nav--prev{left:calc(10px + env(safe-area-inset-left))}.image-lightbox__nav--next{right:calc(10px + env(safe-area-inset-right))}.photo-editor{z-index:95;color:#fff;background:#050507;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.photo-editor__top{padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 10px calc(14px + env(safe-area-inset-left));background:linear-gradient(#050507f5,#050507bd);justify-content:space-between;align-items:center;gap:1rem;display:flex}.photo-editor__top div{min-width:0;display:grid}.photo-editor__top strong{font-size:1rem}.photo-editor__top span{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.photo-editor .icon-button{color:#fff;backdrop-filter:blur(8px);background:#ffffff29}.photo-editor__canvas{place-items:center;min-height:0;display:grid;overflow:hidden}.photo-editor .photo-annotation-stage{cursor:crosshair;touch-action:none;user-select:none;max-width:100vw;max-height:100%;display:inline-grid;position:relative}.photo-editor .photo-annotation-stage img{object-fit:contain;pointer-events:none;user-select:none;max-width:100vw;max-height:calc(100dvh - 150px);display:block}.photo-annotation-overlay{pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.photo-annotation-overlay path{fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #00000059)}.photo-editor__tools{padding:.7rem calc(14px + env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));background:#0c0d11f5;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid;box-shadow:0 -10px 30px #00000038}.photo-editor__group{background:#ffffff1a;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem;display:inline-flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:34px;height:34px;box-shadow:inset 0 0 0 1px #0000003d}.color-swatch.is-active{box-shadow:0 0 0 2px var(--brand), inset 0 0 0 1px #0003;border-color:#fff}.stroke-button{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:42px;height:34px;display:grid}.stroke-button span{background:#fff;border-radius:999px;width:24px;min-height:4px;display:block}.stroke-button.is-active{background:#da0066d9}.photo-editor__actions{justify-content:flex-end;gap:.45rem;min-width:0;display:flex}.photo-editor__actions .button{min-height:38px;padding:.45rem .75rem}.comment-list{gap:.8rem;display:grid}.comment-card{background:#f7f8f9;border-radius:12px;gap:.75rem;padding:1rem;display:flex}.comment-card>div{flex:1;min-width:0}.comment-card>div>div{justify-content:space-between;gap:.5rem;display:flex}.comment-card time,.comment-card small{color:var(--muted);font-size:.75rem}.comment-card p{white-space:pre-wrap;margin:.6rem 0 .25rem}.comment-card>.comment-card__actions{flex:none;gap:.25rem;margin-left:auto;display:flex}.row-actions{justify-content:flex-end;align-items:center;gap:.25rem;min-width:88px;display:inline-flex}.comment-form{border-top:1px solid var(--border);gap:.75rem;margin-top:1.2rem;padding-top:1rem;display:grid}.comment-form .button{justify-self:end}.timeline{margin-top:1rem;display:grid}.timeline__item{grid-template-columns:34px 1fr;gap:.7rem;display:grid}.timeline__item>span{width:30px;height:30px;color:var(--brand);background:#fce8f1;border-radius:50%;align-self:start;place-items:center;display:grid;position:relative}.timeline__item>span:after{background:var(--border);content:"";width:1px;position:absolute;top:30px;bottom:-3rem;left:14px}.timeline__item:last-child>span:after{display:none}.timeline__item svg{width:15px}.timeline__item>div{padding-bottom:1.3rem}.timeline__item p{color:var(--muted);margin:.25rem 0}.timeline__item small{color:var(--muted)}.appointment-summary{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:.8rem;padding:1rem 1.15rem;display:flex}.appointment-summary>svg{color:var(--brand)}.appointment-summary>div{margin-right:auto;display:grid}.appointment-summary>div strong{font-size:1.4rem}.appointment-summary>div span{color:var(--muted);font-size:.8rem}.appointment-filters{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:end;gap:.75rem;padding:1rem;display:flex}.appointment-filters .compact-filter{flex:220px}.appointment-list{gap:.35rem;display:grid}.appointment-card{border:1px solid var(--border);background:#fff;border-radius:11px;grid-template-columns:64px minmax(0,1fr) 142px repeat(3,38px);align-items:center;gap:.42rem;min-height:56px;padding:.45rem .6rem;display:grid}.appointment-card>time{color:var(--brand);text-transform:capitalize;background:#fff0f6;border-radius:9px;justify-items:center;padding:.28rem .25rem;display:grid}.appointment-card>time strong{font-size:.9rem;line-height:1.1}.appointment-card>time span{color:var(--ink);margin-top:.1rem;font-size:.74rem}.appointment-card__main{gap:.1rem;min-width:0;display:grid}.appointment-card__main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-card__main>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;font-size:.76rem;display:inline-flex;overflow:hidden}.appointment-card__main svg{flex:none;width:13px}.appointment-card>.compact-filter{gap:.15rem}.appointment-card>.compact-filter select{max-width:142px;min-height:34px;padding-block-start:5px;padding-block-end:5px}.incident-appointments-list{gap:.45rem;display:grid}.incident-appointment-row{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:72px minmax(0,1fr) 88px;align-items:center;gap:.65rem;min-height:64px;padding:.6rem .7rem;display:grid}.incident-appointment-row>time{color:var(--brand);text-transform:capitalize;background:#fff0f6;border-radius:9px;justify-items:center;padding:.38rem .3rem;display:grid}.incident-appointment-row>time strong{font-size:.86rem;line-height:1.1}.incident-appointment-row>time span{color:var(--ink);font-size:.72rem}.incident-appointment-row>div:not(.row-actions){gap:.12rem;min-width:0;display:grid}.incident-appointment-row strong,.incident-appointment-row span,.incident-appointment-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.incident-appointment-row span{min-width:0;color:var(--muted);align-items:center;gap:.3rem;font-size:.76rem;display:inline-flex}.incident-appointment-row svg{flex:none;width:13px}.dialog-title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dialog-title h2{margin:.2rem 0 0}.notification-trigger{position:relative}.notification-trigger>span{color:#fff;background:#cf145e;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.notification-panel{z-index:30;border:1px solid var(--border);background:#fff;border-radius:14px;width:min(390px,100vw - 24px);max-height:min(520px,100vh - 96px);display:grid;position:absolute;top:calc(100% - 6px);right:74px;overflow-y:auto;box-shadow:0 18px 45px #181c212e}.notification-panel>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:.5rem;padding:.9rem 1rem;display:flex}.notification-panel>div button{color:var(--brand);background:0 0;border:0;font-size:.75rem}.notification-panel>button{border:0;border-bottom:1px solid var(--border);text-align:left;background:#fff;gap:.25rem;padding:.85rem 1rem;display:grid}.notification-panel>button.unread{border-left:3px solid var(--brand);background:#fff6fa}.notification-panel>button span,.notification-panel>button small{color:var(--muted);font-size:.75rem}.notification-panel>p{color:var(--muted);text-align:center;margin:0;padding:1.4rem}.home-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.home-work-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:grid}.home-work-card:hover{border-color:#e4a5c0}.home-work-card>div{gap:.2rem;display:grid}.home-work-card>div:first-child strong{color:var(--brand)}.home-work-card>div span{color:var(--muted);font-size:.8rem}.home-work-card>div:nth-child(2){justify-items:center}.home-work-card>div:nth-child(2) strong{font-size:1.25rem}.home-work-card>svg{width:18px;color:var(--muted)}.home-appointment-panel{border:1px solid var(--border);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 18px #2a23270a}.home-appointment-panel>header,.home-appointment-panel>summary{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:9px;min-height:60px;padding:13px 16px;list-style:none;display:grid}.home-appointment-panel>summary::-webkit-details-marker{display:none}.home-appointment-panel>header>span,.home-appointment-panel>summary>span{align-items:center;gap:8px;display:flex}.home-appointment-panel>header svg,.home-appointment-panel>summary span svg{width:19px;color:var(--brand)}.home-appointment-panel>header>strong,.home-appointment-panel>summary>strong{min-width:28px;height:28px;color:var(--brand-dark);background:var(--magenta-soft);border-radius:999px;place-items:center;padding:0 7px;font-size:.75rem;display:grid}.home-appointment-panel>summary>svg{width:17px;transition:transform .2s}.home-appointment-panel[open]>summary>svg{transform:rotate(180deg)}.home-appointment-panel__body{padding:13px 15px 15px}.home-appointment-panel__intro{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.home-appointment-panel__intro>div{flex-wrap:wrap;gap:7px;display:flex}.home-appointment-panel__intro .text-button{white-space:nowrap;margin:0}.home-appointment-chip{color:#6b4b82;background:#f3edf8;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.home-appointment-chip--today{color:#176c4b;background:#eaf8f1}.home-appointment-chip svg{width:14px}.home-appointment-list{gap:6px;display:grid}.home-appointment-list>a{min-width:0;min-height:62px;color:var(--ink);background:#fcfbfc;border:1px solid #ece8ea;border-radius:11px;grid-template-columns:90px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:8px 11px;text-decoration:none;display:grid}.home-appointment-list>a:hover{background:#fff9fc;border-color:#e4a5c0}.home-appointment-list time,.home-appointment-list>a>span{gap:3px;min-width:0;display:grid}.home-appointment-list time{text-transform:capitalize}.home-appointment-list time strong{color:var(--brand-dark);font-size:.76rem}.home-appointment-list time span{color:var(--muted);font-size:.72rem}.home-appointment-list>a>span strong,.home-appointment-list>a>span small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-appointment-list>a>span strong{font-size:.84rem}.home-appointment-list>a>span small{color:var(--muted);align-items:center;gap:4px;font-size:.72rem;display:flex}.home-appointment-list>a>span svg{flex:none;width:13px}.home-appointment-list>a>svg{color:#aaa4a8;width:16px}.dialog-card--wide{width:min(760px,100vw - 24px)}.appointment-form{gap:12px;padding:22px}.appointment-form .form-grid{gap:12px}.appointment-form .field{gap:5px}.appointment-form .field input,.appointment-form .field select{min-height:44px;padding-top:9px;padding-bottom:9px}.appointment-form .field textarea{min-height:92px}.appointment-form .role-picker{align-items:center;gap:.55rem .9rem;max-height:165px;padding:.85rem .9rem;display:flex;overflow:auto}.appointment-form .role-picker legend,.appointment-form .role-picker__legend{white-space:nowrap;flex:none;margin:0 .15rem 0 0;padding:0;font-size:.9rem;font-weight:700;line-height:34px}.appointment-form .role-picker .check-row{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;align-items:center;min-width:0;min-height:34px;margin:0;overflow:hidden}.appointment-form .muted-text{margin:0;font-size:.82rem}.appointment-form .form-actions{margin-top:2px}.appointment-incident-picker{border:1px solid var(--border);background:#fafafa;border-radius:12px;gap:.55rem;padding:.75rem;display:grid}.appointment-incident-picker__heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.appointment-incident-picker__heading span{color:var(--muted);font-size:.82rem}.appointment-incident-list{gap:.45rem;max-height:220px;padding-right:.2rem;display:grid;overflow:auto}.appointment-incident-row{cursor:pointer;background:#fff;border:1px solid #ece8eb;border-radius:10px;grid-template-columns:auto 122px minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .65rem;display:grid}.appointment-incident-row:hover{background:#fff7fb;border-color:#e7bfd0}.appointment-incident-row input{width:17px;height:17px;accent-color:var(--brand)}.appointment-incident-row span,.appointment-incident-row strong,.appointment-incident-row small{min-width:0;display:block}.appointment-incident-row strong{color:var(--brand);font-size:.88rem}.appointment-incident-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.72rem;overflow:hidden}.appointment-incident-row em{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-style:normal;overflow:hidden}.appointment-contact-row{border:1px solid var(--border);background:#fafafa;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .8rem;display:grid}.appointment-contact-row>svg{width:18px;color:var(--brand)}.appointment-contact-row strong,.appointment-contact-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.appointment-contact-row small{color:var(--muted);margin-top:2px;font-size:.78rem}.appointment-view-switch{border:1px solid var(--border);background:#fff;border-radius:12px;gap:4px;width:max-content;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.appointment-view-switch button{min-width:78px;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 13px;font-size:.8rem;font-weight:700}.appointment-view-switch button.active{color:var(--brand-dark);background:var(--magenta-soft)}.appointment-calendar-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:13px;display:grid}.appointment-calendar-panel,.appointment-unscheduled{border:1px solid var(--border);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 16px #2f262b0a}.appointment-calendar-toolbar{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;min-height:66px;padding:10px 14px;display:grid}.appointment-calendar-toolbar>div{align-items:center;gap:5px;display:flex}.appointment-calendar-toolbar>strong{text-transform:capitalize;text-align:center}.appointment-calendar-toolbar>.button{justify-self:end}.appointment-month-calendar{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.appointment-month-calendar__weekday{border-bottom:1px solid var(--border);color:var(--muted);text-align:center;text-transform:uppercase;background:#faf9fa;padding:8px 6px;font-size:.7rem;font-weight:700}.appointment-month-day{cursor:pointer;background:#fff;border-bottom:1px solid #efedef;border-right:1px solid #efedef;min-width:0;min-height:116px;padding:7px}.appointment-month-day:nth-of-type(7n){border-right:0}.appointment-month-day--outside{opacity:.58;background:#fafafa}.appointment-month-day--today{background:#fff8fb;box-shadow:inset 0 0 0 1px #efbbd5}.appointment-month-day__number{width:26px;height:26px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;margin:0 0 4px auto;font-size:.76rem;font-weight:700;display:grid}.appointment-month-day--today .appointment-month-day__number{color:#fff;background:var(--brand)}.appointment-month-day>div{gap:3px;display:grid}.appointment-calendar-event{min-width:0;color:var(--ink);text-align:left;background:#faf9fa;border:1px solid #e2dce0;border-left:3px solid #8e8790;border-radius:8px;gap:2px;padding:7px 8px;display:grid}.appointment-calendar-event span{color:var(--muted);font-size:.66rem;font-weight:700}.appointment-calendar-event strong,.appointment-calendar-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-calendar-event strong{font-size:.76rem}.appointment-calendar-event small{color:var(--muted);font-size:.67rem}.appointment-calendar-event--compact{align-items:center;gap:4px;padding:4px 5px;display:flex}.appointment-calendar-event--compact span{flex:none}.appointment-calendar-event--compact strong{min-width:0}.appointment-calendar-event--proposed{background:#f7f2fb;border-left-color:#8a64b1}.appointment-calendar-event--confirmed{background:#eff9f4;border-left-color:#19865e}.appointment-calendar-event--completed{background:#eff7fa;border-left-color:#3c778e}.appointment-calendar-event--rescheduled{background:#fff8ea;border-left-color:#c27a00}.appointment-calendar-event--cancelled{background:#f5f3f4;border-left-color:#9d9398}.appointment-calendar-event--neighbour-absent,.appointment-calendar-event--access-denied{background:#fff1f1;border-left-color:#bd3434}.appointment-month-day__more{width:100%;color:var(--brand-dark);text-align:left;background:0 0;border:0;margin-top:3px;padding:2px 4px;font-size:.68rem;font-weight:700}.appointment-week-scroll{overflow-x:auto}.appointment-week-calendar{grid-template-columns:repeat(7,minmax(100px,1fr));min-width:760px;display:grid}.appointment-week-day{border-right:1px solid var(--border);flex-direction:column;min-height:410px;display:flex}.appointment-week-day:last-child{border-right:0}.appointment-week-day--today{background:#fff9fc}.appointment-week-day__heading{border:0;border-bottom:1px solid var(--border);color:var(--muted);background:#faf9fa;justify-items:center;gap:3px;padding:11px 5px;display:grid}.appointment-week-day__heading span{text-transform:uppercase;font-size:.68rem;font-weight:700}.appointment-week-day__heading strong{font-size:1.05rem}.appointment-week-day--today .appointment-week-day__heading strong{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.appointment-week-day__events{flex:1;align-content:start;gap:6px;padding:8px;display:grid}.appointment-week-day__events>span{color:#aaa3a7;text-align:center;padding:10px 3px;font-size:.72rem}.appointment-week-day__add{min-height:38px;color:var(--brand-dark);background:0 0;border:1px dashed #dcd4d8;border-radius:8px;justify-content:center;align-items:center;gap:5px;margin:7px;font-size:.7rem;font-weight:700;display:flex}.appointment-week-day__add svg{width:14px}.appointment-day-calendar>header{border-bottom:1px solid var(--border);text-transform:capitalize;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;display:flex}.appointment-day-calendar>header strong{color:var(--muted);font-size:.75rem}.appointment-hour-row{cursor:pointer;grid-template-columns:72px minmax(0,1fr);min-height:66px;display:grid}.appointment-hour-row>time{border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);text-align:right;padding:15px 12px;font-size:.75rem}.appointment-hour-row>div{border-bottom:1px solid var(--border);align-content:center;gap:5px;padding:7px 10px;display:grid}.appointment-hour-row>div>span{color:#aaa3a7;font-size:.72rem}.appointment-agenda{background:#f8f7f8;gap:12px;padding:14px;display:grid}.appointment-agenda>section{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.appointment-agenda>section>header{border-bottom:1px solid var(--border);background:#fcfbfc;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.appointment-agenda>section>header div{text-transform:capitalize;align-items:baseline;gap:8px;display:flex}.appointment-agenda>section>header span{color:var(--muted);font-size:.7rem}.appointment-agenda>section>header button{color:var(--brand-dark);background:0 0;border:0;align-items:center;gap:4px;padding:4px;font-size:.72rem;font-weight:700;display:flex}.appointment-agenda>section>header button svg{width:14px}.appointment-agenda-row{width:100%;min-height:62px;color:var(--ink);text-align:left;background:#fff;border-top:0;border-bottom:1px solid #efedef;border-left:3px solid #8e8790;border-right:0;grid-template-columns:52px minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:8px 12px;display:grid}.appointment-agenda-row:last-child{border-bottom:0}.appointment-agenda-row>time{color:var(--brand-dark);font-size:.78rem;font-weight:800}.appointment-agenda-row>span{gap:3px;min-width:0;display:grid}.appointment-agenda-row>span strong,.appointment-agenda-row>span small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-agenda-row>span small{color:var(--muted);align-items:center;gap:4px;font-size:.72rem;display:flex}.appointment-agenda-row>span svg{flex:none;width:13px}.appointment-agenda-row>em{color:var(--muted);background:#f4f1f3;border-radius:999px;padding:4px 7px;font-size:.68rem;font-style:normal;font-weight:700}.appointment-agenda-row>svg{color:#aaa4a8;width:15px}.appointment-calendar-empty{background:#fff}.appointment-unscheduled>header,.appointment-unscheduled>summary{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:8px;min-height:54px;padding:11px 13px;list-style:none;display:grid}.appointment-unscheduled>summary::-webkit-details-marker{display:none}.appointment-unscheduled>header span,.appointment-unscheduled>summary span{align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.appointment-unscheduled>header svg,.appointment-unscheduled>summary span svg{color:#8a64b1;width:17px}.appointment-unscheduled>header strong,.appointment-unscheduled>summary strong{color:#654584;background:#f0e8f7;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 6px;font-size:.72rem;display:grid}.appointment-unscheduled>summary>svg{width:16px;transition:transform .2s}.appointment-unscheduled[open]>summary>svg{transform:rotate(90deg)}.appointment-unscheduled-list{padding:7px;display:grid}.appointment-unscheduled-list>button{color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #efedef;grid-template-columns:20px minmax(0,1fr) 14px;align-items:center;gap:7px;padding:9px 6px;display:grid}.appointment-unscheduled-list>button:last-child{border-bottom:0}.appointment-unscheduled-list>button>svg{color:#8a64b1;width:16px}.appointment-unscheduled-list>button>svg:last-child{color:#aaa4a8}.appointment-unscheduled-list span,.appointment-unscheduled-list strong,.appointment-unscheduled-list small{min-width:0;display:block}.appointment-unscheduled-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.68rem;overflow:hidden}.appointment-unscheduled-empty{color:var(--muted);margin:0;padding:18px 14px;font-size:.76rem;line-height:1.4}.appointment-quick-view{width:min(100%,610px)}.appointment-quick-view__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.appointment-quick-view__facts>div{border:1px solid var(--border);background:#fafafa;border-radius:10px;padding:11px 12px}.appointment-quick-view__facts span,.appointment-quick-view__facts strong{display:block}.appointment-quick-view__facts span{color:var(--muted);margin-bottom:4px;font-size:.7rem}.appointment-quick-view__facts strong{font-size:.84rem;font-weight:600}.button-group{flex-wrap:wrap;gap:.5rem;display:flex}.space-table-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center}.space-table-actions .button{white-space:nowrap}.cadastre-list{border:1px solid var(--border);border-radius:10px;max-height:330px;display:grid;overflow:auto}.cadastre-list>div{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.65rem;display:grid}.cadastre-list>div:last-child{border-bottom:0}.cadastre-list>div>div{gap:.2rem;display:grid}.cadastre-list input[type=text],.cadastre-list>div>div>input{border:1px solid var(--border);border-radius:7px;min-height:36px;padding:0 .55rem}.cadastre-list small{color:var(--muted)}.ocr-summary{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:.9rem;padding:1rem 1.15rem;display:flex}.ocr-summary>svg{color:var(--brand)}.ocr-summary>div{margin-right:auto;display:grid}.ocr-summary strong{font-size:1.35rem}.ocr-summary span,.ocr-summary p{color:var(--muted);font-size:.8rem}.ocr-summary p{margin:0}.ocr-summary__upload{flex:none;display:none}.ocr-toolbar{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:end;gap:.75rem;padding:.85rem 1rem;display:flex}.ocr-toolbar .field{max-width:260px;margin:0}.ocr-list{gap:.55rem;display:grid}.ocr-list__item{border:1px solid var(--border);min-height:66px;color:inherit;text-align:left;background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.45rem .55rem .45rem 1rem;display:grid}.ocr-list__item:hover,.ocr-list__item.is-selected{background:#fff9fb;border-color:#e49ab9}.ocr-list__open{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.35rem 0;display:grid}.ocr-list__open>span:nth-child(2){gap:.2rem;min-width:0;display:grid}.ocr-list__item strong,.ocr-list__item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ocr-list__item small{color:var(--muted)}.ocr-list__open>svg{width:20px;color:var(--muted)}.status-dot{background:#8c969e;border-radius:50%;width:10px;height:10px}.status-dot--review{background:#dd8b00}.status-dot--confirmed{background:#25845d}.status-dot--failed{background:#c63b3b}.status-dot--processing{background:var(--brand)}.ocr-review.dialog-card--wide{flex-direction:column;width:min(1180px,100vw - 24px);max-height:calc(100vh - 30px);display:flex;overflow:hidden}.ocr-review__grid{grid-template-columns:minmax(320px,.85fr) minmax(430px,1.15fr);align-items:start;gap:1rem;min-height:0;padding-right:.2rem;display:grid;overflow:auto}.ocr-document{border:1px solid var(--border);background:#e9eaec;border-radius:12px;min-height:620px;overflow:hidden}.ocr-document iframe,.ocr-document img{object-fit:contain;border:0;width:100%;height:100%;min-height:620px}.ocr-document__fallback{min-height:620px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.7rem;display:grid}.ocr-document__fallback>svg{width:42px;height:42px}.ocr-fields{align-content:start;gap:1rem;min-width:0;display:grid}.ocr-fields details{border:1px solid var(--border);border-radius:10px;padding:.85rem}.ocr-fields summary{cursor:pointer;font-weight:700}.ocr-fields details>div{margin-top:.8rem}.form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.check-row{color:var(--ink);align-items:center;gap:.55rem;font-size:.85rem;display:flex}.ocr-proposals{gap:.75rem;display:grid}.ocr-proposals article{border:1px solid var(--border);background:#fafafa;border-radius:10px;padding:.8rem}.ocr-proposals textarea{resize:vertical;border:1px solid var(--border);width:100%;font:inherit;border-radius:8px;margin-top:.55rem;padding:.7rem;line-height:1.45}.ocr-proposals textarea:focus{border-color:var(--brand);outline:3px solid #da00661a}.ocr-processing{text-align:center;justify-items:center;gap:.7rem;padding:4rem 1rem;display:grid}.ocr-processing>svg{width:44px;height:44px;color:var(--brand)}.ocr-processing h3,.ocr-processing p{margin:0}.ocr-processing p{max-width:560px;color:var(--muted)}.ocr-review .form-actions{border-top:1px solid var(--border);background:#fff;flex:none;margin-top:.85rem;padding-top:.85rem}.spin{animation:1s linear infinite spin}.file-drop{color:var(--muted);text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #c6bdc1;border-radius:12px;justify-items:center;gap:.35rem;padding:2rem 1rem;display:grid;position:relative}.file-drop svg{color:var(--brand)}.file-drop strong{color:var(--ink)}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop--button{width:100%;font:inherit;cursor:pointer}.ocr-upload-files{gap:.5rem;display:grid}.ocr-upload-files article{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.6rem .7rem;display:grid}.ocr-upload-files article>svg{width:20px;color:var(--brand)}.ocr-upload-files strong,.ocr-upload-files small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ocr-upload-files small{color:var(--muted);margin-top:2px;font-size:.76rem}.attachment-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.report-builder,.report-preview{border:1px solid var(--border);background:#fff;border-radius:16px;gap:1rem;padding:1rem 1.1rem;display:grid}.report-filter-row{grid-template-columns:minmax(135px,.55fr) minmax(220px,1.25fr) minmax(170px,.85fr) minmax(160px,.75fr) auto;align-items:end;gap:.65rem;display:grid}.report-type-filter{max-width:170px}.report-filter-row .check-filter{white-space:nowrap;align-items:center;min-height:44px;margin:0}.section-title>svg{color:var(--brand)}.report-metrics,.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.report-metrics>div,.admin-metrics>div{background:#f7f7f8;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .65rem;padding:1rem;display:grid}.report-metrics svg,.admin-metrics svg{color:var(--brand);grid-row:1/3}.report-metrics strong,.admin-metrics strong{font-size:1.35rem}.report-metrics span,.admin-metrics span{color:var(--muted);font-size:.78rem}.status-breakdown{flex-wrap:wrap;gap:.5rem;display:flex}.status-breakdown>div{background:#f1f2f3;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.8rem;display:flex}.report-actions{border-top:1px solid var(--border);align-items:center;gap:.65rem;padding-top:1rem;display:flex}.report-actions>div{flex:1;gap:.2rem;display:grid}.report-actions>div span{color:var(--muted);font-size:.8rem}.admin-tabs button{align-items:center;gap:.45rem;display:inline-flex}.admin-tabs svg{width:17px}.admin-config-section{border:1px solid var(--border);background:#fafafa;border-radius:14px;gap:.9rem;padding:1rem;display:grid}.admin-config-section .section-title{margin-bottom:0}.admin-config-section .section-title h3{margin:0}.smtp-test-row{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:.65rem;display:grid}.smtp-test-row .button{min-height:48px}.admin-user-list{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.admin-user-list article{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto repeat(4,42px);align-items:center;gap:.7rem;padding:.85rem 1rem;display:grid}.admin-user-list article:last-child{border-bottom:0}.admin-user-list article.is-inactive{opacity:.58;background:#f7f7f7}.admin-user-list article>div{gap:.15rem;display:grid}.admin-user-list article>div span,.admin-user-list article>div small{color:var(--muted)}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.8rem;display:grid}.catalog-list{max-height:360px;display:grid;overflow:auto}.catalog-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 0;display:flex}.catalog-list>div.is-inactive{opacity:.62}.catalog-list span{gap:.1rem;display:grid}.catalog-list small{color:var(--muted);font-size:.72rem}.inline-create{gap:.5rem;margin-top:1rem;display:flex}.inline-create input,.inline-create select{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex:1;min-width:0;padding:0 .7rem}.inline-create--reason{flex-wrap:wrap}.inline-create--reason select{flex:0 8.5rem;min-height:42px}.button--full{justify-content:center;width:100%;margin-top:.75rem}.faculty-communication-controls{grid-template-columns:minmax(260px,420px) auto;align-items:end;gap:.9rem;margin-bottom:1rem;display:grid}.faculty-mail-button{white-space:nowrap;justify-self:start;width:max-content;min-height:40px;padding:.55rem .85rem}.email-preview{border:1px solid var(--border);background:#fafafa;border-radius:12px;gap:.55rem;padding:.75rem;display:grid}.email-preview>div{gap:.1rem;display:grid}.email-preview span{color:var(--brand);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.email-preview strong{font-size:.92rem}.email-preview iframe{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;height:360px}.communication-list{gap:.75rem;display:grid}.communication-list article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 0;display:flex}.communication-list article:last-child{border-bottom:0}.communication-list article>div:first-child{gap:.25rem;min-width:0;display:grid}.communication-list article>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.communication-list span,.communication-list small{color:var(--muted);font-size:.78rem}.communication-list p{background:#f6f7f7;border-radius:9px;align-items:flex-start;gap:.35rem;margin:.4rem 0 0;padding:.6rem .7rem;display:flex}.communication-list p svg{width:15px;color:var(--brand);flex:none}.android-release-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:start;gap:1rem;display:grid}.release-list{gap:.35rem;display:grid}.release-list article{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem 0;display:grid}.release-list article.is-inactive{opacity:.58}.release-list article>svg{color:var(--brand)}.release-list article>div{gap:.15rem;min-width:0;display:grid}.release-list span,.release-list small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}@media (max-width:900px){.android-release-grid{grid-template-columns:1fr}}.configuration-form{gap:1.2rem;display:grid}.event-settings,.role-picker{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.8rem 1.2rem;padding:1rem;display:flex}.event-settings legend,.role-picker legend{padding:0 .35rem;font-weight:700}.system-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.system-grid article{border:1px solid var(--border);background:#fff;border-radius:12px;gap:.35rem;padding:1rem;display:grid}.system-grid svg{color:var(--brand)}.system-grid span{color:var(--muted);font-size:.82rem}.audit-list{display:grid}.audit-list>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.7rem 0;display:flex}.audit-list span{color:var(--muted);font-size:.8rem}.dialog-card--small{width:min(480px,100vw - 24px)}@media (max-width:1050px){.incident-row{grid-template-columns:120px minmax(0,1fr) 100px repeat(4,32px) 180px 14px;gap:.45rem}.incident-row .wait-label{display:none}.ocr-review.dialog-card--wide{width:min(980px,100vw - 24px)}.ocr-review__grid{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);min-height:520px}.ocr-document,.ocr-document iframe,.ocr-document img,.ocr-document__fallback{min-height:520px}.appointment-calendar-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.collapsible-filters{border:1px solid var(--border);background:#fff;border-radius:14px;display:block}.collapsible-filters__toggle{width:100%;min-height:46px;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;font-weight:800;display:flex}.collapsible-filters__toggle>span{align-items:center;gap:.55rem;display:inline-flex}.collapsible-filters__toggle svg{width:18px;height:18px;color:var(--brand)}.collapsible-filters__toggle small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.76rem;font-weight:700;overflow:hidden}.collapsible-filters__toggle em{min-width:22px;color:var(--brand);text-align:center;white-space:nowrap;background:#fff0f6;border-radius:999px;flex:none;padding:.18rem .45rem;font-size:.76rem;font-style:normal}.collapsible-filters__chevron{transition:transform .18s}.collapsible-filters.is-open .collapsible-filters__chevron{transform:rotate(180deg)}.collapsible-filters__body{padding:0 .75rem .75rem;display:none}.collapsible-filters.is-open .collapsible-filters__body{display:block}.collapsible-filters__body>.toolbar-card,.collapsible-filters__body>.filter-bar,.collapsible-filters__body>.advanced-filters,.collapsible-filters__body>.appointment-filters,.collapsible-filters__body>.ocr-toolbar{box-shadow:none;border:0;border-radius:0;padding:.25rem 0 0}.toolbar-card{flex-direction:column;align-items:stretch}.status-filter{flex-wrap:wrap}.metric-strip{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid;overflow:visible}.metric-strip>div{background:#fff;border:1px solid #ece7ea;border-radius:999px;justify-content:center;gap:.32rem;min-width:0;min-height:36px;padding:.38rem .35rem;box-shadow:0 6px 18px #2421240d}.metric-strip svg{flex:none;width:15px;height:15px}.metric-strip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.68rem;line-height:1;overflow:hidden}.metric-strip strong{margin-right:.12rem;font-size:.88rem}.metric-label--wide{display:none}.metric-label--compact{display:inline}.filter-bar,.advanced-filters{grid-template-columns:1fr;display:grid;overflow-x:visible}.appointment-filters{grid-template-columns:1fr;display:grid}.appointment-view-switch{width:100%}.appointment-view-switch button{flex:1 0 auto}.appointment-calendar-toolbar{grid-template-columns:1fr auto;min-width:0}.appointment-calendar-toolbar>div{grid-area:1/1}.appointment-calendar-toolbar>strong{text-align:left;grid-area:2/1/auto/-1}.appointment-calendar-toolbar>.button{grid-area:1/2}.appointment-month-calendar{min-width:680px}.appointment-calendar-panel{overflow-x:auto}.appointment-month-day{min-height:104px}.appointment-unscheduled--collapsible>summary{cursor:pointer;border-bottom:0}.appointment-unscheduled--collapsible[open]>summary{border-bottom:1px solid var(--border)}.appointment-agenda{padding:9px}.appointment-agenda-row{grid-template-columns:46px minmax(0,1fr) 16px}.appointment-agenda-row>em{grid-area:2/2;width:max-content;max-width:100%}.appointment-agenda-row>svg{grid-area:1/3/3}.appointment-quick-view__facts{grid-template-columns:minmax(0,1fr)}.search-field{grid-column:auto}.compact-filter select{width:100%;max-width:none}.incident-list{background:0 0;border:0;border-radius:0;gap:.55rem;display:grid;overflow:visible}.incident-select-row{background:#fff;border:1px solid #ece7ea;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 8px 24px #2421240f}.incident-select-row:nth-child(2n){background:#fffafd}.incident-select-row:before{background:var(--brand);content:"";opacity:.78;width:4px;position:absolute;top:0;bottom:0;left:0;right:auto}.incident-select-row--active{padding-left:.85rem}.incident-select-row>input{margin-left:.15rem}.incident-row{border-bottom:0;grid-template-columns:minmax(0,1fr) repeat(4,30px) 16px;gap:.35rem .4rem;min-height:0;padding:.72rem .7rem .72rem .85rem}.incident-row__code{grid-area:1/1/auto/2;gap:.1rem}.incident-row__main{grid-area:2/1/auto/-1;gap:.12rem}.incident-row__code strong{font-size:.86rem}.incident-row__code span{display:none}.incident-row__code small{font-size:.68rem}.incident-row__main strong{font-size:.92rem}.incident-row__main span{font-size:.74rem}.incident-row .priority-dot,.incident-row .category-dot{grid-area:3/1/auto/3;align-self:center;width:auto;max-width:48vw;font-size:.72rem}.incident-row .notes-label,.incident-row .budget-label,.incident-row .wait-label,.incident-row .appointment-label{border-radius:9px;width:30px;height:30px}.incident-row .notes-label{grid-area:1/2;justify-self:end}.incident-row .budget-label{grid-area:1/3;justify-self:end}.incident-row .wait-label{grid-area:1/4;justify-self:end;display:inline-grid}.incident-row .appointment-label{grid-area:1/5;justify-self:end}.incident-row .notes-label svg,.incident-row .budget-label svg,.incident-row .wait-label svg,.incident-row .appointment-label svg{width:15px}.incident-row>.status-badge{grid-area:3/3/auto/6;justify-self:end;width:auto;max-width:100%;min-height:24px;padding:2px 8px;font-size:.66rem}.incident-row>svg{grid-area:1/6;justify-self:end;width:15px}.incident-hero{flex-direction:column}.action-ribbon{flex-direction:column;align-items:stretch}.action-ribbon__buttons{justify-content:stretch;display:grid}.incident-detail-grid{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr 1fr}.wait-row{flex-wrap:wrap;align-items:flex-start}.wait-row .button{margin-left:1.75rem}.appointment-summary{flex-wrap:wrap;align-items:flex-start}.appointment-summary .compact-filter{flex:160px}.appointment-card{grid-template-columns:70px 1fr;align-items:start}.appointment-card>.compact-filter{grid-column:1/-1}.appointment-incident-row{grid-template-columns:auto minmax(0,1fr)}.appointment-incident-row em{grid-column:2}.home-work-grid{grid-template-columns:1fr}.home-appointment-panel--collapsible>summary{cursor:pointer;border-bottom:0}.home-appointment-panel--collapsible[open]>summary{border-bottom:1px solid var(--border)}.home-appointment-panel__body{padding:10px}.home-appointment-panel__intro{align-items:flex-start}.home-appointment-list>a{grid-template-columns:72px minmax(0,1fr) 14px;gap:8px;padding:8px}.ocr-summary{flex-wrap:wrap;align-items:flex-start}.ocr-summary p{width:100%}.ocr-summary__upload{flex:150px;justify-content:center;display:inline-flex}.ocr-review__grid{grid-template-columns:1fr}.ocr-document,.ocr-document iframe,.ocr-document img,.ocr-document__fallback{min-height:420px}.ocr-review.dialog-card--wide{width:min(100%,100vw - 16px);max-height:calc(100vh - 16px);padding:18px}.image-lightbox figcaption{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);font-size:.72rem}.image-lightbox__nav{display:none}.photo-editor__tools{grid-template-columns:1fr}.photo-editor__group{justify-content:center}.photo-editor__actions{grid-template-columns:1fr 1fr;display:grid}.photo-editor .photo-annotation-stage img{max-height:calc(100dvh - 220px)}.form-grid--four{grid-template-columns:1fr 1fr}.report-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics,.admin-metrics{grid-template-columns:1fr}.report-actions{flex-direction:column;align-items:stretch}.report-actions .button{width:100%}.catalog-grid,.system-grid{grid-template-columns:1fr}.admin-user-list article{grid-template-columns:auto 1fr repeat(4,42px)}.admin-user-list article>.status-badge{grid-column:2;justify-self:start}.admin-user-list article>.icon-button{grid-row:1/3}.admin-tabs{overflow-x:auto}}@media (max-width:900px){.incident-create-main-fields,.report-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-create-main-fields>.location-select-row{grid-column:1/-1}.incident-create-main-fields>*,.report-filter-row>*,.advanced-filters>*{min-width:0}}@media (max-width:650px){.page-container,.page-stack,.form-card,.report-builder,.report-preview,.collapsible-filters,.collapsible-filters__body{min-width:0;max-width:100%}.form-grid--two,.form-grid--three,.form-grid--four,.incident-create-main-fields,.report-filter-row,.inline-form,.space-create-form,.location-quick-create,.faculty-form,.smtp-test-row,.faculty-communication-controls{grid-template-columns:minmax(0,1fr)}.incident-create-main-fields>.location-select-row{grid-column:auto}.field,.location-select-row,.compact-filter,.report-filter-row>*,.advanced-filters>*,.field input,.field select,.field textarea,.compact-filter select{min-width:0;max-width:100%}.incident-create-form{gap:1.15rem;padding:22px 18px}.report-filter-row .button,.advanced-filters .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
