.app-shell{background:var(--paper);min-height:100svh;display:flex}.app-sidebar{background:linear-gradient(var(--grid-blueprint) 1px, transparent 1px), linear-gradient(90deg, var(--grid-blueprint) 1px, transparent 1px), var(--blueprint-950);color:var(--on-blueprint);height:100svh;transition:flex-basis var(--t-med) var(--ease-out);background-size:44px 44px,44px 44px,100% 100%;flex-direction:column;flex:0 0 16rem;display:flex;position:sticky;top:0}.app-sidebar.is-collapsed{flex-basis:4.75rem}.app-sidebar-head{border-bottom:1px solid var(--line-blueprint);padding:1.5rem 1.25rem 1.15rem;overflow:hidden}.app-sidebar-head .logo img{height:30px}.app-sidebar-head .logo-sub{display:none}.app-sidebar.is-collapsed .app-sidebar-head{padding-left:1.4rem;padding-right:1.4rem}.app-nav{flex:1;align-content:start;gap:.15rem;min-height:0;padding:1rem .75rem;display:grid;overflow:hidden auto}.app-nav a{border-radius:var(--radius);min-height:44px;font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted-blueprint);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);align-items:center;gap:.8rem;padding:0 .75rem;font-size:.82rem;text-decoration:none;display:flex}.app-nav-icon{flex:none;display:inline-flex}.app-nav-icon-wrap{flex:none;display:inline-flex;position:relative}.app-nav-dot{border:1.5px solid var(--blueprint-900);background:#2ecc71;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px;box-shadow:0 0 5px 1px #2ecc71bf}.app-nav a svg{stroke:currentColor;flex:none;width:18px;height:18px}.app-nav-label{white-space:nowrap;align-items:center;display:inline-flex;overflow:hidden}.app-nav a:hover{color:var(--on-blueprint);background:#7d80ff14}.app-nav a[aria-current=page]{color:var(--on-blueprint);background:#7d80ff24}.app-nav a[aria-current=page] svg{stroke:var(--brand-tint)}.app-nav-divider{background:var(--line-blueprint);height:1px;margin:.75rem .25rem}.app-nav-external{opacity:.55;margin-left:auto;display:inline-flex}.app-nav-external svg{width:13px;height:13px}.app-sidebar-collapse{cursor:pointer;border:none;border-top:1px solid var(--line-blueprint);width:100%;font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted-blueprint);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;align-items:center;gap:.6rem;padding:.85rem 1.1rem;font-size:.74rem;display:flex}.app-sidebar-collapse:hover{color:var(--on-blueprint);background:#7d80ff14}.app-sidebar-collapse svg{stroke:currentColor;flex:none;width:16px;height:16px}.app-sidebar.is-collapsed .app-sidebar-collapse{justify-content:center}.app-sidebar-foot{border-top:1px solid var(--line-blueprint);padding:1rem;overflow:hidden}.app-sidebar.is-collapsed .app-sidebar-foot{padding-left:1.4rem;padding-right:1.4rem}.app-user{align-items:center;gap:.7rem;display:flex}.app-user-avatar{border:1px solid var(--line-blueprint);background:var(--blueprint-800);border-radius:50%;flex:none;width:2.4rem;height:2.4rem;overflow:hidden}.app-user-avatar img{object-fit:cover;width:100%;height:100%}.app-user-name{color:var(--on-blueprint);font-size:.85rem;font-weight:600;line-height:1.25}.app-user-role{font-family:var(--font-mono);color:var(--muted-blueprint);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.app-signout{text-align:center;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-blueprint);border-radius:var(--radius);border:1px solid var(--line-blueprint);margin-top:.75rem;padding:.5rem;font-size:.72rem;text-decoration:none;display:block}.app-signout:hover{color:var(--on-blueprint);border-color:var(--brand-tint)}.app-topbar-actions .app-signout{color:var(--steel);border-color:var(--line-strong)}.app-topbar-actions .app-signout:hover{color:var(--ink);border-color:var(--steel)}.app-toggle{z-index:90;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--white);justify-content:center;align-items:center;width:44px;height:44px;display:none;position:fixed;top:1rem;left:1rem}.app-toggle svg{width:20px;height:20px;stroke:var(--ink)}.app-nav-backdrop{z-index:70;cursor:default;-webkit-tap-highlight-color:transparent;touch-action:none;background:#090d2280;border:0;padding:0;position:fixed;inset:0}.app-main{flex:1;min-width:0}.app-topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,2.5rem);display:flex;position:sticky;top:0}.app-topbar h1{font-size:clamp(1.5rem,3vw,2rem)}.app-topbar-greeting{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--brand);white-space:pre-wrap;font-size:1.05rem;font-style:italic;font-weight:500}.app-topbar-greeting:after{display:none}.app-topbar-actions{align-items:center;gap:.75rem;display:flex}.app-bell-wrap{position:relative}.app-bell{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative}.app-bell svg{width:18px;height:18px;stroke:var(--ink)}.app-bell-dot{border:2px solid var(--paper);background:#c0392b;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.app-clock{border:1px solid var(--line);background:var(--white);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.app-clock--digital{height:44px;padding:0 1rem}.app-clock--analog{background:0 0;border:none;border-radius:50%;width:96px;height:96px}.app-clock-face{filter:drop-shadow(0 8px 16px #0b183047);transition:transform .2s var(--ease-out)}.app-clock--analog:hover .app-clock-face{transform:scale(1.03)}.app-clock-digital{flex-direction:column;align-items:flex-start;line-height:1.25;display:flex}.app-clock-day{text-transform:uppercase;letter-spacing:.06em;color:var(--steel);font-size:.68rem}.app-clock-time{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.app-bell-panel{z-index:200;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);width:20rem;max-width:85vw;max-height:32rem;position:absolute;top:calc(100% + .6rem);right:0;overflow-y:auto;box-shadow:0 24px 60px -20px #090d2280}.app-bell-permission-banner{border-bottom:1px solid var(--line);background:#fbf0d9;flex-direction:column;gap:.55rem;padding:.8rem 1.1rem;display:flex}.app-bell-permission-banner p{color:#6b4a00;margin:0;font-size:.78rem;line-height:1.5}.app-bell-permission-banner.is-denied{background:#fbe4e4}.app-bell-permission-banner.is-denied p{color:#8a2c2c}.app-bell-reminders-head{border-top:6px solid var(--paper-2)}.app-bell-reminders-list{max-height:none;overflow-y:visible}.app-bell-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-size:.88rem;font-weight:700;display:flex}.app-bell-empty{color:var(--steel);text-align:center;padding:1.5rem 1.1rem;font-size:.85rem}.app-bell-list{max-height:22rem;margin:0;padding:0;list-style:none;overflow-y:auto}.app-bell-list li{border-bottom:1px solid var(--line);color:var(--ink);padding:.8rem 1.1rem;font-size:.85rem}.app-bell-list li:last-child{border-bottom:none}.app-bell-list li.is-urgent{background:#fdf2f1;border-left:3px solid #b3261e}.app-bell-item-subject{margin-bottom:.15rem;font-weight:700;display:block}.app-bell-list li.is-urgent .app-bell-item-subject{color:#b3261e}.app-bell-item-foot{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.45rem;display:flex}.app-bell-time{font-family:var(--font-mono);color:var(--steel);font-size:.7rem}.app-content{max-width:78rem;padding:clamp(1.25rem,4vw,2.5rem)}.app-content.app-dashboard{max-width:none}.app-content:has(>.app-requests-wide){max-width:96rem}.app-requests-wide .app-grid--wide{grid-template-columns:minmax(0,1fr) 19rem}.admin-panel-tabs{border-bottom:1px solid var(--line);top:var(--admin-topbar-h,5.5rem);z-index:19;background:var(--paper);flex-wrap:wrap;align-items:center;gap:.25rem;padding:0 clamp(1.25rem,4vw,2.5rem);display:flex;position:sticky}.admin-panel-tab-item{align-items:center;gap:.35rem;display:inline-flex}.admin-panel-tab-item+.admin-panel-tab-item{margin-left:1.1rem}.admin-panel-tabs.is-editing .admin-panel-tab-item{cursor:grab}.admin-panel-tabs.is-editing .admin-panel-tab-item:active{cursor:grabbing}.admin-panel-tab-item a{font-family:var(--font-mono);letter-spacing:.02em;color:var(--steel);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:.85rem .25rem;font-size:.78rem;text-decoration:none;display:inline-flex}.admin-panel-tab-item a:hover{color:var(--ink)}.admin-panel-tab-item a[aria-current=page]{color:var(--ink);border-bottom-color:var(--tab-color,var(--brand))}.admin-panel-tab-item:not(:has(a[aria-current=page])){box-shadow:var(--tab-color,transparent) 0 2px 0 -1px inset}.admin-panel-tab-item.is-dim a:not([aria-current=page]){color:var(--line-strong)}.admin-panel-tab-item.is-dim a:hover{color:var(--steel)}.admin-panel-tab-color{cursor:pointer;background:var(--tab-color,var(--line-strong));border:1px solid var(--line-strong);border-radius:50%;flex:none;width:14px;height:14px;overflow:hidden}.admin-panel-tab-color input{opacity:0;cursor:pointer;width:100%;height:100%}.admin-panel-tab-edit-btn{width:1.8rem;height:1.8rem;color:var(--steel);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;align-self:center;place-items:center;margin-left:auto;font-size:.95rem;line-height:1;display:grid}.admin-panel-tab-edit-btn:hover{color:var(--ink);border-color:var(--line-strong)}@media (max-width:640px){.app-topbar{gap:.5rem .6rem;padding:1rem 1.1rem}.app-topbar h1{font-size:1.3rem}.app-topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.app-topbar-actions .app-signout{min-height:2rem;padding:0 .55rem;font-size:.64rem}.app-bell,.app-clock--digital{width:2rem;height:2rem;min-height:2rem}.app-clock--digital{width:auto;padding:0 .55rem}.admin-panel-tabs{-webkit-overflow-scrolling:touch;touch-action:pan-x;flex-wrap:nowrap;padding:0 1.1rem;overflow-x:auto}.admin-panel-tab-item{flex:none}.admin-panel-tab-item a{white-space:nowrap;padding:.7rem .15rem;font-size:.72rem}.admin-panel-tab-edit-btn{flex:none;margin-left:.5rem}}.app-banner{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);color:var(--steel);align-items:center;gap:.75rem;margin-bottom:1.75rem;padding:.85rem 1.1rem;font-size:.8rem;display:flex}.app-banner svg{width:18px;height:18px;stroke:var(--brand);flex:none}@media (max-width:960px){.app-toggle{display:inline-flex}.app-sidebar{z-index:80;width:17rem;transition:transform var(--t-med) var(--ease-out);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-shell.is-nav-open .app-sidebar{transform:translate(0)}.app-topbar,.app-sidebar-head{padding-left:4.5rem}.app-sidebar-collapse{display:none}}.app-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin-top:1.75rem;display:grid}.app-grid>*{min-width:0}.app-grid--wide{grid-template-columns:2fr 1fr}.app-grid--three{grid-template-columns:repeat(3,1fr)}.app-grid--single{grid-template-columns:minmax(0,34rem)}.app-back-link{color:var(--brand);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.app-back-link:hover{text-decoration:underline}@media (max-width:960px){.app-grid--three{grid-template-columns:1fr 1fr}}@media (max-width:780px){.app-grid--wide,.app-grid--three{grid-template-columns:1fr}}.app-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem 1.4rem 1.35rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-card[data-accent]:before{content:"";background:var(--accent,var(--brand));height:3px;position:absolute;top:0;left:0;right:0}.app-card[data-accent=today]{--accent:var(--brand)}.app-card[data-accent=requests]{--accent:#b5790a}.app-card[data-accent=messages]{--accent:#1f8a4c}.app-card[data-accent=events]{--accent:#7a3fd1}.app-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.app-collapsible-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.app-collapsible-summary::-webkit-details-marker{display:none}.app-collapsible-chevron{width:16px;height:16px;stroke:var(--brand);flex:none;transition:transform .18s}details[open]>.app-collapsible-summary .app-collapsible-chevron{transform:rotate(90deg)}.app-profile-more{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.3rem}.app-profile-more-summary{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--steel);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;font-size:.75rem;display:flex}.app-profile-more[open]>.app-profile-more-summary{margin-bottom:.5rem}.app-profile-more>.app-form{gap:1rem}.app-profile-more:not([open])>.app-form{display:none}.app-workflow-card{cursor:pointer}.app-workflow-card-hitbox{z-index:1;position:absolute;inset:0}.app-workflow-card>:not(.app-workflow-card-hitbox){z-index:2;pointer-events:none;position:relative}.app-workflow-card .status-pill--select{pointer-events:auto}.app-workflow-delete{pointer-events:auto;border:1px solid var(--line);background:var(--white);width:1.75rem;height:1.75rem;color:var(--steel);cursor:pointer;transition:color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.app-workflow-delete:hover{color:#8a2c2c;border-color:#8a2c2c}.app-card-head h2{text-transform:none;letter-spacing:0;font-size:1.05rem;font-weight:700}.app-card-head a{min-height:44px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);align-items:center;margin:-.5rem -.5rem -.5rem 0;padding:0 .5rem;font-size:.72rem;text-decoration:none;display:inline-flex}.app-card-head a:hover{color:var(--brand-press)}.app-stat-row{gap:1.75rem;margin:.1rem 0 1rem;display:flex}.app-stat b{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1;display:block}.app-stat span{color:var(--steel);letter-spacing:.01em;margin-top:.35rem;font-size:.7rem;display:block}.app-stat-cards{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;display:grid}.app-stat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;padding:1.1rem 1.2rem 1.2rem;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-dashboard-canvas .app-stat-card{padding:0;position:absolute}.app-stat-card-icon{background:var(--tone-bg,var(--paper-2));width:2.5rem;height:2.5rem;color:var(--tone-fg,var(--brand));border-radius:10px;place-items:center;margin-bottom:.9rem;display:grid}.app-stat-card-icon svg{stroke:currentColor;width:19px;height:19px}.app-stat-card-label{min-height:2.1em;font-family:var(--font-mono);color:var(--steel);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;line-height:1.05;display:block}.app-stat-card-value{color:var(--ink);margin-top:.4rem;font-size:1.7rem;font-weight:700;line-height:1;display:block}.app-stat-card-detail{color:var(--steel);margin-top:.55rem;font-size:.78rem;display:block}.app-stat-card[data-tone=brand]{--tone-bg:#0102fa1a;--tone-fg:var(--brand)}.app-stat-card[data-tone=amber]{--tone-bg:#fbf0d9;--tone-fg:#8a5a00}.app-stat-card[data-tone=green]{--tone-bg:#e1f3e8;--tone-fg:#1f8a4c}.app-stat-card[data-tone=purple]{--tone-bg:#ece5fa;--tone-fg:#7a3fd1}.app-stat-card[data-tone=rose]{--tone-bg:#fbe4e4;--tone-fg:#8a2c2c}.app-stat-card[data-tone=teal]{--tone-bg:#dcf1ef;--tone-fg:#1f7a72}.app-stat-card[data-tone=indigo]{--tone-bg:#e3e6fb;--tone-fg:#3a3fb0}.app-stat-card[data-tone=sky]{--tone-bg:#dcedfa;--tone-fg:#1e6ba8}.app-stat-card[data-tone=orange]{--tone-bg:#fbe6d6;--tone-fg:#a35a1e}.app-stat-card[data-tone=slate]{--tone-bg:#e6e8ec;--tone-fg:#495365}.app-stat-card[data-tone]:before{content:"";background:var(--tone-fg,var(--brand));border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.app-stat-card-body{box-sizing:border-box;height:100%;color:inherit;transition:transform var(--t-fast) var(--ease-out);flex-direction:column;padding:1.1rem 1.2rem 1.2rem;text-decoration:none;display:flex;overflow:hidden}.app-stat-card:not(.app-stat-card--editing) .app-stat-card-body:hover{transform:translateY(-3px)}.app-stat-card-large-body{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.8rem;overflow:hidden}.app-stat-card--label-only .app-stat-card-body{text-align:center;justify-content:center;align-items:center}.app-stat-card--label-only .app-stat-card-value,.app-stat-card--label-only .app-stat-card-detail{display:none}.app-stat-card--label-only .app-stat-card-icon{margin-bottom:.5rem}.app-stat-card--label-only .app-stat-card-label{min-height:0}.app-stat-card-large-body .app-list-row{padding:.3rem 0}.app-stat-card-large-body .app-list-row .title{font-size:.84rem}.app-stat-card-large-body .app-list-row .meta{font-size:.74rem}.app-stat-card-large-body .app-form-note{color:var(--steel);margin:0;font-size:.82rem}.app-dashboard-settings-btn{z-index:40;border:1px solid var(--line);background:var(--white);width:2.2rem;height:2.2rem;color:var(--steel);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:fixed;top:11.5rem;right:1.25rem;box-shadow:0 10px 24px -12px #090d2259}.app-dashboard-settings-btn:hover{color:var(--brand);border-color:var(--brand)}.app-dashboard-toolbar{align-items:center;gap:.6rem;min-height:1.9rem;margin-bottom:.75rem;display:flex}.app-dashboard-canvas{position:relative}.app-stat-card--editing{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-style:dashed;border-color:#0b18302e;transition:none}.app-stat-card--editing:active{cursor:grabbing}.app-stat-card--editing .app-stat-card-body{pointer-events:none;padding-top:2.3rem}.app-widget-resize-corner{z-index:2;cursor:nwse-resize;width:22px;height:22px;color:var(--steel);touch-action:none;place-items:center;display:grid;position:absolute;bottom:0;right:0}.app-widget-resize-corner:hover{color:var(--brand)}.app-widget-toolbar{z-index:2;pointer-events:auto;justify-content:space-between;align-items:center;gap:.4rem;display:flex;position:absolute;top:.6rem;left:.6rem;right:.6rem}.app-widget-drag-handle{color:var(--steel);cursor:grab;touch-action:none;place-items:center;padding:.2rem;display:grid}.app-widget-remove{border:1px solid var(--line);background:var(--white);width:1.4rem;height:1.4rem;color:var(--steel);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:.7rem;line-height:1;display:grid}.app-widget-remove:hover{color:#8a2c2c;border-color:#8a2c2c}.app-widget-color-swatch{cursor:pointer;border:1px solid #0b18302e;border-radius:50%;flex:none;width:1.15rem;height:1.15rem;display:block;position:relative;box-shadow:0 1px 2px #0b183026}.app-widget-color-swatch input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.app-widget-color-reset{color:var(--steel);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:.85rem;line-height:1}.app-widget-color-reset:hover{color:var(--brand)}.app-widget-add-menu{z-index:40;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.15rem;min-width:14rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 16px 32px -18px #0b18304d}.app-widget-add-menu button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.84rem;display:flex}.app-widget-add-menu button:hover{background:var(--paper-2)}.app-widget-add-menu-icon{width:1.4rem;height:1.4rem;color:var(--steel);place-items:center;display:grid}.app-widget-add-menu-icon svg{width:15px;height:15px}@media (max-width:640px){.app-dashboard-settings-btn,.app-dashboard-toolbar{display:none}.app-dashboard-canvas{flex-direction:column;gap:.85rem;display:flex;height:auto!important}.app-dashboard-canvas .app-stat-card{min-height:6.5rem;width:100%!important;height:auto!important;position:static!important;top:auto!important;left:auto!important}}.app-stat-card,.app-quick-action,.app-card,.todo-card{transition:box-shadow var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);border-color:#0b183012;border-radius:16px;box-shadow:0 1px 2px #0b183008,0 16px 32px -20px #0b18302e}.app-card:hover,.app-stat-card:hover{box-shadow:0 1px 2px #0b18300a,0 20px 40px -18px #0b18303d}.app-stat-card-icon{border-radius:12px}.app-card[data-accent]:before{border-radius:16px 16px 0 0}.app-quick-action:hover{transform:translateY(-3px)}.app-dashboard .app-event-dot{border-radius:9px;width:2rem;height:2rem}.app-mini-cal-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.app-mini-cal-head h3{margin:0;font-size:.92rem;font-weight:700}.app-mini-cal-nav{align-items:center;gap:.35rem;display:flex}.app-mini-cal-nav a{border:1px solid var(--line);width:26px;height:26px;color:var(--steel);border-radius:50%;place-items:center;text-decoration:none;display:grid}.app-mini-cal-nav a:hover{border-color:var(--brand);color:var(--brand)}.app-mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.app-mini-cal-weekday{font-family:var(--font-mono);color:var(--steel);text-align:center;padding-bottom:.35rem;font-size:.6rem}.app-mini-cal-day{aspect-ratio:1;color:var(--ink);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.76rem;text-decoration:none;display:flex;position:relative}.app-mini-cal-day:hover{background:var(--paper-2)}.app-mini-cal-day.is-today{box-shadow:inset 0 0 0 1px var(--brand)}.app-mini-cal-day.is-active{background:var(--brand);color:#fff}.app-mini-cal-day-count{font-family:var(--font-mono);color:var(--brand);font-size:.56rem;line-height:1}.app-mini-cal-day.is-active .app-mini-cal-day-count{color:#fff}.app-mini-cal-day.is-empty{visibility:hidden}.app-mini-cal-foot{text-align:center;margin-top:.9rem}.app-filter-chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.app-filter-chip-label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--steel);margin:1rem 0 .4rem;font-size:.66rem}.app-filter-chip-label:first-child{margin-top:0}.app-quick-actions{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin-top:1.75rem;display:grid}.app-quick-action-inline{align-items:center;gap:.9rem;margin:-.2rem 0;display:flex}.app-stat-card-body:has(>.app-quick-action-inline){justify-content:center}.app-quick-action-inline .icon-wrap{background:linear-gradient(150deg, #0102fa29 0%, var(--paper-2) 75%);border-radius:50%;flex:none;place-items:center;width:2.9rem;height:2.9rem;display:grid}.app-quick-action-inline svg{width:21px;height:21px;stroke:var(--brand)}.app-quick-action-inline b{font-size:.92rem;display:block}.app-quick-action-inline span{font-family:var(--font-mono);color:var(--steel);margin-top:.15rem;font-size:.7rem;display:block}.app-quick-action{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);align-items:center;gap:.9rem;padding:1.15rem 1.2rem;text-decoration:none;display:flex;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-quick-action:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 1px 2px #0b18300d,0 20px 36px -16px #0102fa4d}.app-quick-action .icon-wrap{background:linear-gradient(150deg, #0102fa29 0%, var(--paper-2) 75%);width:2.9rem;height:2.9rem;transition:background var(--t-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.app-quick-action:hover .icon-wrap{background:linear-gradient(150deg, #0102fa42 0%, var(--paper-2) 75%)}.app-quick-action svg{width:21px;height:21px;stroke:var(--brand)}.app-quick-action b{font-size:.92rem;display:block}.app-quick-action span{font-family:var(--font-mono);color:var(--steel);margin-top:.15rem;font-size:.7rem;display:block}.app-list{grid-template-columns:minmax(0,1fr);gap:.2rem;display:grid}.app-list-row{border-bottom:1px solid var(--line);align-items:center;gap:.85rem;padding:.45rem .3rem;display:flex}.app-list-row:last-child{border-bottom:0}.app-list:has(>.app-dashboard-event-row){gap:.4rem}.app-dashboard-event-row{width:fit-content;max-width:100%;color:var(--ink);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);border-bottom:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.4rem .7rem;text-decoration:none;display:inline-flex}.app-dashboard-event-row:hover{transform:translate(3px);box-shadow:0 6px 14px -8px #0b183059}.app-dashboard-event-row .title{white-space:nowrap;font-size:.8rem;font-weight:700}.app-dashboard-event-row .meta{font-family:var(--font-mono);opacity:.8;font-size:.68rem}.app-dashboard-event-detail{opacity:.85;white-space:normal;margin-top:.1rem;font-size:.72rem;display:block}.app-dashboard-event-row--past{opacity:.55}.app-dashboard-event-row--past:hover{opacity:.8}.app-dashboard-event-row--past .title{width:fit-content;max-width:100%;position:relative}.app-dashboard-event-row--past .title:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M6,21 C30,13 46,27 70,19 C94,11 110,25 134,17 C152,11 168,20 194,15' stroke='%238a2c2c' stroke-width='3.4' fill='none' stroke-linecap='round' opacity='0.75'/%3E%3Cpath d='M8,17 C34,25 52,13 78,21 C104,29 122,15 148,22 C164,26 178,19 192,23' stroke='%238a2c2c' stroke-width='2.4' fill='none' stroke-linecap='round' opacity='0.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:-15% -4%}.app-avatar{background:var(--blueprint-800);border:1px solid var(--line);border-radius:50%;flex:none;width:2.1rem;height:2.1rem;overflow:hidden}.app-avatar img{object-fit:cover;width:100%;height:100%}.app-avatar--channel{justify-content:center;align-items:center;font-size:1rem;display:flex}.app-list-row .body{flex:1;min-width:0}.app-list-row .title,.app-chat-item .title{font-size:.88rem;font-weight:600;display:block}.app-list-row .meta,.app-chat-item .meta{font-family:var(--font-mono);color:var(--steel);margin-top:.15rem;font-size:.74rem;display:block}.app-list-row .meta.truncate,.app-chat-item .meta.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-chat-item .body{flex:1;min-width:0}.app-list-row .time{font-family:var(--font-mono);color:var(--steel-2);white-space:nowrap;font-size:.7rem}.app-list-row>svg{width:22px;height:22px;stroke:var(--brand);flex:none}.app-event-dot{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.app-doc-groups{flex-direction:column;gap:.75rem;display:flex}.app-doc-group,.app-doc-subgroup{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-doc-subgroup{box-shadow:none;background:var(--paper-2)}.app-doc-group-summary,.app-doc-subgroup-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.9rem 1.1rem;font-size:1.02rem;font-weight:700;list-style:none;display:flex}.app-doc-group-summary::-webkit-details-marker{display:none}.app-doc-subgroup-summary::-webkit-details-marker{display:none}.app-doc-subgroup-summary{padding:.65rem .9rem;font-size:.88rem;font-weight:600}.app-doc-chevron{width:16px;height:16px;stroke:var(--brand);flex:none;transition:transform .18s}details[open]>summary .app-doc-chevron{transform:rotate(90deg)}.app-doc-group-count{font-family:var(--font-mono);color:var(--steel);background:var(--paper-2);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.7rem;font-weight:500}.app-doc-subgroup .app-doc-group-count{background:var(--white)}.app-doc-group>.app-list,.app-doc-subgroup>.app-list{padding:0 1.1rem 1rem}.app-doc-subgroup>.app-list{padding:0 .9rem .75rem}.app-doc-subgroups{flex-direction:column;gap:.5rem;padding:0 1.1rem 1rem;display:flex}.app-doc-group>.app-cat-body{gap:1rem;padding:0 1.1rem 1.25rem;display:grid}.status-pill{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .6rem;font-size:.68rem;display:inline-flex}.status-pill:not(select):before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill--pending{color:#8a5a00;background:#fbf0d9}.status-pill--approved{color:#14633a;background:#e1f3e8}.status-pill--denied{color:#8a2c2c;background:#fbe4e4}.status-pill--cancelled{color:var(--steel);background:var(--paper-2)}.status-pill--info{color:#10339e;background:#e2e7fb}.status-pill--select{font:inherit;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:8px 5px;border:1px solid #0000001f;min-width:12.5rem;padding:.22rem 1.35rem .22rem .55rem;font-size:.64rem}.status-pill--select-sm{min-width:0;padding-right:1.15rem}.status-pill--select:hover{filter:brightness(.97)}.status-pill--select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.status-pill--wf{white-space:nowrap;flex:none;justify-content:center;min-width:6.9rem}.app-admin-review-panel{border:1px solid var(--line);background:var(--paper-2);white-space:normal;border-radius:8px;width:16rem;margin-top:.5rem;padding:.6rem .7rem}.app-admin-review-panel textarea{resize:vertical;width:100%;font-family:inherit}.app-admin-review-panel input[type=text]{width:100%}.app-form{gap:1rem;display:grid}.app-form-row{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;display:grid}.app-field{gap:.4rem;display:grid}.app-field label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--steel);font-size:.74rem}.app-broadcast-subject-label{align-items:center;gap:.5rem;display:flex}.app-broadcast-urgent-toggle{border:1px solid var(--line);background:var(--white);width:1.3rem;height:1.3rem;color:var(--steel);font-family:var(--font-body);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.78rem;font-weight:700;line-height:1;display:grid}.app-broadcast-urgent-toggle:hover{color:#b3261e;border-color:#b3261e}.app-broadcast-urgent-toggle.is-urgent{color:#fff;background:#b3261e;border-color:#b3261e}.app-broadcast-urgent-label{color:#b3261e;letter-spacing:.04em;font-weight:700}.app-invite-list{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.1rem;max-height:10rem;padding:.25rem;display:flex;overflow-y:auto}.app-field label.app-invite-row{font-family:var(--font-body);letter-spacing:normal;text-transform:none;color:var(--ink);border-radius:calc(var(--radius) - 4px);cursor:pointer;align-items:center;gap:.6rem;padding:.2rem .6rem;font-size:.88rem;display:flex}.app-invite-row:hover{background:var(--paper-2)}.app-invite-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);flex:none}.app-field input,.app-field select,.app-field textarea{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);min-height:44px;padding:.7rem .85rem;font-size:.92rem}.app-field textarea{resize:vertical;min-height:6rem}.app-field input:focus,.app-field select:focus,.app-field textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.app-field input:disabled,.app-field input.app-input-readonly{background:var(--paper-2);color:var(--steel);border-color:var(--line)}.app-file-clearable{align-items:center;gap:.5rem;display:flex}.app-file-clearable input[type=file]{flex:1;min-width:0}.app-file-clear{width:2rem;height:2rem;font-size:1.15rem;line-height:1;font-family:var(--font-body);border:1px solid var(--line-strong);background:var(--white);color:var(--steel);cursor:pointer;transition:color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.app-file-clear:hover{color:var(--ink);border-color:var(--steel)}.app-form-note{color:var(--steel);margin:-.5rem 0 1.1rem;font-size:.82rem}.app-mode-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);gap:.2rem;width:fit-content;padding:.2rem;display:inline-flex}.app-mode-toggle button{border-radius:calc(var(--radius) - 4px);color:var(--steel);cursor:pointer;background:0 0;border:none;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.app-mode-toggle button.is-active{background:var(--brand);color:#fff}.app-password-wrap{position:relative}.app-password-wrap input{width:100%;padding-right:2.9rem}.app-password-toggle{width:36px;height:36px;color:var(--steel-2);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.app-password-toggle:hover{color:var(--ink);background:var(--paper-2)}.app-password-toggle svg{width:18px;height:18px}.app-table-wrap{margin-top:1rem;overflow-x:auto}.app-table{border-collapse:collapse;width:100%;min-width:42rem;font-size:.88rem}.app-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:.6rem .75rem;font-size:.7rem}.app-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.8rem .75rem}.app-table tr:last-child td{border-bottom:0}.app-cal-glass{background:linear-gradient(155deg, var(--blueprint-900) 0%, var(--blueprint-700) 42%, #6b6fd6 78%, #cdb3e0 100%);border-radius:1.5rem;padding:1.1rem 1.1rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0b18300f,0 24px 48px -22px #0b183073}.app-cal-glass-blob{filter:blur(46px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.app-cal-glass-blob--a{background:radial-gradient(circle,#e5a9c9 0%,#0000 72%);width:15rem;height:15rem;bottom:-5rem;right:-4rem}.app-cal-glass-blob--b{background:radial-gradient(circle,#7fa8e8 0%,#0000 72%);width:11rem;height:11rem;top:-3rem;left:-3rem}.app-cal-nav{z-index:1;-webkit-backdrop-filter:blur(14px);background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .7rem .6rem 1.1rem;display:flex;position:relative}.app-cal-nav h2{letter-spacing:0;text-transform:none;color:#fff;margin:0;font-size:1.1rem;font-weight:700}.app-cal-monthyear{align-items:center;gap:.4rem;display:flex}.app-cal-monthyear select{font:inherit;color:#fff;border-radius:var(--radius);cursor:pointer;appearance:none;background:0 0;border:none;padding:.2rem .3rem;font-weight:700}.app-cal-monthyear select option{color:var(--ink)}.app-cal-monthyear select:hover,.app-cal-monthyear select:focus-visible{background:#ffffff2e;outline:none}.app-cal-nav-controls{align-items:center;gap:.5rem;display:flex}.app-cal-nav-btn{color:#fff;width:36px;height:36px;transition:background var(--t-fast) var(--ease-out);background:#ffffff29;border:1px solid #ffffff47;border-radius:50%;place-items:center;text-decoration:none;display:grid}.app-cal-nav-btn:hover{color:#fff;background:#ffffff4d}.app-cal-nav-btn.is-active{color:#211f19;background:#ff9d6c;border-color:#ff9d6c}.app-cal-nav-btn svg{width:16px;height:16px}.app-cal-nav-today{font-family:var(--font-mono);color:#fff;background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;padding:.5rem 1rem;font-size:.78rem;text-decoration:none}.app-cal-nav-today:hover{background:#ffffff4d}.app-calendar-legend{font-family:var(--font-mono);color:var(--steel);flex-wrap:wrap;gap:1.25rem;margin-top:1rem;font-size:.76rem;display:flex}.app-calendar-legend span{align-items:center;gap:.45rem;display:inline-flex}.app-calendar-legend i{border-radius:3px;width:10px;height:10px}.app-cal-tag{background:#e3ded0}.app-cal-meeting{background:#c9d6ef}.app-cal-unavailable{background:#d9d4c7}.app-cal-delay{background:#e7a495}.app-cal-event,.app-cal-todo{background:#f3d17a}.app-cal-birthday{background:#f0c4d9}.app-cal-anniversary{background:#cfe0f5}.app-cal-workflow{background:#c9c3f0}.app-cal-pto{background:#a3d9b1}.app-cal-scope-toggle{z-index:1;gap:1.25rem;margin-top:.85rem;display:flex;position:relative}.app-cal-scope-toggle label{font-family:var(--font-mono);color:#fff;cursor:pointer;align-items:center;gap:.45rem;font-size:.78rem;display:inline-flex}.app-cal-scope-toggle input{accent-color:#fff}.app-cal-grid{z-index:1;background:var(--line);border:1px solid #ffffff4d;border-radius:1.1rem;grid-template-columns:repeat(7,1fr);gap:1px;margin-top:.85rem;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-cal-head{background:var(--paper-2);text-align:center;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--steel);padding:.6rem;font-size:.68rem}.app-cal-cell{background:var(--white);flex-direction:column;gap:.3rem;min-height:6rem;padding:.5rem;display:flex;overflow:hidden}.app-cal-cell.is-muted{background:var(--paper-2);color:var(--steel-2)}.app-cal-cell.is-nonwork:not(.is-muted){background:linear-gradient(#3c466e29, #3c466e29), var(--white)}.app-cal-cell.is-today{background:#ffe9db;box-shadow:inset 0 0 0 2px #ff9d6c}.app-cal-date{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.78rem}.app-cal-date--btn{cursor:pointer;color:inherit;background:0 0;border:0;border-radius:3px;padding:0}.app-cal-date--btn:hover,.app-cal-date--btn:focus-visible{color:var(--brand);text-decoration:underline}.app-cal-cell.is-today .app-cal-date{color:#fff;background:linear-gradient(140deg,#ff9d6c,#e14b3f);border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-weight:700;display:inline-flex}.app-cal-cell.is-today .app-cal-date--btn:hover{color:#fff;text-decoration:none}.app-cal-tag-bar{cursor:pointer;opacity:.55;width:100%;font-family:var(--font-mono);color:#211f19;text-align:left;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:3px;padding:.12rem .35rem;font-size:.62rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.app-cal-tag-bar:hover{opacity:.85}.app-cal-tag{font:inherit;font-family:var(--font-mono);color:#211f19;text-align:left;cursor:pointer;transform:rotate(var(--rot,-1.5deg));transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);box-sizing:border-box;overflow-wrap:anywhere;border:0;border-radius:2px;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;max-width:100%;padding:.22rem .4rem .22rem .8rem;font-size:.64rem;font-weight:600;line-height:1.35;display:flex;position:relative;box-shadow:0 2px 4px #140c0047}.app-cal-tag:before{content:"";background:radial-gradient(circle at 34% 30%,#ff8a7c,#a81f1f 72%);border-radius:50%;width:5px;height:5px;position:absolute;top:.34rem;left:.38rem}.app-cal-tag-icons{align-items:center;gap:.3rem;display:flex}.app-cal-tag-label{width:100%;display:block}.app-cal-tag svg{stroke:currentColor;flex:none;width:11px;height:11px}.app-cal-tag:hover,.app-cal-tag:focus-visible{transform:rotate(0)translateY(-1px);box-shadow:0 4px 9px #140c0052}.app-cal-tag[aria-expanded=true]{box-shadow:0 0 0 2px var(--ink)}.cal-priority-low{background:#cfe0cd}.cal-priority-medium{background:#f3d17a}.cal-priority-high{background:#e7a495}.app-cal-event-overlay{z-index:300;background:#090d228c;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.app-cal-event-card{background:linear-gradient(var(--grid-blueprint) 1px, transparent 1px), linear-gradient(90deg, var(--grid-blueprint) 1px, transparent 1px), var(--blueprint-900);width:100%;max-width:26rem;max-height:85vh;color:var(--on-blueprint);border:1px solid var(--line-blueprint);border-radius:var(--radius);background-size:44px 44px,44px 44px,100% 100%;padding:1.35rem 1.35rem 1.5rem;position:relative;overflow-y:auto;box-shadow:0 28px 60px -18px #040614a6}.app-cal-event-close{border:1px solid var(--line-blueprint);width:32px;height:32px;color:var(--on-blueprint);cursor:pointer;background:#0d163899;border-radius:50%;flex:none;place-items:center;font-size:.8rem;line-height:1;display:grid;position:absolute;top:.8rem;right:.8rem}.app-cal-event-close:hover{border-color:var(--brand-tint);color:#fff}.app-cal-detail-birthday{flex-wrap:wrap;align-items:center;gap:.85rem;padding-right:1.6rem;display:flex}.app-cal-detail-birthday .title{font-size:1.15rem;font-weight:700}.app-cal-detail-birthday .body{flex-direction:column;gap:.2rem;display:flex}.app-cal-detail-birthday .meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-tint);font-size:.74rem}.app-cal-detail-birthday .btn{margin-left:auto}.app-cal-detail-event .title{padding-right:1.6rem;font-size:1.2rem;font-weight:700;display:block}.app-cal-detail-event .meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-tint);margin-top:.4rem;font-size:.74rem;display:block}.app-cal-detail-event p{color:var(--muted-blueprint);margin-top:.75rem;font-size:.88rem}.app-cal-detail-link{font-family:var(--font-mono);color:var(--on-blueprint);border:1px solid var(--brand-tint);background:#7d80ff2e;border-radius:999px;align-items:center;margin-top:.8rem;padding:.4rem .85rem;font-size:.78rem;text-decoration:none;display:inline-flex}.app-cal-detail-link:hover{background:var(--brand);border-color:var(--brand);color:#fff}.app-cal-detail-workflow .title{color:var(--on-blueprint);padding-right:1.6rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:block}.app-cal-detail-workflow .title:hover{text-decoration:underline}.app-cal-detail-workflow .meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-tint);margin-top:.4rem;font-size:.74rem;display:block}.app-cal-detail-team{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}.app-cal-detail-team-row{flex-direction:column;gap:.3rem;display:flex}.app-cal-detail-team-chip{font-family:var(--font-mono);color:var(--muted-blueprint);border:1px solid var(--line-blueprint);border-radius:999px;align-self:flex-start;padding:.3rem .7rem;font-size:.74rem;font-weight:500}.app-cal-detail-team-note{color:var(--on-blueprint);opacity:.85;margin:0 0 0 .3rem;font-size:.82rem;line-height:1.4}.app-cal-detail-step{color:var(--on-blueprint);margin-top:1rem;font-size:.9rem}.app-cal-detail-step strong{font-weight:700}.app-cal-detail-next{border-top:1px solid var(--line-blueprint);flex-direction:column;gap:.4rem;margin-top:.9rem;padding-top:.8rem;display:flex}.app-cal-detail-next-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-blueprint);font-size:.66rem}.app-cal-detail-next-btn{font-family:var(--font-mono);color:var(--on-blueprint);border:1px solid var(--line-blueprint);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);background:#0d163880;border-radius:999px;align-self:flex-start;padding:.4rem .85rem;font-size:.78rem}.app-cal-detail-next-btn:hover{background:var(--brand);border-color:var(--brand);color:#fff}.app-cal-reminder{border-top:1px solid var(--line-blueprint);margin-top:1rem;padding-top:.85rem}.app-cal-reminder-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-blueprint);margin-bottom:.5rem;font-size:.66rem;display:block}.app-cal-reminder-opts{flex-wrap:wrap;gap:.4rem;display:flex}.app-cal-reminder-btn{font-family:var(--font-mono);color:var(--on-blueprint);border:1px solid var(--line-blueprint);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);background:#0d163880;border-radius:999px;padding:.35rem .8rem;font-size:.74rem}.app-cal-reminder-btn:hover{border-color:var(--brand-tint)}.app-cal-reminder-btn.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.app-cal-reminder-btn:disabled{opacity:.6;cursor:default}.app-cal-reminder-custom{gap:.4rem;margin-top:.55rem;display:flex}.app-cal-reminder-custom input[type=number]{width:4rem;font-family:var(--font-mono);color:var(--on-blueprint);border:1px solid var(--line-blueprint);background:#0d163880;border-radius:6px;padding:.35rem .5rem;font-size:.74rem}.app-cal-reminder-custom select{font-family:var(--font-mono);color:var(--on-blueprint);border:1px solid var(--line-blueprint);background:#0d163880;border-radius:6px;flex:1;padding:.35rem .5rem;font-size:.74rem}.app-cal-reminder-custom select option{color:var(--ink)}.app-cal-reminder-add{font-family:var(--font-mono);color:#fff;border:1px solid var(--brand);background:var(--brand);cursor:pointer;border-radius:6px;padding:.35rem .85rem;font-size:.74rem}.app-cal-reminder-add:hover{filter:brightness(1.1)}.app-cal-reminder-add:disabled{opacity:.6;cursor:default}.app-cal-reminder-error{font-family:var(--font-mono);color:#ff9d9d;margin-top:.5rem;font-size:.7rem}.app-cal-upcoming h3{margin-bottom:.85rem;font-size:.92rem;font-weight:700}.app-cal-upcoming ul{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.app-cal-upcoming li{align-items:baseline;gap:.6rem;display:flex}.app-cal-upcoming-day{font-family:var(--font-mono);color:var(--brand);flex:none;min-width:3.4rem;font-size:.68rem}.app-cal-upcoming-title{color:var(--ink);font-size:.82rem}.app-cal-upcoming-bell{color:var(--brand);vertical-align:-2px;cursor:default;margin-right:.3rem;display:inline-flex}.app-cal-upcoming-bell svg{width:12px;height:12px}.app-cal-tag em{opacity:.75;font-style:normal;font-weight:400;display:block}@media (max-width:780px){.app-cal-grid{grid-template-columns:1fr}.app-cal-head:nth-child(n+2){display:none}.app-cal-cell{flex-flow:wrap;align-items:center;gap:.6rem;min-height:auto}.app-cal-tag{flex:0 auto;gap:.1rem;width:auto;max-width:11.5rem;padding:.18rem .35rem .18rem .65rem;font-size:.6rem}.app-cal-tag-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-cal-tag:before{width:4px;height:4px;top:.3rem;left:.3rem}.app-cal-tag svg{width:9px;height:9px}.app-cal-tag-bar{flex:0 auto;width:auto;max-width:11.5rem;font-size:.58rem}}.app-cal-view-toggle{background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;gap:.15rem;padding:.2rem;display:flex}.app-cal-view-toggle button{font-family:var(--font-mono);color:#ffffffd1;cursor:pointer;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:.38rem .8rem;font-size:.72rem}.app-cal-view-toggle button:hover{color:#fff}.app-cal-view-toggle button.is-active{color:#211f19;background:#ff9d6c;font-weight:700}.app-cal-dw{z-index:1;grid-template-columns:3.4rem repeat(var(--cols), 1fr);border:1px solid #ffffff4d;border-radius:1.1rem;margin-top:.85rem;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.app-cal-dw-headrow,.app-cal-dw-allday,.app-cal-dw-body,.app-cal-dw-row{grid-template-columns:subgrid;grid-column:1/-1;display:grid}.app-cal-dw-headrow{background:var(--paper-2);border-bottom:1px solid var(--line);scrollbar-gutter:stable;overflow-y:hidden}.app-cal-dw-gutter{background:0 0}.app-cal-dw-headcell{text-align:center;border-left:1px solid var(--line);flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .3rem;display:flex}.app-cal-dw-weekday{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--steel);font-size:.64rem}.app-cal-dw-date{color:var(--ink);font-size:.86rem;font-weight:700}.app-cal-dw-headcell.is-today .app-cal-dw-date{color:var(--brand)}.app-cal-dw-allday{background:var(--white);border-bottom:1px solid var(--line);scrollbar-gutter:stable;overflow-y:hidden}.app-cal-dw-alldaycell{border-left:1px solid var(--line);flex-direction:column;gap:.3rem;min-height:2.2rem;padding:.4rem;display:flex}.app-cal-dw-alldaycell .app-cal-tag{padding:.18rem .35rem .18rem .4rem;font-size:.62rem}.app-cal-dw-body{background:var(--white);scrollbar-gutter:stable;max-height:34rem;overflow:hidden auto}.app-cal-dw-row{border-bottom:1px solid var(--line);min-height:4.5rem}.app-cal-dw-row:last-child{border-bottom:0}.app-cal-dw-hourlabel{font-family:var(--font-mono);color:var(--steel);text-align:right;padding:.35rem .5rem 0 0;font-size:.66rem}.app-cal-dw-hourcell{border-left:1px solid var(--line);flex-direction:column;gap:.25rem;padding:.25rem .35rem;display:flex;position:relative}.app-cal-dw-event,.app-cal-dw-alldaycell .app-cal-tag{box-shadow:none;transform:none}.app-cal-dw-event:hover,.app-cal-dw-alldaycell .app-cal-tag:hover,.app-cal-dw-event:focus-visible,.app-cal-dw-alldaycell .app-cal-tag:focus-visible{transform:none;box-shadow:0 1px 3px #140c0033}.app-cal-dw-event{width:100%;padding:.18rem .35rem .18rem .4rem;font-size:.62rem}.app-modal-overlay{z-index:300;background:#090d228c;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.app-modal-card{background:var(--white);border-radius:var(--radius);width:100%;max-width:26rem;max-height:85vh;padding:1.75rem;overflow-y:auto;box-shadow:0 24px 60px -20px #090d2280}.app-modal-card--wide{max-width:64rem}.app-doc-preview-body{justify-content:center;display:flex}.app-doc-preview-image{border-radius:calc(var(--radius) - 6px);max-width:100%;max-height:75vh}.app-doc-preview-frame{border:1px solid var(--line);border-radius:calc(var(--radius) - 6px);width:100%;height:75vh}.app-cal-dayview-overlay{z-index:300;background:#090d228c;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.app-cal-dayview-card{background:var(--white);border-radius:var(--radius);width:100%;max-width:32rem;max-height:85vh;padding:1.75rem;overflow-y:auto;box-shadow:0 24px 60px -20px #090d2280}.app-cal-dayview-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.app-cal-dayview-head h3{letter-spacing:0;text-transform:none;margin:0;font-size:1.05rem;font-weight:700}.app-cal-dayview-close{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--steel);background:0 0;border-radius:50%;flex:none;place-items:center;font-size:.85rem;line-height:1;display:grid}.app-cal-dayview-close:hover{border-color:var(--brand);color:var(--brand)}.app-cal-dayview-empty{color:var(--steel);font-size:.9rem}.app-cal-dayview-allday{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.app-cal-dayview-allday .app-cal-tag{transform:rotate(0)}.app-cal-dayview-allday .app-cal-tag:hover,.app-cal-dayview-allday .app-cal-tag:focus-visible{transform:translateY(-1px)}.app-cal-dayview-hours{border-top:1px solid var(--line)}.app-cal-dayview-hour{border-bottom:1px solid var(--line);gap:.9rem;min-height:2.4rem;padding:.55rem 0;display:flex}.app-cal-dayview-hourlabel{width:3.6rem;font-family:var(--font-mono);color:var(--steel);flex:none;padding-top:.1rem;font-size:.72rem}.app-cal-dayview-hourslot{flex-direction:column;flex:1;gap:.35rem;display:flex;position:relative}.app-cal-dayview-highlight{opacity:.4;pointer-events:none;border-radius:4px;position:absolute;left:0;right:0}.app-cal-dayview-event{color:#fff;border-radius:4px;padding:.35rem .55rem;font-size:.78rem;line-height:1.4;position:relative}.app-cal-dayview-event-title{font-weight:600;display:block}.app-cal-dayview-event-detail{opacity:.9;margin-top:.1rem;font-size:.74rem;display:block}.app-chat{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);grid-template-columns:20rem minmax(0,1fr);height:calc(100dvh - 13rem);min-height:28rem;max-height:44rem;margin-top:1.5rem;display:grid;overflow:hidden;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}@media (max-width:820px){.app-chat{grid-template-columns:1fr}.app-chat-thread{display:none}}.app-chat-list{border-right:1px solid var(--line);min-height:0;overflow-y:auto}.app-chat-search{border-bottom:1px solid var(--line);padding:.85rem}.app-chat-search input{width:100%;font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius);padding:.55rem .75rem;font-size:.85rem}.app-chat-item{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:.7rem;padding:.75rem .85rem;text-decoration:none;display:flex}.app-chat-item.is-active{background:var(--paper-2)}.app-chat{max-width:100%}.app-chat-thread{flex-direction:column;min-width:0;max-width:100%;min-height:0;display:flex}.app-chat-messages,.app-bubble-row,.app-chat-compose{min-width:0;max-width:100%}.app-chat-compose input,.app-chat-compose textarea{width:100%;min-width:0}.app-chat-thread-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.app-chat-messages{flex-direction:column;flex:1;gap:.9rem;min-height:0;padding:1.25rem;display:flex;overflow-y:auto}.app-bubble-row{align-items:flex-end;gap:.3rem;display:flex}.app-bubble-row.in{justify-content:flex-start}.app-bubble-row.out{flex-direction:row-reverse;justify-content:flex-start}.app-bubble-wrap{flex-direction:column;gap:.25rem;min-width:0;max-width:70%;display:flex}.app-bubble-wrap.in{align-items:flex-start}.app-bubble-wrap.out{align-items:flex-end}.app-bubble{overflow-wrap:anywhere;border-radius:12px;max-width:100%;padding:.65rem .9rem;font-size:.88rem;line-height:1.5}.app-bubble.in{background:var(--paper-2);border-bottom-left-radius:3px}.app-bubble.out{background:var(--brand);color:#fff;border-bottom-right-radius:3px}.app-bubble-triggers{flex-direction:column;gap:.3rem;display:flex}.app-bubble-react-trigger{border:1px solid var(--line);background:var(--white);cursor:pointer;opacity:0;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.82rem;line-height:1;transition:opacity .12s;display:grid}.app-bubble-react-trigger svg{width:14px;height:14px;color:var(--steel)}.app-bubble-row:hover .app-bubble-react-trigger,.app-bubble-react-trigger:focus-visible{opacity:.85}@media (hover:none){.app-bubble-react-trigger{opacity:.55}}.app-bubble-react-trigger:hover{opacity:1!important}.app-reaction-picker{border-top:1px solid var(--line);justify-content:center;gap:.3rem;padding:.7rem 1.25rem;display:flex}.app-reaction-picker button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.15rem;line-height:1;transition:transform .12s;display:grid}.app-reaction-picker button:hover{transform:scale(1.2)}.app-reaction-picker button.is-mine{background:var(--paper-2)}.app-bubble-reactions{gap:.3rem;padding:0 .2rem;display:flex}.app-bubble-reaction{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:999px;align-items:center;gap:.15rem;padding:.05rem .4rem;font-size:.72rem;line-height:1.5;display:inline-flex}.app-bubble-reaction span{font-family:var(--font-mono);color:var(--steel);font-size:.65rem}.app-bubble-reaction.is-mine{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--white))}.app-bubble.out::selection,.app-bubble.out ::selection{color:#1a1300;background:#ffd54a}.app-bubble time{font-family:var(--font-mono);opacity:.65;margin-top:.3rem;font-size:.65rem;display:block}.app-bubble p{margin:0 0 .6rem}.app-bubble p:last-child{margin-bottom:0}.app-bubble ul,.app-bubble ol{margin:0 0 .6rem;padding-left:1.2rem}.app-bubble ul:last-child,.app-bubble ol:last-child{margin-bottom:0}.app-bubble li{margin-bottom:.25rem}.app-bubble strong{font-weight:700}.app-bubble code{font-family:var(--font-mono);background:#0000000f;border-radius:4px;padding:.1em .3em;font-size:.85em}.app-bubble.out code{background:#ffffff2e}.app-bubble-text{white-space:pre-wrap;overflow-wrap:break-word}.app-bubble-sender{color:var(--brand);margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.app-request-edit{z-index:2;margin-top:.4rem;position:relative}.app-request-edit summary{cursor:pointer;pointer-events:auto;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);font-size:.72rem;font-weight:600;list-style:none;display:inline-block}.app-request-edit summary::-webkit-details-marker{display:none}.app-request-edit:not([open])>.app-request-edit-form{display:none}.app-request-edit-row>td{border-bottom:1px solid var(--line);padding:.25rem .75rem .9rem}.app-request-edit-form{background:var(--white);border:1px solid var(--line);text-align:left;text-transform:none;letter-spacing:0;border-radius:12px;gap:1rem;max-width:46rem;margin-top:.6rem;padding:1.1rem 1.15rem;font-weight:400;display:grid}.app-request-edit-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem .9rem;display:grid}.app-request-edit-grid .app-field--wide{grid-column:1/-1}.app-request-edit-hint{color:var(--steel);margin:0;font-size:.74rem;line-height:1.5}.app-request-edit-form .app-field input,.app-request-edit-form .app-field select,.app-request-edit-form .app-field textarea{padding:.5rem .6rem;font-size:.9rem}.app-request-edit-form .app-field textarea{min-height:4.5rem}.app-request-edit-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.app-request-edit-actions .btn{min-height:36px;padding:0 1rem;font-size:.8rem}.app-request-edit-actions .btn--ghost{color:var(--ink);background:var(--white);border:1px solid var(--line-strong)}.app-request-edit-actions .btn--ghost:hover{color:#8a2c2c;border-color:#8a2c2c}.app-request-edit-history{color:var(--steel);gap:.5rem;margin:.6rem 0 0;padding:0;font-size:.72rem;list-style:none;display:grid}.app-request-edit-history ul{margin:.2rem 0 0 .9rem;padding:0;list-style:outside}.app-check-row{color:var(--steel);cursor:pointer;align-items:center;gap:.55rem;font-size:.86rem;display:flex}.app-check-row input{width:1.05rem;height:1.05rem;accent-color:var(--brand);flex:none;margin:0}.app-bubble-at{vertical-align:middle;color:#fff;background:var(--brand);border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.4rem;padding:0 .3rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.app-bubble-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.app-bubble-mention{color:var(--brand);font-weight:700}.app-bubble.out .app-bubble-mention{color:#fff;text-underline-offset:2px;text-decoration:underline}.app-bubble-quote{text-align:left;border:none;border-left:3px solid var(--brand);width:100%;font:inherit;cursor:pointer;background:#0000000d;border-radius:6px;margin-bottom:.4rem;padding:.35rem .55rem;display:block}.app-bubble-quote-label{opacity:.85;font-size:.72rem;font-weight:700;display:block}.app-bubble-quote-text{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;display:block;overflow:hidden}.app-bubble.out .app-bubble-quote{background:#ffffff29;border-left-color:#ffffffbf}.app-bubble-edit{flex-direction:column;gap:.4rem;min-width:14rem;display:flex}.app-bubble-edit textarea{resize:vertical;width:100%;font:inherit;color:inherit;background:#ffffff80;border:1px solid #00000026;border-radius:8px;padding:.4rem .5rem;font-size:.88rem}.app-bubble.out .app-bubble-edit textarea{color:#fff;background:#ffffff29;border-color:#fff6}.app-bubble-edit-actions{justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.app-bubble-edited{opacity:.75;font-style:italic}.app-bubble.is-highlighted{animation:1.4s app-bubble-flash}@keyframes app-bubble-flash{0%,to{box-shadow:none}20%{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 55%, transparent)}}@media (prefers-reduced-motion:reduce){.app-bubble.is-highlighted{animation:none}}.app-bubble.is-sticker{background:0 0;padding:0}.app-bubble.is-sticker time{text-align:right}.app-bubble-sticker{object-fit:contain;width:5.5rem;height:5.5rem;display:block}.app-bubble-attachment{color:inherit;margin-top:.4rem;font-size:.82rem;text-decoration:underline;display:block}.app-bubble-photo{display:block}.app-bubble-photo img{object-fit:cover;border-radius:10px;width:100%;max-width:14rem;max-height:14rem;display:block}.app-read-receipt{vertical-align:middle;margin-left:.35rem;display:inline-flex}.app-read-receipt svg{width:14px;height:14px}.app-bubble.out .app-read-receipt svg{stroke:#fffc}.app-bubble.is-sticker .app-read-receipt svg{stroke:var(--steel)}.app-chat-typing{align-items:center;gap:.3rem;padding:.8rem .9rem;display:flex}.app-chat-typing span{opacity:.45;background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite app-chat-typing-bounce}.app-chat-typing span:nth-child(2){animation-delay:.15s}.app-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes app-chat-typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.app-chat-typing span{opacity:.65;animation:none}}.app-read-receipt.is-read svg{stroke:#6fe0a8}.app-unread-dot{background:var(--brand);border-radius:50%;flex:none;width:.5rem;height:.5rem}.app-avatar-upload{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.app-avatar-wrap{flex:none;display:inline-flex;position:relative}.app-presence-dot{border:2px solid var(--white);background:#c3cad4;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 0 1px #0b18301a}.app-presence-dot.is-online{background:#22c55e;box-shadow:0 0 0 1px #22c55e66,0 0 5px #22c55ea6}.app-presence-label{font-family:var(--font-mono);color:var(--steel);margin-top:.15rem;font-size:.7rem;display:block}.app-presence-label.is-online{color:#1f8a4c;font-weight:600}.app-chat-unread-badge{background:var(--brand);color:#fff;min-width:1.3rem;height:1.3rem;font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.68rem;font-weight:700;display:inline-flex}.app-sticker-toggle{min-height:unset;flex:none;justify-content:center;align-items:center;width:42px;padding:0;display:flex}.app-sticker-toggle svg{width:20px;height:20px}.app-attach-toggle{min-height:unset;flex:none;justify-content:center;align-items:center;width:42px;padding:0;display:flex}.app-attach-toggle svg{width:20px;height:20px}.app-attach-toggle:disabled{opacity:.5}.app-chat-upload-error{color:#c0392b;margin:0;padding:.5rem 1.25rem;font-size:.8rem}.app-reply-preview{border-top:1px solid var(--line);background:var(--paper-2);justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 1.25rem;display:flex}.app-reply-preview-body{border-left:3px solid var(--brand);min-width:0;padding-left:.6rem}.app-reply-preview-label{color:var(--brand);font-size:.72rem;font-weight:700;display:block}.app-reply-preview-text{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.app-reply-preview button{cursor:pointer;color:var(--steel);background:0 0;border:none;flex:none;padding:.3rem;font-size:.95rem;line-height:1}.app-reply-preview button:hover{color:var(--ink)}.app-sticker-picker{border-top:1px solid var(--line);grid-template-columns:repeat(8,1fr);gap:.4rem;max-height:12rem;padding:.85rem 1.25rem;display:grid;overflow-y:auto}.app-sticker-picker img{aspect-ratio:1;object-fit:contain;cursor:pointer;border-radius:8px;width:100%;padding:.2rem}.app-sticker-picker img:hover{background:var(--paper-2)}@media (max-width:640px){.app-sticker-picker{grid-template-columns:repeat(5,1fr)}}.app-emoji-picker{border-top:1px solid var(--line);grid-template-columns:repeat(10,1fr);gap:.15rem;max-height:11rem;padding:.65rem .75rem;display:grid;overflow-y:auto}.app-emoji-picker button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem;font-size:1.15rem;line-height:1}.app-emoji-picker button:hover{background:var(--paper-2)}@media (max-width:640px){.app-emoji-picker{grid-template-columns:repeat(7,1fr)}}.app-mention-menu{z-index:5;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:9rem;margin-bottom:.4rem;display:flex;position:absolute;bottom:100%;left:1.25rem;overflow:hidden;box-shadow:0 12px 28px -12px #140c004d}.app-mention-menu button{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;padding:.5rem .75rem;font-size:.85rem}.app-mention-menu button.is-active,.app-mention-menu button:hover{background:var(--paper-2)}.app-chat-compose{border-top:1px solid var(--line);align-items:flex-end;gap:.6rem;padding:1rem 1.25rem;display:flex}.app-chat-compose input,.app-chat-compose textarea{font-family:var(--font-body);border:1px solid var(--line-strong);border-radius:var(--radius);resize:none;flex:1;max-height:6.5rem;padding:.7rem .9rem;font-size:.9rem;line-height:1.4;overflow-y:auto}.app-login{background:linear-gradient(var(--grid-blueprint) 1px, transparent 1px), linear-gradient(90deg, var(--grid-blueprint) 1px, transparent 1px), var(--blueprint-900);background-size:44px 44px,44px 44px,100% 100%;justify-content:center;align-items:center;min-height:100svh;padding:2rem 1.25rem;display:flex;position:relative}.app-login-back{z-index:2;color:#ffffffd1;transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);border:1px solid #ffffff47;border-radius:999px;padding:.5rem 1rem;font-size:.82rem;text-decoration:none;position:absolute;top:1.5rem;right:1.5rem}.app-login-back:hover{color:#fff;border-color:#fff9}.app-login-card{background:var(--white);border-radius:var(--radius);width:min(100%,24rem);padding:2.25rem 2rem;box-shadow:0 30px 70px -20px #04061480}.app-login-card .logo{margin-bottom:1.5rem}.app-login-card h1{margin-bottom:.4rem;font-size:1.5rem}.app-login-card p.lead{color:var(--steel);margin-bottom:1.75rem;font-size:.9rem}.app-login-card .btn--primary{width:100%}.app-login-foot{text-align:center;color:var(--steel);margin-top:1.5rem;font-size:.78rem}.app-policy-toc{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.app-policy-toc a{font-family:var(--font-mono);border:1px solid var(--line);color:var(--steel);border-radius:999px;padding:.4rem .85rem;font-size:.76rem;font-weight:500;text-decoration:none}.app-policy-toc a:hover{border-color:var(--brand);color:var(--brand)}.app-policy-section+.app-policy-section{margin-top:1.25rem}.app-policy-section{scroll-margin-top:1.5rem}.app-policy-date{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--steel-2);font-size:.7rem}.app-policy-block{margin-top:1.1rem}.app-policy-block:first-child{margin-top:0}.app-policy-block h3{color:var(--brand);margin-bottom:.5rem;font-size:.92rem;font-weight:700}.app-policy-block p{color:var(--steel);font-size:.92rem;line-height:1.65}.app-policy-block ul,.app-policy-block ol{color:var(--steel);gap:.35rem;margin:.35rem 0 0;padding-left:1.2rem;font-size:.9rem;line-height:1.65;display:grid}.app-list-row .app-list-actions{flex:none}.app-login-foot a{color:var(--brand);text-decoration:none}.print-form-page{max-width:46rem;padding:clamp(1.25rem,4vw,2.5rem)}.print-form-toolbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.print-form{color:#111;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:clamp(1.75rem,5vw,3rem);font-family:Georgia,Times New Roman,serif;position:relative}.print-form-status{position:absolute;top:1.5rem;right:1.5rem}.print-form-letterhead{text-align:center;margin-bottom:1.5rem}.print-form-letterhead h1{color:#0102fa;text-transform:none;letter-spacing:0;margin:0;font-family:inherit;font-size:1.5rem;font-weight:700}.print-form-letterhead p{color:#333;margin:.25rem 0 0;font-size:.85rem}.print-form-title{text-align:center;text-transform:none;letter-spacing:0;margin:1.25rem 0 1rem;font-family:inherit;font-size:1.3rem;font-weight:700}.print-form-note{color:#333;margin-bottom:1.75rem;font-size:.82rem}.print-form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;font-size:.92rem;display:grid}.print-form p{margin:0 0 1.25rem;font-size:.92rem}.print-form-label{font-weight:700}.print-form-sig{gap:1.75rem;margin-top:2.5rem;display:grid}.print-form-sig-line{border-top:1px solid #111;justify-content:space-between;width:60%;padding-top:.3rem;font-size:.82rem;display:flex}.print-form-sig-line em{color:#555;font-style:normal}.print-form-sig-image{object-fit:contain;max-width:12rem;max-height:2.6rem}.print-form-sig-script{color:#222;font-family:Kalam Light,Brush Script MT,cursive;font-size:1.4rem;font-style:normal}.print-form-sig-signed{flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.print-form-sig-printed-name{letter-spacing:.02em;color:#555;font-size:.72rem}@page{size:A4;margin:1.5cm}@media print{.app-sidebar,.app-topbar,.app-toggle,.no-print{display:none!important}.app-shell{display:block!important}.app-main{margin:0!important}.print-form-page{max-width:none;padding:0}.print-form{border:none;padding:0}}.expense-table-wrap{margin-top:1rem;overflow-x:auto}.expense-print-table{border-collapse:collapse;width:100%;font-size:.78rem;font-family:var(--font-body)}.expense-print-table th,.expense-print-table td{white-space:nowrap;border:1px solid #999;padding:.35rem .45rem}.expense-print-table th{text-align:left;background:#f0f0f0;font-weight:700}.expense-print-table td.num,.expense-print-table th.num{text-align:right;font-variant-numeric:tabular-nums}.expense-print-table td{white-space:normal}.expense-print-table td.num{white-space:nowrap}.game-board{flex-direction:column;align-items:center;gap:1.1rem;display:flex}.game-difficulty{gap:.4rem;display:flex}.game-difficulty button{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line-strong);background:var(--white);color:var(--steel);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.78rem;font-weight:600}.game-difficulty button.is-active{background:var(--brand);border-color:var(--brand);color:var(--white)}.game-header{align-items:center;gap:1rem;width:100%;max-width:28rem;display:flex}.game-timer{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.game-best{font-family:var(--font-mono);color:var(--steel);font-size:.82rem}.game-win-banner{color:#14633a;text-align:center;font-size:.95rem;font-weight:600}.game-win-banner button{color:var(--brand);padding:0;font-weight:600;text-decoration:underline}.game-check-msg{margin:0;font-size:.85rem;font-weight:600}.game-check-msg.is-good{color:#14633a}.game-check-msg.is-bad{color:#b02a2a}.game-toolbar{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.game-toolbar button.is-active{background:var(--brand);border-color:var(--brand);color:var(--white)}.sudoku-board-wrap{border:3px solid var(--ink);line-height:0;display:inline-block}.sudoku-grid-9{grid-template-columns:repeat(9,minmax(1.9rem,2.6rem));display:grid}.sudoku-cell-9{aspect-ratio:1;background:var(--white);font-family:var(--font-mono);color:var(--brand);cursor:pointer;border:1px solid #d8d5cc;place-items:center;padding:0;font-size:1.05rem;font-weight:700;display:grid}.sudoku-cell-9.is-given{color:var(--ink);cursor:default;background:#ece9e2}.sudoku-cell-9.is-peer{background:#f1f3fb}.sudoku-cell-9.is-same-value{background:#dbe6ff}.sudoku-cell-9.is-selected{box-shadow:inset 0 0 0 2px var(--brand);background:#c3d3ff}.sudoku-cell-9.is-conflict{color:#b02a2a;background:#fbe4e4}.sudoku-cell-9.is-hint{box-shadow:inset 0 0 0 3px #b8860b}.sudoku-cell-9:disabled{cursor:default}.sudoku-notes{width:100%;height:100%;font-family:var(--font-mono);color:var(--steel);grid-template-columns:repeat(3,1fr);place-items:center;font-size:.55rem;font-weight:600;display:grid}.game-hint-bullets{max-width:26rem;color:var(--ink);border-radius:var(--radius);background:#fdf6e3;border:1px solid #ecd9a0;margin:0;padding:.7rem 1rem .7rem 1.6rem;font-size:.85rem;list-style:outside}.game-hint-bullets li+li{margin-top:.25rem}.game-numpad{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.game-numpad button{border-radius:var(--radius);border:1px solid var(--line-strong);width:2.5rem;height:2.5rem;font-family:var(--font-mono);color:var(--ink);background:var(--white);cursor:pointer;font-size:1.05rem;font-weight:700}.game-numpad button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.game-numpad button:disabled{opacity:.4;cursor:default}.queens-grid{aspect-ratio:1;gap:0;width:min(100%,26rem);display:grid}.queens-cell{aspect-ratio:1;color:var(--ink);cursor:pointer;border-style:solid;place-items:center;font-size:1.4rem;display:grid}.queens-cell.is-marked{filter:saturate(.45)brightness(1.14)}.queens-cell.is-crowned{filter:saturate(.6)brightness(1.06)}.queens-cell.is-conflict{outline-offset:-3px;outline:3px solid #b02a2a}.queens-cell.is-hint{outline:3px solid var(--brand);outline-offset:-3px}.queens-cell:disabled{cursor:default}.memory-grid{perspective:800px;gap:.5rem;width:100%;max-width:30rem;display:grid}.memory-card{aspect-ratio:1;cursor:pointer;background:0 0;border:none;padding:0}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .35s;display:block;position:relative}.memory-card.is-flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-back,.memory-card-face{backface-visibility:hidden;border-radius:var(--radius);place-items:center;display:grid;position:absolute;inset:0}.memory-card-back{background-color:var(--brand);background-image:url(/assets/img/logo-white.png);background-position:50%;background-repeat:no-repeat;background-size:78%;box-shadow:inset 0 0 0 2px #ffffff2e}.memory-card-face{background:var(--white);border:2px solid var(--line-strong);color:var(--brand);transform:rotateY(180deg)}.memory-card-face svg{width:55%;height:55%}.memory-card.is-matched .memory-card-face{color:#14633a;background:#e3f5ea;border-color:#14633a}.memory-card:disabled{cursor:default}@media (prefers-reduced-motion:reduce){.memory-card-inner{transition:none}}.game-leaderboard{border-top:1px solid var(--line);width:100%;max-width:26rem;margin-top:.25rem;padding-top:1rem}.game-leaderboard-title{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--steel);margin:0 0 .6rem;font-size:.78rem;font-weight:700}.game-leaderboard-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.game-leaderboard-list li{border-radius:var(--radius);align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.game-leaderboard-list li.is-you{background:#eef1fc;font-weight:600}.game-leaderboard-rank{font-family:var(--font-mono);color:var(--steel);width:1.3rem;font-weight:700}.game-leaderboard-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.game-leaderboard-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--brand);font-weight:600}@media (max-width:480px){.sudoku-grid-9{grid-template-columns:repeat(9,minmax(1.7rem,1fr))}.sudoku-notes{font-size:.42rem}}.app-notify-overlay{z-index:300;background:#090d228c;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.app-notify-card{background:var(--white);border-radius:var(--radius);width:100%;max-width:26rem;padding:1.75rem;box-shadow:0 24px 60px -20px #090d2280}.app-notify-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:.6rem;font-size:.72rem;font-weight:600}.app-notify-subject{color:var(--ink);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.app-notify-message{color:var(--ink);margin-bottom:1.35rem;font-size:.98rem;line-height:1.55}.app-notify-count{color:var(--steel);text-align:center;margin-top:.85rem;font-size:.8rem}.app-notify-overlay.is-urgent{background:#600c0ca6}.app-notify-overlay.is-urgent .app-notify-card{border-top:5px solid #b3261e}.app-notify-overlay.is-urgent .app-notify-eyebrow{color:#b3261e}.app-toast-stack{z-index:250;flex-direction:column;gap:.6rem;width:min(22rem,100vw - 2.5rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.app-toast-card{background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius);align-items:flex-start;gap:.75rem;padding:.9rem 1rem;animation:.25s ease-out app-toast-in;display:flex;box-shadow:0 16px 40px -16px #090d2259}.app-toast-body{flex:1}.app-toast-subject{color:var(--ink);margin:0 0 .2rem;font-size:.84rem;font-weight:700}.app-toast-message{color:var(--ink);margin:0;font-size:.86rem;line-height:1.45}.app-toast-close{color:var(--steel);cursor:pointer;background:0 0;border:none;flex:none;padding:.1rem;font-size:.9rem;line-height:1}.app-toast-close:hover{color:var(--ink)}.app-toast-clear-all{font-family:var(--font-mono);letter-spacing:.02em;color:var(--brand);background:var(--white);border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;align-self:flex-end;padding:.35rem .8rem;font-size:.72rem;box-shadow:0 10px 28px -14px #090d224d}.app-toast-clear-all:hover{background:var(--paper-2)}@keyframes app-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.todo-card .app-card-head{flex-wrap:wrap;gap:.75rem;margin-bottom:1.1rem}.todo-sort{height:32px;font-family:var(--font-mono);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:0 .6rem;font-size:.76rem}.todo-form{border-bottom:1px solid var(--line);max-width:26rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.todo-color-swatch{background:conic-gradient(from 180deg,#ff3b30,#ff9500,#fc0,#34c759,#00c7be,#30b0c7,#007aff,#5856d6,#af52de,#ff2d55,#ff3b30);border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:3px;display:inline-flex}.todo-color-swatch--sm{width:2.2rem;height:2.2rem}.todo-color-swatch--xs{width:1.6rem;height:1.6rem;padding:2px}.todo-color-swatch--xs input[type=color]{border-width:1px}.todo-color-swatch input[type=color]{border:2px solid var(--white);cursor:pointer;background:0 0;border-radius:50%;width:100%;height:100%;padding:0}.todo-color-swatch input[type=color]::-webkit-color-swatch-wrapper{border-radius:50%;padding:0}.todo-color-swatch input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}.todo-color-swatch input[type=color]::-moz-color-swatch{border:none;border-radius:50%}.todo-board{border-radius:var(--radius);background-color:var(--board-bg,#b3854c);background-image:radial-gradient(circle at 12% 22%,#0000001a 0 1px,#0000 1.2px),radial-gradient(circle at 68% 14%,#00000014 0 1.4px,#0000 1.6px),radial-gradient(circle at 40% 78%,#00000017 0 1.2px,#0000 1.4px),radial-gradient(circle at 86% 62%,#00000012 0 1px,#0000 1.2px),radial-gradient(circle at 24% 58%,#00000014 0 1.3px,#0000 1.5px),radial-gradient(circle at 92% 90%,#0000000f 0 1px,#0000 1.2px),linear-gradient(155deg,#ffffff1f,#0000 55%,#0003);background-size:38px 38px,52px 52px,61px 61px,45px 45px,57px 57px,49px 49px,100% 100%;flex-wrap:wrap;align-items:flex-start;gap:1.75rem 1.5rem;padding:2.25rem 1.5rem 1.75rem;display:flex;box-shadow:inset 0 3px 12px #0000004d,inset 0 -3px 16px #00000038,inset 0 0 0 10px #583c1e40}.todo-note{background:var(--note-bg,#f3d17a);width:14.5rem;transform:rotate(var(--rot,0deg));transition:transform var(--t-med) var(--ease-out), box-shadow var(--t-med) var(--ease-out);padding:2rem 1rem 1.1rem;position:relative;box-shadow:0 14px 20px -10px #140c0073,0 2px 4px #140c002e}.todo-note:hover,.todo-note:focus-within{z-index:2;transform:rotate(0)translateY(-2px)scale(1.015);box-shadow:0 18px 26px -12px #140c0080,0 3px 6px #140c0033}.todo-note--low{--note-bg:#cfe0cd}.todo-note--medium{--note-bg:#f3d17a}.todo-note--high{--note-bg:#e7a495}.todo-note--done,.todo-note--cancelled{opacity:.7;filter:saturate(.55)}.todo-pin{background:radial-gradient(circle at 34% 30%,#ff8a7c,#a81f1f 72%);border-radius:50%;width:1.15rem;height:1.15rem;position:absolute;top:-.65rem;left:50%;transform:translate(-50%);box-shadow:0 3px 5px #0006,inset 0 1px 1px #ffffff80}.todo-note-tools{align-items:center;gap:.4rem;display:flex;position:absolute;top:.5rem;right:.5rem}.todo-edit,.todo-remove{background:color-mix(in srgb, var(--note-fg,#211f19) 16%, transparent);width:1.3rem;height:1.3rem;color:var(--note-fg,#211f19a6);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:.62rem;line-height:1}.todo-edit:hover,.todo-remove:hover{background:color-mix(in srgb, var(--note-fg,#211f19) 30%, transparent)}.todo-edit-form{flex-direction:column;gap:.5rem;margin-top:.4rem;display:flex}.todo-edit-form input[type=text],.todo-edit-form input[type=date],.todo-edit-form select{font-family:var(--font-mono);color:#211f19;background:#ffffffa6;border:1px solid #211f194d;border-radius:4px;width:100%;padding:.35rem .45rem;font-size:.74rem}.todo-edit-row{gap:.4rem;display:flex}.todo-edit-row input{flex:1;min-width:0}.todo-edit-form .btn--primary{background:var(--note-bg);color:var(--note-fg,#211f19);border-color:var(--note-bg)}.todo-edit-form .btn--primary:hover{filter:brightness(.92)}.todo-edit-error{font-family:var(--font-mono);color:#6b1f1f;background:#ffffff80;border-radius:4px;padding:.35rem .5rem;font-size:.66rem}.todo-stamp{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.85;white-space:nowrap;border:2px solid;border-radius:4px;margin-bottom:.6rem;padding:.18rem .65rem;font-size:.68rem;font-weight:700;display:inline-block;transform:rotate(-3deg)}.todo-stamp--done{color:#1c6b3a}.todo-stamp--cancelled{color:#8a2c2c}.todo-stamp--postponed{color:#6b5215}.todo-note-title{font-family:var(--font-body);color:var(--note-fg,#211f19);margin:0 0 .4rem;font-size:.94rem;font-weight:700;line-height:1.35}.todo-priority-badge{font-family:var(--font-mono);letter-spacing:.02em;color:var(--note-fg,#211f19);background:#140c001a;border-radius:999px;margin-bottom:.55rem;padding:.15rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}.todo-priority-badge--high{color:var(--note-fg,#7a1f05);background:#9a220829}.todo-priority-badge--medium{color:var(--note-fg,#6b4a05);background:#9a6a0829}.todo-priority-badge--low{color:var(--note-fg,#185e27);background:#185e2724}.todo-note-meta{font-family:var(--font-mono);color:var(--note-fg,#211f19b8);flex-wrap:wrap;gap:.3rem .55rem;margin-bottom:.5rem;font-size:.66rem;display:flex}.todo-days-left{font-family:var(--font-mono);color:var(--note-fg,#211f19);background:#140c0014;border-radius:999px;margin-bottom:.5rem;padding:.12rem .5rem;font-size:.66rem;font-weight:700;display:inline-block}.todo-days-left.is-overdue{color:var(--note-fg,#7a1f05);background:#9a22082e}.todo-progress{background:#211f1929;border-radius:3px;height:6px;margin-bottom:.35rem;overflow:hidden}.todo-progress-fill{height:100%;transition:width var(--t-med) var(--ease-out);background:#211f19c7;border-radius:3px}.todo-progress-slider{accent-color:#211f19;width:100%;margin:0 0 .7rem}.todo-note-actions{flex-direction:column;gap:.45rem;display:flex}.todo-note-actions select{font-family:var(--font-mono);color:#211f19;background:#ffffffd9;border:1px solid #211f1940;border-radius:4px;padding:.32rem .4rem;font-size:.72rem}.todo-share{font-family:var(--font-mono);color:var(--note-fg,#211f19c7);align-items:center;gap:.4rem;font-size:.66rem;display:flex}.pinned-note-stack{z-index:60;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed;top:5.5rem;right:1.5rem}.pinned-note-tab{cursor:pointer;color:#211f19;font-family:var(--font-body);min-width:0;max-width:12rem;transition:transform var(--t-fast) var(--ease-out);background:#f3d17a;border:0;border-radius:0 0 6px 6px;align-items:center;gap:.5rem;padding:.6rem 1rem .55rem 1.4rem;font-size:.82rem;font-weight:700;display:flex;position:relative;transform:rotate(-1.5deg);box-shadow:0 10px 18px -10px #140c0073,0 2px 4px #140c002e}.pinned-note-tab:hover{transform:rotate(0)translateY(1px)}.pinned-note-tab-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pinned-note-card{color:#211f19;background:#f3d17a;width:15.5rem;padding:1.6rem 1.1rem 1.1rem;position:relative;transform:rotate(-1deg);box-shadow:0 20px 30px -14px #140c0080,0 3px 6px #140c0033}.pinned-note-pin{background:radial-gradient(circle at 34% 30%,#ff8a7c,#a81f1f 72%);border-radius:50%;width:1.05rem;height:1.05rem;position:absolute;top:-.6rem;left:1.3rem;box-shadow:0 3px 5px #0006,inset 0 1px 1px #ffffff80}.pinned-note-tab .pinned-note-pin{box-shadow:none;margin-right:-.15rem;position:static}.pinned-note-close{color:#211f19a6;cursor:pointer;background:#211f191f;border:0;border-radius:50%;width:1.3rem;height:1.3rem;font-size:.85rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.pinned-note-close:hover{background:#211f1938}.pinned-note-title{font-family:var(--font-body);color:#211f19;margin-bottom:.75rem;font-size:.96rem;font-weight:700;line-height:1.35;text-decoration:none;display:block}.pinned-note-title:hover{text-decoration:underline}.pinned-note-empty{font-family:var(--font-mono);color:#211f1999;margin-bottom:.75rem;font-size:.72rem}.pinned-note-tasks{flex-direction:column;gap:.4rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.pinned-note-tasks li{border-bottom:1px dashed #211f1933;flex-direction:column;gap:.1rem;padding-bottom:.35rem;display:flex}.pinned-note-tasks li:last-child{border-bottom:none;padding-bottom:0}.pinned-note-task-label{font-family:var(--font-body);font-size:.78rem;font-weight:600}.pinned-note-task-dates{font-family:var(--font-mono);color:#211f19b8;font-size:.66rem}.pinned-note-share{font-family:var(--font-mono);color:#211f19c7;cursor:pointer;align-items:center;gap:.4rem;font-size:.66rem;display:flex}@media (max-width:640px){.pinned-note-stack{top:auto;bottom:1rem;right:1rem}}.beam-editor{flex-direction:column;gap:1rem;font-size:.93rem;display:flex}.beam-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:0 1px 2px #0b18300a,0 10px 28px -18px #0b183038}.beam-panel-head{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);align-items:center;gap:.45rem;margin-bottom:.8rem;font-size:.72rem;font-weight:700;display:flex}.beam-panel-head svg{width:15px;height:15px;stroke:var(--brand);flex:none}.beam-panel-head .beam-panel-head-meta{letter-spacing:0;text-transform:none;color:var(--steel);margin-left:auto;font-size:.72rem;font-weight:500}.beam-toolbar{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.75rem .9rem;display:flex}.beam-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.beam-toolbar-divider{background:var(--line-strong);align-self:stretch;width:1px;margin:0 .15rem}.beam-toolbar-actions .btn{align-items:center;gap:.4rem;min-height:34px;padding:0 .75rem 0 .6rem;font-size:.72rem;transition:border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.beam-toolbar-actions .btn svg{stroke:currentColor;flex:none;width:15px;height:15px}.beam-field{flex-direction:column;gap:.25rem;display:flex}.beam-field label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--steel);font-size:.62rem}.beam-field input,.beam-field select{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--line);background:var(--white);color:var(--ink);width:8.5rem;min-height:32px;padding:.35rem .5rem;font-size:.78rem;transition:border-color .15s,box-shadow .15s}.beam-field input:focus-visible,.beam-field select:focus-visible{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0102fa1f}.beam-field-row{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.beam-canvas{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);cursor:crosshair;width:100%;height:auto}.beam-grid-line{fill:none;stroke:#0102fa0e;stroke-width:1px}.beam-dim-line{stroke:var(--steel-2);stroke-width:1px}.beam-dim-label{font:9px var(--font-mono);fill:var(--steel)}.beam-support-label{font:8px var(--font-mono);fill:var(--brand)}.beam-line{stroke:var(--ink);stroke-width:3.5px;stroke-linecap:round}.beam-reaction-arrow{stroke:#1f6fb2;stroke-width:1.6px}.beam-reaction-arrowhead{fill:#1f6fb2}.beam-reaction-label{font:8.5px var(--font-mono);fill:#1f6fb2;font-weight:700}.beam-support-tri{fill:var(--paper-2);stroke:var(--brand);stroke-width:1.5px;transition:fill .15s,stroke .15s}.beam-support-roller{fill:var(--paper-2);stroke:var(--brand);stroke-width:1.2px}.beam-support-fixed-line{stroke:var(--brand);stroke-width:2.5px}.beam-support-hatch{stroke:var(--brand);stroke-width:1.2px}.beam-support:hover .beam-support-tri{fill:#0102fa14}.beam-support.is-selected .beam-support-tri,.beam-support.is-selected .beam-support-fixed-line{stroke:#b0862c}.beam-support.is-selected .beam-support-tri{fill:#b0862c1f}.beam-support.is-selected .beam-support-label{fill:#b0862c}.beam-support circle{cursor:grab}.beam-support circle:active{cursor:grabbing}.beam-load-arrow{stroke:#b23a1f;transition:stroke .15s}.beam-arrowhead{fill:#b23a1f;transition:fill .15s}.beam-load-fill{fill:#b23a1f;opacity:.12;stroke:none;transition:opacity .15s}.beam-load-label{font:9px var(--font-mono);fill:var(--ink)}.beam-load-handle{fill:var(--white);stroke:#b23a1f;stroke-width:1.3px;transition:stroke .15s}.beam-load:hover .beam-load-fill{opacity:.2}.beam-load.is-selected .beam-load-arrow{stroke:#6b4fa0}.beam-load.is-selected .beam-arrowhead,.beam-load.is-selected .beam-load-label{fill:#6b4fa0}.beam-load.is-selected .beam-load-handle{stroke:#6b4fa0}.beam-load.is-selected .beam-load-fill{fill:#6b4fa0;opacity:.16}.beam-inspector-head{align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.beam-inspector-title{font-family:var(--font-mono);color:var(--ink);font-size:.82rem;font-weight:700}.beam-inspector-badge{width:26px;height:26px;color:var(--brand);font-family:var(--font-mono);background:#0102fa14;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.beam-inspector-fields{flex-wrap:wrap;align-items:flex-end;gap:.7rem;display:flex}.beam-remove-btn{font-family:var(--font-mono);color:#8a2c2c;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #8a2c2c59;min-height:28px;margin-left:auto;padding:0 .55rem;font-size:.68rem;transition:background .15s,border-color .15s}.beam-remove-btn:hover{background:#8a2c2c14;border-color:#8a2c2c80}.beam-material summary{font-family:var(--font-mono);color:var(--ink);cursor:pointer;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;display:flex}.beam-material summary svg{width:15px;height:15px;stroke:var(--brand);flex:none}.beam-formula-note{color:var(--steel);margin-top:.4rem;font-size:.74rem;line-height:1.45}.beam-legend{font-family:var(--font-mono);color:var(--steel);flex-wrap:wrap;gap:.35rem .8rem;margin-bottom:.6rem;font-size:.68rem;display:flex}.beam-classic-case{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.6rem;padding:.6rem .75rem .7rem}.beam-classic-case-name{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);margin-bottom:.4rem;font-size:.7rem;font-weight:700}.beam-classic-case-table{border-collapse:collapse;font-family:var(--font-mono);font-size:.8rem}.beam-classic-case-table td{color:var(--ink);white-space:nowrap;padding:.2rem .35rem .2rem 0}.beam-classic-case-table td:first-child{color:var(--steel);padding-left:0}.beam-classic-case-value{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:700}.beam-formula-block{background:var(--paper-2);border-radius:var(--radius);margin-bottom:.5rem;padding:.7rem .8rem}.beam-formula-block p{font-family:var(--font-mono);color:var(--ink);margin:0 0 .3rem;font-size:.74rem;line-height:1.5}.beam-formula-block p:last-child{margin-bottom:0}.beam-reactions-table{flex-wrap:wrap;gap:.5rem .75rem;margin-top:.6rem;display:flex}.beam-reaction-row{font-family:var(--font-mono);background:var(--paper-2);border-radius:var(--radius);flex-direction:column;gap:.15rem;min-width:8.5rem;padding:.45rem .7rem;font-size:.74rem;display:flex}.beam-reaction-row span:first-child{color:var(--steel);text-transform:uppercase;letter-spacing:.04em;font-size:.64rem}.beam-reaction-row span:last-child{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:700}.beam-error{color:#8a2c2c;font-family:var(--font-mono);border-radius:var(--radius);background:#8a2c2c14;padding:.75rem .85rem;font-size:.82rem}.beam-diagrams-wrap{flex-direction:column;gap:.6rem;display:flex}.beam-hover-readout{font-family:var(--font-mono);color:var(--white);background:var(--ink);border-radius:var(--radius);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.74rem;display:inline-flex}.beam-diagrams{flex-direction:column;gap:.6rem;display:flex}.beam-diagram-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.15rem;display:flex}.beam-diagram-title{font-family:var(--font-mono);font-size:.74rem;font-weight:700}.beam-diagram-max{font-family:var(--font-mono);color:var(--steel);font-variant-numeric:tabular-nums;font-size:.62rem}.beam-diagram-svg{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);cursor:crosshair;width:100%;height:auto}.beam-diagram-axis{stroke:var(--line);stroke-width:1px}.beam-diagram-crosshair{stroke:var(--steel);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}@media (max-width:640px){.beam-toolbar{flex-direction:column;align-items:stretch}.beam-toolbar-divider{display:none}}.workspace-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.75rem;padding:1rem 0 2rem;display:flex}.sheet-page-wrap{flex:380px;justify-content:center;max-width:460px;display:flex}.sheet{--dot:#3c372d29;--ink:#2c2a24;background-image:radial-gradient(var(--dot) 1px, transparent 1.4px);border:1.5px solid var(--ink);background-color:#fbf9f3;background-size:24px 24px;border-radius:6px;flex-direction:column;width:100%;height:640px;min-height:640px;padding:1.7rem 2.1rem;display:flex;position:relative;box-shadow:0 1px 2px #0b18300d,0 24px 44px -22px #0b18304d,-6px 0 14px -12px #0b183059}.sheet:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0b18301a,#0000);border-radius:6px 0 0 6px;width:10px;position:absolute;inset:0 auto 0 0}.sheet-header{z-index:1;flex:none;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.sheet-header-brand{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink);text-transform:uppercase;font-size:.76rem;font-weight:700}.sheet-header-brand span{font-family:var(--font-hand);letter-spacing:0;text-transform:none;color:var(--steel);margin-top:2px;font-size:1rem;font-weight:300;display:block}.sheet-header-date{font-family:var(--font-mono);color:var(--steel);letter-spacing:.03em;white-space:nowrap;font-size:.74rem}.sheet-header-date-col{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.sheet-history{position:relative}.sheet-history-toggle{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .6rem;font-size:.64rem}.sheet-history-toggle:hover{background:var(--paper-2)}.sheet-history-menu{z-index:5;background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.1rem;min-width:10rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 26px -14px #0b183059}.sheet-history-item{text-align:left;font-family:var(--font-mono);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem .55rem;font-size:.74rem}.sheet-history-item:hover{background:var(--paper-2)}.sheet-viewing-banner{z-index:1;font-family:var(--font-mono);color:var(--steel);background:var(--paper-2);border-radius:var(--radius);margin-bottom:.9rem;padding:.5rem .7rem;font-size:.7rem;position:relative}.sheet-viewing-banner button{color:var(--brand);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.sheet-header-rule{z-index:1;background:var(--ink);opacity:.65;flex:none;height:1.5px;margin:.8rem 0 1.2rem;position:relative}.sheet-footer-rule{z-index:1;background:var(--line-strong);flex:none;height:1px;margin-top:1rem;position:relative}.sheet-footer{z-index:1;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--steel-2);text-align:center;flex:none;padding-top:.55rem;font-size:.6rem;position:relative}.sheet-log{z-index:1;flex-direction:column;flex:auto;gap:1.1rem;min-height:0;display:flex;position:relative;overflow-y:auto}.sheet-log-empty{font-family:var(--font-hand);color:var(--steel);margin:0;font-size:1.1rem}.sheet-log-entry{font-family:var(--font-hand);color:var(--ink);border-bottom:1px solid #3c372d1f;flex-wrap:wrap;align-items:baseline;gap:.4rem .5rem;padding-bottom:1rem;font-size:1.4rem;display:flex}.sheet-log-entry:last-child{border-bottom:none;padding-bottom:0}.sheet-log-live{color:var(--ink);opacity:.92}.sheet-log-entry .mf-frac{margin:0 8px}.sheet-log-entry .mf-sqrt{margin:0 6px}.sheet-log-entry .mf-pow{margin:0 4px}.sheet-log-eq{color:var(--steel)}.sheet-log-result{color:var(--brand);font-size:1.2em}.calc-page-wrap{flex:320px;justify-content:center;display:flex}.calc-device{--case:#1c1c1e;background:linear-gradient(155deg, color-mix(in srgb, var(--case) 100%, white 14%) 0%, var(--case) 42%, color-mix(in srgb, var(--case) 100%, black 24%) 100%);border:1px solid color-mix(in srgb, var(--case) 100%, black 40%);width:100%;max-width:380px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--case) 100%, white 22%), inset 0 -12px 24px -18px color-mix(in srgb, var(--case) 100%, black 45%), 0 18px 40px -14px #00000080, 0 4px 10px #0000004d;border-radius:18px;padding:16px;position:relative}.calc-brand-row{justify-content:space-between;align-items:center;gap:.5rem;padding:2px 6px 10px;display:flex}.calc-brand-id{align-items:center;gap:.45rem;min-width:0;display:flex}.calc-model-name{font-family:var(--font-mono);letter-spacing:.02em;font-size:.95rem;font-weight:700}.calc-maker-name{font-family:var(--font-mono);letter-spacing:.08em;text-align:right;align-items:center;gap:.3rem;font-size:.62rem;display:flex}.calc-ti-mark{width:20px;height:20px;font-family:var(--font-mono);color:#fff;background:linear-gradient(155deg,#e3453a 0%,#c31f1f 60%,#9c1414 100%);border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:.68rem;font-style:italic;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff59,0 1px 2px #0006}.calc-solar-strip{opacity:.9;background:repeating-linear-gradient(90deg,#14222f 0 3px,#24405a 3px 6px);border-radius:2px;height:9px;margin:-4px 4px 12px;box-shadow:inset 0 1px 2px #0000008c,0 1px #ffffff0d}.calc-screen-frame{--case:#1c1c1e;background:linear-gradient(155deg, color-mix(in srgb, var(--case) 100%, black 8%), color-mix(in srgb, var(--case) 100%, black 32%));box-shadow:inset 0 2px 6px #0009, inset 0 -1px 0 color-mix(in srgb, var(--case) 100%, white 12%);border-radius:10px;margin-bottom:14px;padding:8px}.calc-screen{border-radius:4px;padding:10px 12px 12px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0006,inset 0 0 0 1px #00000026}.calc-screen:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(115deg,#ffffff29 0%,#ffffff0a 30%,#0000 55%);position:absolute;inset:0}.calc-screen-status{z-index:2;font-family:var(--font-mono);opacity:.75;justify-content:space-between;min-height:1em;margin-bottom:6px;font-size:.6rem;display:flex;position:relative}.calc-screen-expr{z-index:2;opacity:.85;min-height:1.3em;font-family:Courier New,ui-monospace,monospace;font-size:.92rem;position:relative}.calc-screen-result{z-index:2;text-align:right;overflow-wrap:anywhere;min-height:1.3em;font-family:Courier New,ui-monospace,monospace;font-size:1.55rem;font-weight:700;position:relative}.calc-screen-error{color:#c0392b}.calc-keys{gap:7px;display:grid}.calc-key{--key:#3a3a3c;border:1px solid color-mix(in srgb, var(--key) 100%, black 35%);cursor:pointer;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--key) 100%, white 20%) 0%, var(--key) 48%, color-mix(in srgb, var(--key) 100%, black 16%) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--key) 100%, white 35%), 0 2px 0 color-mix(in srgb, var(--key) 100%, black 42%), 0 4px 6px #0000004d;-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:9px 2px;font-size:.74rem;font-weight:600;line-height:1.1;transition:transform 40ms,box-shadow 40ms;display:flex}.calc-key:active{background:linear-gradient(180deg, color-mix(in srgb, var(--key) 100%, black 6%) 0%, color-mix(in srgb, var(--key) 100%, black 18%) 100%);transform:translateY(2px);box-shadow:inset 0 1px 3px #00000073}.calc-key-sub{opacity:.8;font-size:.56rem;font-weight:500;display:block}.calc-key-wide{grid-column:span 2}.mf-root{flex-wrap:wrap;align-items:baseline;display:inline-flex}.calc-screen-expr .mf-root{justify-content:flex-end;width:100%;display:flex}.mf-slot{cursor:text;align-items:baseline;min-height:1.1em;display:inline-flex}.mf-token{align-items:baseline;display:inline-flex}.mf-zero{width:.5em;display:inline-block}.mf-zero:before{content:"0";opacity:.55}.mf-empty{vertical-align:middle;opacity:.38;border:1.5px dashed;border-radius:3px;width:1em;height:1.1em;margin:0 2px;display:inline-block}.mf-caret{vertical-align:middle;background:currentColor;width:1px;height:1em;margin:0 .5px;animation:1s step-end infinite mf-blink;display:inline-block}@keyframes mf-blink{50%{opacity:0}}.mf-frac{vertical-align:middle;flex-direction:column;align-items:stretch;margin:0 3px;font-size:.92em;display:inline-flex}.mf-frac .mf-slot{justify-content:center;min-width:.9em;padding:1px 2px}.mf-frac-bar{background:currentColor;align-self:stretch;height:1.5px;margin:1px 0}.mf-sqrt{align-items:flex-start;margin:0 2px;display:inline-flex}.mf-sqrt-symbol{margin-right:1px;font-size:1em;line-height:1.1}.mf-sqrt>.mf-slot{border-top:1.5px solid;margin-top:.1em;padding:0 3px 0 1px}.mf-pow{align-items:flex-end;margin:0 1px;display:inline-flex}.mf-pow-exp{margin-left:1px;font-size:.68em;transform:translateY(-.7em)}@media (max-width:900px){.workspace-row{flex-direction:column;align-items:center}.sheet-page-wrap,.calc-page-wrap{max-width:460px}}@media (max-width:480px){.sheet{padding:1.4rem 1.4rem 1.6rem}.calc-device{max-width:100%;padding:12px}.calc-key{padding:8px 2px;font-size:.68rem}}.wf-canvas-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);position:relative;overflow:hidden}.wf-canvas-toolbar{z-index:5;background:var(--white);border:1px solid var(--line-strong);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.72rem;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 1px 2px #0b18300f,0 10px 24px -16px #0b18304d}.wf-canvas-toolbar button{background:var(--paper-2);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:50%;width:1.7rem;height:1.7rem;font-size:.9rem;line-height:1}.wf-canvas-toolbar button:nth-child(4){letter-spacing:.03em;text-transform:uppercase;border-radius:999px;width:auto;padding:0 .7rem;font-size:.68rem}.wf-canvas-toolbar span{text-align:center;min-width:3ch;color:var(--steel)}.wf-canvas{cursor:grab;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:32px 32px;background-color:var(--paper);touch-action:none;height:min(70vh,640px);position:relative;overflow:hidden}.wf-canvas:active{cursor:grabbing}.wf-canvas-inner{transform-origin:0 0;width:2400px;height:1600px;position:absolute;top:0;left:0}.wf-connectors{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.wf-connector{fill:none;stroke:var(--brand-tint);stroke-width:2px}.wf-node{border:1px solid var(--line-strong);background:var(--white);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px;width:190px;position:absolute;box-shadow:0 1px 2px #0b18300d,0 12px 26px -16px #0b18304d}.wf-node:active{cursor:grabbing}.wf-node--readonly,.wf-node--readonly:active{cursor:pointer}.wf-node-head{font-family:var(--font-mono);background:var(--blueprint-900);color:var(--on-blueprint);border-radius:5px 5px 0 0;padding:.55rem .7rem;font-size:.78rem;font-weight:700}.wf-node--done .wf-node-head{background:#1f5c3a}.wf-node--in_progress .wf-node-head{background:var(--blueprint-700)}.wf-node--submitted .wf-node-head{background:#2f3f9e}.wf-node-body{flex-direction:column;gap:.35rem;padding:.6rem .7rem .7rem;font-size:.74rem;display:flex}.wf-node-assignee{align-items:center;gap:.4rem;font-weight:600;display:flex}.wf-node-status{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;background:var(--paper-2);color:var(--steel);border-radius:999px;align-self:flex-start;padding:.15rem .5rem;font-size:.62rem}.wf-node-status--in_progress{color:#8a5a00;background:#fbf0d9}.wf-node-status--submitted{color:#2f3f9e;background:#e2e7fb}.wf-node-status--done{color:#14633a;background:#e1f3e8}.wf-node-dates{font-family:var(--font-mono);color:var(--steel);font-size:.68rem}.wf-node-days{font-family:var(--font-mono);color:var(--brand);font-size:.68rem;font-weight:700}.wf-node-days.is-overdue{color:#8a2c2c}.wf-node-add{border:1px solid var(--line-strong);background:var(--white);width:1.4rem;height:1.4rem;color:var(--brand);cursor:pointer;border-radius:50%;font-size:.9rem;line-height:1;position:absolute;bottom:-.6rem;left:50%;transform:translate(-50%)}.wf-node-add--above{top:-.6rem;bottom:auto}.wf-canvas-toolbar span.wf-toolbar-divider{background:var(--line-strong);align-self:stretch;width:1px;min-width:0;margin:0 .1rem}.wf-connect-hint{color:var(--brand);white-space:nowrap;font-size:.68rem}.wf-node-connect{border:1px solid var(--line-strong);background:var(--white);width:1.3rem;height:1.3rem;color:var(--steel);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:-.6rem;right:-.6rem}.wf-node--connect-source{box-shadow:0 0 0 2px var(--brand)}.wf-node--connect-source .wf-node-connect{background:var(--brand);color:var(--on-blueprint);border-color:var(--brand)}.wf-node--connect-target:hover{box-shadow:0 0 0 2px var(--brand-tint);cursor:crosshair}.wf-link{fill:none;stroke:#b5860f;stroke-width:1.75px;stroke-dasharray:5 4}.wf-link-delete{background:var(--white);color:#b5860f;cursor:pointer;border:1px solid #b5860f;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-size:.7rem;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.wf-canvas-toolbar button.wf-activity-toggle{background:var(--paper-2);color:var(--ink);width:auto;height:1.7rem;font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.68rem;display:inline-flex}.wf-activity-count{background:var(--brand);color:var(--on-blueprint);border-radius:999px;place-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.62rem;display:inline-grid}.wf-activity-panel{width:min(100%,24rem)}.wf-activity-list{flex-direction:column;gap:.85rem;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.wf-activity-list li{border-bottom:1px solid var(--line);flex-direction:column;gap:.15rem;padding-bottom:.75rem;display:flex}.wf-activity-list li:last-child{border-bottom:none;padding-bottom:0}.wf-activity-message{font-size:.82rem;line-height:1.45}.wf-activity-message strong{font-weight:700}.wf-activity-time{font-family:var(--font-mono);color:var(--steel);font-size:.66rem}.wf-panel-overlay{z-index:90;background:#090d2273;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.wf-panel{background:var(--white);border-radius:var(--radius);width:min(100%,26rem);max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 30px 70px -20px #04061480}.wf-panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.wf-panel-head h3{font-size:1.1rem;font-weight:700}.wf-panel-title-input{border:none;border-bottom:1px solid var(--line-strong);flex:1;padding:.1rem 0;font-size:1.1rem;font-weight:700}.wf-panel-close{color:var(--steel);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.4rem;line-height:1}.wf-messages--floating{z-index:40;flex-direction:column;width:22rem;max-width:calc(100vw - 2rem);height:min(70vh,640px);display:flex;position:fixed;box-shadow:0 24px 60px -20px #090d2259}.wf-messages--floating .app-chat-messages{flex:1;max-height:none}.wf-chat-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.wf-chat-drag-handle:active{cursor:grabbing}.wf-chat-reset-pos{border:1px solid var(--line-strong);background:var(--white);color:var(--steel);cursor:pointer;border-radius:50%;width:1.8rem;height:1.8rem;font-size:.95rem;line-height:1}.wf-chat-reset-pos:hover{color:var(--ink)}@media (max-width:640px){.wf-messages--floating{width:100%;max-width:100%;height:24rem;margin-top:1.25rem;position:static}}.app-markup-shell{flex-direction:column;gap:1rem;max-width:78rem;padding:clamp(1.25rem,4vw,2.5rem);display:flex}.app-markup-head{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.app-markup-head h1{flex:1;margin:0;font-size:1.3rem;font-weight:700}.app-markup-page-nav{color:var(--steel);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.app-markup-toolbar{background:var(--paper-2);border-radius:var(--radius);border:1px solid var(--line-strong);flex-wrap:wrap;align-items:center;gap:.9rem;padding:.6rem .8rem;display:flex}.app-markup-tool-group{border-right:1px solid var(--line-strong);align-items:center;gap:.4rem;padding-right:.9rem;display:flex}.app-markup-tool-group:last-child{border-right:none;padding-right:0}.app-markup-tool-btn{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:flex}.app-markup-tool-btn svg{width:18px;height:18px}.app-markup-tool-btn:hover:not(:disabled){background:#0000000f}.app-markup-tool-btn.is-active{background:var(--brand);color:#fff}.app-markup-tool-btn:disabled{opacity:.35;cursor:default}.app-markup-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.app-markup-color-swatch.is-active{border-color:var(--ink);box-shadow:0 0 0 2px var(--paper-2)}.app-markup-canvas-wrap{border:1px solid var(--line-strong);border-radius:var(--radius);background:#78766c;justify-content:center;padding:2rem;display:flex;overflow:auto}.app-markup-canvas-wrap:focus{outline:none}.app-markup-page{line-height:0;display:inline-block;box-shadow:0 8px 30px #00000059}.app-markup-page canvas{display:block}.app-markup-overlay{touch-action:none;position:absolute;inset:0}.app-markup-cursor-select{cursor:default}.app-markup-cursor-highlight,.app-markup-cursor-rect,.app-markup-cursor-ellipse,.app-markup-cursor-line{cursor:crosshair}.app-markup-cursor-comment,.app-markup-cursor-highlight-text{cursor:text}.app-markup-cursor-cloud{cursor:crosshair}.app-markup-textlayer{line-height:1;position:absolute;inset:0;overflow:hidden}.app-markup-textlayer span{color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.app-markup-textlayer ::selection{background:#1c6dd059}.app-markup-compose-wrap{z-index:5;flex-direction:column;gap:.4rem;width:180px;display:flex;position:absolute}.app-markup-compose{resize:none;width:100%;min-height:3.2rem;font:inherit;background:#ffe066;border:1px solid #0000004d;border-radius:8px;padding:.5rem .6rem;font-size:.78rem;box-shadow:0 6px 16px #0000004d}.app-markup-compose-actions{justify-content:flex-end;gap:.4rem;display:flex}.app-markup-compose-actions .btn{min-height:30px;padding:0 .7rem;font-size:.76rem}.app-markup-send-panel{background:var(--paper-2);border-radius:var(--radius);border:1px solid var(--line-strong);flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1rem 1.2rem;display:flex}.app-markup-send-panel .app-field{flex:1;min-width:12rem}
