.mask{max-width:900px;margin:0 auto}.mask-head h1{margin-bottom:.25rem}.mask-head p{margin-top:0}.mask-empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;background:var(--panel);padding:1.25rem}.ctx-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:stretch;gap:.75rem;margin-bottom:1rem;display:grid}.ctx-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.ctx-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.25rem .3rem .25rem .6rem;font-size:11px;display:flex}.ctx-client .ctx-kind{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.ctx-campaign .ctx-kind{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.ctx-body{flex:1;min-width:0;padding:.6rem}.ctx-thumb{aspect-ratio:4/3;object-fit:cover;background:var(--bg);border-radius:6px;width:100%;height:auto;margin-bottom:.5rem;display:block}.ctx-doc-strip{border:1px dashed var(--line);background:var(--bg);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-radius:6px;margin-bottom:.5rem;padding:.3rem .5rem;font-size:10px;display:block}.ctx-logo{object-fit:contain;object-position:left center;max-width:100%;height:42px;margin:.6rem 0 .9rem;display:block}.ctx-title{overflow-wrap:anywhere;font-weight:600}.ctx-role{color:var(--accent);margin-top:.1rem;font-size:12px;font-weight:600}.ctx-note{color:var(--ink);margin:.35rem 0 0;font-size:12px}.ctx-selection{color:var(--ink);margin:.4rem 0 0;font-size:11px}.ctx-selection .muted{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ctx-note{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ctx-actions{border-top:1px solid var(--line);background:var(--bg);gap:.4rem;padding:.5rem .6rem;display:flex}.composer{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;display:flex}.composer-plus{position:relative}.plus-btn,.submit-btn{border-radius:50%;place-items:center;width:38px;height:38px;padding:0;font-size:20px;line-height:1;display:grid}.plus-btn{color:var(--accent);border:1px solid var(--accent);background:0 0}.plus-menu{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:150px;display:flex;position:absolute;bottom:46px;left:0;overflow:hidden;box-shadow:0 8px 24px #10182824}.plus-menu button{color:var(--ink);text-align:left;background:0 0;border:none;border-radius:0;padding:.55rem .8rem}.plus-menu button:hover{background:var(--bg);filter:none}.plus-menu button+button{border-top:1px solid var(--line)}.composer-input{resize:none;font:inherit;min-height:38px;max-height:40vh;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:.5rem .25rem;line-height:1.35;overflow-y:auto}.mask-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-top:.7rem;padding:0 .4rem;display:flex}.mask-name{align-items:center;gap:.5rem;display:flex}.mask-name input{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:16rem;padding:.25rem .5rem}.format-chips{flex-wrap:wrap;gap:.4rem;display:flex}.format-chip{border:1px solid var(--line);color:var(--muted);background:var(--panel);border-radius:999px;align-items:center;gap:.35rem;padding:.1rem .3rem;font-size:12px;display:inline-flex}.format-chip.active{border-color:var(--accent);color:var(--ink)}.format-chip .step{width:20px;height:20px;color:var(--muted);background:0 0;border:none;border-radius:50%;padding:0;font-size:14px;line-height:1}.format-chip .step:hover:not(:disabled){color:var(--accent);filter:none}.format-name{font-variant-numeric:tabular-nums}.modal-backdrop{z-index:60;place-items:center;padding:2rem 1rem;display:grid;position:fixed;inset:0}.modal-scrim{cursor:default;background:#10182873;border:none;border-radius:0;padding:0;position:absolute;inset:0}.modal-scrim:hover{filter:none}.modal{background:var(--panel);border-radius:12px;flex-direction:column;width:min(560px,100%);max-height:86vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 48px #10182847}.modal-wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;display:flex}.modal-head h2{margin:0;font-size:1.05rem}.modal-head p{margin:.15rem 0 0;font-size:12px}.modal-body{padding:1rem;overflow:auto}.modal-foot{border-top:1px solid var(--line);background:var(--bg);justify-content:flex-end;align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;padding:0 .25rem;font-size:20px;line-height:1}.icon-btn:hover{color:var(--ink);filter:none}.btn-quiet{border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;padding:.35rem .7rem;font-size:13px;text-decoration:none;display:inline-flex}.btn-quiet:hover{border-color:var(--accent);color:var(--accent);filter:none}.btn-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.pick-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.75rem 0 .35rem;font-size:11px}.pick-list{margin:0;padding:0;list-style:none}.pick-row{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);border-radius:var(--radius);background:0 0;align-items:center;gap:.7rem;margin-bottom:.4rem;padding:.5rem .6rem;display:flex}.pick-row:hover{border-color:var(--accent);background:var(--bg);filter:none}.pick-text{flex-direction:column;flex:1;min-width:0;display:flex}.pick-text .muted{font-size:12px}.pick-thumb{object-fit:cover;background:var(--bg);border-radius:6px;flex:none;width:46px;height:46px}.pick-thumb-doc{letter-spacing:.08em;color:var(--muted);border:1px dashed var(--line);place-items:center;font-size:10px;display:grid}.pick-logo{object-fit:contain;flex:none;width:74px;height:34px}.role-preview{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-height:190px;margin-bottom:.75rem;display:block}.role-excerpt{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);max-height:150px;margin:0 0 .75rem;padding:.5rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:auto}.role-grid{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.role-chip{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;padding:.25rem .7rem;font-size:12px}.role-chip:hover{border-color:var(--accent);filter:none}.role-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.role-effect{margin:0 0 .8rem;font-size:12px}.pill-effect-image_reference{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.pill-effect-negative_reference{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.pill-effect-constraint,.pill-effect-directive,.pill-effect-copy,.pill-effect-targeting{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.field{margin-bottom:.9rem;display:block}.field.inline{margin-right:.75rem;display:inline-block}.field-label{margin-bottom:.25rem;font-size:12px;font-weight:600;display:block}.mask-name .field-label{white-space:nowrap;color:var(--muted);margin:0;font-weight:500}.field textarea,.field input{width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);resize:vertical;padding:.5rem .6rem}.field input[type=number]{width:120px}.two-col{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.asset-select{border-top:1px solid var(--line);padding-top:.75rem}.asset-picker{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.asset-pick{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);text-align:left;opacity:.55;background:0 0;padding:.25rem}.asset-pick.active{border-color:var(--accent);opacity:1;filter:none}.asset-pick:hover{filter:none;opacity:.85}.asset-pick img{object-fit:cover;border-radius:4px;width:100%;height:90px;display:block}.asset-pick-label{margin-top:.25rem;font-size:11px;display:block}.payload-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem;padding-bottom:.6rem;display:flex}.payload-provider{font-weight:700}.payload-estimate{font-variant-numeric:tabular-nums}.payload-warnings{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:0 var(--radius) var(--radius) 0;margin:0 0 1rem;padding:.6rem .8rem;font-size:13px;list-style:none}.payload-section-head{justify-content:space-between;align-items:center;display:flex}.prompt-sections{margin:0 0 1rem;padding:0;list-style:none}.prompt-section{border-left:3px solid var(--line);margin-bottom:.5rem;padding:.4rem 0 .4rem .7rem}.prompt-section p{white-space:pre-wrap;margin:.2rem 0 0}.prompt-section.src-client{border-left-color:var(--accent)}.prompt-section.src-brief{border-left-color:var(--ok)}.prompt-section.src-context{border-left-color:#b98900}.prompt-section.src-feedback{border-left-color:var(--danger)}.prompt-label{align-items:center;gap:.45rem;font-size:13px;font-weight:600;display:flex}.pill-src-client{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.pill-src-brief{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.pill-src-context{color:#8a6800;background:#b9890024}.pill-src-feedback{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.pill-src-system{color:#6b7280;background:#eceff2}.payload-raw,.payload-negative{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.payload-outputs{padding-left:1.1rem}.ref-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;display:grid}.ref{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);text-align:left;cursor:pointer;flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.ref:hover{border-color:var(--accent);filter:none}.ref img{object-fit:cover;width:100%;height:110px;display:block}.ref-negative img{filter:grayscale(.85)}.ref-negative{border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.ref-caption{flex-direction:column;gap:.1rem;padding:.4rem .5rem;font-size:11.5px;display:flex}.ref-role{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:10px;font-weight:700}.ref-negative .ref-role{color:var(--danger)}.ref-weight{font-variant-numeric:tabular-nums;color:var(--muted)}.ref-note{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:.75rem;display:flex}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-head h2,.section-head p{margin:.6rem 0}button.swatch,.font-row{border-radius:var(--radius);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;padding:.25rem}button.swatch:hover,.font-row:hover{border-color:var(--accent);filter:none}.font-list li{margin-bottom:.15rem}.font-row{width:100%;font:inherit;padding:.35rem .5rem;display:block}.font-row .pill{margin-top:.2rem;display:inline-block}.color-edit{align-items:flex-start;gap:.9rem;margin-bottom:.5rem;display:flex}.color-well{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:0 0;flex:none;width:76px;height:76px;padding:0}.color-edit-fields{flex:1;grid-template-columns:1fr 1fr;gap:0 .75rem;display:grid}.font-file{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.font-specimen{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);margin:0;padding:.7rem .8rem;font-size:1.25rem;line-height:1.4}.btn-quiet.btn-destructive{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));color:var(--danger);background:0 0;margin-right:auto}.btn-quiet.btn-destructive:hover{border-color:var(--danger);color:var(--danger)}.asset-actions{flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.5rem;display:flex}.client-head{align-items:center;gap:1rem;display:flex}.client-logo{object-fit:contain;height:40px}.client-row{align-items:center;gap:1rem;display:flex}.identity section{margin-bottom:1.25rem}.swatches{flex-wrap:wrap;gap:.75rem;display:flex}.swatch{grid-template-columns:auto;width:132px;font-size:11px;display:grid}.swatch-chip{border:1px solid var(--line);border-radius:6px;height:40px;margin-bottom:.25rem}.swatch-name{font-size:12px;font-weight:600}.swatch-usage{line-height:1.3}.plain{margin:0;padding:0;list-style:none}.campaign-row{align-items:center;gap:1rem;display:flex}.campaign-thumb{object-fit:cover;border-radius:6px;flex:none;width:54px;height:54px}.campaign-row .campaign-title{flex-direction:column;flex:1;min-width:0;display:flex}.campaign-row .campaign-title .sub{color:var(--muted);font-size:12px}.campaign-figures{flex-direction:column;align-items:flex-end;min-width:10rem;display:flex}.brief-text{white-space:pre-wrap;border-left:3px solid var(--accent);padding-left:.75rem}.pill-cstatus-active,.pill-cstatus-live{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.pill-cstatus-paused{background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.pill-cstatus-draft,.pill-cstatus-done,.pill-cstatus-generated,.pill-cstatus-scheduled{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted)}.pill-kind-client,.pill-kind-file,.pill-kind-campaign,.pill-brand-logo,.pill-brand-style_reference,.pill-brand-product_shot{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.pill-brand-negative_example{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.iteration-block{margin-bottom:1.5rem}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:stretch;gap:.75rem;display:grid}.asset-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;padding:0;display:flex;overflow:hidden}.asset-card:hover{border-color:var(--accent);filter:none}.asset-card img.contain,.pick-thumb.contain{object-fit:contain;background:var(--bg);padding:.4rem}.asset-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.asset-meta{flex-direction:column;flex:1;gap:.15rem;padding:.5rem .6rem;font-size:12px;display:flex}.asset-label{font-weight:600}.asset-ctr{font-variant-numeric:tabular-nums;color:var(--ok)}.brand-asset .asset-meta .btn-quiet{align-self:flex-start;margin-top:.3rem}.brand-asset .pill{align-self:flex-start}.asset-detail{grid-template-columns:minmax(0,320px) 1fr;gap:1rem;margin-bottom:1rem;display:grid}.asset-detail-img{border-radius:var(--radius);width:100%;display:block}.kv{grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:0 0 .75rem;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv-tight{margin-bottom:.5rem;font-size:12.5px}.kv code{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 .25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.kv dd{margin:0}.prov-list{margin:0 0 1rem;padding:0;list-style:none}.prov-list li{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.35rem;padding:.4rem .6rem;font-size:13px}.prov-list .pill{margin-right:.4rem}.kpi-row{flex-wrap:wrap;gap:1.25rem 2.25rem;padding:.5rem 0 1rem;display:flex}.kpi{flex-direction:column;gap:.1rem;display:flex}.kpi .kpi-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:600}.kpi .kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.table-scroll{overflow-x:auto}.perf-table{border-collapse:collapse;width:100%;margin-bottom:1.25rem;font-size:13px}.perf-table th,.perf-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.4rem .6rem}.perf-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.perf-table .num{text-align:right;font-variant-numeric:tabular-nums}.row-thumb{object-fit:cover;vertical-align:middle;border-radius:4px;width:26px;height:26px;margin-right:.45rem}.lineage{margin:0;padding:0;list-style:none}.lineage-item{border-left:2px solid var(--line);margin-left:.75rem;padding:0 0 1.25rem 1rem;position:relative}.lineage-head{align-items:center;gap:.6rem;display:flex}.lineage-head>div{flex:1}.lineage-n{background:var(--accent);width:1.6rem;height:1.6rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;left:-.85rem}.feedback-quote{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 5%, transparent);border-radius:0 var(--radius) var(--radius) 0;padding:.4rem .7rem;font-style:italic}.diff{margin:.5rem 0;padding:0;font-size:13px;list-style:none}.diff li{padding:.15rem 0}.diff-sign{width:1.1rem;font-weight:700;display:inline-block}.diff-added .diff-sign{color:var(--ok)}.diff-removed .diff-sign{color:var(--danger)}.diff-changed .diff-sign{color:#b98900}.lineage-assets{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.lineage-assets img{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:62px;height:78px}.feedback-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);margin-top:1rem;padding:.9rem 1rem}.feedback-box h2{margin-top:0}.feedback-box textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius);resize:vertical;padding:.5rem .6rem}.meta-campaign{background:color-mix(in srgb, var(--accent) 5%, transparent);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));border-radius:var(--radius);margin-bottom:1rem;padding:.85rem 1rem}.meta-campaign h2{margin:0 0 .6rem}.meta-level{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .5rem;font-size:11px}.delivery-set{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);margin-bottom:.75rem;padding:.7rem .85rem}.delivery-set-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.delivery-set .lineage-assets{border-top:1px dashed var(--line);padding-top:.5rem}.schedule-none{border:1px dashed var(--line);border-radius:var(--radius);margin:1rem 0;padding:.6rem .9rem;font-size:13px}.schedule-box{border:1px dashed var(--accent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 4%, transparent);margin:1rem 0;padding:.75rem .9rem}.companion-note{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink);padding:.5rem .75rem;font-size:13px}@media (width<=720px){.asset-detail,.two-col{grid-template-columns:1fr}}:root{--bg:#f6f7f9;--panel:#fff;--ink:#1c2128;--muted:#6b7280;--line:#e4e7eb;--accent:#2f4858;--accent-ink:#fff;--danger:#b4232c;--ok:#1f7a4d;--radius:8px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.app{min-height:100vh}.topbar{background:var(--accent);color:var(--accent-ink);align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.brand{letter-spacing:.01em;color:var(--accent-ink);font-weight:700;text-decoration:none}.env-tag{text-transform:uppercase;letter-spacing:.08em;background:#ffffff2e;border-radius:999px;padding:.1rem .45rem;font-size:11px}.topnav{gap:1rem;margin-right:auto;display:flex}.rt-list{margin-top:1rem}.rt-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:.5rem;overflow:hidden}.rt-head{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.rt-head:hover{background:var(--bg)}.rt-caret{color:var(--muted);width:1ch}.rt-detail{border-top:1px solid var(--line);padding:.4rem .8rem .8rem}.content{max-width:980px;margin:0 auto;padding:1.5rem 1.5rem 110px}body[data-butler-preview=true] .content{padding-bottom:260px}h1{margin:.2rem 0 1rem;font-size:1.4rem}h2{margin:1.25rem 0 .6rem;font-size:1.05rem}a{color:#1f5f8b}.topnav a{color:var(--accent-ink);opacity:.85;font-size:14px;text-decoration:none}.topnav a:hover{opacity:1;text-decoration:underline}.muted{color:var(--muted)}.error{color:var(--danger)}.notice{border-radius:var(--radius);color:var(--ok);background:#eef4f1;border:1px solid #cfe3d8;padding:.5rem .75rem}.notice.is-error{color:var(--danger);background:#fbecec;border-color:#eccaca}.crumbs{color:var(--muted);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:13px;display:flex}.list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.list-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);align-items:center;gap:.75rem;padding:.7rem .9rem;text-decoration:none;display:flex}.list-row:hover{border-color:#c7ccd1}.list-title{flex:1;font-weight:600}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin:.5rem 0 1rem;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem .9rem;font-size:14px}.tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.panel,.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.login-card{text-align:center;max-width:22rem;margin:12vh auto 0}.login-card h1{margin:0 0 .25rem}.login-card p{color:var(--muted);margin:0 0 1.25rem}.login-form{flex-direction:column;gap:.6rem;display:flex}.login-form input{border:1px solid var(--line);border-radius:var(--radius);font:inherit;padding:.55rem .75rem}.login-submit{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:inherit;cursor:pointer;border:0;padding:.6rem 1.1rem;text-decoration:none;display:inline-block}.login-submit:hover{filter:brightness(1.1)}.login-submit:disabled{opacity:.6;cursor:default}.login-error{color:var(--danger)}.pill{text-transform:uppercase;letter-spacing:.04em;color:#44505c;white-space:nowrap;background:#eceff2;border:1px solid #0000;border-radius:999px;padding:.12rem .5rem;font-size:11px}.pill-finalized,.pill-published{color:var(--ok);background:#e2f0e8}.pill-draft{color:#9a6700;background:#fdf3e2}.pill-revoked{color:var(--danger);background:#fbe3e4}.pill-scheduled,.pill-unpublished{color:#2a4bb8;background:#e7ecfb}button.pill{font-family:inherit}button.pill.pill-action{border-color:var(--accent);color:var(--accent);cursor:pointer;background:0 0}button.pill.pill-action:hover{background:#eef2fd}button.pill.pill-action.pill-armed{background:var(--accent);color:var(--accent-ink)}.pill-arrow{opacity:.65;margin-left:.3rem;font-weight:700}.pill-muted{color:#9aa6b2;background:#eceff2}.dots:after{content:"";animation:1.4s step-end infinite dots-cycle}.dots{text-align:left;width:1.1em;display:inline-block}@keyframes dots-cycle{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.prov-manual{color:#2a4bb8;background:#e7ecfb}.prov-computed,.prov-api_on_demand{color:#44505c;background:#eceff2}.prov-scheduled{color:#9a6700;background:#fdf3e2}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);cursor:pointer;padding:.45rem .9rem}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--accent);background:0 0}button.danger{background:var(--danger);border-color:var(--danger)}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.client-danger{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.25rem}.client-danger .hint{color:var(--muted);margin:0 0 .6rem;font-size:.85rem}.butler-download{color:var(--accent);margin-top:.25rem;font-size:12px;display:inline-block}.report-head{align-items:center;gap:.75rem;display:flex}.field{flex-direction:column;gap:.25rem;margin-bottom:.6rem;display:flex}.field.inline{flex-direction:row;align-items:center;gap:.5rem}.refresh-first{cursor:pointer;margin-bottom:0}.refresh-first input[type=checkbox]{cursor:pointer;border:none;width:auto;margin:0;padding:0}.data-freshness{margin:.1rem 0 0}.field>span{color:var(--muted);font-size:13px}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:.4rem .5rem}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 8\" fill=\"none\" stroke=\"%236b7280\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 1.5 6 6.5 11 1.5\"/></svg>");background-position:right .6rem center;background-repeat:no-repeat;background-size:.7rem;padding-right:1.8rem}textarea{resize:vertical;font-family:ui-monospace,SF Mono,Menlo,monospace}code{color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.gate{border-left:3px solid #9a6700;margin:1rem 0;padding:.5rem 0 .6rem 1.1rem}.gate-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.1rem 1rem;display:grid}.gate-grid .field{margin-bottom:0}.gate-grid .field input{margin-top:auto}.preview-frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:70vh}.share-detail{flex-direction:column;gap:.6rem;display:flex}.share-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.share-links{gap:1rem;display:flex}.share-controls{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.grid{border-collapse:collapse;width:100%;font-size:13px}.grid th,.grid td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.4rem .6rem}.grid th{color:var(--muted);font-weight:600}.row-actions{justify-content:flex-end;gap:.4rem;display:flex}.row-actions button{padding:.2rem .6rem;font-size:12px}.vgroups-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.vgroups-bar .ghost{padding:.2rem .6rem;font-size:12px}.vgroups-filter{flex:1;min-width:9rem;max-width:18rem;padding:.3rem .5rem;font-size:13px}.entry-mode{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px;display:inline-flex}.entry-mode button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.2rem .7rem;font-size:12px}.entry-mode button.on{background:var(--accent);color:var(--accent-ink)}.badge-derived{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.02rem .4rem;font-size:11px}.badge-source{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.02rem .4rem;font-size:11px}.badge-integrity{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.02rem .4rem;font-size:11px}.badge-integrity.warn{color:#8a5a00;background:#fdf2e0;border:1px solid #f0d9a8}.badge-integrity.danger{color:var(--danger);background:#fbecec;border:1px solid #eccaca}.badge-account{color:var(--accent);background:#eef2f6;border:1px solid #d7dee6;border-radius:999px;padding:.02rem .45rem;font-size:11px}.accounts{margin-bottom:1rem}.accounts-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.account-list{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.account-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;display:flex}.account-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.account-actions{flex:none;gap:.5rem;display:flex}.account-item{flex-direction:column;display:flex}.account-disclosure{min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:.5rem;padding:0;display:flex}.account-disclosure.no-toggle{cursor:default}.account-disclosure.no-toggle .vgroup-caret{visibility:hidden}.account-metrics{border-left:1px solid var(--line);flex-direction:column;gap:.25rem;margin:.35rem 0 0 1.6rem;padding:.35rem 0 0 .6rem;list-style:none;display:flex}.account-metrics li{align-items:center;gap:.5rem;font-size:13px;display:flex}.account-metrics .muted{margin-left:auto;font-size:12px}.account-overrides{border-left:1px solid var(--line);margin:.35rem 0 .2rem 1.6rem;padding:.35rem 0 0 .6rem}.account-overrides .hint{margin:0 0 .3rem}.account-overrides .account-metrics{border-left:none;margin-left:0;padding-left:0}.capture-schedule{margin-bottom:1.5rem}.capture-schedule .hint{margin:.2rem 0 .6rem}.capture-cadence{flex:none;align-items:center;margin-bottom:0}.capture-cadence>span{color:var(--muted);font-size:13px}.account-overrides .capture-cadence{margin-left:auto}.connect-account{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.75rem .9rem .9rem}.connect-account .hint{margin:0 0 .6rem}.connect-token{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.connect-token .field{flex:18rem;margin-bottom:0}.connect-token .actions{margin:0}.connectable-list{margin-top:.9rem}.hint{color:var(--muted);font-size:.85rem}.vgroup-empty{margin:.2rem 0 .2rem .3rem;font-size:12px;font-style:italic}.vgroup-head{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.vgroup-caret{width:1ch;color:var(--muted);flex:none}.vgroup-title{font-weight:600}.vgroup-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.vgroup-body{border-left:1px solid var(--line);margin-left:.75rem;padding-left:.6rem}.value-row{border-top:1px solid var(--line);align-items:center;gap:.75rem;padding:.35rem .5rem;font-size:13px;display:flex}.value-row.is-editing{background:#f0f4f8}.vr-period{width:12rem}.vr-value{min-width:6rem;font-weight:600}.value-row .row-actions,.vr-locked{margin-left:auto}.edit-row{background:#f0f4f8;border-radius:6px;margin:.3rem 0;padding:.6rem .7rem .75rem}.entry{margin-bottom:1.5rem}.metric-form-toggle{margin-bottom:1rem}.client-picker{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 .6rem;padding:.6rem .8rem .8rem;display:flex}.client-picker legend{color:var(--muted);padding:0 .3rem;font-size:13px}.client-picker .field.inline{margin-bottom:0}.entry-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));align-items:end;gap:.6rem;margin-bottom:.6rem;display:grid}.butler-dock{z-index:50;background:var(--panel);border-top:1px solid var(--line);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #10182814}.dock-log{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:.55rem;padding:.55rem 1.25rem;transition:height .26s cubic-bezier(.4,0,.2,1),padding .26s cubic-bezier(.4,0,.2,1);display:flex;overflow-y:auto}.dock-log.is-hidden{border-bottom:none;height:0;padding-top:0;padding-bottom:0;overflow:hidden}.dock-log.is-open{height:max(60vh,450px)}.dock-empty{color:var(--muted);margin:0;font-size:13px}.dock-preview{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:.5rem;max-height:30vh;padding:.6rem 1.25rem;display:flex;overflow-y:auto}.butler-msg{max-width:88%;font-size:14px;line-height:1.45}.butler-msg.you{background:var(--accent);color:var(--accent-ink);border-radius:12px 12px 2px;align-self:flex-end;padding:.4rem .7rem}.butler-msg.butler{align-self:flex-start}.butler-msg.muted{color:var(--muted)}.butler-actions{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:11px}.butler-action{text-underline-offset:2px;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dock-bar{flex:none;align-items:center;gap:.75rem;height:56px;padding:0 1rem;display:flex}.dock-seg{background:var(--bg);border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;min-height:36px;padding:2px;display:inline-flex}.dock-seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.3rem .85rem;font-size:13px;transition:background .18s,color .18s}.dock-seg button.on{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow)}.dock-center{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.dock-input{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:.15rem;width:100%;height:36px;padding:0 .25rem 0 .3rem;transition:border-color .18s,background .18s;display:flex}.dock-input:focus-within{border-color:var(--accent);background:var(--panel)}.dock-input input{min-width:0;height:100%;font:inherit;background:0 0;border:none;flex:1;padding:0 .35rem}.dock-input input:focus{outline:none}button.dock-attach{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;padding:0;font-size:15px;transition:background .18s}button.dock-attach:hover:not(:disabled){background:var(--line)}button.dock-attach:disabled{opacity:.45;cursor:default}.dock-send{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:background .18s,color .18s;display:flex}.dock-send:disabled{background:var(--line);color:var(--muted);cursor:default}.dock-attachments{background:var(--bg);align-items:center;gap:.5rem;padding:.4rem 1rem;display:flex;overflow-x:auto}.dock-attach-chip{background:var(--panel);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:12px;display:inline-flex}.dock-attach-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;line-height:1}.dock-task{background:var(--bg);align-items:flex-start;gap:.6rem;padding:.55rem 1rem;font-size:13px;display:flex}.dock-task-q{min-width:0;color:var(--ink);white-space:pre-wrap;flex:1;max-height:32vh;line-height:1.5;overflow-y:auto}.dock-task-x{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 .15rem;font-size:18px;line-height:1}.dock-task-x:hover{color:var(--ink)}.dock-confirm{align-items:center;gap:.5rem;width:100%;height:36px;display:flex}.dock-confirm-label{color:var(--muted);flex:1;font-size:13px}.dock-confirm button{background:var(--accent);color:var(--accent-ink);cursor:pointer;height:30px;font:inherit;border:none;border-radius:999px;flex:none;padding:0 1.1rem}.dock-confirm button.ghost{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.dock-voice-answer{align-items:center;gap:.5rem;margin-left:.75rem;display:inline-flex}.dock-voice-answer button{background:var(--accent);color:var(--accent-ink);cursor:pointer;font:inherit;border:none;border-radius:999px;flex:none;padding:.3rem .9rem;font-size:13px}.dock-voice-answer button.ghost{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.butler-orb-wrap{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:0;display:flex;position:relative}.butler-orb-wrap:disabled{cursor:default}.butler-orb{will-change:font-size, filter;line-height:1;transition-property:font-size,filter;transition-timing-function:ease-in-out;display:block}.butler-orb-wrap.is-listening .butler-orb{filter:drop-shadow(0 0 1.5px var(--ok)) drop-shadow(0 0 1.5px var(--ok))}.butler-orb-activity{pointer-events:none;font-size:15px;line-height:1;animation:1.4s ease-in-out infinite dock-pulse;position:absolute;top:-2px;left:calc(50% + .85em)}@keyframes dock-pulse{0%,to{opacity:.55}50%{opacity:1}}.dock-thinking{font-size:20px;animation:1.4s ease-in-out infinite dock-pulse}.dock-right{flex:none;align-items:center;gap:.5rem;display:flex}.dock-tasks{gap:.3rem;display:flex}.dock-clear{z-index:2;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;flex:none;align-self:flex-end;padding:.2rem .6rem;font-size:12px;position:sticky;top:0}.dock-clear:hover{color:var(--ink);border-color:#c7ccd1}.dock-offline{color:#9a6700;background:#fdf3e2;padding:.4rem 1rem;font-size:13px}.butler-dock[data-offline=true] .dock-seg,.butler-dock[data-offline=true] .dock-bar>.dock-attach,.butler-dock[data-offline=true] .dock-center{opacity:.55;filter:grayscale(.8);pointer-events:none}.dock-toggle{border:1px solid var(--line);background:var(--bg);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .18s,color .18s,border-color .18s;display:flex}.dock-toggle:hover{color:var(--ink);border-color:var(--muted)}.dock-toggle svg{transition:transform .22s;display:block}.dock-toggle[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.dock-toggle[aria-pressed=true] svg{transform:rotate(180deg)}.pill-running{color:#9a6700;background:#fdf3e2}.pill-needs_input,.pill-needs_confirmation{color:var(--danger);background:#fbe3e4}@media (width<=640px){.dock-log.is-open{height:calc(100dvh - 56px)}.content{padding-left:.85rem;padding-right:.85rem}.topbar{padding:.6rem .85rem}h1{font-size:22px}.dock-bar{gap:.45rem;padding:0 .6rem}.dock-seg button{padding:.3rem .6rem;font-size:12px}.dock-log{padding-left:.85rem;padding-right:.85rem}.dock-attachments{padding:.4rem .85rem}.dock-empty{font-size:12px}}.app-switcher{gap:.375rem;margin-right:.5rem;display:inline-flex}.app-chip{color:var(--accent-ink);opacity:.85;border:1px solid #ffffff59;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;text-decoration:none}.app-chip-active{opacity:1;background:#ffffff29;border-color:#fff9}
