*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}.shell{max-width:var(--shell);margin:0 auto;padding:var(--space-lg) var(--space-lg) var(--space-3xl)}@media (max-width:640px){.shell{padding:var(--space-md) var(--space-md) var(--space-2xl)}}h1,h2,h3{font-family:var(--font-display);font-style:normal;letter-spacing:-.022em;color:var(--color-ink);margin:0;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-2xl);margin-bottom:var(--space-2xs)}h1,h2{font-weight:600;line-height:var(--leading-tight)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-md);font-weight:600;line-height:var(--leading-tight)}.section-head{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:var(--rule) solid var(--color-rule);font-size:var(--text-lg)}.sub{color:var(--color-ink-2);font-size:var(--text-base);max-width:var(--measure);margin:0 0 var(--space-lg)}.meta{font-size:var(--text-sm);color:var(--color-muted);margin:0}a{color:var(--color-accent-ink);text-underline-offset:2px}a:hover{color:var(--color-ink)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{border-radius:var(--radius-sm)}.subnav{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-lg);padding-bottom:var(--space-xs);border-bottom:var(--rule) solid var(--color-rule)}.subnav a{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.subnav a:hover{background:var(--color-paper-3);color:var(--color-ink)}.subnav a.active{background:var(--color-accent-wash);color:var(--color-accent-ink)}.grid{grid-gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}.grid,.stack{display:grid;gap:var(--space-md)}.stack{grid-gap:var(--space-md)}.card{background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-md) var(--space-lg) var(--space-md);box-shadow:var(--shadow-whisper);min-width:0}.card h3{margin-bottom:var(--space-2xs)}.row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.pay{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-accent-ink);white-space:nowrap}table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-whisper);overflow:hidden}td,th{text-align:left;padding:var(--space-xs) var(--space-sm);height:var(--row-h);border-bottom:var(--rule) solid var(--color-rule);vertical-align:middle}th{font-size:var(--text-xs);font-weight:600;letter-spacing:0;color:var(--color-ink-2);background:var(--color-paper-3);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--color-paper-3)}td:last-child,th:last-child{text-align:right}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:var(--rule) solid transparent;border-radius:var(--radius-sm);padding:0 var(--space-md);min-height:var(--control-h);font-family:inherit;font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);white-space:nowrap;cursor:pointer;text-decoration:none;background:var(--color-ink);color:var(--color-paper-2);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn.is-hover,.btn:hover{background:var(--color-ink-hover)}.btn.is-active,.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule-strong)}.btn.secondary.is-hover,.btn.secondary:hover{background:var(--color-paper-3);border-color:var(--color-ink-2)}.btn.danger{background:var(--color-critical);color:var(--color-paper-2)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;transform:none}.btn[data-state=loading]{cursor:progress;opacity:.75}.btn.apple{background:var(--color-ink-deep);color:var(--color-paper-2);border-color:transparent}.badge,.chip{display:inline-flex;align-items:center;gap:var(--space-3xs);font-size:var(--text-2xs);font-weight:600;letter-spacing:.01em;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-sunk);color:var(--color-ink-2);white-space:nowrap}.badge.ok,.chip-active,.chip-done{background:var(--color-positive-wash);color:var(--color-positive)}.badge.sla,.chip-desk{background:var(--color-caution-wash);color:var(--color-caution-ink)}.badge.danger{background:var(--color-critical-wash);color:var(--color-critical)}.chip-board{background:var(--color-accent-wash);color:var(--color-accent-ink)}.chip-nurse{background:var(--color-assigned-wash);color:var(--color-assigned)}.chip-off{background:var(--color-paper-sunk);color:var(--color-muted)}.tiles{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));margin-bottom:var(--space-lg)}.tile{background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-whisper);min-width:0}.tile__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-bottom:var(--space-xs);border-radius:var(--radius);background:var(--color-accent-wash);color:var(--color-accent-ink)}.tile__icon svg{width:1.125rem;height:1.125rem}.tile__delta{display:inline-flex;align-items:center;gap:var(--space-3xs);margin-top:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--color-positive-wash);color:var(--color-positive)}.tile__delta[data-trend=down]{background:var(--color-critical-wash);color:var(--color-critical-ink)}.tile .n{display:block;font-family:var(--font-display);font-size:var(--text-num);font-weight:600;line-height:1.05;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink)}.tile.accent .n{color:var(--color-accent-ink)}.tile.warn .n{color:var(--color-caution-ink)}.tile .t{display:block;margin-top:var(--space-3xs);font-size:var(--text-xs);color:var(--color-muted)}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--rule) solid var(--color-rule)}.controls .grow{flex:1 1 14rem;min-width:0}.input-money{width:7.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field-inline{align-items:center;font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap}.field,.field-inline{display:flex;gap:var(--space-2xs)}.field{flex-direction:column;margin-bottom:var(--space-sm);min-width:0}.field label{font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2)}input,select,textarea{font-family:inherit;font-size:var(--text-sm);min-height:var(--control-h);color:var(--color-ink);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);min-width:0;transition:border-color var(--dur-fast) var(--ease-out)}input:hover,select:hover,textarea:hover{border-color:var(--color-ink-2)}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:disabled,select:disabled,textarea:disabled{background:var(--color-paper-3);color:var(--color-muted);cursor:not-allowed}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-critical)}.form-grid{display:grid;grid-gap:0 var(--space-md);gap:0 var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.note{font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-paper-3);border:var(--rule) solid var(--color-rule);border-left:3px solid var(--color-rule-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);margin:0 0 var(--space-md)}.note.error{background:var(--color-critical-wash);border-color:var(--color-critical-rule);border-left-color:var(--color-critical);color:var(--color-critical-ink)}.note.warn{background:var(--color-caution-wash);border-color:var(--color-caution-rule);border-left-color:var(--color-caution);color:var(--color-caution-ink)}.note ul{margin:var(--space-2xs) 0 0;padding-left:var(--space-md)}.note li{font-size:var(--text-xs)}.empty{padding:var(--space-xl) var(--space-md);text-align:center;color:var(--color-muted);font-size:var(--text-sm);background:var(--color-paper-3);border:1px dashed var(--color-rule-strong);border-radius:var(--radius)}.proposal-banner{background:var(--color-caution-wash);border:var(--rule) solid var(--color-caution-rule);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-muted)}.timeline li .dot{width:9px;height:9px;border-radius:50%;background:var(--color-rule-strong);flex:none;position:relative;top:1px}.timeline li.done{color:var(--color-ink)}.timeline li.done .dot{background:var(--color-accent)}.steps{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-lg);font-size:var(--text-xs)}.steps span{padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);color:var(--color-muted)}.steps span.current{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper-2)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.page-head h1{margin:0}.page-head .sub{margin:var(--space-2xs) 0 0}.filters,.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.filters{align-items:center;margin-bottom:var(--space-md)}.filters .spacer{flex:1 1}.seg{display:inline-flex;border:var(--rule) solid var(--color-rule);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:0;background:var(--color-paper-2);color:var(--color-ink-2);font:inherit;font-size:var(--text-sm);padding:var(--space-2xs) var(--space-sm);min-height:34px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.seg button+button{border-left:var(--rule) solid var(--color-rule)}.seg button:hover{background:var(--color-paper-3);color:var(--color-ink)}.seg button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper-2)}.search-input{flex:1 1;min-width:12rem;max-width:22rem}.state{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap}.state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-rule-strong);flex:none}.state[data-state=published]:before{background:var(--color-positive)}.state[data-state=scheduled]:before{background:var(--color-caution)}.state[data-state=draft]:before{background:var(--color-rule-strong)}.state[data-state=archived]:before{background:var(--color-muted)}.auth-card{max-width:420px;margin:var(--space-xl) auto;background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-lift)}.auth-brand,.auth-card{display:flex;flex-direction:column;gap:var(--space-sm)}.auth-brand{align-items:center;padding:var(--space-xs) 0 var(--space-md)}.auth-brand picture{display:contents}.auth-brand img{width:100%;max-width:218px;height:auto}.auth-product{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.auth-subtitle{margin:var(--space-3xs) 0 var(--space-2xs);line-height:1.5}.auth-form{flex-direction:column}.auth-form,.auth-legal{display:flex;gap:var(--space-sm)}.auth-legal{flex-wrap:wrap}.auth-agree,.auth-legal{font-size:var(--text-xs)}.auth-agree{display:flex;align-items:flex-start;gap:var(--space-xs);line-height:1.5;color:var(--color-ink-2)}.auth-agree input{margin-top:2px;flex:none;accent-color:var(--color-accent)}.auth-error{font-size:var(--text-sm);color:var(--color-critical-ink);background:var(--color-critical-wash);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);margin:0}.auth-notice{border-top:var(--rule) solid var(--color-rule);padding-top:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted)}.auth-notice strong{display:block;margin-bottom:var(--space-3xs);color:var(--color-ink-2)}.auth-notice .meta{font-size:var(--text-xs);line-height:1.5}.home-links{display:grid;grid-gap:var(--space-md);gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.home-links a{text-decoration:none;color:inherit}.home-links a:hover .card{border-color:var(--color-accent)}@media (pointer:coarse){.btn,.subnav a,input,select,textarea{min-height:var(--tap-min)}.subnav a{display:inline-flex;align-items:center}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{body{visibility:hidden;background:var(--print-paper)}.no-print{display:none!important}#visit-note-bundle,#visit-note-bundle *{visibility:visible}#visit-note-bundle{position:absolute;left:0;top:0;width:100%;background:var(--print-paper);color:var(--print-ink);border:0;box-shadow:none;padding:0}#visit-note-bundle .meta{color:var(--print-meta)}}.order-list{list-style:none;margin:0;padding:0;gap:var(--space-xs)}.order-list,.order-list a{display:flex;flex-direction:column}.order-list a{gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);border:var(--rule) solid var(--color-rule);border-radius:var(--radius);background:var(--color-paper-2);text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out)}.order-list a:hover{background:var(--color-paper-3)}.order-list__status{font-weight:600;color:var(--color-ink)}.order-list__items,.order-list__track{font-size:var(--text-sm);color:var(--color-ink-2)}.order-list__track{font-family:var(--font-mono);font-size:var(--text-xs)}.catalog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.catalog li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.catalog label{display:flex;flex-direction:column;gap:var(--space-3xs);font-size:var(--text-sm)}.catalog__price{font-size:var(--text-xs);color:var(--color-muted)}.catalog input{width:5rem;flex:none}.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lines li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm)}.lines__total{margin-top:var(--space-2xs);padding-top:var(--space-2xs);border-top:var(--rule) solid var(--color-rule);font-weight:600;color:var(--color-ink)}.progress{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.progress li{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted)}.progress li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-rule-strong);flex:none}.progress li[data-done=true]{color:var(--color-ink)}.progress li[data-done=true]:before{background:var(--color-positive)}.sigpad{border:var(--rule) solid var(--color-rule);border-radius:var(--radius);background:var(--color-paper-2);overflow:hidden}.sigpad__canvas{display:block;width:100%;height:10rem;color:var(--color-ink);touch-action:none;cursor:crosshair}.sigpad__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-top:var(--rule) solid var(--color-rule);font-size:var(--text-xs);color:var(--color-muted)}.agreement-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:26rem;overflow-y:auto;padding:var(--space-md);border:var(--rule) solid var(--color-rule);border-radius:var(--radius);background:var(--color-paper-sunk);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;margin:0}.task-phase{margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md) var(--space-md);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-whisper)}.task-phase legend{padding:0 var(--space-2xs);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.task-list{list-style:none;margin:0;padding:0}.task-row{display:flex;align-items:flex-start;gap:var(--space-sm);min-height:var(--tap-min);padding:var(--space-2xs) var(--space-2xs);border-radius:var(--radius-sm);color:inherit;text-decoration:none;cursor:pointer}.task-row:hover{background:var(--color-paper-3)}.task-row input[type=checkbox]{flex:none;min-height:0;width:1.25rem;height:1.25rem;margin-top:.15em;accent-color:var(--color-accent)}.task-row__label{font-size:var(--text-base);color:var(--color-ink)}.task-row__mark{flex:none;width:1.25rem;text-align:center;color:var(--color-muted);font-weight:600}.task-row__mark[data-complete=true]{color:var(--color-positive)}.thread{display:flex;flex-direction:column;gap:var(--space-xs);max-height:60vh;overflow-y:auto;padding:var(--space-sm);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-whisper)}.bubble{max-width:min(42rem,85%);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);background:var(--color-paper-3)}.bubble[data-mine=true]{align-self:flex-end;background:var(--color-accent-wash)}.bubble__who{margin:0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.bubble__body{margin:var(--space-3xs) 0;font-size:var(--text-base);overflow-wrap:anywhere}.bubble__at{margin:0;font-size:var(--text-2xs);color:var(--color-muted)}.composer{display:flex;align-items:flex-end;gap:var(--space-xs);margin-top:var(--space-sm)}.composer textarea{flex:1 1;min-width:0;resize:vertical}.doc-section{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-whisper);scroll-margin-top:calc(var(--header-h) + var(--space-md))}.doc-section>.row{align-items:baseline}.doc-section h2{font-size:var(--text-md)}.doc-group{margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm) var(--space-sm);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-sm);min-width:0}.doc-group legend{padding:0 var(--space-2xs);font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2)}.steps{list-style:none}.steps li{display:contents}.card-queue{display:grid;grid-gap:var(--space-md);gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));margin:0;padding:0;list-style:none}