@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);body{font-family:Inter,Plus Jakarta Sans,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:0.005em}body .hoverable:hover{background-color:var(--hover-color)}body.body--dark{--background:#071f2b;--surface:#102c34;--border:#1f3f42;--text:#f8fafc;--text-secondary:#94a3b8;--zebra:hsla(0,0%,100%,0.02);--background-header-table:#102c34;--hover-color:#163a3d;--selected-color:#163a3d;background-color:var(--background)}body.body--dark,body.body--light{--sidebar-bg:#071f2b;color:var(--text)}body.body--light{--background:#f5f7fa;--surface:#fff;--border:#e5e7eb;--text:#0f172a;--text-secondary:#64748b;--zebra:rgba(15,23,42,0.02);--background-header-table:#fff;--hover-color:#eef2f6;--selected-color:#e8f1f6;background-color:var(--background)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(100,116,139,0.35);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.q-toolbar-title{font-size:1.35rem}.q-toolbar-title,.text-h6{font-weight:700;letter-spacing:-0.01em}.q-breadcrumbs{font-size:0.8rem}.q-card{border-radius:20px!important;background:var(--surface);box-shadow:0 1px 3px rgba(15,23,42,0.06),0 1px 2px rgba(15,23,42,0.04)!important;border:1px solid var(--border);transition:box-shadow 0.2s ease,transform 0.2s ease}.q-card:hover{box-shadow:0 6px 18px rgba(15,23,42,0.08)!important}body.body--dark .q-card{background:var(--surface);color:var(--text)}.q-btn{font-weight:600;letter-spacing:0.01em;text-transform:none;border-radius:12px;transition:transform 0.12s ease,box-shadow 0.2s ease}.q-btn:not(.q-btn--round):not(.q-btn--dense):active{transform:scale(0.98)}.q-btn--round{border-radius:50%}.q-field--outlined .q-field__control{border-radius:12px;background:var(--surface)}body.body--dark .q-field--outlined .q-field__control:before{border-color:var(--border)}.q-badge{border-radius:8px;padding:4px 10px;font-weight:600;font-size:0.72rem;letter-spacing:0.02em}.q-table__container{border-radius:16px;background:var(--surface);box-shadow:0 1px 3px rgba(15,23,42,0.06)!important;border:1px solid var(--border)}.q-table{border-radius:16px;overflow:clip}.q-table thead th{font-weight:600;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary)}.q-table tbody tr:nth-child(2n) td{background:var(--zebra)}.q-table tbody tr:hover td{background:var(--hover-color)}.q-table tbody tr.selected td{background:var(--selected-color)}body.body--dark .q-table__container{color:var(--text)}.q-menu{border-radius:14px;border:1px solid var(--border);box-shadow:0 10px 30px rgba(15,23,42,0.12)}body.body--dark .q-menu{background:var(--surface);color:var(--text)}body.body--dark .q-item__label--caption:not([class*=text-]),body.body--dark .q-item__label--overline:not([class*=text-]){color:var(--text-secondary)!important}body.body--dark .bg-blue-grey-1,body.body--dark .bg-grey-1,body.body--dark .bg-grey-2,body.body--dark .bg-grey-3,body.body--dark .bg-white{background-color:var(--surface)!important;color:var(--text)!important}body.body--dark .q-breadcrumbs.text-grey{color:var(--text-secondary)!important}body.body--dark .q-breadcrumbs .text-primary{color:#3fe0b8!important}.q-dialog .q-card{border-radius:24px!important;max-height:90vh;overflow-y:auto}.q-dialog .q-card>.q-card__section:first-child{position:sticky;top:0;z-index:2;background-color:inherit;padding:20px 24px 16px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.q-dialog .q-card>.q-card__section:first-child .text-h6{font-weight:600}.q-dialog .q-card>.q-card__section:first-child+.q-separator{display:none}.q-dialog .q-card>.q-card__actions{position:sticky;bottom:0;z-index:2;background-color:inherit;padding:12px 24px;box-shadow:0 -2px 8px rgba(0,0,0,0.06)}.q-dialog .q-card .q-btn{border-radius:12px}@media (max-width:599px){.q-dialog .q-card{max-height:100vh;max-width:100vw!important;width:100vw!important;height:100%;border-radius:0!important}}.q-dialog__backdrop{backdrop-filter:blur(2px)}.table-row-select tbody tr td:first-child .q-checkbox,.table-row-select thead tr th:first-child .q-checkbox{display:none}.table-row-select tbody tr td:first-child,.table-row-select thead tr th:first-child{width:4px;min-width:0;padding:0!important}.table-row-select tbody tr{cursor:pointer}.app-sidebar{background:var(--sidebar-bg)!important;color:#e6edf3;display:flex;flex-direction:column}.app-sidebar .q-item{margin:2px 10px;border-radius:10px;color:hsla(0,0%,100%,0.82);min-height:42px;transition:background-color 0.15s ease}.app-sidebar .q-item .q-icon{color:hsla(0,0%,100%,0.72)}.app-sidebar .q-item .q-item__label--caption{color:hsla(0,0%,100%,0.45)}.app-sidebar .q-item:hover{background:hsla(0,0%,100%,0.08)}.app-sidebar .q-router-link--active{background:hsla(0,0%,100%,0.14);color:#fff}.app-sidebar .q-router-link--active .q-icon{color:#00d99a}.app-sidebar .q-item__label--header{color:hsla(0,0%,100%,0.45);font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding-bottom:6px}.app-sidebar .q-separator{background:hsla(0,0%,100%,0.08)}.app-topbar{background:var(--surface)!important;color:var(--text)!important;border-bottom:1px solid var(--border);box-shadow:none!important}.app-topbar .environment{font-size:0.72rem;font-weight:700;letter-spacing:0.06em;border-radius:8px;padding:4px 10px;margin:0 4px;background:var(--neutral-bg);color:var(--neutral-text)}.app-topbar .environment--hml{background:var(--warning-bg);color:var(--warning-text)}.app-topbar .environment--dev{background:var(--info-bg);color:var(--info-text)}.app-topbar__search{flex:1;display:flex;justify-content:center;padding:0 12px;min-width:0}.global-search__trigger{display:flex;align-items:center;gap:10px;width:100%;max-width:480px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--subtle-bg);color:var(--text-secondary);font:inherit;font-size:0.875rem;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease}.global-search__trigger:focus-visible,.global-search__trigger:hover{border-color:var(--q-color-primary,#037d63);background:var(--surface);outline:none}.global-search__trigger--icon{width:40px;justify-content:center;padding:0;margin-left:auto}.global-search__placeholder{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search__kbd{font-family:inherit;font-size:0.72rem;font-weight:600;padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.global-search__card{width:640px;max-width:94vw;margin-top:64px}.global-search__results{max-height:60vh;overflow-y:auto}.global-search__group{font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-secondary);padding:4px 16px 6px}.global-search__item{border-radius:10px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]{appearance:textfield}.deleted{color:#9e9e9e}.background-login{background:linear-gradient(90deg,#071f2b,#037d63 55%,#00d99a)}.text-green-r{color:#00d99a}.word-break{word-break:break-all}.tabs-week{column-gap:20px!important}.q-calendar-scheduler__pane,.q-calendar-scheduler__resource,.q-calendar-scheduler__resource-row{height:auto!important}.cad-page-container{max-width:1400px;margin:0 auto;width:100%}.cad-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border)}.cad-card-head-title{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;color:var(--text);min-width:0}.cad-card-head-title__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:rgba(3,125,99,0.1);color:#037d63;font-size:18px;flex-shrink:0}body.body--dark .cad-card-head-title__icon{background:rgba(0,217,154,0.16);color:#00d99a}.cad-card-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cad-form-body{padding:22px 24px 6px}.cad-section{padding:6px 0 20px}.cad-section+.cad-section{border-top:1px solid var(--border);margin-top:4px;padding-top:20px}.cad-section-label{gap:8px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px}.cad-section-label,.cad-section-label__dot{display:flex;align-items:center;color:#049e7d}.cad-section-label__dot{justify-content:center;width:20px;height:20px;border-radius:6px;background:rgba(4,158,125,0.15);font-size:12px;flex-shrink:0}.cad-section-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:26px 0 14px}.cad-section-title{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;color:var(--text)}.cad-section-title__icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:rgba(4,158,125,0.14);color:#049e7d;font-size:16px;flex-shrink:0}.cad-form-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px 22px;flex-wrap:wrap}.cad-btn-outline{background:var(--surface)!important;color:var(--text-secondary)!important;border:1px solid var(--border);box-shadow:none!important}.cad-status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);min-height:40px}.cad-status-pill__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cad-status-pill__text{font-weight:700;font-size:0.85rem;color:var(--text)}.btn-secondary{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border);box-shadow:none!important;font-weight:600}.btn-secondary:hover{background:var(--hover-color)!important}.btn-toggle-secondary{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.btn-toggle-secondary .q-btn{border-radius:0;color:var(--text);font-weight:600}.btn-toggle-secondary .q-btn.bg-primary{color:#fff}.day-chip{background:transparent!important;color:var(--text-secondary)!important;border:1px solid var(--border);font-weight:600}.day-chip--today{color:#06251e!important;font-weight:700}.day-chip--today,body.body--dark .day-chip--today{background:#00d99a!important;border-color:#00d99a}body.body--dark .q-editor{background-color:var(--surface);border-color:var(--border)}body.body--dark .q-editor .q-editor__content,body.body--dark .q-editor .q-editor__content *{color:var(--text)!important}body.body--dark .q-editor .q-editor__toolbar{border-color:var(--border)}body.body--dark .rich-text-view,body.body--dark .rich-text-view *{color:var(--text)!important}.my-sticky-header-column-table td:first-child{background-color:var(--background-header-table)}.my-sticky-header-column-table tr th{position:sticky;z-index:2;background:var(--background-header-table)}.my-sticky-header-column-table thead tr:last-child th{top:48px;z-index:3}.my-sticky-header-column-table thead tr:first-child th{top:0;z-index:1}.my-sticky-header-column-table tr:first-child th:first-child{z-index:3}.my-sticky-header-column-table td:first-child{z-index:1}.my-sticky-header-column-table td:first-child,.my-sticky-header-column-table th:first-child{position:sticky;left:0}.my-sticky-header-column-table tbody{scroll-margin-top:48px}.q-markup-table.app-table--grip thead th,.q-markup-table.app-table--resizing thead th,.q-table__container.app-table--grip thead th,.q-table__container.app-table--resizing thead th{cursor:col-resize}.q-markup-table.app-table--resizing,.q-table__container.app-table--resizing{-webkit-user-select:none;-ms-user-select:none;user-select:none}.q-markup-table .app-table-resized td,.q-markup-table .app-table-resized th,.q-table__container .app-table-resized td,.q-table__container .app-table-resized th{overflow:hidden;text-overflow:ellipsis}.q-markup-table thead th{cursor:pointer}.q-markup-table thead th[data-sort=asc]:after{content:" ▲";font-size:9px}.q-markup-table thead th[data-sort=desc]:after{content:" ▼";font-size:9px}.q-dialog__inner>.q-card .app-dialog-toggle{position:absolute;top:10px;right:56px;z-index:3;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#616161;cursor:pointer}.q-dialog__inner>.q-card .app-dialog-toggle:hover{background:rgba(0,0,0,0.08)}.q-dialog__inner>.q-card .app-dialog-toggle .q-icon{font-size:20px}.q-dialog__inner>.q-card.app-dialog--maximized{border-radius:0}body.body--light{--success-bg:#dcfce7;--success-text:#166534;--success-dot:#16a34a;--info-bg:#dbeafe;--info-text:#1e40af;--info-dot:#2563eb;--warning-bg:#fef3c7;--warning-text:#92400e;--warning-dot:#d97706;--danger-bg:#fee2e2;--danger-text:#991b1b;--danger-dot:#dc2626;--neutral-bg:#f1f5f9;--neutral-text:#334155;--neutral-dot:#64748b;--subtle-bg:#f8fafc;--highlight-bg:#e6f4f0;--highlight-text:#025a48}body.body--dark{--success-bg:rgba(34,197,94,0.16);--success-text:#86efac;--success-dot:#22c55e;--info-bg:rgba(59,130,246,0.18);--info-text:#93c5fd;--info-dot:#3b82f6;--warning-bg:rgba(245,158,11,0.18);--warning-text:#fcd34d;--warning-dot:#f59e0b;--danger-bg:rgba(239,68,68,0.18);--danger-text:#fca5a5;--danger-dot:#ef4444;--neutral-bg:rgba(148,163,184,0.16);--neutral-text:#cbd5e1;--neutral-dot:#94a3b8;--subtle-bg:hsla(0,0%,100%,0.03);--highlight-bg:rgba(0,217,154,0.12);--highlight-text:#3fe0b8}.text-muted{color:var(--text-secondary)!important}.bg-subtle{background-color:var(--subtle-bg)!important}.bg-subtle,.bg-surface{color:var(--text)!important}.bg-surface{background-color:var(--surface)!important}.bg-highlight{background-color:var(--highlight-bg)!important;color:var(--highlight-text)!important}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:16px}.page-header__main{display:flex;flex-direction:column;gap:2px;min-width:0}.page-header__trail{font-size:0.78rem;color:var(--text-secondary)}.page-header__trail .q-breadcrumbs__el{color:inherit}.page-header__trail .q-breadcrumbs__el:not(.page-header__home) .q-breadcrumbs__el-icon{display:none}.page-header__title{margin:2px 0 0;font-size:1.6rem;line-height:1.2;font-weight:700;letter-spacing:-0.02em;color:var(--text)}.page-header__caption{margin:0;font-size:0.875rem;color:var(--text-secondary)}.page-header__actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:599px){.page-header__title{font-size:1.3rem}}.page-fill{height:100%;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.page-fill>.q-table__container:last-child,.page-fill__grow{flex:1 1 auto;min-height:0}.page-fill>.q-table__container:last-child{display:flex;flex-direction:column}.page-fill>.q-table__container:last-child>.q-table__middle{flex:1 1 auto;min-height:0}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:0.78rem;font-weight:600;line-height:1.4;white-space:nowrap}.status-chip--dense{padding:1px 8px;font-size:0.72rem}.status-chip__dot{width:6px;height:6px;border-radius:50%;flex:none}.status-chip--success{background:var(--success-bg);color:var(--success-text)}.status-chip--success .status-chip__dot{background:var(--success-dot)}.status-chip--info{background:var(--info-bg);color:var(--info-text)}.status-chip--info .status-chip__dot{background:var(--info-dot)}.status-chip--warning{background:var(--warning-bg);color:var(--warning-text)}.status-chip--warning .status-chip__dot{background:var(--warning-dot)}.status-chip--danger{background:var(--danger-bg);color:var(--danger-text)}.status-chip--danger .status-chip__dot{background:var(--danger-dot)}.status-chip--neutral{background:var(--neutral-bg);color:var(--neutral-text)}.status-chip--neutral .status-chip__dot{background:var(--neutral-dot)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 16px;color:var(--text)}.empty-state--compact{padding:20px 12px}.empty-state__icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--highlight-bg);color:var(--highlight-text);margin-bottom:6px}.empty-state__title{font-weight:600;font-size:1rem}.empty-state__message{font-size:0.875rem;color:var(--text-secondary);max-width:420px}.empty-state__actions{margin-top:10px;display:flex;gap:8px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px;width:100%;box-sizing:border-box}.filter-bar__search{width:280px;max-width:100%}