._button_5xuvj_1{font:inherit;color:#3b0062;cursor:pointer;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #3b0062;padding:.5em 1em;text-decoration:none}._button_5xuvj_1._smaller_5xuvj_13{border-radius:.25em;min-width:2.5rem;padding:.25em .5em;font-size:smaller}._button_5xuvj_1._small_5xuvj_13{border-radius:.25em;min-width:2.5rem;padding:.25em .5em;font-size:small}._button_5xuvj_1:focus{outline:none}._button_5xuvj_1:disabled{color:#888;cursor:not-allowed;box-shadow:none;background:#ccc;border:#ccc}._button_5xuvj_1:disabled:hover,._button_5xuvj_1:disabled:active{color:#888;background:#ccc;border:#ccc}._button_5xuvj_1:hover,._button_5xuvj_1:active{color:#fff;background:#3b0062}._button--flat_5xuvj_52{border:none}._button--flat_5xuvj_52:hover,._button--flat_5xuvj_52:active{color:#fff;background:#3b00624d}._button--raised_5xuvj_62{color:#fff;background:#3b0062;box-shadow:0 1px 8px #00000042}._button--raised_5xuvj_62:hover,._button--raised_5xuvj_62:active{background:#520288}._button_5xuvj_1._button--accent_5xuvj_73{color:#fab83f;border-color:#fab83f}._button--accent_5xuvj_73:hover,._button--accent_5xuvj_73:active{color:#3b0062;background:#fab83f}._button--flat_5xuvj_52._button--accent_5xuvj_73:hover,._button--flat_5xuvj_52._button--accent_5xuvj_73:active{color:#fab83f;background:#fab83f4d}._button_5xuvj_1._button--accent_5xuvj_73._button--raised_5xuvj_62{color:#3b0062;background:#fab83f}._button--raised_5xuvj_62._button--accent_5xuvj_73:hover,._button--raised_5xuvj_62._button--accent_5xuvj_73:active{background:#fbc766}._button_5xuvj_1._button--danger_5xuvj_100{color:#a30000;border-color:#a30000}._button--danger_5xuvj_100:hover,._button--danger_5xuvj_100:active{color:#fff;background:#a30000}._button--flat_5xuvj_52._button--danger_5xuvj_100:hover,._button--flat_5xuvj_52._button--danger_5xuvj_100:active{color:#a30000;background:#a300004d}._button_5xuvj_1._button--danger_5xuvj_100._button--raised_5xuvj_62{color:#fff;background:#a30000}._button--raised_5xuvj_62._button--danger_5xuvj_100:hover,._button--raised_5xuvj_62._button--danger_5xuvj_100:active{background:#c00000}._button_5xuvj_1._button--success_5xuvj_127{color:#00b359;border-color:#00b359}._button--success_5xuvj_127:hover,._button--success_5xuvj_127:active{color:#fff;background:#00b359}._button--flat_5xuvj_52._button--success_5xuvj_127:hover,._button--flat_5xuvj_52._button--success_5xuvj_127:active{color:#00b359;background:#00b35a4d}._button_5xuvj_1._button--success_5xuvj_127._button--raised_5xuvj_62{color:#fff;background:#00b359}._button--raised_5xuvj_62._button--success_5xuvj_127:hover,._button--raised_5xuvj_62._button--success_5xuvj_127:active{background:#00a151}._loading-div-container_c5c09_1{justify-content:center;align-items:center;width:100%;height:100%;min-height:100px;display:flex}._loading-div-text_c5c09_10{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(270deg,#ff6ec4,#7873f5,#4ade80,#facc15) 0 0/800% 800%;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;animation:5s infinite _gradient-shift_c5c09_1;position:relative}._loading-div-text_c5c09_10:after{content:" ";animation:2s steps(4,end) infinite _change-content_c5c09_1}._spinnerOverlay_c5c09_27{z-index:9999;background-color:#000c;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._spinner_c5c09_27{justify-content:center;align-items:center;width:6rem;height:6rem;margin-bottom:1.5rem;display:flex;position:relative}._spinner_c5c09_27:before,._spinner_c5c09_27:after{box-sizing:border-box;content:"";border:1rem solid #0000;border-radius:50%;position:absolute;inset:0}._spinner_c5c09_27:before{border-color:#f3f3f3}._spinner_c5c09_27:after{border-top-color:#3498db;animation:4s linear infinite _spin_c5c09_27}._spinnerText_c5c09_67{color:#fff;font-size:1.5rem;animation:2s infinite _glow_c5c09_1;position:relative}._loadingDots_c5c09_74:after{content:" ";animation:4s steps(4,end) infinite _change-content_c5c09_1;position:absolute}@keyframes _gradient-shift_c5c09_1{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes _spin_c5c09_27{0%{transform:rotate(0);box-shadow:0 0 1rem #3498db}50%{transform:rotate(180deg);box-shadow:0 0 2rem #3498db}to{transform:rotate(360deg);box-shadow:0 0 1rem #3498db}}@keyframes _glow_c5c09_1{0%{color:#ffffff80;transform:translate(0)}50%{color:#fff}to{color:#ffffff80;transform:translate(2.5px)}}@keyframes _change-content_c5c09_1{0%{content:""}30%{content:"."}60%{content:".."}to{content:"..."}}:root{--bg:#f4f7f8;--surface:#fff;--surface-soft:#f7faf9;--line:#dfe8e5;--text:#15251f;--muted:#667b73;--brand:#087e67;--brand-dark:#056451;--brand-soft:#e5f4f0;--warning-soft:#fff7e6;--warning:#a96700;--shadow:0 10px 30px #122f280d;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Pretendard,Noto Sans KR,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,dl{margin:0}.system-settings-table{table-layout:fixed}.system-settings-table th:first-child,.system-settings-table td:first-child{text-align:left;width:auto}.system-settings-table th:nth-child(2),.system-settings-table td:nth-child(2),.system-settings-table th:nth-child(3),.system-settings-table td:nth-child(3){width:130px}.system-settings-table th:nth-child(4),.system-settings-table td:nth-child(4),.system-settings-table th:nth-child(5),.system-settings-table td:nth-child(5){width:116px}.system-settings-table td:first-child strong,.system-settings-table td:first-child small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.system-settings-table td:first-child strong{color:var(--text);font-size:14px;font-weight:900}.system-settings-table td:first-child small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700}.system-settings-sort-button{justify-content:center;width:100%}.system-settings-table th:first-child .system-settings-sort-button{justify-content:flex-start}.system-settings-status,.system-settings-auth{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.system-settings-status.is-joined{color:#047857;background:#dff8ed}.system-settings-status.is-not-joined{color:#64748b;background:#eef2f7}.system-settings-auth{color:var(--brand-dark);background:var(--brand-soft)}.system-settings-action-button{width:92px;height:36px;color:var(--brand-dark);cursor:pointer;font:inherit;white-space:nowrap;background:#fff;border:1px solid #087e6742;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.system-settings-action-button:hover:not(:disabled){border-color:var(--brand);color:#fff;background:var(--brand)}.system-settings-action-button.is-joined{color:#6b7280;background:#e5e7eb;border-color:#d1d5db}.system-settings-action-button--move{color:#4c1d95;background:#ede9fec2;border-color:#604aff57}.system-settings-action-button--move:hover:not(:disabled){background:#1d6fe8;border-color:#2563eb}.system-settings-action-button:disabled{cursor:not-allowed;opacity:.62}.system-settings-action-button .material-symbols-outlined{font-size:17px;line-height:1}.system-user-settings{width:100%;min-width:0;color:var(--text);flex-direction:column;gap:20px;padding:0;display:flex}.system-user-settings__header{justify-content:flex-end;align-items:center;gap:16px;padding:2px 0 4px;display:flex}.system-user-settings__header h2{color:var(--text);margin:0;font-size:22px;font-weight:800;line-height:1.2}.system-user-settings__header p,.system-user-settings__state{color:var(--muted);margin:5px 0 0;font-size:13px;font-weight:600}.system-user-settings__actions{flex:none;align-items:center;gap:8px;display:inline-flex}.system-user-settings__actions button{border:1px solid var(--line);min-height:38px;color:var(--brand-dark);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:14px;font-weight:750;display:inline-flex}.system-user-settings__actions button.primary{border-color:var(--brand);color:#fff;background:var(--brand)}.system-user-settings__actions button:disabled{cursor:not-allowed;opacity:.48}.system-user-settings__actions .material-symbols-outlined{font-size:18px}.system-user-settings__sections{gap:22px;min-width:0;display:grid}.system-user-settings__group{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;gap:14px;min-width:0;padding:18px;display:grid}.system-user-settings__group-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:12px;display:flex}.system-user-settings__group-header h3{color:var(--brand-dark);margin:0;font-size:18px;font-weight:800}.system-user-settings__group-header p{color:var(--muted);text-align:right;margin:0 0 0 auto;font-size:13px;line-height:1.5}.system-user-settings__group-sections{gap:12px;min-width:0;display:grid}.system-user-settings__group--common .system-user-settings__group-sections{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.system-user-settings__group--common .system-setting-section--realtime{grid-column:1/-1}.system-user-settings__group--smart .system-user-settings__group-sections,.system-user-settings__group--aqua .system-user-settings__group-sections{grid-template-columns:1fr}.system-setting-section{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:12px;min-width:0;padding:14px;display:grid;box-shadow:0 4px 14px #122f280d}.system-setting-section>header{align-items:center;gap:8px;display:inline-flex}.system-setting-section>header .material-symbols-outlined{width:30px;height:30px;color:var(--brand-dark);background:var(--brand-soft);border-radius:8px;place-items:center;font-size:20px;display:grid}.system-setting-section h4{color:var(--text);margin:0;font-size:16px;font-weight:800;line-height:1.2}.system-setting-realtime-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:10px;min-width:0;padding:12px;display:grid}.system-setting-realtime-panel--split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.system-setting-realtime-column{border:1px solid var(--line);background:#fff;border-radius:12px;align-content:start;gap:12px;min-width:0;padding:12px;display:grid}.system-setting-realtime-column__body{gap:10px;min-width:0;display:grid}.system-setting-section__bulk-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.system-setting-section__bulk-actions button{border:1px solid var(--line);height:32px;color:var(--brand-dark);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:0 12px;font-size:13px;font-weight:800}.system-setting-section__bulk-actions button[aria-pressed=true]{border-color:var(--brand);color:#fff;background:var(--brand)}.system-setting-section__bulk-actions button:disabled{cursor:default;opacity:.72}.system-setting-realtime-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;min-width:0;display:grid}.system-setting-realtime-grid--stack{grid-template-columns:minmax(0,1fr)}.system-setting-realtime-group{border:1px solid var(--line);background:#ffffffb8;border-radius:10px;gap:10px;min-width:0;padding:12px;display:grid}.system-setting-realtime-group__header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.system-setting-realtime-group__header h5{color:var(--text);margin:0;font-size:14px;font-weight:800;line-height:1.35}.system-setting-realtime-group__header .system-setting-section__bulk-actions{justify-content:flex-end}.system-setting-realtime-item{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:54px;padding:10px 12px;display:flex}.system-setting-realtime-item:has(.system-setting-toggle:disabled){opacity:.72;background:#f8fbfa}.system-setting-realtime-item strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;line-height:1.35;overflow:hidden}@media (width<=900px){.system-setting-realtime-panel--split{grid-template-columns:minmax(0,1fr)}}.system-setting-section__grid{grid-template-columns:1fr;gap:14px;min-width:0;display:grid}.system-user-settings__group--smart .system-setting-section--map .system-setting-section__grid,.system-user-settings__group--smart .system-setting-section--sidebar .system-setting-section__grid,.system-user-settings__group--smart .system-setting-section--manage .system-setting-section__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.system-user-settings__group--aqua .system-setting-section--map .system-setting-section__grid,.system-user-settings__group--aqua .system-setting-section--sidebar .system-setting-section__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.system-setting-field{min-width:0;color:var(--text);gap:8px;font-size:14px;font-weight:750;display:grid}.system-setting-field--toggle{align-content:start}.system-setting-field__label{justify-content:space-between;align-items:center;gap:9px;min-width:0;display:flex}.system-setting-field__label strong{word-break:keep-all;flex:auto;min-width:0;line-height:1.35}.system-setting-field input,.system-setting-field select{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);font:inherit;background:#fff;border-radius:8px;outline:none;padding:0 10px;font-size:14px}.system-setting-field select{appearance:auto}.system-setting-field input:focus,.system-setting-field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #087e671f}.system-setting-number{grid-template-columns:minmax(64px,.35fr) minmax(92px,1fr);align-items:center;gap:6px 10px;display:grid}.system-setting-number input[type=range]{height:16px;accent-color:var(--brand);background:0 0;border:0;padding:0}.system-setting-number small{color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:700;line-height:1.35}.system-setting-toggle-row{min-height:36px;color:var(--muted);justify-content:flex-start;align-items:center;gap:8px;font-size:14px;font-weight:750;display:inline-flex}.system-setting-toggle{cursor:pointer;background:#cbd7d3;border:0;border-radius:999px;width:42px;height:24px;padding:0;position:relative}.system-setting-toggle:disabled{cursor:not-allowed}.system-setting-toggle span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000042}.system-setting-toggle.on{background:var(--brand)}.system-setting-toggle.on span{transform:translate(18px)}@media (width<=1180px){.system-user-settings__group--smart .system-user-settings__group-sections,.system-user-settings__group--aqua .system-user-settings__group-sections,.system-user-settings__group--common .system-user-settings__group-sections,.system-user-settings__group-sections{grid-template-columns:1fr}.system-user-settings__group--smart .system-setting-section--manage .system-setting-section__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.system-user-settings__header{justify-content:flex-end}.system-user-settings__group{padding:16px}.system-setting-section__grid,.system-user-settings__group--smart .system-setting-section--map .system-setting-section__grid,.system-user-settings__group--aqua .system-setting-section--map .system-setting-section__grid,.system-user-settings__group--smart .system-setting-section--sidebar .system-setting-section__grid,.system-user-settings__group--aqua .system-setting-section--sidebar .system-setting-section__grid,.system-user-settings__group--smart .system-setting-section--manage .system-setting-section__grid{grid-template-columns:1fr}}.main-layout{min-height:100vh}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700}.page{max-width:1200px;margin:0 auto;padding:36px clamp(24px,4vw,44px) 44px}.page--fluid{width:100%;max-width:none}.stack{flex-direction:column;gap:22px;display:flex}.page-heading h1{letter-spacing:-.055em;margin:9px 0;font-size:30px}.page-heading>p:last-child{color:var(--muted)}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:0 19px;font-size:14px;font-weight:650;transition:background .16s,border-color .16s;display:inline-flex}.button--primary{color:#fff;background:var(--brand)}.button--primary:hover{background:var(--brand-dark)}.button--secondary{border-color:var(--line);color:var(--brand-dark);background:var(--surface)}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:25px}.panel__heading{justify-content:space-between;align-items:start;gap:18px;margin-bottom:22px;display:flex}.panel__heading h2{letter-spacing:-.04em;margin-bottom:7px;font-size:20px}.panel__heading p{color:var(--muted);font-size:14px}.notice{background:var(--brand-soft);border:1px solid #cfe8e1;border-radius:14px;align-items:center;gap:18px;padding:17px 22px;display:flex}.notice strong{color:var(--brand-dark);flex:none;font-size:14px}.notice p{color:#47655b;font-size:14px}.notice code{color:var(--brand-dark);margin:0 4px;font-weight:600}.search-field{margin-bottom:14px;display:block;position:relative}.search-field svg{fill:none;width:19px;height:19px;stroke:var(--muted);stroke-linecap:round;stroke-width:2px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.search-field input{border:1px solid var(--line);width:100%;height:48px;color:var(--text);background:var(--surface-soft);border-radius:11px;outline:none;padding:0 16px 0 45px}.search-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #087e671f}.results-count{color:var(--muted);margin-bottom:16px;font-size:13px}.user-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.user-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:17px}.user-card__title{border-bottom:1px solid #edf2f0;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:15px;display:grid}.avatar{width:43px;height:43px;color:var(--brand-dark);background:var(--brand-soft);border-radius:50%;place-items:center;font-weight:700;display:grid}.user-card h3{margin-bottom:4px;font-size:15px}.user-card__title p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.status{color:var(--brand-dark);background:var(--brand-soft);border-radius:99px;padding:5px 8px;font-size:11px;font-weight:650}.status--invited{color:var(--warning);background:var(--warning-soft)}.status--inactive{color:var(--muted);background:#eef1f0}.user-card__detail{flex-direction:column;gap:11px;padding-top:14px;display:flex}.user-card__detail div{justify-content:space-between;gap:10px;font-size:13px;display:flex}.user-card dt{color:var(--muted)}.user-card dd{text-align:right;font-weight:550}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:34px 20px}.migration-panel h2{margin-bottom:12px}.migration-panel p{color:var(--muted);line-height:1.7}.gx-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}.page-menu{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;position:sticky;overflow:hidden}.page-menu__title{border-bottom:1px solid var(--line);background:var(--brand-soft);padding:20px 20px 17px}.page-menu__title h2{color:var(--brand-dark);letter-spacing:-.04em;font-size:19px}.accordion{padding:10px;list-style:none}.accordion-item+.accordion-item{margin-top:6px}.page-menu-direct-item .accordion-item-content-list a{color:var(--text);padding:12px;font-size:14px;font-weight:750}.accordion-item-title{margin:0}.accordion-title-button{width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;font-size:14px;font-weight:750;display:flex}.accordion-title-button:after{color:var(--muted);content:"expand_more";font-family:Material Symbols Outlined;font-size:20px;font-weight:400;transition:transform .16s}.accordion-title-button[aria-expanded=true]{color:var(--brand-dark);background:var(--brand-soft)}.accordion-title-button[aria-expanded=true]:after{transform:rotate(180deg)}.accordion-item-content{gap:4px;padding:4px 0 8px;display:grid}.accordion-item-content.close{display:none}.accordion-item-content-list a{color:var(--muted);border-radius:9px;padding:9px 12px 9px 18px;font-size:13px;font-weight:600;display:block}.accordion-item-content-list.active a,.accordion-item-content-list a:hover{color:var(--brand-dark);background:#087e6717}.page-content{min-width:0}.page-content-header{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:20px 24px;display:flex}.page-content-header .icon{width:42px;height:42px;color:var(--brand-dark);background:var(--brand-soft);border-radius:12px;flex:none;place-items:center;display:grid}.page-content-header__text{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.page-content-header h1{letter-spacing:-.05em;white-space:nowrap;font-size:25px}.page-content-header__description{color:var(--muted);text-align:right;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;font-size:14px;font-weight:600;line-height:1.45;display:inline-flex}.page-content-header__meta{border-left:1px solid var(--line);color:#0f6bdc;white-space:nowrap;padding-left:12px}.page-body{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:24px}.page-body .form-actions{margin-top:18px}.admin-toolbar.user-project-toolbar{grid-template-columns:minmax(180px,220px) minmax(420px,1fr) auto;align-items:end;gap:14px;width:100%;display:grid}.admin-toolbar .user-project-toolbar__system{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-toolbar .user-project-toolbar__system span,.admin-toolbar .user-project-join-inline label{color:var(--muted);font-size:13px;font-weight:800}.admin-toolbar .user-project-toolbar__system strong{border:1px solid var(--line);height:36px;color:var(--text);background:#f8fcfb;border-radius:10px;align-items:center;padding:0 14px;font-size:14px;font-weight:850;display:flex}.admin-toolbar .user-project-join-inline{grid-template-columns:minmax(260px,1fr) minmax(120px,auto);align-items:end;gap:12px;min-width:0;display:grid}.admin-toolbar .user-project-join-inline label{white-space:normal;flex-direction:column;align-items:stretch;gap:6px;min-width:0;display:flex}.admin-toolbar .user-project-join-inline input{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);font:inherit;background:#fbfefd;border-radius:10px;padding:0 12px;font-weight:750}.admin-toolbar.user-project-toolbar .gms-action-button{white-space:nowrap;height:36px}.user-project-join-button{min-width:132px;box-shadow:0 10px 22px #0f6bdc2e;color:#fff!important;background:#0f6bdc!important;border-color:#0f6bdc!important}.user-project-join-button:hover:not(:disabled){background:#0b58c2!important;border-color:#0b58c2!important}.user-project-join-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.user-project-join-button .material-symbols-outlined{font-size:18px}@media (width<=1080px){.admin-toolbar.user-project-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-toolbar .user-project-join-inline{grid-template-columns:minmax(0,1fr) auto}}@media (width<=640px){.admin-toolbar .user-project-join-inline{grid-template-columns:minmax(0,1fr)}}.user-info-page{flex-direction:column;gap:16px;display:flex}.user-info-card{gap:22px;display:grid}.user-info-readonly-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.user-info-readonly{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;gap:8px;padding:16px 18px;display:grid}.user-info-readonly span,.user-info-section__header span,.user-info-fieldset__header span{color:var(--muted);font-size:12px;font-weight:850}.user-info-readonly strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:950;overflow:hidden}.user-info-section,.user-info-fieldset{border:1px solid var(--line);background:#fbfefe;border-radius:16px;gap:14px;padding:18px;display:grid}.user-info-section__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.user-info-section__header h4,.user-info-fieldset__header h4{color:var(--brand-dark);margin:0;font-size:16px;font-weight:950}.user-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.user-info-grid>div{margin-bottom:0}.user-info-grid label{color:var(--muted);font-size:12px;font-weight:900;text-transform:none!important}.user-info-grid input{background:var(--surface-soft);height:38px;font-weight:800;border-color:var(--line)!important;border-radius:10px!important}.user-info-fieldset{margin:0}.user-info-alert-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.user-info-alert-option{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px 16px;display:grid}.user-info-alert-option:has(input:not(:disabled)){cursor:pointer}.user-info-alert-option--fixed,.user-info-alert-option--selected{background:#effdf9;border-color:#b9e3da}.user-info-alert-option--fixed{cursor:default}.user-info-alert-option>div{width:auto;margin-bottom:0}.user-info-alert-option input{width:18px!important;min-width:18px!important;height:18px!important;padding:0!important}.user-info-alert-option span{align-content:center;gap:3px;min-width:0;display:grid}.user-info-alert-option strong{color:var(--text);font-size:14px;font-weight:950;line-height:1.25}.user-info-alert-option small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.user-info-actions{justify-content:flex-end}.user-password-page{flex-direction:column;gap:16px;display:flex}.user-password-card{box-shadow:var(--shadow-soft)}.user-password-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.user-password-grid>div{margin-bottom:0}.user-password-grid label{color:var(--muted);font-size:12px;font-weight:900;text-transform:none!important}.user-password-grid input{background:var(--surface-soft);height:38px;font-weight:800;border-color:var(--line)!important;border-radius:10px!important}.user-password-actions{justify-content:flex-end}.user-withdraw-page{flex-direction:column;gap:16px;display:flex}.user-withdraw-card{box-shadow:var(--shadow-soft)}.user-withdraw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.user-withdraw-grid>div{margin-bottom:0}.user-withdraw-grid label{color:var(--muted);font-size:12px;font-weight:900;text-transform:none!important}.user-withdraw-grid input{background:var(--surface-soft);height:38px;font-weight:800;border-color:var(--line)!important;border-radius:10px!important}.user-withdraw-fieldset{padding:16px}.user-withdraw-confirm-option{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px 16px;display:grid}.user-withdraw-confirm-option:has(input:not(:disabled)){cursor:pointer}.user-withdraw-confirm-option--selected{background:#fff5f5;border-color:#ffc7c7}.user-withdraw-confirm-option>div{width:auto;margin-bottom:0}.user-withdraw-confirm-option input{width:18px!important;min-width:18px!important;height:18px!important;padding:0!important}.user-withdraw-confirm-option span{align-content:center;gap:3px;min-width:0;display:grid}.user-withdraw-confirm-option strong{color:var(--text);font-size:14px;font-weight:950;line-height:1.25}.user-withdraw-confirm-option small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.user-withdraw-actions{justify-content:flex-end}@media (width<=1100px){.user-info-readonly-grid,.user-info-grid,.user-password-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.user-info-readonly-grid,.user-info-grid,.user-info-alert-options,.user-password-grid,.user-withdraw-grid{grid-template-columns:minmax(0,1fr)}}.admin-page{flex-direction:column;gap:18px;display:flex}.favorite-button{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:24px;height:24px;padding:0;display:inline-grid}.favorite-button svg{display:block}.admin-toolbar,.admin-form,.admin-table-wrap{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.admin-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.admin-page>.admin-toolbar{order:10}.admin-page>.notice{order:15}.admin-page>.admin-table-wrap{order:20}.admin-page>.admin-panel,.admin-page>.admin-repository-cursor-panel{order:25}.admin-page>.admin-form{order:30}.admin-toolbar__research{flex:1;width:100%}.admin-toolbar__controls{flex-wrap:wrap;flex:1;justify-content:end;align-items:center;gap:14px;min-width:0;display:flex}.admin-toolbar p{color:var(--muted);flex:1;font-size:14px;line-height:1.5}.admin-toolbar label{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.admin-toolbar button{white-space:nowrap;flex:none}.admin-toolbar input{border:1px solid var(--line);border-radius:9px;width:86px;height:36px;padding:0 10px}.admin-toolbar-search{flex:280px;min-width:180px}.admin-page--server-resource .admin-toolbar-search{flex-direction:column;align-items:stretch}.admin-toolbar .admin-field{flex:0 190px;align-items:start;min-width:128px;max-width:240px}.admin-toolbar .admin-field span,.admin-toolbar-search span{white-space:nowrap}.admin-toolbar-select{flex:0 240px;min-width:170px}.admin-toolbar .admin-toolbar-search input{flex:auto;width:100%;min-width:0}.admin-toolbar .admin-toolbar-select select{width:100%;min-width:0}.admin-toolbar .admin-field input,.admin-toolbar .admin-field select{height:36px;padding:0 10px}.admin-page>.admin-toolbar .admin-toolbar__controls{flex-wrap:nowrap}.admin-sensor-toolbar .admin-toolbar__controls{flex-direction:column;align-items:stretch;width:100%}.admin-sensor-toolbar__row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;width:100%;display:grid}.admin-sensor-toolbar__row--bottom{grid-template-columns:minmax(160px,220px) minmax(240px,1fr) auto}.admin-sensor-toolbar .admin-field{max-width:none}.admin-sensor-toolbar .admin-toolbar-search{min-width:0}.admin-table-pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:16px 14px 18px;font-size:13px;font-weight:850;display:flex}.admin-table-pagination button{color:#3b27c8;background:#e8e4ffb8;border:0;border-radius:10px;justify-content:center;align-items:center;min-width:42px;min-height:36px;font-weight:900;display:inline-flex}.admin-table-pagination button:disabled{color:#a5a5a5;opacity:1;background:#e5e5e5}.admin-table-pagination__page,.admin-table-pagination__pages{color:#20314c;justify-content:center;align-items:center;min-width:52px;min-height:36px;display:inline-flex}.admin-table-pagination__page{color:#3120b8;background:#eef3ff;border:1px solid #c9d9ff;border-radius:10px}.admin-table-pagination__pages{gap:6px}.admin-table-pagination__pages button{background:#fff;border:1px solid #d6e3ef;min-width:36px}.admin-table-pagination__pages button.is-active{color:#fff;background:#6d4dff;border-color:#6d4dff;box-shadow:0 8px 18px #6d4dff3d}.admin-toolbar select{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;min-width:180px;height:36px;padding:0 10px}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:20px;display:grid}.admin-field{color:var(--text);flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.admin-field--wide,.admin-checks,.admin-actions{grid-column:1/-1}.admin-project-grid-config{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.admin-project-grid-config__header{color:var(--text);font-size:14px;font-weight:800}.admin-project-grid-config__fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.admin-repository-form{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-repository-form .admin-field--wide,.admin-repository-form .admin-repository-endpoints,.admin-repository-form .admin-actions{grid-column:1/-1}.admin-repository-endpoints{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:10px;margin:0;padding:16px;display:grid}.admin-repository-endpoints legend{color:var(--text);padding:0 6px;font-size:14px;font-weight:850}.admin-repository-endpoint{background:#fff;border:1px solid #0f172a14;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.admin-repository-endpoint span{gap:3px;min-width:0;display:grid}.admin-repository-endpoint strong{color:var(--text);font-size:13px}.admin-repository-endpoint small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-repository-table{min-width:1180px}.admin-repository-cursor-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffd1;border-radius:14px;gap:12px;padding:16px;display:grid}.admin-event-state-empty{color:var(--muted);font-size:12px;font-weight:850}.admin-event-state-trigger{min-height:30px;color:var(--brand-dark);white-space:nowrap;cursor:pointer;background:#e7f7f3;border:1px solid #9ddccc;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.admin-event-state-trigger:hover{background:#d8f1eb}.admin-event-state-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:14px;gap:12px;padding:16px;display:grid}.admin-event-state-panel__header,.admin-event-state-panel__tools,.admin-event-state-panel__actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-event-state-panel__header h3{color:var(--brand-dark);margin:0;font-size:17px;font-weight:950}.admin-event-state-panel__header p,.admin-event-state-panel__tools span{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:850}.admin-event-state-panel__close,.admin-event-state-panel__button{min-height:34px;color:var(--brand-dark);cursor:pointer;background:#fff;border:1px solid #b7d9d4;border-radius:9px;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.admin-event-state-panel__button:disabled{cursor:not-allowed;opacity:.55}.admin-event-state-panel__button--primary{color:#fff;background:#087f6d;border-color:#087f6d;box-shadow:0 8px 20px #087f6d2e}.admin-event-state-panel__notice{color:#1455a1;background:#eef6ff;border:1px solid #b9dcff;border-radius:10px;margin:0;padding:10px 12px;font-size:12px;font-weight:850;line-height:1.5}.admin-event-state-panel__list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-event-state-panel__item{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0}.admin-event-state-panel__item label{cursor:pointer;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.admin-event-state-panel__item span{gap:4px;min-width:0;display:grid}.admin-event-state-panel__item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.admin-event-state-panel__item code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-repository-cursor-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-repository-cursor-panel>header div{gap:4px;display:grid}.admin-repository-cursor-panel>header strong{color:var(--brand-dark);font-size:15px;font-weight:950}.admin-repository-cursor-panel>header span,.admin-repository-cursor-panel>header small{color:var(--muted);font-size:12px;font-weight:800}.admin-repository-cursor-wrap{border:1px solid var(--line);border-radius:12px}.admin-repository-cursor-table{min-width:980px}.admin-repository-cursor-table th,.admin-repository-cursor-table td{padding:10px 11px;font-size:12px}.admin-repository-cursor-table td:first-child strong{color:var(--text);font-size:12px;font-weight:900;display:block}.admin-repository-cursor-status{min-height:24px;color:var(--brand-dark);white-space:nowrap;background:#087e671f;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.admin-repository-cursor-status.paused{color:#9a3412;background:#fb923c2e}.admin-repository-cursor-empty{margin:0}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;outline:none;width:100%}.admin-field input,.admin-field select{height:36px;padding:0 12px}.admin-field textarea{resize:vertical;padding:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}:is(.admin-field:has(input:disabled),.admin-field:has(select:disabled),.admin-field:has(textarea:disabled)){color:#8a9a94}.admin-readonly-field{border:1px solid var(--line);min-height:42px;color:var(--text);background:var(--surface-soft);border-radius:10px;flex-direction:column;gap:7px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.admin-readonly-field>span{color:var(--muted);font-size:13px;font-weight:800}.admin-readonly-field>strong{color:var(--text);font-size:15px;font-weight:900}.admin-readonly-field>small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.4}.admin-field-help{color:#37524b;background:#eef6ffad;border:1px solid #1d6fe82e;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800;line-height:1.5}.admin-field-help strong{color:#0b58c2;font-weight:900}.admin-field input:disabled,.admin-field select:disabled,.admin-field textarea:disabled{color:#8a9a94;cursor:not-allowed;opacity:1;background:#eef2f1}.admin-file-manager{gap:12px}.admin-file-manager__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-file-manager__header small,.admin-file-manager__list small{color:var(--muted);font-size:12px;font-weight:700}.admin-file-manager__dropzone{min-height:138px;color:var(--text);text-align:center;background:#f7fbfa;border:2px dashed #a8c0b9;border-radius:12px;place-items:center;gap:6px;padding:18px;display:grid}.admin-file-manager__dropzone.disabled{color:#8a9a94;background:#eef2f1}.admin-file-manager__dropzone>.material-symbols-outlined{color:#2f8f73;font-size:34px}.admin-file-manager__dropzone strong{font-size:14px}.admin-file-manager__dropzone small{color:var(--muted)}.admin-file-manager__error{color:#d93025;margin:0;font-size:12px;font-weight:800}.admin-file-manager__progress{background:#e2e8e6;border-radius:999px;height:8px;overflow:hidden}.admin-file-manager__progress span{border-radius:inherit;background:linear-gradient(90deg,#1e8fff,#18c37e);width:45%;height:100%;animation:1.1s ease-in-out infinite alternate admin-file-upload-progress;display:block}@keyframes admin-file-upload-progress{0%{transform:translate(-10%)}to{transform:translate(130%)}}.admin-file-manager__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-file-manager__list li{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.admin-file-manager__list li.is-deleted{opacity:.45}.admin-file-manager__list img,.admin-file-manager__icon{background:#eaf1ef;border-radius:8px;width:72px;height:56px}.admin-file-manager__list img{box-sizing:border-box;object-fit:contain;object-position:center;background:#fff;padding:4px}.admin-file-manager__icon{color:#5f756f;place-items:center;display:grid}.admin-file-manager__icon .material-symbols-outlined{font-size:28px}.admin-file-manager__list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.admin-checks,.admin-actions,.admin-row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-check{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.admin-table-wrap{border-radius:18px;overflow:auto}.admin-table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px}.admin-table,.admin-table th,.admin-table td,.admin-table th *,.admin-table td *{-webkit-user-select:text!important;user-select:text!important}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;min-width:60px;padding:10px 11px;font-size:13px}.admin-table th{color:var(--brand-dark);background:var(--brand-soft);font-weight:800}.admin-table thead th:first-child{border-top-left-radius:18px}.admin-table thead th:last-child{border-top-right-radius:18px}.admin-table td small{color:var(--muted);margin-top:4px;display:block}.admin-table td.admin-period-cell{white-space:normal;max-width:92px}.admin-period-cell span{color:var(--text);white-space:nowrap;font-size:12px;font-weight:850;line-height:1.35;display:block}.admin-system-profile-cell{color:var(--brand-dark);font-weight:800}.admin-system-resource-cell{max-width:220px}.admin-system-resource-list{word-break:break-all;flex-wrap:wrap;gap:6px;display:flex}.admin-system-resource-list span{color:var(--brand-dark);overflow-wrap:anywhere;background:#087e671a;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:800;display:inline-block}.basic-management-page .admin-table-wrap{border-radius:18px;overflow:hidden}.basic-management-table{table-layout:fixed;min-width:0}.basic-management-table th,.basic-management-table td{overflow-wrap:anywhere;word-break:keep-all}.basic-management-table th:first-child,.basic-management-table td:first-child{text-align:center;width:48px}.basic-management-sort-button{width:100%;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.basic-management-sort-button:hover,.basic-management-sort-button.active{color:#3b27c8}.basic-management-sort-button__icon{color:#8060ff;justify-content:center;width:10px;font-size:10px;line-height:1;display:inline-flex}.basic-management-map-button{color:#3b27c8;cursor:pointer;background:#e8e4ffb3;border:1px solid #8060ff73;border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.basic-management-map-button:hover{background:#d9d1ffe6}.basic-management-map-button:disabled{cursor:default;opacity:.42}.basic-management-map-button .material-symbols-outlined{font-size:19px}.basic-management-summary{grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:14px 16px;display:grid}.basic-management-summary .admin-toolbar__description{min-width:max-content}.basic-management-summary .basic-management-toolbar__research{grid-template-columns:max-content minmax(120px,1fr);align-items:center;gap:12px;width:100%;min-width:0;display:grid}.basic-management-summary .basic-management-toolbar__research.has-project-filter{grid-template-columns:max-content minmax(180px,260px) minmax(160px,1fr)}.basic-management-summary .admin-toolbar__controls{flex:none;min-width:max-content}.basic-management-project-filter{min-width:0;display:block}.basic-management-project-filter select{border:1px solid var(--line);background:var(--surface-soft);color:#172327;border-radius:9px;width:100%;min-width:0;height:36px;padding:0 10px;font-size:14px;font-weight:700}.basic-management-summary .thread-search-field{width:100%;min-width:0}@media (width<=760px){.basic-management-summary{grid-template-columns:max-content minmax(0,1fr)}.basic-management-summary .admin-toolbar__controls{grid-column:1/-1;justify-content:flex-end}.basic-management-summary .basic-management-toolbar__research.has-project-filter{grid-template-columns:max-content minmax(0,1fr)}.basic-management-summary .basic-management-toolbar__research.has-project-filter .thread-search-field{grid-column:1/-1}}@media (width<=620px){.basic-management-summary,.basic-management-summary .basic-management-toolbar__research{grid-template-columns:1fr}.basic-management-summary .admin-toolbar__controls{justify-content:stretch;min-width:0}.basic-management-summary .admin-toolbar__controls button{flex:1 1 0}}.basic-management-favorite-filter{color:#263b44;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.basic-management-favorite-filter input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.basic-management-favorite-switch{background:#eaf1ef;border:1px solid #b5c6c2;border-radius:999px;align-items:center;width:48px;height:28px;padding:2px;transition:background .16s,border-color .16s;display:inline-flex}.basic-management-favorite-switch span{background:#8a9a94;border-radius:999px;width:22px;height:22px;transition:background .16s,transform .16s;box-shadow:0 1px 4px #0f172a2e}.basic-management-favorite-filter input:checked+.basic-management-favorite-switch{background:#dcd6ff;border-color:#8060ff}.basic-management-favorite-filter input:checked+.basic-management-favorite-switch span{background:#704cff;transform:translate(20px)}.report-list-page{gap:18px;width:100%;min-width:0;max-width:100%;display:grid}.report-list-page>*{min-width:0;max-width:100%}.report-list-toolbar{border:1px solid var(--line);background:#ffffffc7;border-radius:12px;flex-direction:column;gap:12px;width:100%;padding:18px;display:flex}.report-list-toolbar__row{align-items:end;gap:14px;min-width:0;display:grid}.report-list-toolbar__row--filters{grid-template-columns:repeat(4,minmax(0,1fr))}.report-list-toolbar__row--actions{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.event-status-page{flex-direction:column;gap:14px;display:flex}.event-management-filter-panel,.event-summary-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd6;border-radius:18px}.event-management-filter-panel{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr) minmax(170px,1fr);align-items:end;gap:14px;padding:18px;display:grid}.event-management-filter-panel .chart-field input,.event-management-filter-panel .chart-field select{width:100%}.event-management-search{grid-area:2/1/auto/3;min-height:36px}.event-management-secondary-button{grid-area:2/4}.event-management-secondary-button,.event-management-export-button,.basic-management-secondary-button,.basic-management-export-button,.chart-image-save-button,.gms-action-button{border:1px solid var(--line);min-height:36px;color:var(--brand-dark);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:900;display:inline-flex}.gms-action-button--primary{color:#fff;background:linear-gradient(135deg,#0f70ef,#075ad4);border-color:#0858c433}.gms-action-button--secondary{border-color:var(--line);color:var(--brand-dark);background:#fff}.event-management-secondary-button:disabled,.event-management-export-button:disabled,.basic-management-secondary-button:disabled,.basic-management-export-button:disabled,.chart-image-save-button:disabled,.gms-action-button:disabled{cursor:not-allowed;opacity:.45}.event-management-secondary-button .material-symbols-outlined,.event-management-export-button .material-symbols-outlined,.basic-management-secondary-button .material-symbols-outlined,.basic-management-export-button .material-symbols-outlined,.chart-image-save-button .material-symbols-outlined,.gms-action-button .material-symbols-outlined{font-size:20px}.event-summary-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr);gap:12px;display:grid}.event-summary-card{flex-direction:column;gap:10px;min-height:132px;padding:12px;display:flex;container-type:inline-size}.event-summary-card h3{color:var(--text);justify-content:space-between;align-items:center;gap:9px;margin:0;font-size:16px;display:flex}.event-summary-card__title{align-items:center;gap:9px;min-width:0;display:inline-flex}.event-summary-card__count{color:var(--event-card-color,var(--brand));white-space:nowrap;font-size:20px;font-weight:950}.event-summary-card h3 .material-symbols-outlined,.event-summary-card__title .material-symbols-outlined{color:var(--event-card-color,var(--brand));font-size:26px}.event-summary-card__link{width:28px;height:28px;color:var(--event-card-color,var(--brand));cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;text-decoration:none;display:inline-grid}.event-summary-card__link:hover{background:color-mix(in srgb, var(--event-card-color,var(--brand)) 12%, transparent)}.event-summary-card__link .material-symbols-outlined{font-size:22px}.event-summary-card--event{--event-card-color:#ef4444}.event-summary-card--process{--event-card-color:#126ce1}.event-summary-card--approval{--event-card-color:#16a34a}.event-summary-card__body{flex:1;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px;display:grid}.event-summary-card--process .event-summary-card__body{grid-template-columns:1fr}.event-approved-box,.event-badge-grid{border:1px solid var(--line);background:#ffffffb3;border-radius:12px}.event-approved-box{text-align:center;place-items:center;display:grid}.event-badge-grid{align-content:center;gap:4px;padding:4px;display:grid}.event-badge-grid--grades{--event-badge-columns:6;grid-template-columns:repeat(var(--event-badge-columns), minmax(0, 1fr))}.event-badge-grid--statuses{--event-badge-columns:4;grid-template-columns:repeat(var(--event-badge-columns), minmax(0, 1fr));min-height:100%}.event-status-badge{border:1px solid #0000;border-radius:10px;justify-items:center;gap:4px;min-width:0;padding:4px;display:grid}.event-status-badge--button{width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border-color:#0000}.event-status-badge--button:hover,.event-status-badge--active{border-color:color-mix(in srgb, var(--event-color) 42%, white);background:color-mix(in srgb, var(--event-color) 11%, white)}.event-status-badge strong{min-width:44px;min-height:23px;color:color-mix(in srgb, var(--event-color) 82%, black);background:color-mix(in srgb, var(--event-color) 18%, white);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:950;display:inline-flex}.event-status-badge b{color:var(--text);font-size:13px;font-weight:950}.event-approved-box{flex:1;gap:8px;min-height:68px;padding:14px}.event-approved-box span,.event-approved-box em{color:var(--muted);font-size:13px;font-style:normal;font-weight:850}@container (width<=310px){.event-badge-grid--grades{--event-badge-columns:3}}@container (width<=210px){.event-badge-grid--statuses{--event-badge-columns:2}}.event-management-export-button,.basic-management-export-button,.chart-image-save-button,.gms-action-button--export{color:#fff;background:linear-gradient(135deg, var(--brand), #0b6f5d);border-color:#087e6742;justify-self:end;min-height:36px;box-shadow:0 10px 22px #087e6738}.basic-management-secondary-button,.basic-management-export-button{min-height:36px}.event-management-table-wrap{flex-direction:column;min-height:0;display:flex;overflow:auto visible}.event-management-table{table-layout:fixed;flex:none;min-width:0}.event-management-table th,.event-management-table td{text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:9px 7px;overflow:hidden}.event-management-table th:first-child,.event-management-table td:first-child{width:44px}.event-management-table th:nth-child(3),.event-management-table td:nth-child(3){width:120px}.event-management-table th:nth-child(4),.event-management-table td:nth-child(4),.event-management-table th:nth-child(5),.event-management-table td:nth-child(5){width:82px;overflow:visible}.event-management-table th:nth-child(8),.event-management-table td:nth-child(8){width:118px}.event-management-table th:nth-child(9),.event-management-table td:nth-child(9),.event-management-table th:nth-child(10),.event-management-table td:nth-child(10),.event-management-table th:nth-child(11),.event-management-table td:nth-child(11){width:52px;overflow:visible}.event-management-table th:nth-child(2),.event-management-table td:nth-child(2){text-align:left;width:14%}.event-management-table th:nth-child(6),.event-management-table td:nth-child(6){text-align:left;width:16%}.event-management-table th:nth-child(7),.event-management-table td:nth-child(7){text-align:left;width:20%}.event-table-badge{min-height:24px;color:color-mix(in srgb, var(--event-color) 82%, black);background:color-mix(in srgb, var(--event-color) 16%, white);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:950;display:inline-flex}.event-table-code{color:#006b5f;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;background:#e7f4f2;border-radius:6px;max-width:100%;min-height:24px;padding:0 8px;font-family:Consolas,Menlo,monospace;font-size:12px;font-weight:950;line-height:24px;display:inline-block;overflow:hidden}.event-date-cell{flex-direction:column;align-items:center;gap:2px;line-height:1.2;display:inline-flex}.event-date-cell b{font-weight:850}.event-date-cell small{color:var(--muted);font-size:11px;font-weight:800}.event-process-icon{border:1px solid var(--line);color:#94a3b8;cursor:pointer;background:#fff;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid}.event-process-icon .material-symbols-outlined{font-size:18px}.event-process-icon--warning{color:#d79600;background:#eab30821}.event-process-icon--danger{color:#ef4444;background:#ef44441f}.event-process-icon--active{color:#6d5dfc;background:#6d5dfc1f}.event-process-icon--done{color:#16a34a;background:#16a34a1f}.event-detail-backdrop{z-index:80;background:#0f172a4d;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.event-detail-modal{background:#fff;border:1px solid #8060ff57;border-radius:16px;flex-direction:column;width:min(980px,100%);max-height:min(870px,100vh - 56px);display:flex;overflow:hidden;box-shadow:0 24px 80px #0f172a4d}.event-detail-modal>header{border-bottom:1px solid var(--line);background:#f8fcfbf5;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.event-detail-modal>header div{gap:4px;display:grid}.event-detail-modal>header strong{color:var(--text);font-size:18px;font-weight:950}.event-detail-modal>header span:not(.material-symbols-outlined){color:var(--muted);font-size:13px;font-weight:800}.event-detail-modal>header button{border:1px solid var(--line);width:34px;height:34px;color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:inline-grid}.event-detail-body{gap:16px;padding:18px 20px 20px;display:grid;overflow:auto}.event-detail-info{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.event-detail-info div{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:5px;padding:12px;display:grid}.event-detail-info__wide{grid-column:1/-1}.event-detail-info dt{color:var(--muted);font-size:12px;font-weight:900}.event-detail-info dd{color:var(--text);margin:0;font-size:13px;font-weight:850}.event-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.event-detail-section{border:1px solid var(--line);background:#ffffffc7;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.event-detail-section h4{color:var(--brand-dark);margin:0;font-size:15px}.event-detail-empty,.event-detail-error{background:var(--surface-soft);color:var(--muted);border-radius:12px;margin:0;padding:14px;font-weight:850}.event-detail-error{color:#dc2626;background:#dc26261a}.event-detail-record-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:5px;padding:11px;display:grid}.event-detail-record-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.event-detail-record-author{gap:6px;min-width:0;display:grid}.event-detail-record-codes{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.event-detail-record-code-badge{max-width:100%;min-height:22px;color:var(--brand-dark);text-overflow:ellipsis;white-space:nowrap;background:#e7f7f2;border:1px solid #0080692e;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:850;line-height:1;display:inline-flex;overflow:hidden}.event-detail-record-card strong{color:var(--text);font-size:13px}.event-detail-record-card time{color:var(--muted);white-space:nowrap;font-family:inherit;font-size:12px;font-style:normal;font-weight:800;line-height:1.35}.event-detail-record-card p{color:var(--text);margin:0;font-size:13px;line-height:1.55}.event-detail-record-card .thread-files{gap:8px}.event-detail-record-card .thread-image-grid{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.event-detail-record-card .thread-file-card{flex:0 0 104px}.event-detail-record-card .thread-file-card img,.event-detail-record-card .thread-file-card__placeholder{aspect-ratio:1}.event-detail-record-card .thread-file-card figcaption{padding:6px 8px;font-size:11px}.thread-file-card__image-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.thread-file-card__image-button img,.thread-file-card__image-button .thread-file-card__placeholder{width:100%}.event-detail-record-card .thread-download-list{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.event-detail-record-card .thread-download-list li{flex:0 0 220px}.event-detail-record-actions{justify-content:flex-end;gap:8px;display:flex}.event-detail-record-actions button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:34px;padding:0 14px;font-weight:900}.event-detail-record-actions button.danger{color:#dc2626;background:#fff;border:1px solid #dc262659}.event-detail-record-actions button:disabled{cursor:not-allowed;opacity:.55}.event-image-viewer-backdrop{z-index:130;background:#0f172ab8;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.event-image-viewer-modal{gap:12px;width:min(980px,92vw);max-height:92vh;display:grid;position:relative}.event-image-viewer-frame{background:#fff;border:1px solid #ffffff8c;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 28px 80px #00000052}.event-image-viewer-image-stage{background:#fff;place-items:center;width:100%;height:min(720px,72vh);min-height:240px;display:grid;position:relative}.event-image-viewer-slide{opacity:0;pointer-events:none;place-items:center;transition:opacity .18s;display:grid;position:absolute;inset:0}.event-image-viewer-slide.is-active{opacity:1;pointer-events:auto}.event-image-viewer-slide img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.event-image-viewer-slide .thread-file-card__placeholder{width:100%;height:100%}.event-image-viewer-title{z-index:2;color:#fff;opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#000000c7;border-radius:6px;max-width:calc(100% - 96px);padding:6px 10px;font-size:13px;font-weight:850;transition:opacity .14s;position:absolute;top:8px;left:50%;overflow:hidden;transform:translate(-50%)}.event-image-viewer-frame:hover .event-image-viewer-title{opacity:1}.event-image-viewer-nav,.event-image-viewer-dot{cursor:pointer}.event-image-viewer-nav{z-index:2;color:#2563eb;background:#ffffffc2;border:0;border-radius:999px;place-items:center;width:42px;height:54px;transition:background .14s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.event-image-viewer-nav:hover{background:#fff}.event-image-viewer-nav--prev{left:12px}.event-image-viewer-nav--next{right:12px}.event-image-viewer-nav .material-symbols-outlined{font-size:32px;font-weight:800}.event-image-viewer-dots{justify-content:center;gap:7px;display:flex}.event-image-viewer-dot{background:#cbd5e1e6;border:0;border-radius:999px;width:10px;height:10px;padding:0}.event-image-viewer-dot.is-active{background:#2563eb}.event-detail-form{gap:10px;display:grid}.event-detail-form label{color:var(--brand-dark);gap:6px;font-size:12px;font-weight:900;display:grid}.event-detail-form input,.event-detail-form select,.event-detail-form textarea{border:1px solid var(--line);background:var(--surface-soft);width:100%;color:var(--text);font:inherit;border-radius:10px}.event-detail-form input,.event-detail-form select{height:38px;padding:0 10px}.event-detail-form textarea{resize:vertical;padding:10px}.event-detail-actions,.event-detail-body footer{justify-content:flex-end;gap:8px;display:flex}.event-detail-actions button,.event-detail-approve{border:1px solid var(--line);background:var(--brand);color:#fff;cursor:pointer;border-radius:9px;min-height:36px;padding:0 14px;font-weight:900}.event-detail-actions button.danger{color:#dc2626;background:#fff}.event-detail-actions button.secondary{color:var(--brand);background:#fff}.event-detail-actions button:disabled,.event-detail-approve:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}@media (width<=900px){.event-detail-info,.event-detail-columns{grid-template-columns:1fr}}@media (width<=1280px){.event-management-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.event-summary-grid{grid-template-columns:1fr}}@media (width<=820px){.event-management-export-button{justify-self:stretch}}.report-search-field{align-self:end;min-height:36px}.report-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.report-summary-grid article,.report-summary-grid button{border:1px solid var(--line);background:#ffffffc7;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;min-height:64px;padding:12px 16px;display:grid}.report-summary-grid button{color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background .14s,border-color .14s,box-shadow .14s}.report-summary-grid button:hover,.report-summary-grade-card.is-active{background:#087e671a;border-color:#087e6752;box-shadow:inset 0 0 0 1px #087e6724}.report-summary-grid .material-symbols-outlined{color:var(--brand);grid-row:span 2;font-size:28px}.report-summary-grid strong{color:var(--brand-dark);font-size:20px;line-height:1}.report-summary-grid p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.report-list-table{table-layout:fixed;min-width:0}.report-list-table th,.report-list-table td{overflow-wrap:break-word;text-align:center;word-break:keep-all;padding:10px 8px}.report-list-table td:nth-child(2),.report-list-table td:nth-child(3),.report-list-table td:nth-child(4){text-align:left}.report-list-table th:first-child,.report-list-table td:first-child{width:44px}.report-list-table th:nth-child(2),.report-list-table td:nth-child(2){width:24%}.report-list-table th:nth-child(3),.report-list-table td:nth-child(3),.report-list-table th:nth-child(4),.report-list-table td:nth-child(4){width:12%}.report-list-table th:nth-child(5),.report-list-table td:nth-child(5),.report-list-table th:nth-child(6),.report-list-table td:nth-child(6),.report-list-table th:nth-child(7),.report-list-table td:nth-child(7),.report-list-table th:nth-child(8),.report-list-table td:nth-child(8),.report-list-table th:nth-child(10),.report-list-table td:nth-child(10),.report-list-table th:nth-child(12),.report-list-table td:nth-child(12){width:7%}.report-list-table th:nth-child(9),.report-list-table td:nth-child(9),.report-list-table th:nth-child(11),.report-list-table td:nth-child(11){width:9%}.report-title-link{color:var(--brand-dark);font-weight:850}.report-title-link:hover{text-underline-offset:3px;text-decoration:underline}.report-detail-toolbar{order:-1;justify-content:space-between}.report-detail-page{align-items:center;width:100%}.report-detail-page>.report-detail-toolbar,.report-detail-page>.notice{width:min(100%,210mm)}.report-detail-page>.report-detail-toolbar{order:-1}.report-detail-toolbar strong{margin-bottom:4px;font-size:18px;display:block}.report-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.report-detail-print-button{color:#fff;background:linear-gradient(135deg, var(--brand), #0b6f5d);white-space:nowrap;border-color:#087e6742;border-radius:10px;gap:6px;min-height:36px;padding:0 14px;font-weight:900;box-shadow:0 10px 22px #087e6738}.report-detail-print-button:hover:not(:disabled){background:linear-gradient(135deg,#0a967d,#075f50);border-color:#087e6757}.periodic-report-document{color:#172033;width:min(100%,210mm);max-width:100%;margin-inline:auto;display:block}.periodic-report-document>.periodic-report-page+.periodic-report-page{margin-top:18px}.periodic-report-page{box-sizing:border-box;break-after:page;page-break-after:always;background:#fff;border:1px solid #0f172a1a;border-radius:2px;width:min(100%,210mm);min-height:297mm;padding:18mm 16mm;display:block;box-shadow:0 10px 28px #0f172a14}.periodic-report-cover-page{display:block;position:relative}.periodic-report-order{margin:0;font-size:24px;font-weight:850}.periodic-report-cover{text-align:center;border-top:6px solid red;border-bottom:6px solid #000;width:calc(100% - 32mm);margin:0 auto;padding:8mm 0;display:block;position:absolute;top:74mm;left:50%;transform:translate(-50%)}.periodic-report-cover>*+*{margin-top:7mm}.periodic-report-cover h1{color:#111827;word-break:keep-all;margin:0;font-size:40px;line-height:1.28}.periodic-report-cover strong{color:#1e3a8a;font-size:24px;display:block}.periodic-report-cover span{color:#475569;font-size:20px;font-weight:800;display:block}.periodic-report-cover-meta{text-align:center;width:100%;margin:0;display:block;position:absolute;top:171mm;left:0}.periodic-report-cover-meta span{padding-bottom:14px;font-size:30px;font-weight:850;text-decoration:underline;display:block}.periodic-report-cover-meta p{color:#526173;margin:0;font-size:20px;font-weight:800}.periodic-report-cover-meta>*+*{margin-top:20px}.periodic-report-logo{text-align:center;width:100%;display:block;position:absolute;bottom:19mm;left:0}.periodic-report-logo img{object-fit:contain;vertical-align:middle;width:72px;height:auto;margin-right:4mm;display:inline-block}.periodic-report-logo div{text-align:left;vertical-align:middle;display:inline-block}.periodic-report-logo strong{font-size:30px;font-weight:900;display:block}.periodic-report-logo span{color:#64748b;margin-top:4px;font-size:15px;font-weight:800;display:block}.periodic-report-header{border-bottom:2px solid #172033;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:36px;padding-bottom:12px;display:flex}.periodic-report-header strong{color:#111827;font-size:14px;font-weight:900}.periodic-report-header span{color:#475569;text-align:right;font-size:14px;font-weight:800}.periodic-report-contents-title,.periodic-report-section-title{color:#111827;text-align:center;margin:30px 0;font-size:36px;font-weight:950}.periodic-report-section-padding{margin-top:30px}.periodic-report-contents{margin:0;padding-left:0;list-style:none}.periodic-report-contents>li+li{margin-top:22px}.periodic-report-contents strong{color:#111827;font-size:24px;display:block}.periodic-report-contents ol{text-indent:18px;margin:12px 0 0;padding-left:0;font-size:18px;font-weight:750;list-style:none}.periodic-report-contents li{margin:0;list-style:none}.periodic-report-contents ol>li+li{margin-top:8px}.periodic-report-section-title{padding:14px 0;display:block}.periodic-report-section-heading{text-align:center;display:block}.periodic-report-section-items{display:block}.periodic-report-section-items>*+*{margin-top:26px}.periodic-report-item{break-inside:avoid;page-break-inside:avoid;display:block}.periodic-report-item>*+*{margin-top:12px}.periodic-report-item h3{color:#111827;margin:0 0 14px;font-size:20px;font-weight:900}.periodic-report-item p{color:#334155;text-indent:1em;white-space:pre-wrap;margin:0;padding-bottom:14px;font-size:16px;font-weight:650;line-height:1.75}.periodic-report-point-range{color:#0f172a!important;text-indent:0!important;font-weight:900!important}.periodic-report-block,.periodic-report-named-table{display:block}.periodic-report-block h4,.periodic-report-named-table h4{color:#111827;margin:0;padding-bottom:14px;font-size:16px;font-weight:900}.periodic-report-block h4:before{content:"";background:#ff4b1f;width:10px;height:10px;margin-right:8px;display:inline-block}.periodic-report-image,.periodic-report-mapbox,.periodic-report-chart{break-inside:avoid;page-break-inside:avoid;margin:0;display:block}.periodic-report-image img{object-fit:contain;background:#fff;width:100%;max-height:170mm;padding-top:30px;display:block}.periodic-report-image figcaption,.periodic-report-visual-title{color:#475569;text-align:center;margin-top:8px;font-size:14px;font-weight:850}.periodic-report-mapbox__canvas{background:#eaf5ff;border:1px solid #e2e8f0;border-radius:12px;width:100%;height:360px;overflow:hidden}.periodic-report-mapbox__canvas .mapboxgl-ctrl,.periodic-report-mapbox__canvas .mapboxgl-ctrl-logo,.periodic-report-mapbox__canvas .mapboxgl-ctrl-attrib,.marker.hide{display:none!important}.marker.project .project-color{fill:var(--gx-project-running,#22c55e)}.marker.project.project-marker--scheduled .project-color{fill:var(--gx-project-scheduled,#2186f8)}.marker.project.project-marker--running .project-color{fill:var(--gx-project-running,#22c55e)}.marker.project.project-marker--paused .project-color{fill:var(--gx-project-paused,#ffdf2b)}.marker.project.project-marker--closed .project-color{fill:var(--gx-project-closed,gray)}.marker.project.project-marker--check{animation:var(--gx-anim-blinks,blinks 1s ease-in-out infinite)}.marker.project.project-marker--check .project-color{fill:var(--gx-project-check,#ff2929)}.marker.gateway .gateway-color{fill:var(--gx-gateway-marker-color,var(--gx-device-normal,#22c55e))}.dashboard-map-marker.project-marker--scheduled{background:var(--gx-project-scheduled,#2186f8);border-color:#176bd8}.dashboard-map-marker.project-marker--running{background:var(--gx-project-running,#22c55e);border-color:#047a16}.dashboard-map-marker.project-marker--paused{background:var(--gx-project-paused,#ffdf2b);border-color:#d9a700}.dashboard-map-marker.project-marker--closed{background:var(--gx-project-closed,gray);border-color:#606060}.dashboard-map-marker.project-marker--check{background:var(--gx-project-check,#ff2929);animation:var(--gx-anim-blinks,blinks 1s ease-in-out infinite);border-color:#b80000}.periodic-report-map-placeholder{color:#64748b;background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;place-items:center;width:100%;min-height:220px;font-size:14px;font-weight:900;display:grid}.periodic-report-chart__canvas{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;height:320px;margin:14px 0;padding:12px}.periodic-report-table{border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.periodic-report-table table{border-collapse:collapse;table-layout:fixed;width:100%}.periodic-report-table th,.periodic-report-table td{color:#1f2937;vertical-align:middle;word-break:keep-all;text-align:center;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;padding:7px 1px;font-size:12px;font-weight:750;line-height:1.45}.periodic-report-table--gms th,.periodic-report-table--gms td{font-size:12px;font-weight:900}.periodic-report-table th{color:#0f172a;text-align:center;background:#eef6ff;padding:6px 1px;font-weight:900}.periodic-report-table td:first-child{color:#1f2937;text-align:center;background:#f8fafc;font-weight:900}.periodic-report-table-description{text-align:right;padding-top:8px;color:#111!important;text-indent:0!important;font-size:11px!important;font-weight:800!important;line-height:1.35!important}.periodic-report-table pre{white-space:pre-wrap;word-break:break-word;max-height:180px;margin:0;overflow:auto}@media (width<=1280px){.report-list-toolbar__row--filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.report-list-toolbar__row--filters,.report-list-toolbar__row--actions{grid-template-columns:1fr}.report-list-toolbar__row--actions button{width:100%}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{size:A4 portrait;margin:0}body.report-detail-printing{background:#fff!important;width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body.report-detail-printing #root,body.report-detail-printing .main-layout,body.report-detail-printing .page,body.report-detail-printing .gx-layout,body.report-detail-printing .page-content,body.report-detail-printing .admin-page,body.report-detail-printing .report-detail-page,body.report-detail-printing .periodic-report-document{width:210mm!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:0!important;gap:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important;transform:none!important}body.report-detail-printing .nav-container,body.report-detail-printing .page-menu,body.report-detail-printing .page-content-header,body.report-detail-printing .report-detail-toolbar,body.report-detail-printing .notice,body.report-detail-printing .report-detail-page>:not(.periodic-report-document){display:none!important}body.report-detail-printing .periodic-report-page{box-sizing:border-box!important;width:210mm!important;height:auto!important;min-height:297mm!important;max-height:none!important;box-shadow:none!important;break-before:page!important;page-break-before:always!important;break-after:auto!important;page-break-after:auto!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:18mm 16mm!important;display:block!important;overflow:visible!important}body.report-detail-printing .periodic-report-document>.periodic-report-page+.periodic-report-page{margin-top:0!important}body.report-detail-printing .periodic-report-section-items,body.report-detail-printing .periodic-report-item,body.report-detail-printing .periodic-report-block,body.report-detail-printing .periodic-report-named-table{break-inside:auto!important;page-break-inside:auto!important}body.report-detail-printing .periodic-report-table{break-inside:auto!important;page-break-inside:auto!important;border-radius:0!important;overflow:visible!important}body.report-detail-printing .periodic-report-table table{break-inside:auto!important;page-break-inside:auto!important}body.report-detail-printing .periodic-report-table thead{display:table-header-group!important}body.report-detail-printing .periodic-report-table tfoot{display:table-footer-group!important}body.report-detail-printing .periodic-report-table tr{break-inside:avoid!important;page-break-inside:avoid!important}body.report-detail-printing .periodic-report-page:first-child{break-before:auto!important;page-break-before:auto!important}}.basic-table-pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:16px 14px 18px;font-size:13px;font-weight:850;display:flex}.basic-table-pagination button{color:#3b27c8;cursor:pointer;background:#e8e4ffb8;border:1px solid #8060ff52;border-radius:10px;justify-content:center;align-items:center;min-width:42px;min-height:36px;padding:0 10px;font-weight:900;display:inline-flex}.basic-table-pagination button:disabled{color:#a5a5a5;opacity:1;cursor:not-allowed;background:#e5e5e5}.basic-table-pagination__page{color:#263b44;justify-content:center;align-items:center;min-width:52px;min-height:36px;font-size:14px;font-weight:900;display:inline-flex}.admin-inline-button{min-height:30px;color:var(--brand-dark);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:800;display:inline-flex}.admin-inline-button:hover{color:var(--brand)}.admin-row-actions a,.admin-row-actions button{min-height:35px;color:var(--brand-dark);background:var(--brand-soft);cursor:pointer;border:0;border-radius:9px;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.admin-row-actions button:disabled{cursor:not-allowed;opacity:.45}.admin-project-status-badge{min-height:28px;color:var(--brand-dark);background:var(--brand-soft);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.admin-project-status-badge--due{color:#806800;background:#ffdf2b3d}.admin-project-status-badge--overdue{color:#9a4a00;background:#ff782933}.admin-table td.admin-project-join-cell{min-width:210px}.admin-project-join-code{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.admin-project-join-code>span{color:var(--muted);flex:none;font-size:12px;font-weight:850}.admin-project-join-code .admin-inline-button{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.admin-project-join-actions{gap:7px}.admin-row-actions .admin-project-join-action{border:1px solid #0000}.admin-row-actions .admin-project-join-action.is-join-disabled{color:#c2410c;background:#fff7edf2;border-color:#fb923c73}.admin-row-actions .admin-project-join-action.is-join-enable{color:#0f766e;background:#ecfdf5f2;border-color:#14b8a657}.admin-row-actions .admin-project-participant-button{color:#3b27c8;white-space:nowrap;background:#e8e4ffb3;border:1px solid #8060ff5c;gap:6px}.admin-row-actions .admin-project-participant-button small,.admin-row-actions .admin-project-participant-button em{margin:0;font-size:11px;font-style:normal;font-weight:900;line-height:1;display:inline}.admin-row-actions .admin-project-participant-button small{color:inherit;opacity:.76}.admin-row-actions .admin-project-participant-button em{color:#b45309;background:#fbbf2433;border-radius:999px;padding:3px 6px}.admin-row-actions .admin-project-participant-button.is-pending{color:#9a3412;background:#fff7edfa;border-color:#fb923c85}.admin-badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-badge--active{color:#075e4c;background:#087e6724}.admin-badge--pending{color:#9a5b00;background:#fab83f38}.has-tooltip{cursor:pointer}.admin-event-page{gap:14px}.admin-event-page>.admin-event-hero{order:1}.admin-event-page>.admin-event-toolbar{order:2}.admin-event-page>.admin-event-filter{order:3}.admin-event-page>.notice{order:4}.admin-event-page>.admin-event-layout{order:5}.admin-event-hero{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 16px 42px #0f172a1a}.admin-event-hero h1,.admin-event-form__header h2{color:var(--text);margin:0;font-size:24px;font-weight:900}.admin-event-hero p,.admin-event-form__header p{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:700}.admin-event-hero strong{color:var(--primary);text-align:right;word-break:keep-all;font-size:13px;font-weight:900}.admin-event-toolbar .admin-toolbar__controls,.admin-event-filter .admin-toolbar__controls{grid-template-columns:minmax(150px,.8fr) minmax(170px,.9fr) minmax(220px,1.4fr) auto auto;width:100%;display:grid}.admin-event-filter .admin-toolbar__controls{grid-template-columns:repeat(6,minmax(120px,1fr))}.admin-event-layout{flex-direction:column;gap:14px;display:flex}.admin-event-list{min-width:0}.admin-event-table{min-width:1320px}.admin-event-table tr.is-selected td{background:#087e6712}.admin-event-table td strong{font-weight:900}.admin-event-condition-cell{white-space:normal;max-width:280px}.admin-event-scope{border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.admin-event-scope--public{color:#075e4c;background:#087e6724}.admin-event-scope--admin{color:#4338ca;background:#6366f124}.admin-event-scope--private{color:#075985;background:#0ea5e929}.admin-event-count{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:800}.admin-event-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-event-form__header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-event-scope-row{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:stretch;gap:12px;display:grid}.admin-event-scope-row .admin-event-segment,.admin-event-definition-summary{min-width:0;min-height:100%}.admin-event-segment{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-content:start;gap:8px;padding:12px;display:grid}.admin-event-segment__label,.admin-event-grade-editor__header small{color:var(--muted);font-size:12px;font-weight:800}.admin-event-segment__buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-event-segment button{border:1px solid var(--line);min-height:36px;color:var(--text);cursor:pointer;background:#fff;border-radius:9px;padding:0 18px;font-weight:900}.admin-event-segment button:disabled{cursor:not-allowed}.admin-event-segment button.is-active{color:#fff;background:#1d6fe8;border-color:#1d6fe8}.admin-event-segment button.is-active:disabled{color:#fff;opacity:1;background:#8ebcff;border-color:#8ebcff}.admin-event-definition-summary{margin:0}.admin-event-flags{align-content:end}.admin-event-grade-editor,.admin-event-template-editor{border:1px solid var(--line);background:#f8fbfaf5;border-radius:12px;gap:12px;padding:14px;display:grid}.admin-event-grade-editor__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-event-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-event-grade-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(54px,.4fr) minmax(48px,1fr) minmax(48px,1fr) minmax(54px,auto) minmax(62px,auto) minmax(54px,auto);align-items:end;gap:8px;min-width:0;padding:10px 12px;display:grid}.admin-event-grade-row.is-disabled{background:#f8fbfac7}.admin-event-grade-row>strong,.admin-event-template-editor strong,.admin-event-template-editor span{color:var(--text);font-size:13px;font-weight:900}.admin-event-grade-row>strong{align-self:center}.admin-event-grade-use{min-width:0;min-height:36px;color:var(--text);align-self:end;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.admin-event-grade-control{gap:5px;min-width:0;display:grid}.admin-event-grade-control span{color:var(--muted);font-size:12px;font-weight:800}.admin-event-grade-control input{border:1px solid var(--line);width:100%;height:36px;color:var(--text);background:#fff;border-radius:9px;outline:0;padding:0 10px;font-weight:800}.admin-event-grade-placeholder strong{border:1px solid var(--line);height:36px;color:var(--muted);background:#fff;border-radius:9px;align-items:center;padding:0 10px;font-size:13px;font-weight:900;display:flex}.admin-event-check-pill{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:9px;align-self:end;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.admin-event-template-editor__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-event-template-editor__header>div,.admin-event-template-keywords{gap:6px;display:grid}.admin-event-template-editor small,.admin-event-template-keywords small{color:var(--muted);margin:0;font-size:12px;font-weight:800;line-height:1.45}.admin-event-template-sync{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:6px;min-height:34px;padding:0 10px;display:inline-flex}.admin-event-template-keywords>div{flex-wrap:wrap;gap:8px;display:flex}.admin-event-template-keywords button{color:#0b58c2;cursor:pointer;background:#eef6ff;border:1px solid #9fc7ff;border-radius:999px;min-height:30px;padding:0 10px;font-size:12px;font-weight:900}.admin-event-template-keywords button:disabled{cursor:not-allowed;opacity:.58}.admin-event-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=1180px){.admin-sensor-toolbar__row,.admin-sensor-toolbar__row--bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sensor-toolbar__row--bottom button{width:100%}.admin-event-form,.admin-event-toolbar .admin-toolbar__controls,.admin-event-filter .admin-toolbar__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1040px){.admin-event-grade-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.admin-event-grade-row{grid-template-columns:minmax(54px,.4fr) repeat(2,minmax(48px,1fr)) repeat(3,minmax(54px,auto))}}@media (width<=720px){.admin-sensor-toolbar__row,.admin-sensor-toolbar__row--bottom{grid-template-columns:minmax(0,1fr)}.admin-event-hero,.admin-event-form__header{flex-direction:column}.admin-event-hero strong{text-align:left}.admin-event-toolbar .admin-toolbar__controls,.admin-event-filter .admin-toolbar__controls,.admin-event-form,.admin-event-scope-row,.admin-event-grade-grid,.admin-event-template-grid{grid-template-columns:minmax(0,1fr)}.admin-event-grade-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-event-grade-use{grid-column:1/-1}}.thread-page{width:100%}.thread-list-toolbar{flex-wrap:wrap}.thread-target-select{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.thread-target-select span{color:var(--text);font-size:13px;font-weight:800}.thread-target-select select{border:1px solid var(--line);min-width:210px;height:36px;color:var(--text);background:var(--surface-soft);border-radius:9px;outline:0;padding:0 10px}.thread-table{table-layout:fixed;min-width:0}.thread-table__kind-column{width:120px}.thread-table__title-column{width:auto}.thread-table__date-column{width:150px}.thread-table__author-column{width:140px}.thread-table__title-cell{min-width:260px}.thread-search-field{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;align-items:center;gap:6px;min-width:min(320px,100%);height:36px;padding:0 10px;display:inline-flex}.thread-search-field .material-symbols-outlined{color:var(--muted);font-size:19px}.thread-search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.thread-title-button{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:100%;display:inline-flex;overflow:hidden}.thread-title-text{text-overflow:ellipsis;overflow:hidden}.thread-comment-count{color:#0f6bdc;flex:none;font-weight:850}.thread-private-lock{color:#4b5563;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.thread-private-lock .material-symbols-outlined{font-size:17px;line-height:1}.thread-tags{flex-wrap:wrap;gap:6px;display:flex}.thread-tags span{color:#3b27c8;background:#e8e4ffb3;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.thread-detail{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:18px;padding:20px 24px;display:flex}.thread-detail__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.thread-detail__header h2{color:var(--text);margin:10px 0 6px;font-size:26px}.thread-detail__title{align-items:center;display:inline-flex}.thread-detail__author{text-align:right;padding-top:18px;padding-right:18px}.thread-detail__header p{color:var(--muted);margin:0;font-size:13px;font-weight:700}.thread-detail__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.thread-detail__tags{padding-bottom:4px}.thread-content{min-height:120px;color:var(--text);font-size:15px;line-height:1.7}.thread-content :first-child{margin-top:0}.thread-content :last-child{margin-bottom:0}.thread-comments{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:4px;display:flex}.thread-comments__header{justify-content:flex-start;align-items:center;gap:14px;display:flex}.thread-comments__header strong{font-size:16px;font-weight:900}.thread-comment-sort-button{border:1px solid var(--line);min-height:28px;color:var(--muted);background:var(--surface-soft);cursor:pointer;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.alarm-management-page{flex-direction:column;gap:14px;display:flex}.alarm-management-filter-panel,.alarm-management-actions-panel,.alarm-summary-grid article{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd1;border-radius:18px}.alarm-management-filter-panel{grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) minmax(145px,1fr) minmax(145px,1fr);align-items:end;gap:14px;padding:18px;display:grid}.alarm-management-search{grid-column:1/-1;align-self:end;width:100%;height:36px}.alarm-management-actions-panel{justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.alarm-read-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(3,minmax(90px,1fr));min-width:310px;min-height:36px;display:grid;overflow:hidden}.alarm-read-tabs button{border:0;border-right:1px solid var(--line);color:var(--brand-dark);cursor:pointer;background:0 0;font-weight:900}.alarm-read-tabs button:last-child{border-right:0}.alarm-read-tabs button.active{color:#fff;background:var(--brand)}.alarm-management-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.alarm-management-actions button,.alarm-management-row-actions button{border:1px solid var(--line);min-height:36px;color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:900;display:inline-flex}.alarm-management-actions button:hover,.alarm-management-row-actions button:hover{background:var(--brand-soft);border-color:#087e6761}.alarm-management-actions button:disabled,.alarm-management-row-actions button:disabled{cursor:not-allowed;opacity:.45}.alarm-management-actions button.danger,.alarm-management-row-actions button.danger{color:#dc2626}.alarm-management-actions .material-symbols-outlined,.alarm-management-row-actions .material-symbols-outlined{font-size:20px}.alarm-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.alarm-summary-grid article{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:4px 14px;min-height:96px;padding:18px;display:grid}.alarm-summary-grid .material-symbols-outlined{width:54px;height:54px;color:var(--brand);background:var(--brand-soft);border-radius:16px;grid-row:span 2;place-items:center;font-size:30px;display:grid}.alarm-summary-grid p{color:var(--text);font-size:14px;font-weight:850}.alarm-summary-grid strong{color:var(--brand-dark);font-size:24px;font-weight:950}.alarm-management-table-wrap{overflow:visible}.alarm-management-table{table-layout:fixed;min-width:0}.alarm-management-table th,.alarm-management-table td{text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:9px 7px;overflow:hidden}.alarm-management-table th:first-child,.alarm-management-table td:first-child{width:42px}.alarm-management-table th:nth-child(2),.alarm-management-table td:nth-child(2){width:48px}.alarm-management-table th:nth-child(3),.alarm-management-table td:nth-child(3),.alarm-management-table th:nth-child(4),.alarm-management-table td:nth-child(4),.alarm-management-table th:nth-child(11),.alarm-management-table td:nth-child(11){text-overflow:clip;width:66px;overflow:visible}.alarm-management-table th:nth-child(8),.alarm-management-table td:nth-child(8),.alarm-management-table th:nth-child(9),.alarm-management-table td:nth-child(9){width:48px}.alarm-management-table th:nth-child(5),.alarm-management-table td:nth-child(5){text-align:left;width:18%}.alarm-management-table th:nth-child(6),.alarm-management-table td:nth-child(6){text-align:left;width:20%}.alarm-management-table th:nth-child(7),.alarm-management-table td:nth-child(7){width:13%}.alarm-management-table th:nth-child(10),.alarm-management-table td:nth-child(10){width:130px}.alarm-management-table tr.is-unread td{background:#e2f5f1bd}.alarm-status-badge,.alarm-management-kind-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.alarm-status-badge.is-unread{color:#087e67;background:#10b9812b}.alarm-status-badge.is-read{color:#64748b;background:#64748b21}.alarm-management-kind-badge{color:color-mix(in srgb, var(--alarm-kind-color) 82%, black);background:color-mix(in srgb, var(--alarm-kind-color) 14%, white)}.alarm-channel{border-radius:6px;place-items:center;width:22px;height:22px;display:inline-grid}.alarm-channel .material-symbols-outlined{font-size:17px}.alarm-channel.is-off{color:#b6bec8;opacity:.65}.alarm-channel.is-pending{color:#7c3aed;background:#7c3aed1a}.alarm-channel--email.is-sent{color:#087e67;background:#087e671f}.alarm-channel--sms.is-sent{color:#5b21b6;background:#5b21b61f}.alarm-management-row-actions{justify-content:center;gap:3px;display:inline-flex}.alarm-date-cell{flex-direction:column;align-items:center;gap:2px;line-height:1.25;display:inline-flex}.alarm-date-cell small{color:var(--muted);font-size:11px;font-weight:800}.alarm-management-row-actions button{border-radius:6px;width:25px;min-height:25px;padding:0}.alarm-management-row-actions .material-symbols-outlined{font-size:17px}@media (width<=1200px){.alarm-management-filter-panel,.alarm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.thread-comment-sort-button:hover{color:#0f6bdc;background:#0f6bdc0f;border-color:#0f6bdc4d}.thread-comment-compose,.thread-comment{grid-template-columns:34px minmax(0,1fr);gap:12px;display:grid}.thread-comment{margin-left:calc(var(--comment-depth,0) * 32px);border-radius:12px;padding:8px 10px;transition:background-color .12s;position:relative}.thread-comment:hover,.thread-comment.mine{background:#0f6bdc0d}.thread-comment.mine:hover{background:#84cc161a}.thread-comment:not([style*="--comment-depth: 0"]):before{content:"";border-bottom:1px solid #d7dee7;border-left:1px solid #d7dee7;border-bottom-left-radius:8px;width:16px;height:30px;position:absolute;top:-8px;left:-18px}.thread-comment-avatar{color:#fff;background:linear-gradient(135deg,#7c9cff,#4dd8cd);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:900;display:inline-flex}.thread-comment-avatar.deleted{color:#9ca3af;background:#eef2f7}.thread-comment-avatar .material-symbols-outlined{font-size:18px}.thread-comment-editor{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.thread-comment-editor textarea{resize:vertical;width:100%;min-height:15px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;padding:8px;line-height:1.25;display:block}.thread-comment-editor__footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:12px;font-weight:650;display:flex}.thread-comment-actions,.thread-comment__actions{align-items:center;gap:8px;display:inline-flex}.thread-comment-actions button,.thread-comment__actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800;transition:color .12s}.thread-comment__action-reply:hover{color:#0f6bdc}.thread-comment__action-edit:hover{color:#0f8f5f}.thread-comment__action-delete:hover{color:#dc2626}.thread-comment-actions button.primary{color:#fff;background:#0f6bdc;border-radius:8px;min-width:58px;min-height:30px}.thread-comment-list{flex-direction:column;gap:8px;display:flex}.thread-comment-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:16px}.thread-comment__body{width:100%;min-width:0}.thread-comment__meta{justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:4px;display:flex}.thread-comment__meta-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.thread-comment__meta-main strong{white-space:nowrap;font-size:13px;font-weight:900}.thread-comment__meta-main span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:650}.thread-comment__actions{white-space:nowrap;flex:none;justify-content:flex-end;margin-left:auto}.thread-comment__content,.thread-comment__deleted{color:var(--text);white-space:pre-wrap;margin:0 0 6px;font-size:14px;line-height:1.6}.thread-comment__deleted{color:var(--muted)}.thread-files{gap:14px;display:grid}.thread-image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.thread-file-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;margin:0;overflow:hidden}.thread-file-card img,.thread-file-card__placeholder{aspect-ratio:16/10;background:#eaf1ef;width:100%}.thread-file-card img{object-fit:cover;display:block}.thread-file-card__placeholder{color:#5f756f;place-items:center;display:grid}.thread-file-card figcaption{color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:800;overflow:hidden}.thread-download-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.thread-download-list li{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.thread-download-list .material-symbols-outlined{color:#5f756f}.thread-download-list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.thread-download-list small{color:var(--muted);font-size:12px;font-weight:700}.admin-window{z-index:30;background:#0000006b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.admin-window__card{background:var(--surface);border-radius:20px;width:min(1120px,100%);max-height:calc(100vh - 56px);padding:22px;overflow:auto;box-shadow:0 20px 70px #0000003d}.admin-window__header{justify-content:space-between;gap:18px;margin-bottom:18px;display:flex}.admin-window__header h2{margin-bottom:5px;font-size:21px}.admin-window__header p{color:var(--muted);font-size:13px}.button:disabled{cursor:wait;opacity:.65}.server-maintenance{place-items:center;min-height:100vh;padding:24px;display:grid}.server-maintenance__card{border:1px solid var(--line);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);border-radius:18px;padding:38px}.server-maintenance__card h1{margin:10px 0 12px;font-size:30px}.server-maintenance__card p{color:var(--muted);margin-bottom:24px;line-height:1.7}.shole-chart-page{flex-direction:column;gap:16px;display:flex}.chart-filter-bar,.chart-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.chart-filter-bar{grid-template-columns:minmax(160px,1.1fr) minmax(160px,1.1fr) minmax(140px,.9fr) minmax(142px,.8fr) minmax(142px,.8fr);align-items:end;gap:12px;padding:16px;display:grid}.water-supply-chart-filter-bar{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(142px,.8fr) minmax(142px,.8fr)}.water-supply-source-page{gap:16px;display:grid}.water-supply-source-toolbar,.water-supply-source-controlbar,.water-supply-source-bulkbar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.water-supply-source-toolbar{grid-template-columns:minmax(220px,1.4fr) minmax(260px,2fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;align-items:end;gap:12px;padding:16px 18px;display:grid}.water-supply-source-toolbar--source{grid-template-columns:minmax(240px,1fr) minmax(360px,2fr) auto}.water-supply-source-field{min-width:0;color:var(--text);gap:7px;font-size:13px;font-weight:850;display:grid}.water-supply-source-field input,.water-supply-source-field select{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--text);background:#ffffffd1;border-radius:10px;padding:0 12px;font-size:14px;font-weight:750}.water-supply-source-toolbar__actions,.water-supply-source-bulkbar>div{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.water-supply-source-toolbar__actions button,.water-supply-source-bulkbar button,.water-supply-source-row-action{min-height:38px;color:var(--brand-dark);cursor:pointer;background:#087e6714;border:1px solid #087e6738;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex}.water-supply-source-toolbar__actions button:first-child,.water-supply-source-bulkbar button:first-child{color:#fff;background:var(--brand)}.water-supply-source-toolbar__actions button:disabled,.water-supply-source-bulkbar button:disabled,.water-supply-source-row-action:disabled,.water-supply-source-toggle:disabled{cursor:not-allowed;opacity:.55}.water-supply-source-bulkbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13px;font-weight:900;display:flex}.water-supply-source-controlbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.water-supply-source-controlbar>.water-supply-local-filterbar{flex:520px;grid-template-columns:max-content max-content;justify-content:start;gap:8px 22px;display:grid}.water-supply-source-controlbar>.water-supply-local-filterbar,.water-supply-source-controlbar>.water-supply-source-bulkbar{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.water-supply-source-controlbar>.water-supply-source-bulkbar{flex:0 auto;min-width:0}.water-supply-local-filterbar{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd6;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.water-supply-local-filterbar__group{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.water-supply-local-filterbar__group>span{color:var(--text);margin-right:2px}.water-supply-filter-chip{min-height:30px;color:var(--brand-dark);cursor:pointer;background:#ffffffc2;border:1px solid #087e672e;border-radius:999px;padding:0 13px;font-size:12px;font-weight:950}.water-supply-filter-chip.active{color:#fff;border-color:var(--brand);background:var(--brand);box-shadow:0 8px 18px #087e672e}.water-supply-source-table-wrap{border-radius:18px;overflow-x:auto}.water-supply-source-table{table-layout:fixed;width:100%;min-width:0}.water-supply-source-table th:first-child,.water-supply-source-table td:first-child{text-align:center;width:46px}.water-supply-source-table th:nth-child(2),.water-supply-source-table td:nth-child(2){text-align:center;width:72px}.water-supply-source-table th:nth-child(3),.water-supply-source-table td:nth-child(3){text-align:center;width:13%}.water-supply-source-table th:nth-child(4),.water-supply-source-table td:nth-child(4),.water-supply-source-table th:nth-child(5),.water-supply-source-table td:nth-child(5){width:13%}.water-supply-source-table th:nth-child(6),.water-supply-source-table td:nth-child(6){width:22%}.water-supply-source-table th:nth-child(7),.water-supply-source-table td:nth-child(7),.water-supply-source-table th:nth-child(8),.water-supply-source-table td:nth-child(8),.water-supply-source-table th:nth-child(9),.water-supply-source-table td:nth-child(9){text-align:center;width:84px}.water-supply-source-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.water-supply-source-sort-button{width:100%;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.water-supply-source-toggle,.water-supply-source-status{border:0;border-radius:999px;justify-content:center;align-items:center;min-width:50px;min-height:26px;font-size:12px;font-weight:950;display:inline-flex}.water-supply-source-toggle{cursor:pointer}.water-supply-source-toggle--on{color:#fff;background:var(--brand)}.water-supply-source-status--linked{color:#fff;background:#1d8cf8}.water-supply-source-toggle--off,.water-supply-source-status--unlinked{color:#52655f;background:#77888829}.water-supply-meter-toolbar{grid-template-columns:minmax(250px,1fr) auto;justify-content:stretch;align-items:end}.water-supply-meter-toolbar .water-supply-source-field--search{width:auto;min-width:250px}.water-supply-meter-controlbar{align-items:center}.water-supply-meter-controlbar>.water-supply-meter-filterbar{flex:0 auto}.water-supply-meter-summary{flex:220px;justify-content:flex-end}.water-supply-meter-table{table-layout:fixed;width:100%;min-width:0}.water-supply-meter-table th,.water-supply-meter-table td{padding-left:6px;padding-right:6px}.water-supply-meter-table th:first-child,.water-supply-meter-table td:first-child{text-align:center;width:44px}.water-supply-meter-table th:nth-child(2),.water-supply-meter-table td:nth-child(2){text-align:center;width:70px}.water-supply-meter-table th:nth-child(3),.water-supply-meter-table td:nth-child(3){text-align:center;width:86px}.water-supply-meter-table th:nth-child(4),.water-supply-meter-table td:nth-child(4){width:17%}.water-supply-meter-table th:nth-child(5),.water-supply-meter-table td:nth-child(5){width:12%}.water-supply-meter-table th:nth-child(6),.water-supply-meter-table td:nth-child(6){width:16%}.water-supply-meter-table th:nth-child(7),.water-supply-meter-table td:nth-child(7){text-align:center;width:96px}.water-supply-meter-table th:nth-child(8),.water-supply-meter-table td:nth-child(8){text-align:center;width:72px}.water-supply-meter-table th:nth-child(9),.water-supply-meter-table td:nth-child(9){text-align:center;width:116px}.water-supply-meter-table th:nth-child(10),.water-supply-meter-table td:nth-child(10){text-align:center;width:56px}.water-supply-meter-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.water-supply-meter-table td:nth-child(9){white-space:normal}.water-supply-meter-type{border-radius:999px;justify-content:center;align-items:center;min-width:58px;min-height:26px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.water-supply-meter-type--flow{color:#095f50;background:#d9f8ee}.water-supply-meter-type--pressure{color:#0f4f9c;background:#e3efff}.water-supply-meter-measure{color:#0f766e;justify-content:center;align-items:center;max-width:100%;font-weight:900;display:inline-flex;overflow:hidden}.water-supply-meter-measure__value,.water-supply-meter-count{color:#172327;font-weight:950}.water-supply-meter-period{color:#172327;gap:2px;min-width:0;font-size:11px;font-weight:850;line-height:1.25;display:grid}.water-supply-meter-period span{justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.water-supply-meter-period__label{color:#60746f;flex:none;font-weight:850}.water-supply-meter-period strong{color:#172327;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:950;overflow:hidden}.water-supply-operation-toolbar{grid-template-columns:minmax(140px,.45fr) minmax(180px,1fr) auto}.water-supply-upload-toolbar{grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(160px,.55fr)) auto}.water-supply-upload-page .project-upload-panel{height:auto;max-height:none;box-shadow:var(--shadow);border-radius:18px;overflow:visible}.water-supply-upload-page .project-upload-panel__table{max-height:none;overflow:auto}.water-supply-upload-page .project-upload-panel__col-actions{width:190px}.water-supply-upload-page .project-upload-panel__row-actions{flex-wrap:wrap;justify-content:flex-end}.water-supply-upload-page .project-upload-panel__dropzone{margin-top:12px}.water-supply-upload-page .basic-table-pagination{margin-top:10px}.water-supply-operation-panels{grid-template-columns:1fr;gap:14px;display:grid}.water-supply-operation-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#ffffffdb;border-radius:18px;gap:14px;padding:16px;display:grid}.water-supply-operation-panel header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.water-supply-operation-panel h3{color:var(--brand-dark);margin:0;font-size:18px;font-weight:950}.water-supply-operation-panel header span{color:var(--muted);text-align:right;word-break:keep-all;font-size:12px;font-weight:800}.water-supply-operation-form-grid{grid-template-columns:repeat(5,minmax(90px,1fr)) minmax(220px,1.5fr) max-content;align-items:end;gap:10px;display:grid}.water-supply-operation-form-grid--recalc{grid-template-columns:repeat(2,minmax(180px,1fr)) minmax(180px,.8fr) max-content}.water-supply-operation-check-field{min-width:0;min-height:42px;color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.water-supply-operation-check-field input{width:18px;height:18px;accent-color:var(--brand)}.water-supply-operation-primary-button,.water-supply-operation-row-actions button{color:#fff;background:var(--brand);cursor:pointer;border:1px solid #087e6738;border-radius:10px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:950;display:inline-flex}.water-supply-operation-primary-button{white-space:nowrap;place-self:end;height:36px}.water-supply-operation-primary-button:disabled,.water-supply-operation-row-actions button:disabled{cursor:not-allowed;opacity:.55}.water-supply-operation-table{table-layout:fixed;width:100%;min-width:820px}.water-supply-operation-table th,.water-supply-operation-table td{padding-left:7px;padding-right:7px}.water-supply-operation-table th:first-child,.water-supply-operation-table td:first-child{text-align:center;width:48px}.water-supply-operation-table th:nth-child(2),.water-supply-operation-table td:nth-child(2){width:28%}.water-supply-operation-table th:nth-child(3),.water-supply-operation-table td:nth-child(3){text-align:center;width:140px}.water-supply-operation-table th:nth-child(4),.water-supply-operation-table td:nth-child(4){width:auto}.water-supply-operation-table th:nth-child(5),.water-supply-operation-table td:nth-child(5){text-align:center;width:142px}.water-supply-operation-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.water-supply-operation-table td:nth-child(4){white-space:normal}.water-supply-operation-subtext{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:800;display:block;overflow:hidden}.water-supply-operation-cell{gap:3px;display:grid}.water-supply-operation-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;display:grid}.water-supply-operation-split label{gap:4px;display:grid}.water-supply-operation-split label>span{color:var(--brand-dark);font-size:11px;font-weight:900}.water-supply-operation-inline-input{border:1px solid var(--primary);width:100%;min-width:0;height:34px;color:var(--text);background:#fff;border-radius:9px;padding:0 10px;font-size:13px;font-weight:850}.water-supply-operation-row-actions{justify-content:center;align-items:center;gap:6px;display:inline-flex}.water-supply-operation-row-actions button+button{color:var(--brand-dark);background:#087e6714}@media (width<=1280px){.water-supply-source-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.water-supply-source-toolbar__actions{grid-column:1/-1}.water-supply-meter-toolbar{grid-template-columns:minmax(250px,1fr)}.water-supply-meter-toolbar .water-supply-source-toolbar__actions{grid-column:1/-1}.water-supply-operation-panels{grid-template-columns:1fr}.water-supply-operation-form-grid,.water-supply-operation-form-grid--create,.water-supply-operation-form-grid--recalc{grid-template-columns:repeat(2,minmax(0,1fr))}.water-supply-operation-primary-button{grid-column:1/-1}}@media (width<=760px){.water-supply-source-controlbar>.water-supply-local-filterbar{grid-template-columns:1fr 1fr}.water-supply-source-bulkbar{flex-direction:column;align-items:stretch}.water-supply-source-toolbar{grid-template-columns:1fr}.water-supply-source-toolbar__actions,.water-supply-source-bulkbar>div{justify-content:stretch}.water-supply-source-toolbar__actions button,.water-supply-source-bulkbar button{flex:1 1 0}}.chart-filter-bar--compact{grid-template-columns:minmax(180px,270px) minmax(180px,270px) minmax(0,1fr)}.chart-filter-bar--compact .chart-field--date input{border-radius:8px;height:34px;padding:0 10px;font-size:14px;font-weight:750}.chart-filter-bar--compact .chart-field--date{gap:5px;font-size:12px}.chart-field{min-width:0;color:var(--text);flex-direction:column;gap:7px;font-size:13px;font-weight:750;display:flex}.chart-field select,.chart-field input{border:1px solid var(--line);width:100%;height:36px;color:var(--text);background:var(--surface-soft);border-radius:10px;outline:none;padding:0 12px}.chart-field select:focus,.chart-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #087e671f}.chart-field select:disabled,.chart-field input:disabled{color:#899892;cursor:not-allowed;background:#eef2f1}.chart-date-presets{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.chart-filter-presets-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.chart-filter-presets-row .chart-date-presets{grid-column:auto}.chart-filter-presets-row .popup-filter-nav{place-self:center end;min-height:36px;margin-left:auto}.chart-date-presets button{border:1px solid var(--line);min-height:34px;color:var(--text);background:var(--surface-soft);white-space:nowrap;border-radius:8px;padding:0 12px;font-size:12px;font-weight:750}.chart-date-presets button:hover:not(:disabled){border-color:var(--brand);color:var(--brand-strong);background:#effaf7}.chart-date-presets button:disabled{color:#a4aea9;cursor:not-allowed;background:#eef2f1}.statistics-page{container:statistics-page/inline-size}.statistics-report-heading,.statistics-report-footer{display:none}.statistics-print-area{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd6;border-radius:18px;flex-direction:column;gap:14px;margin-top:14px;padding:18px;display:flex}.statistics-filter-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(122px,140px)) minmax(128px,142px);align-items:end;gap:12px;padding:18px;display:grid}.statistics-filter-bar .chart-field select,.statistics-filter-bar .chart-field input,.statistics-filter-button,.statistics-filter-status{min-height:40px}.statistics-filter-button{border:1px solid var(--line);color:var(--text);background:var(--surface);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:800;display:inline-flex}.statistics-filter-button--primary{color:#fff;background:#0f6bdc;border-color:#0f6bdc}.statistics-filter-button--report{color:#fff;background:linear-gradient(135deg, var(--brand), #0b6f5d);border-color:#087e6742;grid-column:-2/-1;box-shadow:0 10px 22px #087e6738}.statistics-filter-status{color:#0f4f9c;white-space:nowrap;background:#eef6ff;border:1px solid #0f6bdc29;border-radius:10px;grid-column:1/-2;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:850;display:inline-flex}.statistics-filter-status .material-symbols-outlined{font-size:18px}.statistics-filter-button:disabled{cursor:not-allowed;opacity:.55}.statistics-filter-button .material-symbols-outlined{font-size:18px}.statistics-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.statistics-kpi-card{border:1px solid var(--line);background:var(--surface);min-height:108px;box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:14px;display:grid}.statistics-kpi-card__icon{color:#0f6bdc;background:#e7f0ff;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.statistics-kpi-card--warning .statistics-kpi-card__icon{color:#f97316;background:#fff1df}.statistics-kpi-card--danger .statistics-kpi-card__icon{color:#dc2626;background:#fee2e2}.statistics-kpi-card p{font-size:13px;font-weight:850}.statistics-kpi-card strong{margin-top:4px;font-size:24px;font-weight:950;line-height:1;display:block}.statistics-kpi-card--warning strong{color:#f97316}.statistics-kpi-card--danger strong{color:#dc2626}.statistics-kpi-card small{color:var(--muted);margin-top:5px;font-size:12px;font-weight:650;display:block}.statistics-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.statistics-panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);border-radius:8px;padding:16px;container-type:inline-size}.statistics-panel--wide{grid-column:auto}.statistics-panel__header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.statistics-panel__header h2{font-size:18px;font-weight:900}.statistics-panel__header p,.statistics-panel-note{color:var(--muted);margin-top:5px;font-size:12px;font-weight:650}.statistics-chart-wrap{height:285px}.chart-canvas-shell{width:100%;height:100%;min-height:0;position:relative}.chart-canvas-shell canvas{width:100%!important;height:100%!important}.statistics-donut-wrap{grid-template-columns:minmax(74px,.58fr) minmax(74px,.34fr);align-items:center;gap:8px;min-width:0;min-height:285px;display:grid;overflow:hidden}.statistics-donut-wrap .donut-chart{aspect-ratio:1;max-height:none;margin:0 auto;width:min(155px,100%)!important;height:auto!important}.statistics-print-area--aqua .statistics-chart-wrap{height:350px}.statistics-print-area--aqua .statistics-donut-wrap{height:350px;min-height:350px}.aqua-statistics-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.aqua-statistics-panel--model,.aqua-statistics-panel--mae,.aqua-statistics-panel--direction{grid-column:span 4}.aqua-statistics-panel--long{grid-column:span 8}.aqua-statistics-panel--inspection{grid-column:span 4}.aqua-statistics-panel--upload{grid-column:1/-1}.aqua-statistics-panel--long .statistics-chart-wrap{height:360px}.aqua-statistics-panel--upload .statistics-table-wrap{max-height:320px;overflow:auto}.statistics-panel-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.statistics-panel-badges span{min-height:28px;color:var(--muted);white-space:nowrap;background:#f4f8ff;border:1px solid #0f6bdc24;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:750;display:inline-flex}.statistics-panel-badges strong{color:var(--text);font-weight:900}.statistics-performance-chart{grid-template-rows:minmax(0,1fr) auto auto;gap:9px;min-height:350px;display:grid}.statistics-performance-chart .statistics-chart-wrap{height:auto;min-height:245px}.statistics-performance-empty{height:100%;min-height:245px;color:var(--muted);text-align:center;background:#f8fbfd;border:1px dashed #cad7e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.statistics-performance-empty .material-symbols-outlined{color:#64748b;font-size:32px}.statistics-performance-empty strong{color:var(--text);font-size:13px;font-weight:900}.statistics-performance-empty p{max-width:310px;font-size:12px;font-weight:650;line-height:1.45}.statistics-performance-legend,.statistics-performance-future ul{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.statistics-performance-legend{justify-content:center;min-height:26px}.statistics-performance-legend li,.statistics-performance-future li{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.statistics-performance-symbol{flex:none;width:11px;height:11px;display:inline-block;position:relative}.statistics-performance-symbol--observed{background:#2563eb;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #2563eb}.statistics-performance-symbol--interpolation{background:#d97706;border:1px solid #fff;border-radius:2px;width:9px;height:9px;transform:rotate(45deg);box-shadow:0 0 0 1px #d97706}.statistics-performance-symbol--future{clip-path:polygon(50% 0,100% 100%,0 100%);background:#64748b;width:13px;height:12px}.statistics-performance-symbol--future:after{clip-path:polygon(50% 0,100% 100%,0 100%);content:"";background:#fff;width:7px;height:6px;position:absolute;top:3px;left:3px}.statistics-performance-future{background:#f8fafc;border:1px solid #d8e1e8;border-radius:8px;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 12px;min-height:34px;padding:7px 10px;display:grid}.statistics-performance-future>strong{color:var(--text);white-space:nowrap;font-size:11px;font-weight:900}.statistics-model-info{min-width:0}.statistics-model-meta{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:minmax(112px,.28fr) minmax(0,1fr);display:grid}.statistics-model-meta span,.statistics-model-meta strong{border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;justify-content:center;align-items:center;min-width:0;min-height:47px;padding:10px 8px;font-size:12px;line-height:1.25;display:flex}.statistics-model-meta span{color:var(--muted);background:var(--surface-soft);font-weight:850}.statistics-model-meta strong{color:var(--text);text-overflow:ellipsis;font-weight:900;overflow:hidden}.statistics-model-table{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);table-layout:auto;min-height:150px}.statistics-model-table th,.statistics-model-table td{white-space:nowrap;padding:15px 8px;font-size:12px}.statistics-model-footnote{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700;line-height:1.4}.statistics-model-footnote span{display:block}@container statistics-page (width<=960px){.statistics-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.statistics-filter-button{width:100%}.statistics-filter-bar>.chart-field:first-of-type{grid-area:1/1/auto/span 2}.statistics-filter-bar>.chart-field:nth-of-type(2){grid-area:2/1}.statistics-filter-bar>.chart-field:nth-of-type(3){grid-area:2/2}.statistics-filter-bar>.chart-field:nth-of-type(4){grid-area:2/3}.statistics-filter-status{grid-area:2/4;justify-self:stretch}.statistics-filter-button--report{grid-area:1/3/auto/span 2}.statistics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-dashboard-grid>.statistics-panel:first-child{order:1}.statistics-dashboard-grid>.statistics-panel:nth-child(2){order:2}.statistics-dashboard-grid>.statistics-panel:nth-child(4){order:3}.statistics-dashboard-grid>.statistics-panel:nth-child(3){order:4}.statistics-dashboard-grid>.statistics-panel:nth-child(5){order:5}.statistics-dashboard-grid>.statistics-panel:nth-child(6){order:6}.aqua-statistics-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.aqua-statistics-grid>.statistics-panel{grid-column:span 6}.aqua-statistics-grid>.aqua-statistics-panel--long,.aqua-statistics-grid>.aqua-statistics-panel--upload{grid-column:1/-1}}@container statistics-page (width<=620px){.aqua-statistics-grid>.statistics-panel{grid-column:1/-1}.statistics-performance-future{grid-template-columns:minmax(0,1fr)}.statistics-panel-badges{justify-content:flex-start}}.statistics-grade-legend{flex-direction:column;gap:8px;width:100%;min-width:0;padding-left:0;list-style:none;display:flex}.statistics-grade-legend li{min-width:0;color:var(--text);grid-template-columns:12px minmax(36px,1fr) max-content;grid-template-areas:"dot label value"".ratio value";align-items:center;gap:1px 5px;font-size:12px;font-weight:700;display:grid}.statistics-grade-legend span{text-overflow:ellipsis;white-space:nowrap;grid-area:label;min-width:0;overflow:hidden}.statistics-grade-legend i{border-radius:50%;grid-area:dot;width:10px;height:10px}.statistics-grade-legend strong{white-space:nowrap;grid-area:value;justify-self:end}.statistics-grade-legend small{color:var(--muted);white-space:nowrap;grid-area:ratio}@container (width<=240px){.statistics-donut-wrap{grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center}.statistics-grade-legend{width:min(260px,100%)}}.statistics-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}.statistics-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.statistics-table th,.statistics-table td{border-bottom:1px solid var(--line);text-align:center;padding:10px 9px}.statistics-table th{color:var(--muted);background:var(--surface-soft);font-weight:850}.statistics-table td{font-weight:700}.statistics-table tr:last-child td{border-bottom:0}.statistics-device-table th,.statistics-device-table td{padding-left:7px;padding-right:7px}.statistics-device-count{border-radius:999px;justify-content:center;align-items:center;min-width:30px;min-height:24px;padding:2px 8px;font-weight:850;display:inline-flex}.chart-notice{align-items:start}.chart-tab-toolbar{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.chart-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:fit-content;margin-left:auto;display:inline-flex}.chart-metric-tabs{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.chart-metric-button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:750;line-height:1;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.chart-metric-button:hover,.chart-metric-button.active{color:#fff;background:#0f6bdc;border-color:#0f6bdc}.chart-card{grid-template-columns:minmax(0,1fr) 250px;min-height:560px;display:grid;overflow:hidden}.chart-main{flex-direction:column;min-width:0;padding:20px;display:flex}.chart-canvas-wrap{flex:1;min-height:430px;position:relative}.chart-canvas-wrap canvas{width:100%!important;height:100%!important}.chart-empty{border:1px dashed var(--line);height:100%;min-height:430px;color:var(--muted);background:var(--surface-soft);text-align:center;border-radius:12px;place-items:center;display:grid}.site-spatial-page{flex-direction:column;gap:14px;display:flex}.site-spatial-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.site-spatial-target-tabs{width:auto}.site-spatial-target-tabs .chart-metric-button{white-space:nowrap}.site-spatial-run-button{min-height:36px;color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #087e6742;border-color:var(--brand);background:#f4fffb;background:var(--brand);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:900;display:inline-flex}.site-spatial-run-button.active{background:#dc2626;border-color:#dc2626}.site-spatial-run-button:disabled{cursor:not-allowed;opacity:.55}.site-spatial-run-button .material-symbols-outlined{font-size:18px}.site-spatial-layout{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:stretch;display:grid;overflow:hidden}.site-spatial-empty{color:var(--muted);margin:0;padding:18px;font-size:13px;font-weight:800}.site-spatial-map-panel{background:var(--surface);grid-template-rows:auto auto minmax(420px,1fr);min-width:0;height:580px;display:grid;overflow:hidden}.site-spatial-map-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.site-spatial-map-header strong{font-size:16px;font-weight:950;display:block}.site-spatial-map-header span{color:var(--muted);font-size:12px;font-weight:750;display:block}.site-spatial-map-header label{gap:5px;min-width:150px;display:grid}.site-spatial-scrubber{border-bottom:1px solid var(--line);background:#f5fbf9c7;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;padding:12px 18px 14px;display:grid}.site-spatial-scrubber .site-spatial-run-button{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0}.site-spatial-scrubber .site-spatial-run-button .material-symbols-outlined{font-size:22px}.site-spatial-scrubber__body{min-width:0}.site-spatial-scrubber__labels{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:9px;font-size:11px;font-weight:850;display:flex}.site-spatial-scrubber__track{height:34px;margin:0 7px;position:relative}.site-spatial-scrubber__track:before,.site-spatial-scrubber__fill{border-radius:999px;height:5px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.site-spatial-scrubber__track:before{content:"";background:#d8e6e2}.site-spatial-scrubber__fill{background:#087e6742;transition:width .22s;right:auto}.site-spatial-scrubber__mark{z-index:2;cursor:pointer;background:#087e67c7;border:0;border-radius:999px;width:5px;height:24px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-spatial-scrubber__mark:hover,.site-spatial-scrubber__mark.active{background:var(--brand);box-shadow:0 0 0 5px #087e6724}.site-spatial-scrubber__cursor{z-index:3;background:var(--brand);pointer-events:none;border:3px solid #fff;border-radius:50%;width:15px;height:15px;transition:left .22s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #087e6747}.site-spatial-map-panel>.site-spatial-empty{border-bottom:1px solid var(--line)}.site-spatial-mapbox,.site-spatial-map-empty{height:100%;min-height:0}.site-spatial-mapbox{overflow:hidden}.site-spatial-map-empty{color:var(--muted);background:var(--surface-soft);text-align:center;place-items:center;font-weight:850;display:grid}.site-spatial-mapbox .mapboxgl-ctrl-logo,.site-spatial-mapbox .mapboxgl-ctrl-attrib,.site-spatial-mapbox .mapboxgl-ctrl-top-right{display:none!important}.site-spatial-info{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;height:580px;max-height:none;padding:18px 20px;display:flex;overflow:hidden}.site-spatial-info section{border-bottom:1px solid var(--line);padding:0 0 20px}.site-spatial-info section+section{padding-top:20px}.site-spatial-info section:last-child{border-bottom:0;padding-bottom:0}.site-spatial-info h4{margin:0 0 10px;font-size:15px;font-weight:950}.site-spatial-info dl{gap:8px;margin:0;display:grid}.site-spatial-info dl>div{justify-content:space-between;gap:10px;min-width:0;display:flex}.site-spatial-info dt{color:var(--muted);font-size:12px;font-weight:800}.site-spatial-info dd{color:var(--text);text-align:right;word-break:keep-all;margin:0;font-size:13px;font-weight:900}.site-spatial-legend__bar{border-radius:9px;height:40px;overflow:hidden}.site-spatial-legend__ticks{color:var(--muted);justify-content:space-between;gap:4px;margin-top:8px;font-size:11px;font-weight:850;display:flex}.site-spatial-legend p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}@media (width<=1260px){.site-spatial-controls{flex-wrap:wrap}.site-spatial-target-tabs{flex:420px}.site-spatial-layout{grid-template-columns:minmax(0,1fr)}.site-spatial-info{border-top:1px solid var(--line);border-left:0;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;max-height:none;display:grid;overflow:visible}.site-spatial-map-panel{height:auto}.site-spatial-mapbox,.site-spatial-map-empty{min-height:420px}}.chart-footnote{border-top:1px solid var(--line);color:var(--muted);margin-top:12px;padding-top:12px;font-size:12px}.chart-aside{border-left:1px solid var(--line);background:linear-gradient(#fbfefe 0%,#f5faf8 100%);flex-direction:column;gap:14px;padding:20px 14px;display:flex}.chart-aside dl{flex-direction:column;gap:0;display:flex}.chart-aside dl>div{border-bottom:1px solid #dde8e5;padding:11px 0}.chart-aside dt{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:750}.chart-aside dd{color:var(--text);word-break:keep-all;font-size:14px;font-weight:750;line-height:1.35}.chart-period-value{white-space:nowrap}.chart-description-box{color:#17437c;background:#f4f8ff;border:1px solid #bcd9ff;border-radius:10px;padding:12px}.chart-description-box strong{color:#0f6bdc;margin-bottom:6px;font-size:13px;display:block}.chart-description-box p{color:#315f9b;font-size:12px;line-height:1.55}.admin-inline-button.active{color:var(--brand)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=960px){.gx-layout{grid-template-columns:1fr}.page-menu{position:static}.user-grid,.chart-filter-bar,.chart-card{grid-template-columns:1fr}.page-content-header__text{flex-direction:column;align-items:flex-start;gap:6px}.page-content-header__description{text-align:left;margin-left:0}.chart-aside{border-top:1px solid var(--line);border-left:0}}@media (width<=640px){.notice{flex-direction:column;align-items:start}}body.statistics-pdf-exporting{background:#fff!important}body.statistics-pdf-exporting .statistics-page{color:#17201c;background:#fff;width:900px;max-width:none;padding:18px}body.statistics-pdf-exporting .statistics-report-heading{background:#fff;border-bottom:2px solid #d8e1e8;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 0 14px;display:flex}body.statistics-pdf-exporting .statistics-report-heading span{color:#52635b;font-size:13px;font-weight:800;display:block}body.statistics-pdf-exporting .statistics-report-heading strong{color:#10241b;margin-top:6px;font-size:24px;font-weight:950;display:block}body.statistics-pdf-exporting .statistics-report-heading dl{gap:18px;margin:0;display:flex}body.statistics-pdf-exporting .statistics-report-heading dt{color:#52635b;font-size:11px;font-weight:800}body.statistics-pdf-exporting .statistics-report-heading dd{color:#10241b;margin:4px 0 0;font-size:13px;font-weight:850}body.statistics-pdf-exporting .statistics-report-footer{color:#10241b;text-align:center;background:#fff;justify-content:center;align-items:center;gap:10px;padding:18px 0 4px;display:flex}body.statistics-pdf-exporting .statistics-report-footer img{object-fit:contain;width:60px;height:auto}body.statistics-pdf-exporting .statistics-report-footer strong{font-size:36px;font-weight:900}body.statistics-pdf-exporting .statistics-filter-bar{display:none}body.statistics-pdf-exporting .statistics-print-area{color:#17201c;width:auto;max-width:none;box-shadow:none;background:#fff;border:0;border-radius:0;gap:12px;padding:0}body.statistics-pdf-exporting .statistics-kpi-grid{grid-template-columns:1fr}body.statistics-pdf-exporting .statistics-kpi-grid--plain{grid-template-columns:repeat(2,minmax(0,1fr))}body.statistics-pdf-exporting .statistics-print-area--aqua .statistics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}body.statistics-pdf-exporting .statistics-print-area--aqua .statistics-kpi-card{min-height:96px;padding:12px}body.statistics-pdf-exporting .statistics-dashboard-grid{grid-template-columns:1fr}body.statistics-pdf-exporting .aqua-statistics-grid>.statistics-panel{grid-column:1}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:first-child{order:1}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:nth-child(2){order:2}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:nth-child(4){order:3}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:nth-child(3){order:4}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:nth-child(5){order:5}body.statistics-pdf-exporting .statistics-dashboard-grid>.statistics-panel:nth-child(6){order:6}body.statistics-pdf-exporting .statistics-panel,body.statistics-pdf-exporting .statistics-kpi-card{box-shadow:none}@media print{body.statistics-printing *{visibility:hidden!important}body.statistics-printing .statistics-print-area,body.statistics-printing .statistics-print-area *{visibility:visible!important}body.statistics-printing .statistics-print-area{background:#fff;width:100%;padding:0;position:absolute;top:0;left:0}body.statistics-printing .statistics-dashboard-grid{grid-template-columns:1fr 1fr}body.statistics-printing .statistics-panel,body.statistics-printing .statistics-kpi-card{break-inside:avoid;box-shadow:none}body.statistics-printing .statistics-panel--wide,body.statistics-printing .statistics-panel--trend,body.statistics-printing .aqua-statistics-grid>.statistics-panel{grid-column:span 2}}.confirm-dialog-backdrop{z-index:10000;background:#0f172a59;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border:1px solid #c7d9f4;border-radius:14px;width:min(420px,100%);max-width:420px;overflow:hidden;box-shadow:0 18px 45px #0f172a38}.confirm-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 10px;display:flex}.confirm-dialog__eyebrow{color:#7c3aed;letter-spacing:0;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.confirm-dialog__header h2{color:#111827;margin:0;font-size:22px;font-weight:900;line-height:1.25}.confirm-dialog__close{color:#4c1d95;cursor:pointer;background:#fff;border:1px solid #d7e5f6;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;font-weight:700;line-height:1;display:inline-flex}.confirm-dialog__message{color:#334155;word-break:keep-all;margin:0;padding:8px 24px 24px;font-size:16px;font-weight:700;line-height:1.55}.confirm-dialog__actions{background:#f8fbff;border-top:1px solid #dce9f8;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 20px;display:flex}.confirm-dialog__button{cursor:pointer;border-radius:8px;min-width:86px;padding:10px 18px;font-size:15px;font-weight:900}.confirm-dialog__button--cancel{color:#1d4ed8;background:#fff;border:1px solid #b8cff0}.confirm-dialog__button--confirm{color:#fff;background:#4c0575;border:1px solid #4c0575;box-shadow:0 6px 14px #4c057538}:root{--gx-px:2.5px;--gx-2px:5px;--gx-3px:7.5px;--gx-4px:10px;--gx-rem:.25rem;--gx-2rem:.5rem;--gx-3rem:.75rem;--gx-4rem:1rem;--gx-5rem:1.25rem;--gx-6rem:1.5rem;--gx-7rem:1.75rem;--gx-8rem:2rem;--gx-tm:.5s;--gx-2tm:1s;--gx-3tm:1.5s;--gx-4tm:2s;--gx-font-size:clamp(10px, calc(1vw + 4px), 16px);--gx-nav-height:clamp(50px, calc(5vw + 20px), 80px);--gx-legend-height:7.5rem;--gx-legend-width:200px;--gx-purpleblue:#5424fa;--gx-purpleblue-bg:#a892ff4d;--gx-deepblue:#01438f;--gx-orangered:#fc4513;--gx-orangered-bg:#feb19c;--gx-lightgray2:#f8f2ff;--gx-grade-safe:#22c55e;--gx-grade-watch:#42decf;--gx-grade-caution:#ffdf2b;--gx-grade-warning:#ff7829;--gx-grade-danger:#ff2929;--gx-grade-error:gray;--gx-device-normal:var(--gx-grade-safe);--gx-device-off:var(--gx-grade-warning);--gx-device-paused:#2186f8;--gx-device-closed:var(--gx-grade-error);--gx-device-error:var(--gx-grade-danger);--gx-project-scheduled:var(--gx-device-paused);--gx-project-running:var(--gx-grade-safe);--gx-project-paused:var(--gx-grade-caution);--gx-project-closed:var(--gx-grade-error);--gx-project-check:var(--gx-grade-danger);--gx-title-color:linear-gradient(to bottom right, var(--gx-orangered), var(--gx-deepblue));--gx-symbol-size:1.5rem;--gx-symbols-fill:"FILL" 1, "wght" 400;--gx-anim-slideInLeft:slideInLeft var(--gx-2tm) ease-in-out forwards;--gx-anim-slideInRight:slideInRight var(--gx-2tm) ease-in-out forwards;--gx-anim-rotation90deg:rotation90deg var(--gx-2tm) ease-in-out forwards;--gx-anim-blinks:blinks var(--gx-2tm) ease-in-out infinite;--gx-anim-spring:spring var(--gx-2tm) ease-in-out forwards}html{color:var(--gx-color2);font-family:Noto Sans KR,Noto Serif KR,Do Hyeon,Nanum Gothic,Nanum Myeongjo,sans-serif,serif;font-size:var(--gx-font-size);font-optical-sizing:auto;font-style:normal;overflow-y:hidden}html::-webkit-scrollbar{display:none}body{font-size:inherit}input[type=checkbox]{width:1rem;min-width:unset;height:1rem;display:inline-block}#root{background:radial-gradient(farthest-side at 0 15%,#76e1ff,#a0ecff,#d0e7ea,#e3e3ff)}.donut-chart{flex-direction:column;align-items:center;width:120px;height:120px;margin:0 auto;display:flex}.donut-chart canvas{display:block;width:100%!important;height:100%!important}.donut-chart--rotating{animation:var(--gx-anim-rotation90deg)}.donut-legend{justify-content:start;gap:var(--gx-px);min-height:var(--gx-legend-height);padding:0 var(--gx-rem);font-size:var(--gx-3rem);max-width:var(--gx-legend-width);width:100%;margin:var(--gx-2rem) auto 0 auto;animation:var(--gx-anim-spring);flex-direction:column;display:flex}.donut-legend-item{align-items:center;gap:var(--gx-rem);margin:var(--gx-rem) 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.donut-legend-icon{width:var(--gx-4rem);height:var(--gx-4rem);border:1px solid #64646440;border-radius:50%;justify-self:start}.donut-legend-item span{text-align:center;justify-self:center;min-width:0}.donut-legend-value{text-align:end;justify-self:end}main.auth{position:inherit;height:100dvh;font-size:inherit;flex-direction:column;justify-content:start;align-items:center;font-family:NotoSansKR;display:flex;overflow:hidden}main.auth img{backface-visibility:hidden;opacity:0;min-width:100vw;height:100dvh;animation:24s infinite Crossfade;position:absolute;transform:scale(1.4)rotate(12deg)}main.auth img:first-child{animation-delay:8s}main.auth img:nth-child(2){animation-delay:16s}.auth-section{flex-direction:column;align-items:center;width:clamp(400px,60vw + 40px,760px);display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-30%)}.auth-title{text-align:center;flex-direction:column;gap:1em;padding-bottom:3em;font-weight:700;display:flex}.auth-title h1{-webkit-text-stroke:2px white;-webkit-text-fill-color:transparent;background:#ff4848;-webkit-background-clip:text;background-clip:text;font-size:3em}.auth-title h3{text-shadow:1px 1px 2px #fff,1px -1px 2px #fff,-1px 1px 2px #fff,-1px -1px 2px #fff;font-size:2em}.copyright{text-shadow:1px 1px 1px #fff,1px -1px 1px #fff,-1px 1px 1px #fff,-1px -1px 1px #fff;font-size:1.25em;font-weight:700;position:absolute;bottom:1em}.auth-login,.auth-signup{background:linear-gradient(90deg,#fff,#f2fbfc);border:1px solid #3b0062;border-radius:10px;width:clamp(300px,60vw,600px);padding:1.5em;box-shadow:3px 3px 16px 1px #00000080}.control-row{justify-content:space-between;gap:1em;width:100%;display:flex}.control-row>*{flex:calc(50% - .5em)}.auth-required-label{white-space:nowrap;align-items:center;gap:.375rem;display:inline-flex}.auth-required-label em{color:#e02f2f;background:#ffe8e8;border-radius:999px;align-items:center;min-height:1.125rem;padding:0 .375rem;font-size:.6875rem;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.signup-alert-fieldset{background:#ffffffb8;border:1px solid #d6e4e3;border-radius:12px;margin:0 0 1.125rem;padding:.875rem 1rem 1rem}.signup-alert-fieldset legend{color:#006b5f;padding:0 .375rem;font-size:.875rem;font-weight:900}.signup-alert-fieldset p{color:#637672;margin:0 0 .75rem;font-size:.75rem;font-weight:700;line-height:1.45}.signup-alert-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;display:grid}.signup-alert-option{cursor:pointer;background:#fff;border:1px solid #dbe7e6;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.625rem;min-height:3rem;padding:.625rem .75rem;display:grid}.signup-alert-option--fixed,.signup-alert-option--selected{background:#effdf9;border-color:#b9e3da}.signup-alert-option--fixed{cursor:default}.signup-alert-option input{accent-color:#087e67;width:1.125rem;height:1.125rem;margin:0}.signup-alert-option input:disabled{cursor:not-allowed}.signup-alert-option span{align-items:center;min-width:0;display:flex}.signup-alert-option strong{color:#172827;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:900;line-height:1.2;display:inline-flex}.signup-email-code-panel{background:#f6fffd;border:1px solid #cfe7e4;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0 0 1rem;padding:.75rem;display:grid}.signup-email-code-panel>:first-child{margin-bottom:0}.signup-email-code-panel.is-expired{background:#fff7f7;border-color:#ffd4d4}.signup-email-code-meta{color:#55706a;gap:.25rem;font-size:.75rem;font-weight:700;line-height:1.45;display:grid}.signup-email-code-meta strong{color:#00806e;font-weight:900}.signup-email-code-panel.is-expired .signup-email-code-meta strong{color:#d43c3c}.form-info{min-height:60px;font-weight:300}.form-error{color:#ec6e1a;padding-bottom:1em}.form-actions{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.auth-signup .form-actions>button:first-child{min-width:8.5rem}.form-actions a{color:#2f077a;margin-right:auto}.form-actions a:hover{text-decoration:underline}@media (width<=640px){.signup-alert-options{grid-template-columns:1fr}.auth-signup .form-actions{flex-wrap:wrap}.auth-signup .form-actions>button:first-child{width:100%}}@keyframes slideIn{0%{right:-100%}to{right:0}}@keyframes slideOut{0%{right:0}to{right:-100%}}@keyframes Crossfade{0%{opacity:1;transform:scale(1)rotate(0)}33.3%{opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}@keyframes rotation90deg{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes spring{0%{opacity:0;transform:scale(0)}75%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes wobble{0%{transform:rotate(0)}20%{transform:rotate(5deg)}40%{transform:rotate(-2.5deg)}60%{transform:rotate(1deg)}80%{transform:rotate(-.5deg)}to{transform:rotate(0)}}@keyframes pa-wobble{0%{transform:translateY(-50%)rotate(0)}20%{transform:translateY(-50%)rotate(5deg)}40%{transform:translateY(-50%)rotate(-2.5deg)}60%{transform:translateY(-50%)rotate(1deg)}80%{transform:translateY(-50%)rotate(-.5deg)}to{transform:translateY(-50%)rotate(0)}}@keyframes crab{0%{transform:translate(0)rotate(0)}20%{transform:translate(5px)rotate(1deg)}40%{transform:translate(-5px)rotate(-1deg)}60%{transform:translate(2.5px)rotate(.5deg)}80%{transform:translate(-2.5px)rotate(-.5deg)}to{transform:translate(0)rotate(0)}}@keyframes blinkLine{50%{border-color:#0000}}@keyframes blinks{0%,to{opacity:1}50%{opacity:.25}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
