.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--size-btn);padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:600 var(--text-base) /1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.ui-btn:hover{background:var(--color-surface-2)}.ui-btn svg{width:16px;height:16px;flex:none}.ui-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.ui-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-btn--soft{border-color:#0000;color:var(--color-primary-text)}.ui-btn--soft,.ui-btn--soft:hover{background:var(--color-primary-soft)}.ui-btn--soft:hover{border-color:var(--color-primary)}.ui-btn--ghost{background:#0000;border-color:#0000;color:var(--color-text)}.ui-btn--ghost:hover{background:var(--color-surface-3)}.ui-btn--danger{color:var(--color-danger)}.ui-btn--danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.ui-btn--sm{height:var(--size-btn-sm);padding:0 11px;font-size:13px;border-radius:var(--radius-sm)}.ui-btn--lg{height:var(--size-btn-lg);padding:0 22px;font-size:15px;border-radius:12px}.ui-btn--block{width:100%}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-btn[aria-busy=true]{cursor:progress}.ui-spin{width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid #0000;animation:ui-spin .7s linear infinite;flex:none}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-ibtn{width:var(--size-icon-btn);height:var(--size-icon-btn);border-radius:var(--radius-md);border:0;background:#0000;color:var(--color-muted);display:inline-grid;place-items:center;cursor:pointer;flex:none;position:relative;transition:background-color var(--motion-fast),color var(--motion-fast)}.ui-ibtn:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-ibtn svg{width:18px;height:18px}.ui-ibtn--sm{width:30px;height:30px;border-radius:var(--radius-sm)}.ui-lock{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:500;color:var(--color-muted);cursor:help;border-radius:var(--radius-xs)}.ui-lock svg{width:12px;height:12px;flex:none}.ui-lock:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);font:600 13px var(--font-sans);cursor:pointer;white-space:nowrap}.ui-chip[aria-checked=true],.ui-chip[aria-pressed=true],.ui-chip[aria-selected=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.ui-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;line-height:1.4;padding:3px 10px;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000}.ui-pill--success{background:var(--color-success-soft);color:var(--color-success)}.ui-pill--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ui-pill--danger{background:var(--color-danger-soft);color:var(--color-danger)}.ui-pill--info{background:var(--color-info-soft);color:var(--color-info)}.ui-pill--primary{background:var(--color-primary-soft);color:var(--color-primary-text)}.ui-pill--muted{background:#0000;color:var(--color-muted);border-color:var(--color-border)}.ui-av{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;flex:none;position:relative;font-size:12px;font-weight:700;color:var(--color-knob);background:var(--ui-av-bg,var(--color-primary))}.ui-av img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.ui-av--s{width:26px;height:26px;font-size:10px}.ui-av--l{width:46px;height:46px;font-size:15px}.ui-av--xl{width:96px;height:96px;font-size:32px;border-radius:24px}.ui-pd{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid var(--color-surface)}.ui-av--xl .ui-pd{width:20px;height:20px;border-width:3px;right:-4px;bottom:-4px}.ui-pd--working{background:var(--color-presence)}.ui-pd--away{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-muted)}.ui-pd--meeting{background:var(--color-info)}.ui-pd--leave{background:var(--color-presence-leave)}.ui-pd--offline{background:var(--color-muted)}.ui-tro{position:absolute;top:-7px;right:-8px;font-size:13px;line-height:1}.ui-av--s .ui-tro{font-size:10px;top:-6px;right:-6px}.ui-av--xl .ui-tro{font-size:26px;top:-12px;right:-12px}.ui-stack{display:flex}.ui-stack>.ui-av{margin-left:-8px;box-shadow:0 0 0 2px var(--color-surface)}.ui-stack>.ui-av:first-child{margin-left:0}.ui-stack__more{background:var(--color-surface-3);color:var(--color-muted)}.ui-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-grid)}@media (max-width:1200px){.ui-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.ui-tiles{grid-template-columns:minmax(0,1fr)}}.ui-tile{border-radius:var(--radius-lg);padding:var(--space-5);display:flex;gap:16px;align-items:flex-start;border:1px solid #0000;text-align:left;font:inherit;color:var(--color-text);width:100%;min-width:0;transition:box-shadow var(--motion-fast),transform var(--motion-fast)}button.ui-tile{cursor:pointer}button.ui-tile:hover{box-shadow:var(--shadow-sm)}.ui-tile__ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;flex:none}.ui-tile__ic svg{width:24px;height:24px}.ui-tile__lb{font-weight:600}.ui-tile__n{font-size:var(--text-2xl);font-weight:800;line-height:1.2}.ui-tile__s{color:var(--color-muted);font-size:var(--text-xs)}.ui-tile--lav{background:var(--tile-lav);border-color:var(--tile-lav-i)}.ui-tile--lav .ui-tile__ic{background:var(--tile-lav-i);color:var(--color-primary)}.ui-tile--mint{background:var(--tile-mint);border-color:var(--tile-mint-i)}.ui-tile--mint .ui-tile__ic{background:var(--tile-mint-i);color:var(--color-success)}.ui-tile--peach{background:var(--tile-peach);border-color:var(--tile-peach-i)}.ui-tile--peach .ui-tile__ic{background:var(--tile-peach-i);color:var(--color-warning)}.ui-tile--sky{background:var(--tile-sky);border-color:var(--tile-sky-i)}.ui-tile--sky .ui-tile__ic{background:var(--tile-sky-i);color:var(--color-info)}.ui-tblwrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:100%;-webkit-overflow-scrolling:touch}.ui-table{border-collapse:initial;border-spacing:0;width:100%}.ui-table caption{text-align:left;padding:12px 14px;font-weight:700}.ui-table td,.ui-table th{padding:11px 14px;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.ui-table th{position:sticky;top:0;z-index:1;background:var(--color-surface-2);color:var(--color-muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:700}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover{background:var(--color-surface-2)}.ui-table tr[data-clickable]{cursor:pointer}.ui-table tr[data-clickable]:focus-visible{outline-offset:-2px}.ui-table tr[aria-selected=true]{background:var(--color-primary-soft)}.ui-table .is-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.92em}.ui-table--compact td,.ui-table--compact th{padding:7px 12px}.ui-table__state{padding:28px 16px}@media (max-width:720px){.ui-table{min-width:560px}}.ui-scrim{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-sheet);animation:ui-fade var(--motion-fast) ease-out}@keyframes ui-fade{0%{opacity:0}}.ui-panel{position:fixed;top:0;right:0;bottom:0;width:min(var(--size-panel),100%);z-index:var(--z-panel);background:var(--color-surface);color:var(--color-text);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0);padding-right:env(safe-area-inset-right,0);animation:ui-slide-in .18s var(--ease-out)}@keyframes ui-slide-in{0%{transform:translateX(24px);opacity:.6}}.ui-panel--wide{width:min(var(--size-panel-wide),100%)}.ui-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 20px;border-bottom:1px solid var(--color-border)}.ui-panel__title{font-size:17px;font-weight:800;margin:0}.ui-panel__sub{margin:2px 0 0;color:var(--color-muted);font-size:var(--text-xs)}.ui-panel__body{overflow:auto;padding:16px 20px 24px;display:grid;gap:16px;align-content:start;flex:1}.ui-panel__foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ui-notif__filters{display:flex;gap:6px;padding:12px 20px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.ui-notif__list{gap:0}.ui-notif__group{padding:14px 0 4px}.ui-notif__item{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-top:1px solid var(--color-border);min-width:0}.ui-notif__group+.ui-notif__item,.ui-notif__list>.ui-notif__item:first-child{border-top:0}.ui-notif__dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none;background:#0000}.ui-notif__item[data-unread] .ui-notif__dot{background:var(--color-primary)}.ui-notif__grow{flex:1;min-width:0}.ui-notif__meta{color:var(--color-muted);font-size:var(--text-xs)}.ui-dialog-wrap{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-start;justify-content:center;padding:max(6vh,20px) 16px 16px;overflow:auto}.ui-dialog{position:relative;width:min(var(--size-dialog),100%);max-height:88vh;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:ui-pop var(--motion-fast) var(--ease-out)}@keyframes ui-pop{0%{transform:translateY(8px) scale(.98);opacity:0}}.ui-dialog--wide{width:min(var(--size-dialog-wide),100%)}.ui-dialog__head{position:relative;padding:18px 22px 8px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ui-dialog__title{font-size:19px;font-weight:800;margin:0}.ui-dialog__desc{margin:4px 0 0;color:var(--color-muted)}.ui-dialog__body{padding:6px 22px 18px;overflow:auto;display:grid;gap:12px}.ui-dialog__foot{padding:14px 22px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ui-dialog__handle{display:none}@media (max-width:720px){.ui-dialog-wrap{align-items:flex-end;padding:0}.ui-dialog,.ui-dialog--wide{width:100%;max-height:92vh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:ui-sheet-up .2s var(--ease-out)}.ui-dialog__handle{display:block;position:absolute;left:50%;top:6px;width:40px;height:4px;border-radius:2px;background:var(--color-border);transform:translateX(-50%)}.ui-dialog__head{padding-top:22px}.ui-dialog__foot .ui-btn{flex:1 1 auto}}@keyframes ui-sheet-up{0%{transform:translateY(40px);opacity:.4}}.ui-toasts{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:var(--z-toast);flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 32px)}.ui-toast,.ui-toasts{display:flex;align-items:center}.ui-toast{gap:12px;background:var(--color-text);color:var(--color-surface);padding:10px 10px 10px 16px;border-radius:12px;font-weight:600;box-shadow:var(--shadow-lg);max-width:100%;animation:ui-pop var(--motion-fast) var(--ease-out)}.ui-toast__ic{flex:none;display:inline-grid}.ui-toast__ic svg{width:18px;height:18px}.ui-toast--success .ui-toast__ic{color:var(--color-presence)}.ui-toast--error{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger)}.ui-toast--info .ui-toast__ic{color:var(--color-primary-soft)}.ui-toast__msg{min-width:0}.ui-toast__act{font:700 13px var(--font-sans);text-decoration:underline;padding:6px 8px}.ui-toast__act,.ui-toast__x{border:0;background:#0000;color:inherit;cursor:pointer;border-radius:var(--radius-sm)}.ui-toast__x{opacity:.75;display:inline-grid;place-items:center;width:28px;height:28px;flex:none}.ui-toast__act:hover,.ui-toast__x:hover{opacity:1}@media (max-width:860px){.ui-toasts{bottom:calc(84px + env(safe-area-inset-bottom, 0px))}}.ui-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:40px 20px}.ui-empty__ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary-text)}.ui-empty__ic svg{width:24px;height:24px}.ui-empty__title{font-size:16px;font-weight:800;margin:4px 0 0}.ui-empty__text{margin:0;color:var(--color-muted);max-width:420px}.ui-empty__act{margin-top:8px}.ui-skel{display:block;background:var(--color-surface-3);border-radius:var(--radius-sm);position:relative;overflow:hidden}.ui-skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,#0000,color-mix(in srgb,var(--color-surface) 60%,#0000),#0000);animation:ui-shimmer 1.4s ease-in-out infinite}@keyframes ui-shimmer{to{transform:translateX(100%)}}.ui-skel--line{height:12px}.ui-skel--block{height:96px;border-radius:var(--radius-lg)}.ui-skel--circle{border-radius:50%}.ui-skel-row{display:flex;align-items:center;gap:12px;padding:11px 0}.ui-skel-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-surface);display:grid;gap:10px}.ui-palette-wrap{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;align-items:flex-start;justify-content:center;padding:max(10vh,20px) 16px 16px}.ui-palette{position:relative;width:min(680px,100%);background:var(--color-surface);color:var(--color-text);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-pop var(--motion-fast) var(--ease-out)}.ui-palette__field{display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--color-border);color:var(--color-muted)}.ui-palette__field svg{width:18px;height:18px;flex:none}.ui-palette__input{width:100%;border:0;padding:16px 0;background:#0000;font:400 16px var(--font-sans);color:var(--color-text);outline:none}.ui-palette__results{max-height:52vh;overflow:auto;padding-bottom:6px}.ui-palette__grp{padding:10px 18px 4px}.ui-palette__res{display:flex;align-items:center;gap:10px;padding:8px 18px;cursor:pointer;min-height:40px}.ui-palette__res svg{width:16px;height:16px;color:var(--color-muted);flex:none}.ui-palette__res:hover,.ui-palette__res[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary-text)}.ui-palette__res[aria-selected=true] svg{color:var(--color-primary-text)}.ui-palette__sub{margin-left:auto;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.ui-palette__msg{padding:18px;color:var(--color-muted)}.ui-palette__foot{padding:10px 18px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs)}.ui-kbd{font:500 12px var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:1px 7px;background:var(--color-surface-2);color:var(--color-muted)}@media (max-width:720px){.ui-palette-wrap{padding:8px}.ui-palette__results{max-height:64vh}}@media (max-width:720px),(pointer:coarse){.ui-btn,.ui-btn--lg,.ui-btn--sm,.ui-ibtn,.ui-ibtn--sm{min-height:var(--size-touch)}.ui-ibtn,.ui-ibtn--sm{min-width:var(--size-touch)}.ui-chip,.ui-palette__res,.ui-toast__act,.ui-toast__x{min-height:var(--size-touch)}.ui-toast__act,.ui-toast__x{min-width:var(--size-touch)}}