@font-face{font-family:"Khmer OS Siemreap";src:url('/static/assets/fonts/KhmerOSSiemreap.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
@font-face{font-family:"Khmer OS Koulen";src:url('/static/assets/fonts/KhmerOSKoulen.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
:root{--body-font:"Khmer OS Siemreap","Segoe UI",sans-serif;--heading-font:"Khmer OS Koulen","Segoe UI",sans-serif;--surface:oklch(99% .004 255);--surface-soft:oklch(97% .008 255);--ink:oklch(28% .038 258);--muted:oklch(48% .035 256);--line:oklch(89% .018 255);--blue:oklch(51% .19 263);font-family:var(--body-font);font-synthesis:none;color:var(--ink);background:var(--surface-soft)}
body,button,input,select,textarea{font-family:var(--body-font)}body{line-height:1.65}h1,h2,h3,h4,.kicker{font-family:var(--heading-font);font-synthesis:none;letter-spacing:0}h1{font-size:29px}h2{font-size:22px}h3{font-size:17px}.card,dialog,.modal-head{background:var(--surface)}
html[lang=km] h1,html[lang=km] h2,html[lang=km] h3,html[lang=km] h4,html[lang=km] .kicker{font-weight:400;line-height:1.7}html[lang=km] h1{font-size:28px}html[lang=km] h2{font-size:22px}html[lang=km] h3{font-size:18px}html[lang=km] button,html[lang=km] label,html[lang=km] input,html[lang=km] select,html[lang=km] textarea{font-weight:400;line-height:1.85}html[lang=km] .kicker,html[lang=km] th{letter-spacing:0}html[lang=km] .modal-head h2{font-size:22px}.head p,.notice,.request-guidance,.event-help{max-width:75ch}
.ui-icon{display:inline-block;width:19px;height:19px;flex:0 0 auto;vertical-align:-.18em;pointer-events:none}.small .ui-icon,.badge .ui-icon{width:15px;height:15px}.badge{gap:4px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}
button,.button,input,select,textarea,a{transition:background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out,box-shadow 160ms ease-out}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:disabled{cursor:not-allowed}button:active:not(:disabled),.button:active{background:oklch(93% .026 255)}button.primary:active:not(:disabled){background:oklch(45% .17 263)}
.topbar{gap:22px;background:oklch(27% .055 259);min-height:72px;height:72px}.topbar nav a,.sidebar a{display:inline-flex;align-items:center;gap:8px;min-height:42px}.topbar nav a:hover,.sidebar a:hover{background:oklch(36% .058 259);color:oklch(98% .007 255)}.topbar nav a.active,.sidebar a.active{background:oklch(46% .125 264)}.sidebar a{display:flex}.topbar .row{gap:8px}.topbar button,.topbar select{background:oklch(32% .052 259);border-color:oklch(43% .047 258);min-height:38px}.topbar button:hover{background:oklch(39% .055 259);border-color:oklch(60% .06 258)}.topbar .account-button{border-radius:50%;padding:2px;min-width:40px;height:40px}.topbar .account-button .avatar{background:oklch(90% .055 256);color:oklch(32% .07 261)}.topbar .notification-bell{position:relative;min-width:40px;height:40px;padding:8px}.notification-bell>.ui-icon{width:21px;height:21px}.notification-count{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;line-height:16px;border-radius:10px;background:oklch(53% .19 25);color:oklch(99% .003 255);border:1.5px solid var(--navy);padding:0 4px;font-family:"Segoe UI",sans-serif;font-size:10px;font-weight:700}.topbar .language-button{min-width:43px}.avatar{overflow:hidden;background:oklch(93% .025 256);color:oklch(42% .13 259)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.layout{min-height:calc(100vh - 72px)}.sidebar{top:72px;height:calc(100vh - 72px)}
.field-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.field-label>label{margin:0}.help-trigger{padding:3px;min-width:25px;min-height:25px;border:0;background:transparent;color:var(--muted);border-radius:50%;flex:0 0 auto}.help-trigger .ui-icon{width:16px;height:16px}.help-trigger:hover,.help-trigger:focus-visible{background:oklch(93% .023 257);color:var(--blue)}.ui-tooltip{position:fixed;z-index:1000;max-width:min(340px,calc(100vw - 20px));padding:12px 15px;background:oklch(27% .04 257);color:oklch(98% .008 255);border:1px solid oklch(40% .04 257);border-radius:8px;box-shadow:0 5px 18px oklch(20% .02 255 / .15);font-family:var(--body-font);font-size:13px;font-weight:400;line-height:1.8;overflow-wrap:anywhere;text-align:left;cursor:default}
.profile-photo-panel{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;padding:25px 0;margin-top:22px;border-top:1px solid var(--line)}.profile-photo-preview{width:112px;height:112px;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:var(--surface-soft)}.profile-photo-preview>.avatar{width:100%;height:100%;font-size:29px}.profile-photo-preview>img{width:100%;height:100%;object-fit:cover;display:block}.profile-photo-controls h3{margin-bottom:4px}.profile-photo-controls p{font-size:12px;color:var(--muted);line-height:1.8}.profile-photo-controls label{cursor:pointer}.profile-photo-controls #profile-photo-name{display:block;overflow-wrap:anywhere;font-size:12px}.profile-photo-controls .profile-photo-help{font-size:12px}.profile-photo-controls .form-error{color:oklch(45% .16 25)}.profile-photo-controls:focus-within{outline-offset:5px}
.notification-tabs{border:0;padding:0}.notification-item{width:100%;justify-content:flex-start;text-align:left;padding:17px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;font-weight:400;background:transparent;gap:12px}.notification-item strong{font-size:13px;font-weight:600;display:block;line-height:1.8}.notification-item small{display:block;margin-top:4px}.notification-item.unread{background:oklch(97% .016 259)}.notification-symbol{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--blue);background:oklch(94% .028 256);flex-shrink:0}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);flex-shrink:0}.notification-item>.ui-icon{width:16px;height:16px;color:var(--muted)}
@media(max-width:1100px){.topbar{gap:12px}.topbar nav a{padding:8px;gap:6px}.topbar nav a .ui-icon{width:17px;height:17px}.topbar .nav-mode{max-width:98px}}
@media(max-width:760px){.topbar{height:auto;min-height:72px;padding:10px 12px;gap:8px}.topbar .row{gap:6px}.topbar nav{gap:4px}.topbar nav a{min-height:42px}.topbar .topbar-submit{font-size:11px;padding:6px}.topbar .topbar-submit .ui-icon{width:16px;height:16px}.topbar .brand{font-size:12px;gap:7px}.topbar .brand img{width:28px;height:28px}.topbar .account-button,.topbar .notification-bell{width:36px;min-width:36px;height:36px;min-height:36px}.topbar .account-button .avatar{width:28px;height:28px}.topbar .language-button{min-width:34px;font-size:10px;padding:4px 6px}.profile-photo-panel{grid-template-columns:80px minmax(0,1fr);gap:16px}.profile-photo-preview{width:80px;height:80px}.profile-photo-controls .row{gap:7px}.profile-photo-controls button{font-size:12px;padding:8px}.notification-item{gap:8px;padding:14px 5px}.notification-symbol{width:30px;height:30px}.ui-tooltip{font-size:13px}html[lang=km] .topbar nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){button,.button,input,select,textarea,a{transition:none}}

.profile-photo-controls label:has(+input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:420px){.topbar nav a{padding:7px 6px;gap:5px}html[lang=km] .topbar nav a{font-size:11px}}
