:root{--app-bg:#eef2ff;--app-surface:#fff;--app-surface-2:#f6f8ff;--app-text:#0f172a;--app-text-2:#475569;--app-text-muted:#94a3b8;--app-line-height:1.2;--app-border:#d2ddff;--app-border-strong:#96abff;--app-primary:#0a28ff;--app-primary-soft:#0a28ff14;--app-secondary:#2b50ff;--app-secondary-soft:#2b50ff14;--app-accent:#67d7ff;--app-accent-soft:#67d7ff29;--app-brand-deep:#071db6;--app-radius-sm:8px;--app-radius:12px;--app-radius-lg:16px;--app-shadow-sm:0 1px 2px #0f172a0a;--app-shadow:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;--app-shadow-lg:0 1px 3px #0f172a0f,0 24px 48px -12px #0f172a38;--app-header-bg:#0a28ff;--app-header-fg:#fff;--app-header-height:56px}#q-app,body,html{line-height:var(--app-line-height)}body{background:var(--app-bg);color:var(--app-text);font-feature-settings:"cv11","ss01"}.q-card{border-radius:var(--app-radius)}.q-card.q-card--flat,.q-card[flat]{border:1px solid var(--app-border);box-shadow:none}.q-btn{border-radius:var(--app-radius-sm);font-weight:600;letter-spacing:.005em}.q-btn.q-btn--round{border-radius:50%}.app-ripple-host{overflow:hidden;position:relative;-webkit-tap-highlight-color:transparent}.app-ripple-ink{animation:app-ripple .52s ease-out;background:currentColor;border-radius:50%;opacity:.18;pointer-events:none;position:absolute;transform:scale(0);z-index:0}.handover-command-menu{border-radius:10px;box-shadow:0 16px 32px -18px #0f172a61;overflow:hidden}.handover-command-menu__list{max-width:min(260px,100vw - 32px);min-width:170px}@keyframes app-ripple{to{opacity:0;transform:scale(1)}}.q-field--outlined .q-field__control{border-radius:var(--app-radius-sm)}.q-separator{background:var(--app-border)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none;height:0;width:0}.q-table thead tr th{background:var(--app-surface-2);color:var(--app-text-2);font-weight:600}.q-table tbody td{color:var(--app-text)}.q-chip{border-radius:999px;font-weight:500}.q-tab{font-weight:600;letter-spacing:0}.app-text-muted{color:var(--app-text-muted)}.app-text-2{color:var(--app-text-2)}.app-surface{background:var(--app-surface)}.app-bg{background:var(--app-bg)}.app-border{border:1px solid var(--app-border)}.project-panel-card.q-card,.project-panel-card.q-card.q-card--flat,.project-panel-card.q-card[flat]{border:0}.app-radius{border-radius:var(--app-radius)}.app-shadow{box-shadow:var(--app-shadow)}.app-sticky-under-header{backdrop-filter:none;background-color:var(--app-surface);background-image:none;border-bottom:1px solid var(--app-border);position:sticky;top:var(--app-header-height,56px);z-index:18}.cons-mobile-actions{display:flex;flex-direction:column;gap:8px;width:100%}.cons-mobile-action-btn{border-radius:14px;min-height:44px;width:100%}.app-scroll-top-btn{height:40px;min-height:40px;min-width:40px;padding:0;width:40px}.app-scroll-top-btn .q-icon{font-size:22px}@media (max-width:599px){.app-scroll-top-btn{height:36px;min-height:36px;min-width:36px;width:36px}.app-scroll-top-btn .q-icon{font-size:20px}}.q-btn.bg-primary{box-shadow:0 6px 16px #2516ff29}.q-chip.bg-primary{box-shadow:0 4px 10px #2516ff1f}.q-badge.bg-primary{box-shadow:0 4px 10px #2516ff1a}.app-confirm-dialog .q-card__actions{gap:8px}.app-workspace-page,.q-page.app-workspace-page{box-sizing:border-box;height:var(--app-workspace-height,calc(100dvh - var(--app-header-height, 56px)));max-height:var(--app-workspace-height,calc(100dvh - var(--app-header-height, 56px)));min-height:var(--app-workspace-height,calc(100dvh - var(--app-header-height, 56px)));overflow:hidden}.app-workspace-shell{height:100%;min-height:0;overflow:hidden}.app-splitter-page{background:#f6f8fb}.app-splitter,.app-splitter-shell,.app-splitter-shell>.app-splitter,.app-splitter.q-splitter{height:100%;min-height:0;overflow:hidden}.app-splitter .q-splitter__after,.app-splitter .q-splitter__before,.q-splitter.app-splitter .q-splitter__after,.q-splitter.app-splitter .q-splitter__before{min-height:0;overflow:hidden}.app-splitter__separator,.q-splitter__separator.app-splitter__separator{background:#0000;max-width:18px;min-width:18px;padding:0;width:18px}.q-splitter--vertical>.q-splitter__separator.app-splitter__separator>div{left:0;right:0}.app-splitter__handle,.q-avatar.app-splitter__handle{background:#fff;border:1px solid #dbe3ef;border-radius:999px;box-shadow:0 2px 8px #0f172a1f;color:#2563eb;font-size:20px;height:52px;min-width:18px;width:18px}.app-splitter-panel,.q-card.app-splitter-panel,.q-card.q-card--flat.app-splitter-panel,.q-card[flat].app-splitter-panel{background:#fff;border:1px solid #dbe3ef;border-radius:8px;overflow:hidden}.app-splitter-actions,.app-splitter-commandbar,.app-splitter-detail-head,.app-splitter-head{align-items:center;display:flex;gap:12px}.app-splitter-head{justify-content:space-between}.app-splitter-toolbar{align-items:center;display:flex;gap:8px}.app-splitter-commandbar{min-height:42px;padding-bottom:8px;padding-top:8px}.app-splitter-search{flex:1 1 auto;min-width:0}.app-splitter-eyebrow{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}.app-splitter-title{color:#0f172a;font-size:20px;font-weight:800;margin:0}.app-splitter-table,.app-splitter-table :is(.q-table__container,.q-table__middle){height:100%}.app-splitter-table .q-table tbody td{height:38px}.app-splitter-table__row--selected{background:#eaf2ff}.app-splitter-name{color:#0f172a;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-splitter-cell-text,.app-splitter-code{color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-splitter-code{font-family:monospace}.app-splitter-detail-card,.app-splitter-overview-card{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:12px}.app-splitter-detail-card{display:flex;flex-direction:column;gap:8px}.app-splitter-detail-card__label,.app-splitter-overview-card__label{color:#64748b;font-size:12px}.app-splitter-detail-card__value{color:#0f172a;font-weight:800;word-break:break-word}.app-splitter-overview-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.app-splitter-overview-card{align-items:center;display:flex;gap:10px}.app-splitter-overview-card .q-icon{color:#1d4ed8;font-size:24px}.app-splitter-overview-card__value{color:#0f172a;font-size:18px;font-weight:800;word-break:break-word}.app-splitter-form-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1.5fr) minmax(96px,.7fr) minmax(96px,.7fr)}@media (max-width:900px){.app-splitter{height:auto;min-height:var(--app-workspace-height,calc(100dvh - var(--app-header-height, 56px)))}.app-splitter-form-grid,.app-splitter-overview-grid{grid-template-columns:1fr}}@media (max-width:599px){.app-confirm-dialog .q-card__actions{align-items:stretch;display:flex;flex-direction:column}.app-confirm-dialog .q-card__actions>.q-btn{min-height:44px;width:100%}.task-action-btn{font-size:.75rem!important;min-height:30px!important;padding:3px 8px!important}.task-action-btn .q-icon{font-size:.92rem}.task-row__action--mobile{align-items:center;display:flex;justify-content:flex-end}.task-row__action--mobile .task-action-btn{min-width:30px;padding-inline:7px!important;width:auto}}.task-group{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #0a28ff1f;border-radius:18px!important;box-shadow:0 10px 24px -18px #0b28ff2e;overflow:hidden;transition:box-shadow .2s ease}.task-group:hover{box-shadow:0 12px 28px -16px #0b28ff3d}.task-header{color:#fff;min-height:40px!important;padding:6px 10px;position:relative}.task-header--approved,.task-header--next,.task-header--today,.task-header--wait{background:linear-gradient(135deg,#0a28ff,#2b50ff);color:#fff}.task-header .q-toolbar-title{font-size:.82rem;font-weight:900;letter-spacing:.04em}.task-header__right{align-items:center;display:inline-flex;gap:4px;margin-left:auto;min-width:0}.task-header__code{align-items:center;display:inline-flex;gap:5px}.task-header__code-dot{background:#ffffffb3;border-radius:50%;box-shadow:0 0 0 3px #ffffff26;height:8px;width:8px}.task-header__status{border:1px solid #0000;border-radius:999px;box-shadow:none;font-size:.68rem;font-weight:800;letter-spacing:.02em;min-height:24px;padding:0 7px;white-space:nowrap}.task-header__status--approved,.task-header__status--next,.task-header__status--today,.task-header__status--wait{color:#fff}.task-header__status--next,.task-header__status--today{background:#ffffff24;border-color:#ffffff2e}.task-header__status--approved,.task-header__status--wait{background:#ffffff29;border-color:#fff3}.task-header .q-btn{color:inherit;opacity:.85}.task-header .q-btn:hover{opacity:1}.task-header .q-btn.q-btn--round{height:28px;min-height:28px;min-width:28px;width:28px}.task-group .q-list{border:none!important}.task-group .q-item{background:#fff;border-bottom:1px solid #0a28ff09;padding:7px 8px;transition:background .14s ease}.task-group .q-item:hover{background:#f9fbff}.task-group .q-item:last-child{border-bottom:none}.task-group .q-item__section--avatar{align-self:flex-start}.task-group .q-item+.q-item{border-top:1px solid #f1f3fa99}.task-group .q-item__section{min-width:0}.task-group .q-item-label{color:#0f172a;font-size:.92rem;font-weight:800;line-height:1.3}.task-group .q-item-label--caption,.task-group .q-item-label.caption{color:#64748b;font-size:.72rem;font-weight:700}.task-group .q-item-label+.q-item-label{margin-top:2px}.task-group__body{background:#fff;padding:6px!important}.task-row{align-items:center;background:linear-gradient(180deg,#0a28ff08,#fff0),#fff;border:1px solid #0a28ff1a;border-radius:14px;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;padding:6px 8px}.task-row+.task-row{margin-top:10px}.task-row__content{display:flex;flex-direction:column;gap:0;min-width:0}.task-row__meta{display:flex;flex-direction:column;gap:1px}.task-row__identity{align-self:flex-start}.task-row__range{align-items:center;color:#4b5563;display:inline-flex;flex-wrap:wrap;font-size:.7rem;font-weight:700;gap:4px}.task-row__range-sep{color:#94a3b8}.task-row__action{align-items:center;align-self:center;display:flex;justify-content:flex-end}@media (max-width:599px){.task-header__status{display:none}.task-header{min-height:36px!important;padding:5px 8px}.task-header .q-toolbar-title{font-size:.8rem}.task-row{gap:6px;grid-template-areas:"content" "action";grid-template-columns:minmax(0,1fr);padding:6px 8px}.task-row__content{grid-area:content}.task-row__action{grid-area:action;justify-content:flex-end}.task-row__action .task-action-btn{background:linear-gradient(135deg,#0a28ff,#2b50ff)!important;border:1px solid #0a28ff1f!important;border-radius:8px!important;box-shadow:0 7px 16px -14px #0a28ff66!important;color:#fff!important;height:28px;min-height:28px!important;min-width:28px;padding:0 7px!important;width:auto}.task-row__action .task-action-btn:hover{box-shadow:0 9px 18px -12px #0a28ff7a!important;filter:brightness(1.03)}}.task-group .q-avatar{background:linear-gradient(135deg,#67d7ff,#2b50ff)!important;border:2px solid #fff;box-shadow:0 2px 8px #2563eb47;color:#fff!important;font-weight:800}.task-action-btn{background:linear-gradient(135deg,#0a28ff,#2b50ff)!important;border-radius:999px!important;box-shadow:0 7px 16px -14px #0a28ff66;color:#fff!important;font-size:.74rem!important;font-weight:800!important;letter-spacing:.01em;min-height:28px!important;padding:3px 7px!important}.task-action-btn.full-width{width:100%}.task-action-btn .q-btn__content{gap:3px}.task-action-btn:hover{box-shadow:0 9px 18px -12px #0a28ff7a;filter:brightness(1.03)}.task-action-btn .q-icon{font-size:.88rem}.task-row__title{color:#0f172a;font-size:13.5px;font-weight:800;line-height:1.35}.task-row__docno{color:#8590b8;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em}.section-count{color:#1d4ed8;font-size:.8rem;font-weight:800;margin-left:6px}.section-count-skel{display:inline-block;height:.9em;margin-left:6px;vertical-align:middle}.task-row__doc{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.02em}.task-row__doc--top{align-items:center;background:#1d4ed814;border-radius:6px;color:#1d4ed8;display:inline-flex;font-size:.7rem;font-weight:900;gap:4px;letter-spacing:.04em;margin-bottom:2px;padding:2px 8px}.task-row__approved-icon{color:#15803d;font-size:15px}.q-tooltip,.q-tooltip--style{background:linear-gradient(180deg,#fff5d1,#f2c037 55%,#c98d08)!important;background-color:#f2c037!important;border:1px solid #7d4f0057!important;border-radius:999px!important;box-shadow:0 8px 18px #f2c03752!important;color:#0a28ff!important;font-size:12px!important;font-weight:700!important;letter-spacing:.02em!important;padding:6px 12px!important;text-shadow:none!important}.anniv-dialog-plugin .q-card{background:#0000!important;background-color:initial!important;border:1px solid #f2c03747;border-radius:22px!important;box-shadow:0 40px 80px #0a1f5e73,0 12px 24px #0f2f7852!important;color:#fff!important;max-width:calc(100vw - 24px)!important;overflow:hidden;width:420px!important}.anniv-dialog-plugin .q-dialog__inner{padding:12px!important}.anniv-dialog-plugin .q-dialog__title{display:none}.anniv-dialog-plugin .q-card>.q-card__section{padding:0!important}.anniv-dialog-plugin .q-dialog__message{color:inherit!important;font-size:inherit!important;padding:0!important}.anniv-dialog-plugin .q-card__actions{background:linear-gradient(180deg,#1d4ed8,#0f2f78);border-top:1px solid #f2c03738;justify-content:center;padding:14px 22px 18px!important}.anniv-dialog-plugin .q-card__actions .q-btn{background:linear-gradient(135deg,#fff5d1,#f2c037 55%,#c98d08)!important;border-radius:999px;box-shadow:0 14px 28px #f2c0375c;color:#0a1f5e!important;font-size:clamp(12px,3.2vw,14px)!important;font-weight:800!important;letter-spacing:.02em;min-width:clamp(160px,60vw,220px);padding:8px 18px}.anniv-dialog{background:linear-gradient(160deg,#0a1f5e,#0f2f78 38%,#1d4ed8);color:#fff;overflow:hidden;padding:clamp(20px,6vw,36px) clamp(14px,4vw,28px) clamp(16px,5vw,26px);position:relative;text-align:center}.anniv-dialog__halo{background:radial-gradient(circle at 50% 0,#f2c0372e,#0000 60%),radial-gradient(circle at 30% 30%,#38bdf81a,#0000 55%);filter:blur(8px);height:220px;inset:-40% -20% auto -20%;pointer-events:none;position:absolute;z-index:0}.anniv-dialog>:not(.anniv-dialog__halo){position:relative;z-index:1}.anniv-dialog__badge{align-items:center;background:linear-gradient(180deg,#fff5d1,#f2c037 55%,#c98d08);border:2px solid #ffffff8c;border-radius:999px;box-shadow:0 18px 32px #f2c03766,inset 0 -8px 18px #7d4f0052,inset 0 4px 10px #ffffffa6;color:#0a1f5e;display:inline-flex;font-size:38px;font-weight:900;height:clamp(72px,22vw,96px);justify-content:center;letter-spacing:-.01em;margin:0 auto 14px;position:relative;width:clamp(72px,22vw,96px)}.anniv-dialog__badge--tick{animation:anniv-tick .28s ease-out}@keyframes anniv-tick{0%{transform:scale(1)}45%{filter:brightness(1.15);transform:scale(1.06)}to{filter:brightness(1);transform:scale(1)}}.anniv-dialog__badge--done{animation:anniv-pop .6s cubic-bezier(.34,1.56,.64,1)}@keyframes anniv-pop{0%{transform:scale(1)}40%{filter:brightness(1.25);transform:scale(1.2)}70%{transform:scale(.96)}to{filter:brightness(1);transform:scale(1)}}.anniv-dialog__badge:after{animation:anniv-spin 14s linear infinite;border:1px dashed #f2c0377a;border-radius:999px;content:"";inset:-10px;pointer-events:none;position:absolute}@keyframes anniv-spin{to{transform:rotate(1turn)}}.anniv-dialog__kicker{align-items:center;color:#fde68a;display:flex;font-size:clamp(9px,2.4vw,11px);font-weight:800;gap:8px;justify-content:center;letter-spacing:.28em;line-height:1;margin:0 auto 8px;position:relative;text-transform:uppercase;white-space:nowrap;width:100%}.anniv-dialog__logo{display:inline-block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));flex:0 0 auto;height:clamp(13px,3.6vw,16px);vertical-align:middle;width:auto}.anniv-dialog__kicker-sep{letter-spacing:0;opacity:.7}.anniv-dialog__headline{color:#fff;font-size:clamp(15px,4.6vw,20px);font-weight:900;letter-spacing:0;margin-bottom:6px;position:relative;text-shadow:0 2px 6px #00000059;white-space:nowrap}.anniv-dialog__headline strong{color:#ffd54a;-webkit-text-fill-color:#ffd54a;font-size:clamp(20px,6vw,26px);font-weight:900;margin:0 3px;text-shadow:0 2px 8px #0006,0 0 18px #ffd54a73}.anniv-dialog__mission{color:#fff;font-size:clamp(11px,3.2vw,14px);font-weight:700;letter-spacing:0;line-height:1.4;margin:0 auto 4px;position:relative;text-shadow:0 2px 6px #00000059;white-space:nowrap}.anniv-dialog__vision{color:#f5f5f5;font-size:clamp(10px,3vw,13px);font-weight:600;line-height:1.5;margin:0 auto 12px;position:relative;text-shadow:0 2px 5px #0000004d;white-space:nowrap}.anniv-dialog__divider{background:linear-gradient(90deg,#0000,#f2c037d9,#0000);border-radius:999px;height:2px;margin:12px auto 10px;position:relative;width:clamp(48px,14vw,64px)}.anniv-dialog__meta{color:#fde68a;font-size:clamp(10px,2.8vw,12px);font-weight:600;letter-spacing:.02em;line-height:1.5;margin:0 auto;position:relative;white-space:nowrap}.q-tabs__arrow,.q-tabs__arrow--left,.q-tabs__arrow--right{display:none!important}.q-tabs--scrollable .q-tabs__content{padding-left:0!important;padding-right:0!important}.app-network-lock[data-v-6e28d12c]{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#f8fafc38;cursor:wait;inset:0;position:fixed;z-index:8998}.app-network-status[data-v-6e28d12c]{bottom:calc(14px + env(safe-area-inset-bottom, 0px));display:flex;justify-content:center;left:12px;pointer-events:none;position:fixed;right:12px;z-index:9000}.app-network-status__banner[data-v-6e28d12c]{border:1px solid #141d2d1a;box-shadow:0 12px 32px #141d2d2e;pointer-events:auto;width:min(520px,100%)}.app-network-status__banner--loading[data-v-6e28d12c]{background:#fff;color:#172033}.app-network-status__banner--offline[data-v-6e28d12c]{background:#b42318;border-color:#ffffff38;color:#fff}.app-network-status__title[data-v-6e28d12c]{font-size:14px;font-weight:700;line-height:1.25}.app-network-status__caption[data-v-6e28d12c]{font-size:12px;line-height:1.35;margin-top:2px;opacity:.86}.app-pwa-update-banner[data-v-0e6867be]{background:#0a28ff;border-radius:8px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));box-shadow:0 10px 28px #0a28ff47;left:12px;position:fixed;right:12px;z-index:9000}.app-pwa-update-banner__content[data-v-0e6867be]{display:flex;flex-direction:column;gap:2px;line-height:1.25}.app-pwa-update-banner__content span[data-v-0e6867be]{font-size:12px;opacity:.9}