.install-panel{gap:var(--sp-3);flex-direction:column;display:flex}.install-panel__head{align-items:flex-start;gap:var(--sp-3);display:flex}.install-panel__head h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0 0 2px}.install-panel__head small{font-size:var(--fs-xs);line-height:1.5;display:block}.install-panel__logo{border-radius:var(--radius);background:var(--primary);width:38px;height:38px;color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex:none;place-items:center;display:grid}.install-panel__actions{align-items:flex-start;gap:var(--sp-2);flex-direction:column;display:flex}.install-panel__ok{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--success,var(--primary));margin:0;display:flex}.install-panel__hint{font-size:var(--fs-xs);margin:0;line-height:1.55}.install-panel__ios{gap:var(--sp-2);padding:var(--sp-4) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);flex-direction:column;display:flex}.install-panel__ios-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.install-panel__ios .install-panel__hint{margin:0}.install-panel__steps{padding-left:var(--sp-6);gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;margin:0;line-height:1.55;display:flex}.install-panel__share{vertical-align:-2px;border:1px solid var(--border-strong);width:17px;height:17px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.update-banner{z-index:80;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-lg);display:flex;position:fixed}@media (width>=640px){.update-banner{max-width:420px;left:auto}}.update-banner__text{min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex:1;line-height:1.35}.update-banner__btn{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);flex:none}@media (prefers-reduced-motion:reduce){.update-banner{transition:none}}.install-link{padding:var(--sp-1) var(--sp-1);color:var(--text-muted);font:inherit;font-size:var(--fs-xs);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:0 auto;text-decoration:underline;display:inline-block}.install-link:hover{color:var(--text)}.install-dialog__backdrop{z-index:120;padding:var(--sp-4);padding-bottom:calc(var(--sp-4) + var(--safe-bottom));background:var(--backdrop);place-items:end center;display:grid;position:fixed;inset:0}@media (width>=640px){.install-dialog__backdrop{place-items:center}}.install-dialog{gap:var(--sp-3);width:100%;max-width:380px;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.install-dialog__head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.install-dialog__head h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}:root[data-motion=reduced] .update-banner{transition:none}.install-prompt{z-index:80;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));align-items:center;gap:2px var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-lg);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:fixed}@media (width>=640px){.install-prompt{max-width:420px;left:auto}}.install-prompt__logo{border-radius:var(--radius-sm);background:var(--primary);width:32px;height:32px;color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-xs);letter-spacing:.02em;-webkit-user-select:none;user-select:none;grid-area:1/1;place-items:center;display:grid}.install-prompt__text{flex-direction:column;grid-area:1/2;gap:1px;min-width:0;display:flex}.install-prompt__text strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.35}.install-prompt__text small{color:var(--text-muted);font-size:var(--fs-xs);line-height:1.4}.install-prompt__share{vertical-align:-2px;border:1px solid var(--border-strong);width:17px;height:17px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.install-prompt__btn{margin-top:var(--sp-1);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);grid-area:2/2/auto/4;justify-self:start}.install-prompt__close{grid-area:1/3;align-self:start;width:30px;height:30px}@media (prefers-reduced-motion:reduce){.install-prompt{transition:none}}:root[data-motion=reduced] .install-prompt{transition:none}.bell{position:relative}.bell__badge{min-width:17px;height:17px;padding:0 var(--sp-1);border-radius:var(--radius-full);background:var(--danger);color:var(--on-danger);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;pointer-events:none;line-height:17px;position:absolute;top:2px;right:2px}.bell__panel{padding:var(--sp-2);border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--overlay-glass);-webkit-backdrop-filter:blur(var(--overlay-glass-blur));backdrop-filter:blur(var(--overlay-glass-blur));color:var(--text);z-index:90;width:auto;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;overflow:hidden}.bell__panel>*{background:var(--bg-elevated)}.bell__head{border-radius:var(--radius) var(--radius) 0 0}.bell__foot{border-radius:0 0 var(--radius) var(--radius)}.bell__loading{padding:var(--sp-3)}.bell__panel :focus-visible{outline:2px solid var(--ui-border);outline-offset:-2px}@media (width>=640px){.bell__panel{width:min(360px,100vw - 24px);max-width:none}}.bell__head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border);flex:none;display:flex}.bell__head strong{margin-right:auto}.bell__close{flex:none}@media (width>=640px){.bell__close{display:none}}.bell__list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.bell__empty{padding:var(--sp-8) var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);text-align:center;line-height:1.55}.bell__item{align-items:flex-start;gap:var(--sp-2);width:100%;min-height:44px;padding:var(--sp-3) var(--sp-3);border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;transition:background-color .15s;display:flex}.bell__item:last-child{border-bottom:none}.bell__item:hover{background:var(--bg-hover)}.bell__item--unread{background:var(--primary-soft)}.bell__item--unread:hover{background:var(--bg-hover)}.bell__icon{border-radius:var(--radius-sm);flex:0 0 28px;place-items:center;width:28px;height:28px;margin-top:1px;display:grid}.bell__icon--danger{background:var(--danger-soft);color:var(--danger)}.bell__icon--primary{background:var(--primary-soft);color:var(--primary)}.bell__icon--warning{background:var(--warning-soft);color:var(--warning)}.bell__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.bell__text strong,.bell__text span,.bell__text small{overflow-wrap:anywhere;word-break:break-word}.bell__text strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.35}.bell__text span{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.45}.bell__text small{color:var(--ui-text-secondary);font-size:var(--fs-xs)}.bell__dot{width:7px;height:7px;margin-top:var(--sp-2);background:var(--danger);border-radius:50%;flex:0 0 7px}.bell__foot{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);color:var(--ui-text-secondary);font-size:var(--fs-xs);text-align:center;flex:none}.bell__filters{align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) var(--sp-1);border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;display:flex;overflow:auto hidden}.bell__filters::-webkit-scrollbar{display:none}.bell__filter{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;background:0 0;flex:none}.bell__filter--active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.bell__icon--success{background:var(--success-soft);color:var(--success)}.bell__ack{margin-top:var(--sp-1);padding:3px var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;display:inline-block}.bell__ack:hover{background:var(--bg-hover);color:var(--text)}:root[data-motion=reduced] .bell__panel *,:root[data-motion=reduced] .bell *{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.bell__panel *,.bell *{transition:none;animation:none}}.toolbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.toolbar__grow{flex:200px;min-width:0}.toolbar .input,.toolbar .select{height:38px;padding-top:0;padding-bottom:0}.select{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);white-space:nowrap}.table th,.table td{padding:var(--sp-3) var(--sp-3);text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.table th{z-index:1;background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-hover)}.table td.table__cell--wrap{white-space:normal;min-width:240px}.table__actions{gap:var(--sp-1);justify-content:flex-end;display:flex}.table__person{align-items:center;gap:var(--sp-2);display:flex}.table__person-text{flex-direction:column;line-height:1.3;display:flex}.table__person-text small{color:var(--text-faint);font-size:var(--fs-xs)}.row--inactive td{opacity:.55}.badge{align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--bg-subtle);color:var(--text-muted);display:inline-flex}.badge--primary{background:var(--primary-soft);color:var(--primary)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--gold{background:var(--gold-soft);color:var(--gold)}.toggle{align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle__track{border-radius:var(--radius-full);background:var(--border-strong);flex:0 0 38px;width:38px;height:22px;transition:background-color .18s;position:relative}.toggle__thumb{background:var(--toggle-knob);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .18s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle__track{background:var(--primary)}.toggle input:checked+.toggle__track .toggle__thumb{transform:translate(16px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--primary);outline-offset:2px}.toggle input:disabled+.toggle__track{opacity:.5;cursor:not-allowed}.toggle__label{font-size:var(--fs-sm)}.modal__backdrop{z-index:100;background:var(--backdrop);justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=640px){.modal__backdrop{padding:var(--sp-6);align-items:center}}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:520px;max-height:92dvh;box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}@media (width>=640px){.modal{border-radius:var(--radius-lg)}}.modal--wide{max-width:760px}.modal__header{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6) var(--sp-3);flex:none;display:flex}.modal__header h2{font-size:var(--fs-lg);flex:auto}.modal__body{min-height:0;padding:var(--sp-1) var(--sp-6) var(--sp-6);overscroll-behavior:contain;flex:auto;overflow-y:auto}.modal__footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6) var(--sp-6);border-top:1px solid var(--border);flex:none;display:flex}.modal__grid{gap:var(--sp-3);display:grid}@media (width>=560px){.modal__grid--2{grid-template-columns:1fr 1fr}}.modal__note{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.btn--danger{background:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.08)}.btn--sm{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.toast-stack{z-index:200;gap:var(--sp-2);flex-direction:column;max-width:calc(100vw - 24px);display:flex;position:fixed;bottom:14px;left:12px;right:12px}@media (width>=640px){.toast-stack{max-width:min(360px,100vw - 28px);left:auto;right:14px}}.toast{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:var(--fs-sm);overflow-wrap:anywhere;word-break:break-word;line-height:1.45;display:flex}.toast--success{border-left:3px solid var(--success)}.toast--error{border-left:3px solid var(--danger)}.toast--info{border-left:3px solid var(--primary)}.skeleton-row{height:44px;margin-bottom:var(--sp-2)}.skeleton-block{height:100px}.pagination{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);display:flex}.pagination__buttons{gap:var(--sp-1);display:flex}.tabs{gap:var(--sp-1);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tabs__item{padding:var(--sp-2) var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;transition:color .15s,border-color .15s}.tabs__item:hover{color:var(--text)}.tabs__item--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--fw-semibold)}.kv{gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);grid-template-columns:minmax(90px,auto) 1fr;display:grid}.kv dt{color:var(--text-faint)}.kv dd{word-break:break-word;margin:0}.diff{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.diff__old{padding:1px var(--sp-2);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.diff__new{padding:1px var(--sp-2);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success)}.diff__arrow{color:var(--text-faint)}.section-card{padding:var(--sp-4) var(--sp-6)}.section-card+.section-card{margin-top:var(--sp-4)}.section-card__title{margin-bottom:var(--sp-1);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.section-card__desc{color:var(--text-muted);font-size:var(--fs-sm);margin-bottom:var(--sp-4)}.stack{gap:var(--sp-3);flex-direction:column;display:flex}.inline{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.month-picker{align-items:center;gap:var(--sp-1);display:inline-flex}.progress{border-radius:var(--radius-full);background:var(--bg-subtle);height:10px;position:relative;overflow:hidden}.progress__fill{border-radius:var(--radius-full);background:var(--primary);height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.progress__fill--success{background:var(--success)}.progress__fill--warning{background:var(--warning)}.progress__fill--gold{background:linear-gradient(90deg, var(--success), var(--gold))}.stat-grid{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:1fr;display:grid}@media (width>=700px){.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat-grid--2{grid-template-columns:repeat(2,1fr)}}.stat{padding:var(--sp-4) var(--sp-4)}.stat__label{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.stat__value{margin:var(--sp-1) 0 2px;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.15}.stat__hint{color:var(--text-faint);font-size:var(--fs-sm)}.chart-card{padding:var(--sp-4) var(--sp-3) var(--sp-3) var(--sp-1)}.chart-card__title{padding-left:var(--sp-4);margin-bottom:var(--sp-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.channel-row{gap:var(--sp-1) var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);grid-template-columns:1fr auto;display:grid}.channel-row:last-child{border-bottom:none}.channel-row__name{font-weight:var(--fw-semibold)}.channel-row__numbers{color:var(--text-muted);font-size:var(--fs-sm);text-align:right;white-space:nowrap}.channel-row__bar{margin-top:var(--sp-1);grid-column:1/-1}.updated-at{align-items:center;gap:var(--sp-1);color:var(--text-faint);font-size:var(--fs-sm);display:inline-flex}.amount-input{text-align:right;font-variant-numeric:tabular-nums}.sum-row td{background:var(--bg-subtle);font-weight:var(--fw-bold)}.sum-row--error td{background:var(--danger-soft);color:var(--danger)}.sum-row--ok td{background:var(--success-soft);color:var(--success)}.chart-tooltip{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:var(--fs-sm);line-height:1.5}.chart-tooltip strong{margin-bottom:2px;display:block}.chart-card__head{align-items:baseline;gap:2px var(--sp-2);padding-left:var(--sp-4);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.chart-card__head .chart-card__title{margin-bottom:0;padding-left:0}.chart-card__hint{color:var(--text-faint);font-size:var(--fs-xs)}.chart-tooltip__hint{color:var(--text-faint);font-size:var(--fs-xs);margin-top:3px}.section-card__head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);flex-wrap:wrap;display:flex}.section-card__head .section-card__title{margin-bottom:0}.section-card__head .btn{margin-left:auto}.product-grid{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:1fr;max-height:520px;display:grid;overflow-y:auto}@media (width>=760px){.product-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr}}.product-card{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-3);background:var(--bg-elevated)}.product-card__head{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.product-card__name{font-weight:var(--fw-semibold);font-size:var(--fs-sm);min-width:0}.product-card__percent{font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);margin-left:auto}.product-card__numbers{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin-bottom:var(--sp-2)}.sales-items-row>td{background:var(--bg-subtle,var(--bg))}.sales-items{gap:var(--sp-2);flex-direction:column;display:flex}.sales-items__row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.sales-items__row .select{flex:160px;min-width:0}.sales-items__row .amount-input{flex:0 150px}.sales-items__month{color:var(--text-faint);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.sales-items__foot{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.sales-items__over{color:var(--danger);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.person-card{align-items:flex-start;gap:var(--sp-3);display:flex}.person-card__text{min-width:0}.person-card .kv{margin-top:var(--sp-3)}.person-card--details{flex-direction:column}.person-card--details .person-card__text{width:100%}.person-card--details .kv{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (width<=720px){.person-card--details .kv{grid-template-columns:minmax(0,1fr)}.person-card--details .kv dd{margin-bottom:var(--sp-2)}}.person-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.person-link:hover{text-decoration:underline}.bento-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.bento-card{gap:var(--sp-4);min-width:0;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;flex-direction:column;display:flex}.bento-card--neu{background:var(--bg-subtle);box-shadow:var(--shadow-neu-raised)}.bento-card__header{align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap;display:flex}.bento-card__heading{flex:60%;min-width:0}.bento-card__header .section-card__title{margin:0}.bento-card__subtitle{margin-top:var(--sp-1);color:var(--ui-text-secondary);font-size:var(--fs-sm)}.bento-card__actions{gap:var(--sp-2);flex-wrap:wrap;max-width:100%;display:flex}.bento-card__body{flex:1;min-width:0}.bento-card--neu .bento-card__body{border-radius:var(--radius-sm)}.bento-card--neu .btn--ghost{border-color:var(--ui-border);color:var(--text)}.bento-card--neu .btn--ghost:active{box-shadow:var(--shadow-neu-inset)}.bento-card__loading{gap:var(--sp-3);flex-direction:column;height:100%;display:flex}.bento-card__skeleton-value{width:60%;height:var(--sp-8)}.bento-card__skeleton-line{width:80%;height:var(--sp-4)}.bento-card__skeleton-chart{min-height:calc(var(--sp-8) * 2);flex:1}.bento-card__state{align-items:flex-start;gap:var(--sp-3);flex-direction:column;display:flex}.bento-card__error{color:var(--danger);font-size:var(--fs-sm)}.bento-card__empty>.card{box-shadow:none;background:0 0;border:0}.bento-card__empty .empty-state{padding:var(--sp-4) 0;color:var(--ui-text-secondary)}@media (width>=40em){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-card--wide{grid-column:span 2}}@media (width>=75em){.bento-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(calc(var(--sp-8) * 4), auto);gap:var(--sp-6)}.bento-card{padding:var(--sp-6)}.bento-card--sm{grid-column:span 3}.bento-card--md{grid-column:span 4}.bento-card--lg{grid-column:span 6}.bento-card--wide{grid-column:span 12}.bento-card--tall{grid-area:span 2/span 4}}:root[data-motion=reduced] .bento-card .skeleton{animation:none}@media (prefers-reduced-motion:reduce){.bento-card .skeleton{animation:none}}.tabs[role=tablist]{min-width:0;max-width:100%;padding:var(--sp-1)}.tabs__item[role=tab]{color:var(--ui-text-secondary);flex-shrink:0}.tabs__item[role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--ui-border)}.tabs__item[role=tab]:disabled{cursor:not-allowed;opacity:.5}.ui-drawer__backdrop,.command-palette__backdrop{z-index:100;background:var(--backdrop);display:flex;position:fixed;inset:0}.ui-drawer__backdrop{justify-content:flex-end;align-items:flex-end}.ui-drawer{--drawer-enter-x:0%;--drawer-enter-y:100%;width:100%;max-height:calc(100dvh - var(--sp-6) - var(--safe-top));border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-elevated);min-width:0;box-shadow:var(--shadow-overlay);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;display:flex;overflow:hidden}.ui-drawer__header,.command-palette__header{align-items:center;gap:var(--sp-3);padding:var(--sp-4);flex:none;display:flex}.ui-drawer__header .section-card__title,.command-palette__header .section-card__title{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.ui-drawer__header .icon-btn,.command-palette__header .icon-btn{color:var(--text);width:calc(var(--sp-8) + var(--sp-3));height:calc(var(--sp-8) + var(--sp-3));flex-shrink:0}.ui-drawer__body{overscroll-behavior:contain;min-height:0;padding:var(--sp-1) var(--sp-4) var(--sp-6);overflow-wrap:anywhere;flex:auto;overflow-y:auto}.ui-drawer__footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4);border-top:1px solid var(--border);flex-wrap:wrap;flex:none;display:flex}@media (width>=40em){.ui-drawer{--drawer-enter-x:100%;--drawer-enter-y:0%;width:min(100%, calc(var(--sp-8) * 15));border-radius:var(--radius-lg) 0 0 var(--radius-lg);height:100dvh;max-height:100dvh;padding-top:var(--safe-top)}.ui-drawer__header,.ui-drawer__footer{padding:var(--sp-6)}.ui-drawer__body{padding-left:var(--sp-6);padding-right:var(--sp-6)}}.command-palette__backdrop{padding:calc(var(--sp-4) + var(--safe-top)) calc(var(--sp-3) + var(--safe-right)) calc(var(--sp-4) + var(--safe-bottom)) calc(var(--sp-3) + var(--safe-left));justify-content:center;align-items:flex-start}.command-palette{min-width:0;width:min(100%, calc(var(--sp-8) * 20));max-height:min(80dvh, calc(100dvh - var(--sp-8) - var(--safe-top) - var(--safe-bottom)));border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--overlay-glass);-webkit-backdrop-filter:blur(var(--overlay-glass-blur));backdrop-filter:blur(var(--overlay-glass-blur));padding:var(--sp-2);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.command-palette>*{background:var(--bg-elevated)}.command-palette__header{border-radius:var(--radius) var(--radius) 0 0}.command-palette__footer{border-radius:0 0 var(--radius) var(--radius)}.command-palette__search{padding:0 var(--sp-4) var(--sp-3);flex:none}.command-palette__search .input{width:100%;min-width:0;font-size:var(--fs-base);border-color:var(--ui-border)}.command-palette__search .input::placeholder{color:var(--ui-text-secondary);opacity:1}.command-palette__results{overscroll-behavior:contain;min-height:0;padding:var(--sp-1) var(--sp-2) var(--sp-3);overflow-y:auto}.command-palette__group{padding:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--ui-text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.command-palette__option{align-items:center;gap:var(--sp-3);min-height:calc(var(--sp-8) + var(--sp-3));padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;display:flex}.command-palette__option>span{overflow-wrap:anywhere;flex:1;min-width:0}.command-palette__option svg{flex-shrink:0}.command-palette__option[aria-selected=true]{background:var(--bg-subtle);border-color:var(--ui-border)}.command-palette__option mark{background:var(--primary-soft);color:var(--text);font-weight:var(--fw-bold);border-radius:2px}.command-palette__footer{justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);color:var(--ui-text-secondary);font-size:var(--fs-xs);flex-wrap:wrap;flex:none;display:flex}.command-palette .empty-state{padding:var(--sp-6) var(--sp-4)}.command-palette .empty-state,.command-palette .empty-state__icon{color:var(--ui-text-secondary)}.ui-drawer :focus-visible,.command-palette :focus-visible,.bento-card :focus-visible,.tabs__item[role=tab]:focus-visible{outline:2px solid var(--ui-border);outline-offset:2px}@media (width>=40em){.command-palette__backdrop{padding-top:max(var(--sp-8), 12dvh)}}:root[data-motion=reduced] .modal *,:root[data-motion=reduced] .ui-drawer *,:root[data-motion=reduced] .command-palette *{scroll-behavior:auto;transition:none;animation:none}@media (prefers-reduced-motion:reduce){.tabs__item[role=tab],.bento-card,.bento-card .btn,.ui-drawer *,.command-palette *{scroll-behavior:auto;transition:none}}.ambient-background{z-index:0;isolation:isolate;pointer-events:none;opacity:min(.08, calc(var(--ambient-alpha) * var(--ambient-intensity,.25)));background:radial-gradient(ellipse at top right, var(--ambient-tint-primary), transparent 70%);position:fixed;inset:0;overflow:clip}@media (width>=900px){.ambient-background{opacity:calc(var(--ambient-alpha) * var(--ambient-intensity,.25));background:0 0}.ambient-background:before,.ambient-background:after{content:"";width:var(--ambient-shape-size);height:var(--ambient-shape-size);filter:blur(var(--sp-4));background:radial-gradient(ellipse at center, var(--ambient-tint-primary), var(--ambient-soft) 45%, transparent 70%);border-radius:50%;position:absolute}.ambient-background:before{top:0;right:0}.ambient-background:after{bottom:0;left:var(--sidebar-w);background:radial-gradient(ellipse at center, var(--ambient-tint-secondary), var(--ambient-tint-deep) 40%, transparent 70%)}.ambient-background[data-animated=true]:before,.ambient-background[data-animated=true]:after{animation:24s ease-in-out infinite ambient-drift}.ambient-background[data-animated=true]:after{animation-direction:reverse}.ambient-background[data-paused=true]:before,.ambient-background[data-paused=true]:after{animation-play-state:paused}}@keyframes ambient-drift{0%,to{opacity:.75;transform:translate(0)}50%{transform:translate(calc(-1 * var(--sp-8)), var(--sp-6));opacity:1}}:root[data-motion=reduced] .ambient-background:before,:root[data-motion=reduced] .ambient-background:after{animation:none}@media (prefers-reduced-motion:reduce){.ambient-background:before,.ambient-background:after{animation:none!important}}@media print{.ambient-background{display:none}}.chat-launcher{position:relative}.chat-dock .sr-only,.chat-page .sr-only,.chat-composer .sr-only,.chat-members .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-launcher__badge{top:calc(-1 * var(--sp-1));right:calc(-1 * var(--sp-1));min-width:var(--sp-4);padding:0 var(--sp-1);border-radius:var(--radius-full);background:var(--danger);color:var(--on-danger);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;line-height:1.4;position:absolute}.chat-flip{display:inline-flex;transform:rotate(180deg)}.chat-link{color:var(--color-link,var(--primary));font:inherit;font-size:var(--fs-sm);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.chat-link:disabled{color:var(--text-faint);cursor:default}.chat-status{color:var(--warning);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.chat-skeleton{height:calc(var(--sp-8) * 3);margin:var(--sp-4);border-radius:var(--radius)}.chat-empty{justify-items:start;gap:var(--sp-2);padding:var(--sp-4);color:var(--text);display:grid}.chat-empty__text{padding:var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);margin:0}.chat-dock__backdrop{z-index:100;background:var(--backdrop);justify-content:flex-end;display:flex;position:fixed;inset:0}.chat-dock{width:min(100%, calc(var(--sp-8) * 14));background:var(--bg-elevated);height:100dvh;color:var(--text);box-shadow:var(--shadow-overlay);outline:none;flex-direction:column;min-width:0;display:flex}.chat-dock--loading,.chat-dock--error{z-index:100;padding:var(--sp-4);gap:var(--sp-3);position:fixed;top:0;right:0}.chat-dock__head{align-items:center;gap:var(--sp-2);padding:calc(var(--sp-3) + var(--safe-top)) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.chat-dock__title{font-size:var(--fs-lg);margin:0}.chat-dock__spacer{flex:auto}.chat-dock__error{margin:var(--sp-2) var(--sp-4) 0}.chat-dock__body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.chat-dock__return{margin:0 var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));display:none}@media (width<=559.98px){.chat-dock{width:100%}.chat-dock__popout{display:none}.chat-dock__return{justify-content:center;display:inline-flex}}.chat-toasts{right:var(--sp-4);bottom:calc(var(--sp-4) + var(--safe-bottom));z-index:110;gap:var(--sp-2);width:min(calc(100% - 2 * var(--sp-4)), calc(var(--sp-8) * 11));pointer-events:none;display:grid;position:fixed}.chat-toast{align-items:flex-start;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-floating);pointer-events:auto;display:flex}.chat-toast__main{gap:var(--sp-1);padding:var(--sp-1);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;min-width:0;display:grid}.chat-toast__main span{color:var(--text-muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-list{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-list__tools{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);align-items:center;display:flex}.chat-list__tools .input{flex:auto;min-width:0}.chat-list__rows,.message-bento__rows{gap:var(--sp-1);padding:0 var(--sp-2) var(--sp-3);min-height:0;margin:0;list-style:none;display:grid;overflow-y:auto}.message-bento__rows{padding:0;overflow:visible}.chat-row{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;min-width:0;display:flex}.chat-row:hover{background:var(--bg-subtle)}.chat-row:focus-visible{outline:2px solid var(--color-focus,var(--primary));outline-offset:1px}.chat-row--active{border-color:var(--border-strong);background:var(--bg-subtle)}.chat-row__main{flex:auto;gap:2px;min-width:0;display:grid}.chat-row__main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold);overflow:hidden}.chat-row--unread .chat-row__main strong{font-weight:var(--fw-bold)}.chat-row__meta{color:var(--text-muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-row__badge{min-width:var(--sp-6);padding:0 var(--sp-1);border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;flex:none}.message-bento__side{justify-items:end;gap:var(--sp-1);flex:none;display:grid}.chat-new{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);display:grid;overflow-y:auto}.chat-new__people{gap:var(--sp-2);border:0;min-width:0;margin:0;padding:0;display:grid}.chat-new__list{gap:var(--sp-1);max-height:calc(var(--sp-8) * 8);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.chat-new__option{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-sm);overflow-wrap:anywhere;display:flex}.chat-conversation{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.chat-conversation__head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.chat-conversation__title{flex:1 1 calc(var(--sp-8) * 5);min-width:0;display:grid}.chat-conversation__title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-conversation__tools{gap:var(--sp-1);flex-wrap:wrap;display:flex}.chat-join,.chat-archived{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;display:flex}.chat-messages{min-height:0;padding:var(--sp-2) var(--sp-4);overscroll-behavior:contain;flex:auto;overflow-y:auto}.chat-older{padding:var(--sp-2);justify-content:center;display:flex}.chat-message-list{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.chat-thread-root{padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.chat-message{gap:var(--sp-1);min-width:0;display:grid}.chat-message__head{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.chat-message__head time,.chat-message__edited{color:var(--text-muted);font-size:var(--fs-xs)}.chat-message__body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat-message--deleted .chat-message__body{color:var(--text-muted);font-style:italic}.chat-mention{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--text);font-weight:var(--fw-semibold);padding:0 2px}.chat-message__files{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chat-message__files .btn{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chat-message__actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.chat-message--editing{gap:var(--sp-2)}.chat-members{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-subtle);max-height:40vh;display:grid;overflow-y:auto}.chat-members__list{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.chat-members__row{justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-sm);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.chat-members__add{gap:var(--sp-2);display:flex}.chat-members__add .input{flex:auto;min-width:0}.chat-composer{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));border-top:1px solid var(--border);display:grid;position:relative}.chat-composer__text{resize:vertical;min-height:calc(var(--sp-8) + var(--sp-6));max-height:40vh}.chat-composer__bar{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.chat-composer__hint{color:var(--text-muted);font-size:var(--fs-xs)}.chat-composer__files{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chat-file-chip{align-items:center;gap:var(--sp-1);padding:0 0 0 var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);overflow-wrap:anywhere;max-width:100%;display:inline-flex}.chat-mention-picker{left:var(--sp-4);right:var(--sp-4);bottom:calc(100% - var(--sp-2));z-index:2;max-height:calc(var(--sp-8) * 6);padding:var(--sp-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-md);display:grid;position:absolute;overflow-y:auto}.chat-mention-picker__item{padding:var(--sp-2);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.chat-mention-picker__item:hover,.chat-mention-picker__item:focus-visible{background:var(--bg-subtle)}@media (hover:hover) and (pointer:fine){.chat-composer__camera{display:none}}.chat-page{gap:var(--sp-3);min-width:0;display:grid}.chat-page__header{justify-content:space-between}.chat-panes{height:calc(100dvh - var(--sp-8) * 6);min-height:calc(var(--sp-8) * 12);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);grid-template-columns:minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.chat-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-pane--list{border-right:1px solid var(--border)}.chat-pane--thread{border-left:1px solid var(--border)}.chat-pane__placeholder{margin:auto}.chat-search__results{gap:var(--sp-2);padding:0 var(--sp-2) var(--sp-2);border-bottom:1px solid var(--border);max-height:40%;display:grid;overflow-y:auto}@media (width>=900px){.chat-panes{grid-template-columns:minmax(calc(var(--sp-8) * 8), 1fr) minmax(0, 2fr)}.chat-page--with-thread .chat-panes{grid-template-columns:minmax(calc(var(--sp-8) * 7), 1fr) minmax(0, 2fr) minmax(calc(var(--sp-8) * 8), 1.2fr)}.chat-page .chat-pane__back{display:none}}@media (width<=899.98px){.chat-pane--list{border-right:0}.chat-pane--thread{border-left:0}.chat-page--list .chat-pane--conversation,.chat-page--list .chat-pane--thread,.chat-page--conversation .chat-pane--list,.chat-page--conversation .chat-pane--thread,.chat-page--thread .chat-pane--list,.chat-page--thread .chat-pane--conversation{display:none}.chat-panes{height:calc(100dvh - var(--sp-8) * 5)}}@media (width<=419.98px){.topbar:has(.chat-launcher) .topbar__appearance{display:none}}.chat-prefs{gap:var(--sp-2);display:grid}.chat-prefs__hint{margin:0 0 var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm)}.layout{isolation:isolate;min-height:100%;display:flex;position:relative}.sidebar{z-index:1;width:var(--sidebar-w);flex-direction:column;flex:0 0 var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--border);padding:var(--sp-4) var(--sp-3);gap:var(--sp-6);display:none;position:relative}@media (width>=900px){.sidebar{height:100vh;display:flex;position:sticky;top:0}}.sidebar--drawer{z-index:50;height:100dvh;box-shadow:var(--shadow-lg);padding:calc(var(--sp-4) + var(--safe-top)) var(--sp-3) calc(var(--sp-4) + var(--safe-bottom)) calc(var(--sp-3) + var(--safe-left));display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.drawer__backdrop{z-index:40;background:var(--backdrop);position:fixed;inset:0}.sidebar__brand{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-1);min-height:56px;display:flex;position:relative}.sidebar__logo{border-radius:var(--radius-sm);background:var(--primary);width:34px;height:34px;color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:.02em;flex:0 0 34px;place-items:center;display:grid}.brand-logo{object-fit:contain;object-position:center;display:block}.brand-logo--sidebar{width:auto;max-width:100%;height:104px;margin:0 auto}.brand-logo--login{object-position:center;width:auto;max-width:220px;height:62px;margin:0 auto}.brand-fallback--sidebar{justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;display:flex}.sidebar__brand-text{flex-direction:column;line-height:1.2;display:flex}.sidebar__brand-text strong{font-size:var(--fs-base)}.sidebar__brand-text small{color:var(--text-faint);font-size:var(--fs-xs)}.sidebar__close{position:absolute;top:50%;right:0;transform:translateY(-50%)}.sidebar__nav{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.sidebar__group{margin-bottom:var(--sp-1)}.sidebar__group-toggle{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-1);color:var(--sidebar-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.sidebar__group-toggle svg:last-child{margin-left:auto;transition:transform .16s}.sidebar__group-toggle--open svg:last-child{transform:rotate(180deg)}.sidebar__group-items{flex-direction:column;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:var(--fs-sm);font-weight:var(--fw-normal);transition:background-color .15s,color .15s;display:flex;position:relative}.sidebar__link:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--fw-semibold)}.sidebar__link--active:before{content:"";left:0;top:var(--sp-2);bottom:var(--sp-2);border-radius:var(--radius-full);background:var(--sidebar-active-text);width:3px;position:absolute}.sidebar__link--soon{width:100%;color:color-mix(in srgb, var(--sidebar-text) 60%, transparent);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:not-allowed;background:0 0;border:0}.sidebar__link--soon:hover{color:color-mix(in srgb, var(--sidebar-text) 60%, transparent);background:0 0}.sidebar__soon{padding:0 var(--sp-1);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid;flex-shrink:0;margin-left:auto;line-height:1.5}.sidebar--collapsed .sidebar__link--soon svg{opacity:.7}.sidebar--collapsed .sidebar__link--soon:after{content:"";top:var(--sp-1);right:var(--sp-1);border:1px solid;border-radius:50%;width:6px;height:6px;position:absolute}.sidebar--collapsed .sidebar__soon{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar__hint{min-width:0}.sidebar__nav{overscroll-behavior:contain;min-height:0}.sidebar__nav .sidebar__hint{flex:none}.sidebar__link svg{flex-shrink:0}.sidebar__label{overflow-wrap:anywhere;min-width:0}.sidebar__collapse{align-items:center;gap:var(--sp-3);min-height:var(--shell-control-size);width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--sidebar-text);border-radius:var(--radius-sm);background:var(--sidebar-bg);color:var(--sidebar-text);font-size:var(--fs-sm);cursor:pointer;display:flex}.sidebar--desktop>.sidebar__hint{margin-top:auto}.sidebar__collapse:hover{background:var(--sidebar-active-bg)}.sidebar__collapse svg{flex-shrink:0;transform:rotate(180deg)}.sidebar--collapsed{width:var(--sidebar-collapsed-w);flex-basis:var(--sidebar-collapsed-w);padding-inline:var(--sp-2)}.sidebar--collapsed .sidebar__brand{padding-inline:0}.sidebar--collapsed .brand-logo--sidebar{width:var(--shell-control-size);height:var(--shell-control-size)}.sidebar--collapsed .sidebar__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar--collapsed .sidebar__link,.sidebar--collapsed .sidebar__collapse{min-height:var(--shell-control-size);padding:var(--sp-2);justify-content:center}.sidebar--collapsed .sidebar__group-toggle{min-height:var(--shell-control-size);padding:var(--sp-2) var(--sp-1);justify-content:center;gap:var(--sp-1);position:relative}.sidebar--collapsed .sidebar__group-toggle svg:last-child{margin-left:0}.sidebar--collapsed .sidebar__badge{min-width:var(--sp-4);position:absolute;top:0;right:0}.sidebar--collapsed .sidebar__collapse svg{transform:none}.sidebar__tooltip{z-index:95;margin-left:var(--sp-2);max-width:var(--sidebar-w);padding:var(--sp-2) var(--sp-3);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-md);font-size:var(--fs-sm);overflow-wrap:anywhere;position:fixed}.layout__main{z-index:1;flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.topbar{z-index:30;align-items:center;gap:var(--sp-2);min-height:calc(var(--topbar-h) + var(--safe-top));height:auto;padding:var(--safe-top) calc(var(--sp-4) + var(--safe-right)) 0 calc(var(--sp-4) + var(--safe-left));background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar__spacer{flex:auto}.topbar__brand{align-items:center;min-width:0;margin-left:2px;display:inline-flex}.brand-logo--topbar{object-fit:contain;object-position:left center;width:auto;max-width:132px;height:28px;display:block}.brand-fallback--topbar{font-size:var(--fs-base);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;max-width:132px;overflow:hidden}@media (width>=900px){.topbar__brand{display:none}}@media (width<=360px){.brand-logo--topbar,.brand-fallback--topbar{max-width:96px}}.topbar__burger{display:inline-flex}@media (width>=900px){.topbar__burger{display:none}.topbar{padding:var(--safe-top) calc(var(--sp-6) + var(--safe-right)) 0 calc(var(--sp-6) + var(--safe-left))}}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-btn:disabled{opacity:.45;cursor:default}.sidebar .icon-btn{color:var(--sidebar-text)}.sidebar .icon-btn:hover:not(:disabled){background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.sidebar :focus-visible{outline-color:var(--sidebar-focus)}.topbar__user{align-items:center;gap:var(--sp-2);padding-left:var(--sp-2);color:var(--text);border-radius:var(--radius-sm);display:flex}.topbar__user-text{flex-direction:column;line-height:1.2;display:none}@media (width>=640px){.topbar__user-text{display:flex}}.topbar__user-text strong{font-size:var(--fs-sm);max-width:calc(var(--sp-8) * 6);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar__user-text small{color:var(--text-faint);font-size:var(--fs-xs)}.avatar{color:var(--on-avatar);font-weight:var(--fw-semibold);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:inline-grid}.content{padding:var(--sp-6) calc(var(--sp-4) + var(--safe-right)) calc(calc(var(--sp-8) + var(--sp-4)) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));flex:auto}@media (width>=900px){.content{padding:var(--sp-6) calc(var(--sp-8) + var(--safe-right)) calc(calc(var(--sp-8) + var(--sp-6)) + var(--safe-bottom)) calc(var(--sp-8) + var(--safe-left));width:100%;max-width:1360px}}.boot-screen{background:var(--bg);place-items:center;min-height:100dvh;display:grid}.boot-screen__pulse{border-radius:var(--radius);background:var(--primary);width:38px;height:38px;animation:1.1s ease-in-out infinite boot-pulse}@keyframes boot-pulse{0%,to{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.page-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.page-header__title{flex-direction:column;gap:2px;display:flex}.page-header__title small{color:var(--text-muted);font-size:var(--fs-sm)}.empty-state{align-items:center;gap:var(--sp-2);padding:calc(var(--sp-8) + var(--sp-6)) var(--sp-6);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-lg);background:var(--bg-subtle);width:52px;height:52px;color:var(--text-faint);place-items:center;display:grid}.empty-state__title{color:var(--text);font-weight:var(--fw-semibold)}.empty-state p{max-width:420px;font-size:var(--fs-sm)}.sidebar__badge{min-width:20px;padding:1px var(--sp-1);border-radius:var(--radius-full);background:var(--danger);color:var(--on-danger);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;margin-left:auto}.avatar--photo{object-fit:cover;background:var(--bg-subtle);border-radius:50%;flex:none;display:block}.admin-actions{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.admin-action{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s;display:flex}.admin-action:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-action__icon{border-radius:var(--radius-sm);background:var(--primary-soft);width:36px;height:36px;color:var(--primary);flex:0 0 36px;place-items:center;display:grid}.admin-action__body{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-action__body strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.admin-action__body small{color:var(--text-muted);font-size:var(--fs-xs);line-height:1.4}.event-list{margin:var(--sp-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.event-list__row{align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-1);border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;display:flex}.event-list li:last-child .event-list__row{border-bottom:none}.event-list__row:hover{background:var(--bg-hover)}.event-list__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.event-list__text strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.event-list__text small{color:var(--text-faint);font-size:var(--fs-xs)}.self-edit-notice{align-items:flex-start;gap:var(--sp-2);margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-3);border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.5;display:flex}.self-edit-notice strong{font-weight:var(--fw-bold)}.topbar__search{justify-content:center;align-items:center;gap:var(--sp-2);width:calc(var(--sp-8) + var(--sp-3));height:calc(var(--sp-8) + var(--sp-3));border:1px solid var(--ui-border);color:var(--text);flex:none;display:inline-flex}.topbar__search svg{width:var(--sp-4);height:var(--sp-4)}.topbar__search span{display:none}.topbar__search:focus-visible{outline-color:var(--ui-border)}@media (width>=56.25em){.topbar__search{width:auto;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.topbar__search span{display:inline}}@media (width<=39.999em){.topbar:has(.topbar__search){column-gap:var(--sp-1);height:auto;min-height:calc(var(--topbar-h) + var(--safe-top));padding-top:calc(var(--sp-2) + var(--safe-top));padding-bottom:var(--sp-2);flex-wrap:wrap}.topbar:has(.topbar__search) .topbar__brand{flex:1 1 0}.topbar:has(.topbar__search) .topbar__spacer{display:none}.topbar:has(.topbar__search) .admin-badge{order:1;margin-left:auto}}@media (prefers-reduced-motion:reduce){.sidebar *,.topbar *{transition:none}}:root[data-motion=reduced] .sidebar *,:root[data-motion=reduced] .topbar *{transition:none}.topbar>.icon-btn,.topbar .bell>.icon-btn{width:var(--shell-control-size);height:var(--shell-control-size);flex-shrink:0}.topbar{padding-top:calc(var(--sp-2) + var(--safe-top));padding-bottom:var(--sp-2)}.topbar .topbar__search{width:auto;min-width:var(--shell-control-size)}@media (width>=900px){.topbar .topbar__burger{display:none}}.sidebar--drawer .sidebar__link,.sidebar--drawer .sidebar__group-toggle{min-height:var(--shell-control-size)}@media (width<=39.999em){.topbar{padding-inline:calc(var(--sp-2) + var(--safe-left)) calc(var(--sp-2) + var(--safe-right))}.topbar__user{min-height:var(--shell-control-size);padding-left:0}}.login{min-height:100dvh;padding:calc(var(--sp-6) + var(--safe-top)) calc(var(--sp-4) + var(--safe-right)) calc(var(--sp-6) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));color:var(--text);background:var(--bg);place-items:center;display:grid;position:relative;overflow:clip}.login__theme{top:calc(var(--sp-4) + var(--safe-top));right:calc(var(--sp-4) + var(--safe-right));z-index:3;position:absolute}.login__glow{z-index:0;pointer-events:none;opacity:.14;background:radial-gradient(500px 500px at 50% 50%, var(--login-glow) 0%, var(--login-glow-soft) 40%, transparent 70%);width:1000px;height:1000px;margin:-500px 0 0 -500px;position:absolute;top:50%;left:50%}@media (width>=900px){.login__glow{animation:24s ease-in-out infinite login-glow-drift}}@keyframes login-glow-drift{0%,to{transform:translate(-28vw,-24vh)}50%{transform:translate(28vw,24vh)}}.login__panel{z-index:2;width:100%;max-width:416px;max-height:100%;padding:var(--sp-2);overscroll-behavior:contain;position:relative;overflow-y:auto}.login__brand{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-6);text-align:center;flex-direction:column;display:flex}.login__logo{width:46px;height:46px;margin-bottom:var(--sp-2);border-radius:var(--radius);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-base);place-items:center;display:grid}.login__brand .brand-logo{width:auto;max-width:min(220px,100%);height:48px;margin:0 auto var(--sp-3);border-radius:var(--radius-sm);object-fit:contain;object-position:center;display:block}.login__brand h1{font-size:var(--fs-xl)}.login__brand p{color:var(--text-faint);font-size:var(--fs-sm)}.login__card{padding:var(--sp-6) var(--sp-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.login__fields{gap:var(--sp-4);flex-direction:column;display:flex}.login__fields h2{font-size:var(--fs-lg);margin-bottom:2px}.login .input{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text)}.login .input::placeholder{color:var(--text-faint)}.login .input:focus{border-color:var(--color-link);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.login .btn--block{font-weight:var(--fw-semibold)}.login__remember{align-items:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.login__remember input{width:16px;height:16px;accent-color:var(--color-link);cursor:pointer}.login__hint,.login .install-link,.login__divider{color:var(--text-faint)}.login__hint{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-xs);line-height:1.45;display:flex}.login__hint svg{flex:none;margin-top:2px}.login .alert{overflow:hidden}.login__divider{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);display:flex}.login__divider:before,.login__divider:after{content:"";background:var(--border);flex:1;height:1px}.login__fields .btn--ghost{color:var(--text-muted);border-color:var(--border-strong)}.login__fields .btn--ghost:hover:not(:disabled){color:var(--text)}.login__fields .btn--ghost svg{margin-right:var(--sp-1)}@media (width<=460px){.login__panel{max-width:100%}.login__card{padding:var(--sp-6) var(--sp-4)}}@media (prefers-reduced-motion:reduce){.login__glow{animation:none}}:root[data-motion=reduced] .login__glow{animation:none}@media print{.login__glow{display:none}}.offline-notice{z-index:400;padding:calc(var(--sp-6) + var(--safe-top)) calc(var(--sp-4) + var(--safe-right)) calc(var(--sp-6) + var(--safe-bottom)) calc(var(--sp-4) + var(--safe-left));background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.offline-notice__card{align-items:center;gap:var(--sp-3);width:100%;max-width:340px;padding:var(--sp-8) var(--sp-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;display:flex}.offline-notice__icon{background:var(--bg-subtle);width:52px;height:52px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.offline-notice__card h2{font-size:var(--fs-lg)}.offline-notice__card p{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.offline-notice__card .btn{margin-top:var(--sp-1)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--color-background:#f7f9f7;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#f2f5f2;--color-surface-hover:#ebefeb;--color-text-primary:#1a1f1a;--color-text-secondary:#6b7280;--color-text-muted:#8a919d;--color-border:#00000014;--color-border-strong:#00000024;--color-primary:#16a34a;--color-primary-hover:#15803d;--color-primary-soft:#16a34a1a;--color-on-primary:#0a0f0a;--color-success:#16a34a;--color-success-soft:#16a34a1a;--color-warning:#d97706;--color-warning-soft:#d977061a;--color-danger:#dc2626;--color-danger-soft:#dc26261a;--color-info:#2563eb;--color-info-soft:#2563eb1a;--color-gold:#b8860b;--color-gold-soft:#fbf3dd;--color-on-danger:#fff;--color-on-info:#fff;--color-on-warning:#1a1f1a;--color-on-success:#fff;--on-avatar:#fff;--backdrop:#0a0c106b;--toggle-knob:#fff;--event-event:#4f46e5;--event-meeting:#0369a1;--event-holiday:#16a34a;--event-deadline:#dc2626;--event-other:#6b7280;--event-birthday:#db2777;--event-anniversary:#0891b2;--shadow-soft:0 1px 3px #0000000d;--shadow-raised:0 4px 16px #0000000f;--shadow-floating:0 12px 32px #0000001a;--shadow-overlay:var(--shadow-lg);--shadow-neu-raised:6px 6px 16px #1e302314, -6px -6px 16px #ffffffd9;--shadow-neu-inset:inset 2px 2px 5px #1e302312, inset -2px -2px 5px #ffffffb3;--color-ui-text-secondary:#5d6571;--color-ui-border:#697386;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-full:999px;--fw-normal:400;--fw-semibold:600;--fw-bold:700;--fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-4xl:48px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sidebar-w:248px;--sidebar-collapsed-w:72px;--shell-control-size:44px;--overlay-glass-blur:8px;--overlay-glass:#ffffffb8;--topbar-h:60px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--font:"Golos Text", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, monospace;--bg:var(--color-background);--surface:var(--color-surface);--bg-elevated:var(--color-surface-raised);--bg-subtle:var(--color-surface-muted);--bg-hover:var(--color-surface-hover);--text:var(--color-text-primary);--text-muted:var(--color-text-secondary);--text-faint:var(--color-text-muted);--border:var(--color-border);--border-strong:var(--color-border-strong);--ui-text-secondary:var(--color-ui-text-secondary);--ui-border:var(--color-ui-border);--shadow-sm:var(--shadow-soft);--shadow-md:var(--shadow-raised);--shadow-lg:var(--shadow-floating);--primary:var(--color-primary);--primary-hover:var(--color-primary-hover);--primary-soft:var(--color-primary-soft);--on-primary:var(--color-on-primary);--success:var(--color-success);--success-soft:var(--color-success-soft);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--info:var(--color-info);--info-soft:var(--color-info-soft);--gold:var(--color-gold);--gold-soft:var(--color-gold-soft);--on-success:var(--color-on-success);--on-warning:var(--color-on-warning);--on-danger:var(--color-on-danger);--on-info:var(--color-on-info)}[data-theme=dark]{--overlay-glass:#161a21c2;--color-background:#0e1116;--color-surface:#161a21;--color-surface-raised:#161a21;--color-surface-muted:#1c212a;--color-surface-hover:#232935;--color-info:#6aa3f7;--color-info-soft:#14213a;--color-on-danger:#1a0e0e;--color-on-info:#0b1220;--color-on-warning:#1f1608;--color-on-success:#0b1f14;--on-avatar:#fff;--backdrop:#0009;--toggle-knob:#e9ecf1;--event-event:#8b84f8;--event-meeting:#4aa3d8;--event-holiday:#4ade80;--event-deadline:#f07171;--event-other:#9aa3b2;--event-birthday:#f472b6;--event-anniversary:#22d3ee;--color-text-primary:#e9ecf1;--color-text-secondary:#98a1b0;--color-text-muted:#6b7484;--color-border:#262c36;--color-border-strong:#363e4b;--color-primary:#4ade80;--color-primary-hover:#6ee79b;--color-primary-soft:#0f2a1b;--color-on-primary:#0b1f14;--color-success:#46c48b;--color-success-soft:#12281f;--color-warning:#e0a458;--color-warning-soft:#2b2013;--color-danger:#f07171;--color-danger-soft:#2e1717;--color-gold:#e3b341;--color-gold-soft:#2c2513;--shadow-soft:0 1px 2px #0006;--shadow-raised:0 4px 16px #00000073;--shadow-floating:0 12px 32px #0000008c;--shadow-overlay:var(--shadow-lg);--shadow-neu-raised:2px 2px 6px #0000001f;--shadow-neu-inset:inset 1px 1px 3px #0000001f;--color-ui-text-secondary:#aab3c2;--color-ui-border:#8995a8}:root[data-appearance-theme][data-theme=light]{--color-text-primary:#172033;--color-text-secondary:#475569;--color-text-muted:#526075;--color-border:#d6dce5;--color-border-strong:#64748b;--shadow-soft:0 1px 3px #0f172a0f;--shadow-raised:0 4px 16px #0f172a14;--shadow-floating:0 12px 32px #0f172a29;--color-success:#166534;--color-success-soft:#dcfce7;--color-on-success:#fff;--color-warning:#92400e;--color-warning-soft:#fef3c7;--color-on-warning:#fff;--color-danger:#b91c1c;--color-danger-soft:#fee2e2;--color-on-danger:#fff;--color-info:#1d4ed8;--color-info-soft:#dbeafe;--color-on-info:#fff;--color-gold:#854d0e;--color-gold-soft:#fef3c7;--color-on-gold:#fff}:root[data-appearance-theme][data-theme=dark]{--color-text-primary:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#a1adbf;--color-border:#334155;--color-border-strong:#8392a8;--shadow-soft:0 1px 3px #0003;--shadow-raised:0 4px 16px #00000047;--shadow-floating:0 12px 32px #0006;--color-success:#4ade80;--color-success-soft:#143322;--color-on-success:#08111f;--color-warning:#fbbf24;--color-warning-soft:#352a12;--color-on-warning:#08111f;--color-danger:#fca5a5;--color-danger-soft:#3a1d23;--color-on-danger:#08111f;--color-info:#93c5fd;--color-info-soft:#172554;--color-on-info:#08111f;--color-gold:#fcd34d;--color-gold-soft:#352a12;--color-on-gold:#08111f}:root[data-appearance-theme=blue][data-theme=light]{--color-background:#f7f9fc;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#eef2f7;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-on-primary:#fff;--color-primary-soft:#dbeafe;--color-primary-deep:#172554;--color-secondary:#3b82f6;--color-link:#1d4ed8;--chart-series-1:#2563eb;--chart-series-2:#1e40af;--chart-series-3:#536c9c}:root[data-appearance-theme=violet][data-theme=light]{--color-background:#faf8ff;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#eef2f7;--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-on-primary:#fff;--color-primary-soft:#ede9fe;--color-primary-deep:#2e1065;--color-secondary:#a855f7;--color-link:#6d28d9;--chart-series-1:#7c3aed;--chart-series-2:#5b21b6;--chart-series-3:#855391}:root[data-appearance-theme=graphite][data-theme=light]{--color-background:#f5f5f6;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#eef2f7;--color-primary:#27272a;--color-primary-hover:#3f3f46;--color-on-primary:#fff;--color-primary-soft:#e4e4e7;--color-primary-deep:#09090b;--color-secondary:#52525b;--color-link:#3f3f46;--chart-series-1:#27272a;--chart-series-2:#52525b;--chart-series-3:#71717a}:root[data-appearance-theme=emerald][data-theme=light]{--color-background:#f7faf9;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#eef2f7;--color-primary:#059669;--color-primary-hover:#079c6e;--color-on-primary:#061410;--color-primary-soft:#d1fae5;--color-primary-deep:#064e3b;--color-secondary:#10b981;--color-link:#047857;--chart-series-1:#047857;--chart-series-2:#065f46;--chart-series-3:#397b69}:root[data-appearance-theme=blue][data-theme=dark]{--color-background:#0b1220;--color-surface:#131e30;--color-surface-raised:#1c2a40;--color-surface-muted:#18243a;--color-primary:#60a5fa;--color-primary-hover:#93c5fd;--color-on-primary:#08111f;--color-primary-soft:#172554;--color-primary-deep:#172554;--color-secondary:#93c5fd;--color-link:#93c5fd;--chart-series-1:#60a5fa;--chart-series-2:#93c5fd;--chart-series-3:#a5b4fc}:root[data-appearance-theme=violet][data-theme=dark]{--color-background:#140f21;--color-surface:#1e172e;--color-surface-raised:#2a203d;--color-surface-muted:#241b36;--color-primary:#c4b5fd;--color-primary-hover:#ddd6fe;--color-on-primary:#08111f;--color-primary-soft:#2e1065;--color-primary-deep:#2e1065;--color-secondary:#d8b4fe;--color-link:#ddd6fe;--chart-series-1:#c4b5fd;--chart-series-2:#d8b4fe;--chart-series-3:#f0abfc}:root[data-appearance-theme=graphite][data-theme=dark]{--color-background:#121214;--color-surface:#1c1c20;--color-surface-raised:#28282e;--color-surface-muted:#242429;--color-primary:#d4d4d8;--color-primary-hover:#e4e4e7;--color-on-primary:#08111f;--color-primary-soft:#303036;--color-primary-deep:#09090b;--color-secondary:#a1a1aa;--color-link:#e4e4e7;--chart-series-1:#d4d4d8;--chart-series-2:#a1a1aa;--chart-series-3:#fafafa}:root[data-appearance-theme=emerald][data-theme=dark]{--color-background:#0b1815;--color-surface:#12251f;--color-surface-raised:#1c322b;--color-surface-muted:#172c25;--color-primary:#34d399;--color-primary-hover:#6ee7b7;--color-on-primary:#08111f;--color-primary-soft:#064e3b;--color-primary-deep:#064e3b;--color-secondary:#6ee7b7;--color-link:#6ee7b7;--chart-series-1:#34d399;--chart-series-2:#6ee7b7;--chart-series-3:#a7f3d0}:root[data-appearance-theme]{--color-surface-hover:var(--color-surface-muted);--color-focus:var(--color-link);--color-on-primary-hover:var(--color-on-primary);--color-ui-text-secondary:var(--color-text-secondary);--color-ui-border:var(--color-border-strong);--sidebar-bg:var(--color-primary-deep);--sidebar-text:#f8fafc;--sidebar-active-bg:var(--color-primary-soft);--sidebar-active-text:var(--color-link);--sidebar-active-rail:var(--color-link);--sidebar-focus:#f8fafc;--chart-axis:var(--color-text-secondary);--chart-grid:var(--color-border);--chart-target:var(--color-border-strong);--ambient-primary:var(--color-primary);--ambient-secondary:var(--color-secondary);--ambient-deep:var(--color-primary-deep);--ambient-soft:var(--color-primary-soft);--on-gold:var(--color-on-gold)}:root{--radius-xl:24px;--control-hit-area:calc(var(--sp-8) + var(--sp-3));--density-card-pad:var(--sp-4);--density-row-pad:var(--sp-3);--density-gap:var(--sp-4);--motion-duration-fast:.18s;--motion-duration-normal:.22s;--motion-ease:cubic-bezier(.2, 0, 0, 1);--admin-accent:var(--gold);--admin-accent-soft:var(--gold-soft);--admin-rail:var(--gold);--appearance-blue:#2563eb;--appearance-violet:#7c3aed;--appearance-graphite:#27272a;--appearance-emerald:#059669}@media (width>=900px){:root{--density-card-pad:var(--sp-6);--density-gap:var(--sp-6)}}:root[data-density=compact]{--density-card-pad:var(--sp-4);--density-row-pad:var(--sp-2);--density-gap:var(--sp-3)}:root{--ambient-shape-size:448px;--ambient-alpha:.16;--logo-mark:#838a2f;--logo-text:#1a3d36;--sidebar-logo-mark:#a3aa43;--sidebar-logo-text:#f8fafc}:root[data-appearance-theme]{--ambient-tint-primary:color-mix(in srgb, var(--ambient-primary) 50%, var(--ambient-soft));--ambient-tint-secondary:color-mix(in srgb, var(--ambient-secondary) 50%, var(--ambient-soft));--ambient-tint-deep:color-mix(in srgb, var(--ambient-deep) 20%, var(--ambient-soft))}:root[data-theme=dark]{--ambient-alpha:.08;--logo-mark:#a3aa43;--logo-text:#f1f5f9}:root[data-appearance-theme=blue][data-theme=light]{--logo-mark:#2563eb;--logo-text:#172554;--sidebar-logo-mark:#60a5fa}:root[data-appearance-theme=blue][data-theme=dark]{--logo-mark:#60a5fa;--logo-text:#f1f5f9;--sidebar-logo-mark:#60a5fa}:root[data-appearance-theme=violet][data-theme=light]{--logo-mark:#7c3aed;--logo-text:#2e1065;--sidebar-logo-mark:#c4b5fd}:root[data-appearance-theme=violet][data-theme=dark]{--logo-mark:#c4b5fd;--logo-text:#f1f5f9;--sidebar-logo-mark:#c4b5fd}:root[data-appearance-theme=graphite][data-theme=light]{--logo-mark:#52525b;--logo-text:#27272a;--sidebar-logo-mark:#d4d4d8}:root[data-appearance-theme=graphite][data-theme=dark]{--logo-mark:#d4d4d8;--logo-text:#f1f5f9;--sidebar-logo-mark:#d4d4d8}:root[data-appearance-theme=emerald][data-theme=light]{--logo-mark:#838a2f;--logo-text:#1a3d36;--sidebar-logo-mark:#a3aa43}:root[data-appearance-theme=emerald][data-theme=dark]{--logo-mark:#a3aa43;--logo-text:#f1f5f9;--sidebar-logo-mark:#a3aa43}.sidebar{--logo-mark:var(--sidebar-logo-mark);--logo-text:var(--sidebar-logo-text)}:where(.login){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7faf9;--surface:#fff;--bg-elevated:#fff;--bg-subtle:#eef2f7;--bg-hover:#eef2f7;--text:#172033;--text-muted:#475569;--text-faint:#526075;--border:#d6dce5;--border-strong:#64748b;--ui-text-secondary:#475569;--ui-border:#64748b;--primary:#059669;--primary-hover:#079c6e;--primary-soft:#d1fae5;--on-primary:#061410;--color-link:#047857;--color-primary-deep:#064e3b;--color-secondary:#10b981;--success:#166534;--success-soft:#dcfce7;--warning:#92400e;--warning-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--info:#1d4ed8;--info-soft:#dbeafe;--gold:#854d0e;--gold-soft:#fef3c7;--on-success:#fff;--on-warning:#fff;--on-danger:#fff;--on-info:#fff;--on-avatar:#fff;--backdrop:#0f172a6b;--toggle-knob:#fff;--shadow-sm:0 1px 3px #0f172a0f;--shadow-md:0 4px 16px #0f172a14;--shadow-lg:0 12px 32px #0f172a29;--logo-mark:#838a2f;--logo-text:#1a3d36;--login-glow:#047857;--login-glow-soft:color-mix(in srgb, var(--login-glow) 55%, transparent);--color-background:var(--bg);--color-surface:var(--surface);--color-surface-raised:var(--bg-elevated);--color-surface-muted:var(--bg-subtle);--color-surface-hover:var(--bg-hover);--color-text-primary:var(--text);--color-text-secondary:var(--text-muted);--color-text-muted:var(--text-faint);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-ui-text-secondary:var(--ui-text-secondary);--color-ui-border:var(--ui-border);--shadow-soft:var(--shadow-sm);--shadow-raised:var(--shadow-md);--shadow-floating:var(--shadow-lg);--shadow-overlay:var(--shadow-lg);--color-primary:var(--primary);--color-primary-hover:var(--primary-hover);--color-primary-soft:var(--primary-soft);--color-on-primary:var(--on-primary);--color-on-primary-hover:var(--on-primary);--color-success:var(--success);--color-success-soft:var(--success-soft);--color-warning:var(--warning);--color-warning-soft:var(--warning-soft);--color-danger:var(--danger);--color-danger-soft:var(--danger-soft);--color-info:var(--info);--color-info-soft:var(--info-soft);--color-gold:var(--gold);--color-gold-soft:var(--gold-soft);--color-on-success:var(--on-success);--color-on-warning:var(--on-warning);--color-on-danger:var(--on-danger);--color-on-info:var(--on-info);--color-focus:var(--color-link)}:where(.board){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1815;--surface:#12251f;--bg-elevated:#1c322b;--bg-subtle:#172c25;--bg-hover:#172c25;--text:#f1f5f9;--text-muted:#cbd5e1;--text-faint:#a1adbf;--border:#334155;--border-strong:#8392a8;--ui-text-secondary:#cbd5e1;--ui-border:#8392a8;--primary:#34d399;--primary-hover:#6ee7b7;--primary-soft:#064e3b;--on-primary:#08111f;--color-link:#6ee7b7;--color-primary-deep:#064e3b;--color-secondary:#6ee7b7;--success:#4ade80;--success-soft:#143322;--warning:#fbbf24;--warning-soft:#352a12;--danger:#fca5a5;--danger-soft:#3a1d23;--info:#93c5fd;--info-soft:#172554;--gold:#fcd34d;--gold-soft:#352a12;--on-success:#08111f;--on-warning:#08111f;--on-danger:#08111f;--on-info:#08111f;--on-avatar:#fff;--backdrop:#0009;--toggle-knob:#f1f5f9;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 16px #00000047;--shadow-lg:0 12px 32px #0006;--logo-mark:#a3aa43;--logo-text:#f1f5f9;--chart-series-1:#34d399;--chart-series-2:#6ee7b7;--chart-series-3:#a7f3d0;--color-background:var(--bg);--color-surface:var(--surface);--color-surface-raised:var(--bg-elevated);--color-surface-muted:var(--bg-subtle);--color-surface-hover:var(--bg-hover);--color-text-primary:var(--text);--color-text-secondary:var(--text-muted);--color-text-muted:var(--text-faint);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-ui-text-secondary:var(--ui-text-secondary);--color-ui-border:var(--ui-border);--shadow-soft:var(--shadow-sm);--shadow-raised:var(--shadow-md);--shadow-floating:var(--shadow-lg);--shadow-overlay:var(--shadow-lg);--color-primary:var(--primary);--color-primary-hover:var(--primary-hover);--color-primary-soft:var(--primary-soft);--color-on-primary:var(--on-primary);--color-on-primary-hover:var(--on-primary);--color-success:var(--success);--color-success-soft:var(--success-soft);--color-warning:var(--warning);--color-warning-soft:var(--warning-soft);--color-danger:var(--danger);--color-danger-soft:var(--danger-soft);--color-info:var(--info);--color-info-soft:var(--info-soft);--color-gold:var(--gold);--color-gold-soft:var(--gold-soft);--color-on-success:var(--on-success);--color-on-warning:var(--on-warning);--color-on-danger:var(--on-danger);--color-on-info:var(--on-info);--color-focus:var(--color-link)}body:has(.login){background:#f7faf9}body:has(.board){background:#0b1815}.admin-badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-full);border:1px solid var(--admin-accent);background:var(--admin-accent-soft);color:var(--admin-accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;white-space:nowrap;display:inline-flex}.admin-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.admin-badge__time{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}:root[data-admin-mode=on] .topbar{box-shadow:inset 0 3px 0 var(--admin-rail)}:root[data-admin-mode=on] .sidebar__link--active:before{content:"";background:var(--admin-rail);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}:root[data-admin-mode=on] .sidebar__link--active{position:relative}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3,h4{font-weight:var(--fw-semibold);letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-base)}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:var(--fs-base)}:focus-visible{outline:2px solid var(--color-focus,var(--primary));outline-offset:2px;border-radius:4px}::selection{background:var(--primary-soft);color:var(--text)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-semibold);font-size:var(--fs-base);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease), opacity var(--motion-duration-fast) var(--motion-ease);border:1px solid #0000;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn--block{width:100%}.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.field{gap:var(--sp-1);flex-direction:column;display:flex}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--color-focus,var(--primary));box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.field__error{margin-top:var(--sp-1);color:var(--danger);font-size:var(--fs-sm);line-height:1.35;display:block}.alert{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.alert--error{background:var(--danger-soft);color:var(--danger)}.alert--info{background:var(--primary-soft);color:var(--color-link,var(--primary))}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-hover) 37%, var(--bg-subtle) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.app-version{justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-8);padding-top:var(--sp-3);border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--fs-xs);letter-spacing:.01em;flex-wrap:wrap;display:flex}.app-version span{opacity:.8}
