@font-face{font-family:Plex;src:url(fonts/ibm-plex-sans-400.ttf);font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url(fonts/ibm-plex-sans-500.ttf);font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url(fonts/ibm-plex-sans-600.ttf);font-weight:600;font-display:swap}
@font-face{font-family:PlexMono;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2);font-weight:400;font-display:swap}
@font-face{font-family:PlexMono;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2);font-weight:500;font-display:swap}
:root{--ink:#151b24;--muted:#596473;--blue:#2743e3;--dark:#1f242e;--canvas:#f3f5f8;--warm:#f6f2ea;--line:#dfe3e9;--green:#18714f;--green-bg:#e8f4ec;--amber:#825309;--amber-bg:#fff2d9;--white:#fff;--font:Plex,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--warm);font:400 17px/1.5 var(--font);-webkit-font-smoothing:antialiased}
button,a{touch-action:manipulation}button{font:500 15px/1.25 var(--font);cursor:pointer}button:disabled{cursor:default;opacity:.45}
a{color:var(--blue);text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(30px,4vw,46px);line-height:1.08;max-width:720px}h2{font-size:clamp(25px,3vw,34px);line-height:1.16}
h3{font-size:21px;line-height:1.25}small,.small{font-size:14px;line-height:1.4}.muted{color:var(--muted)}.mono,.figure{font-family:PlexMono,ui-monospace,monospace;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.figure{font-size:26px;font-weight:500}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.shell{max-width:1120px;margin:0 auto;padding:36px 32px 24px}.intro{margin-bottom:26px;display:grid;gap:12px}.intro .lead{max-width:660px;font-size:18px;color:var(--muted)}.intro .eyebrow{color:var(--blue)}
.brand{width:112px;height:auto;display:block}.widget{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 50px #1f242e0b;overflow:hidden}
.widget-top{min-height:76px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}
.context{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.context .wordmark{font-size:14px;border-left:1px solid var(--line);padding-left:16px}.example{font-size:12px;color:var(--muted);white-space:nowrap}
.tabs{display:flex;gap:4px;flex-wrap:wrap;padding:5px;background:var(--canvas);border-radius:9px;width:fit-content}.tab{min-height:44px;padding:10px 16px;border:0;border-radius:6px;background:transparent;color:var(--muted)}
.tab[aria-selected=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #151b2410}.tab .count{font-size:12px;color:var(--muted)}
.role-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 0}.role-label{font-size:14px;color:var(--muted);max-width:280px;text-align:right}
.stage{padding:24px;min-height:440px}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.title-row .description{margin-top:8px;max-width:590px;color:var(--muted);font-size:16px}
.step-label{padding:5px 8px;background:var(--canvas);border-radius:5px;white-space:nowrap;font-size:13px;color:var(--muted)}
.grid{display:grid;grid-template-columns:1.2fr .85fr;gap:24px;align-items:start}.panel{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white)}.panel-header{padding:13px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;font-weight:500}
.panel-body{padding:20px;display:grid;gap:18px}.note-panel{background:var(--canvas);padding:20px;border-radius:10px}.note-panel h3{margin-bottom:12px}.note-panel p{color:var(--muted);font-size:15px}.note-panel .list{margin-top:16px}
.dark-panel{background:var(--dark);color:var(--white);padding:24px;border-radius:10px}.dark-panel .eyebrow,.dark-panel .small{color:#c7d1e4}.dark-panel h3{color:#fff;margin:8px 0 10px}
.list{display:grid;gap:0}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row .detail{font-size:14px;color:var(--muted);margin-top:3px}
.status{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;padding:5px 9px;border-radius:5px;background:var(--canvas);color:var(--muted);white-space:nowrap}
.status.ok{background:var(--green-bg);color:var(--green)}.status.wait{background:var(--amber-bg);color:var(--amber)}.status.blue{background:#e9edff;color:#2440be}
.status.ok:before{content:"✓";font-weight:600}.status.wait:before{content:"•";font-weight:600}.status.blue:before{content:"•"}
.days{display:flex;gap:10px;flex-wrap:wrap}.day{border:1px solid var(--line);border-radius:7px;padding:10px 14px;min-width:115px}.day strong{display:block;font-weight:500}
.person{display:flex;gap:12px;align-items:center}.avatar{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;background:#e9edff;color:#2440be;border-radius:50%;font-weight:500}
.avatar.teal{background:#e6f2f0;color:#236e65}.name{font-size:18px;font-weight:500}.person .detail{font-size:14px;color:var(--muted)}
.candidates{display:grid;gap:12px}.candidate{border:1px solid var(--line);padding:16px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.candidate.selected{border-color:var(--green);background:#f5fbf7}.candidate .pill{font-size:14px}
.benefit{margin-top:20px;font-size:15px;display:flex;align-items:flex-start;gap:10px;color:var(--muted)}.benefit b{color:var(--ink);font-weight:500}
.btn{border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);padding:11px 15px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}
.player{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fcfcfd}
.player .buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.player .previous,.player .next{min-width:44px;padding:10px;font-size:19px}
.player .play{min-width:110px}.player .caption{color:var(--muted);font-size:14px;text-align:right}
.steps{display:flex;gap:5px;align-items:center}.step-dot{width:26px;height:4px;background:var(--line);border-radius:3px}.step-dot.current{background:var(--blue)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.below{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--muted)}.below a{color:var(--muted)}
.dispatch{display:flex;flex-direction:column;align-items:center;gap:0;padding-top:8px}.request{background:var(--dark);color:var(--white);padding:18px 26px;border-radius:10px;width:min(100%,480px);text-align:center}
.request .eyebrow{color:#c7d1e4}.request h3{font-size:23px;margin:6px 0}.request p{font-size:14px;color:#d9e1ed}
.fanout{height:44px;width:68%;border-bottom:2px solid var(--line);position:relative;margin:0 auto 0}.fanout:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px solid var(--line)}
.fanout:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;border-left:2px solid var(--line);border-right:2px solid var(--line)}
.recipients{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:12px}
.recipient{position:relative;border:1px solid var(--line);border-radius:9px;padding:18px;background:var(--white);transition:border-color .3s,background .3s,transform .3s}
.recipient.received{border-color:#a5cfb5;background:#f4faf6;animation:received .45s ease-out}.recipient h3{font-size:20px}.recipient .time{margin-top:18px;font:500 20px PlexMono,monospace}
.recipient .status{margin-top:10px}.recipient .detail{font-size:14px;color:var(--muted);margin-top:8px}.recipient .btn{margin-top:14px;width:100%}
.dispatch-summary{text-align:center;margin-top:22px;max-width:600px}.dispatch-summary strong{display:block;font-size:20px;font-weight:500;margin-bottom:4px}
.route-stamp{display:flex;gap:7px;justify-content:center;align-items:center;margin-top:14px;color:var(--muted);font-size:13px}
.timeline{display:grid;grid-template-columns:44px 1fr;gap:0 14px;max-width:690px;margin:0 auto}.timeline .node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--canvas);font-family:PlexMono,monospace;margin-top:4px;position:relative}
.timeline .node:after{content:"";position:absolute;top:32px;left:15px;width:2px;height:94px;background:var(--line)}.timeline .node.last:after{display:none}.timeline .node.on{background:#e9edff;color:var(--blue)}
.timeline .event{padding:5px 0 22px;min-height:122px}.timeline .event h3{font-size:20px;margin-bottom:5px}.timeline .event p{font-size:15px;color:var(--muted);margin:6px 0}
.proposal-inline{display:flex;align-items:center;gap:12px;margin:12px auto 0;max-width:500px;background:var(--canvas);padding:14px 18px;border-radius:9px}
.proposal-inline strong{font-weight:500}.proposal-inline .status{margin-left:auto}
.hours{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.hours .date{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px}
.hours .date strong{font-size:21px;font-weight:500}.times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.times .small{margin-bottom:5px;color:var(--muted)}.times .mono{font-size:20px}.times .changed{color:var(--blue)}del{color:var(--muted);font-size:14px;margin-left:4px}
.hour-total{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line)}.hour-total .figure{font-size:32px}
.summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;background:var(--canvas);border-top:1px solid var(--line)}
.summary .mono{font-size:21px}.comments{display:grid;gap:14px}.comment{padding:17px;border-radius:9px;background:var(--canvas)}
.comment .who{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:14px;font-weight:500}.comment p{font-size:16px}
.comment.ok{background:var(--green-bg)}.comment .detail{font-size:13px;color:var(--muted);margin-top:6px}
.week-toggle{border:0;background:transparent;color:var(--blue);padding:0;min-height:44px;text-align:left;font-size:14px}
.week{padding:0 18px 14px}.week .weekrow{display:flex;justify-content:space-between;padding:9px 0;font-size:14px;border-top:1px solid var(--line)}
.success-line{padding:12px 16px;border-left:3px solid var(--green);background:#f1f8f3;font-size:15px;margin-top:14px;color:var(--green)}
.swap-in{animation:enter .35s ease-out}.animate-line{animation:lineIn .5s ease-out}
@keyframes enter{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes received{0%{transform:translateY(-4px);background:#e3f2e8}100%{transform:none}}@keyframes lineIn{from{opacity:.2}to{opacity:1}}
.gallery{max-width:1100px;margin:0 auto;padding:48px 32px}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.gallery-intro{display:grid;gap:15px;margin-bottom:35px}.gallery-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);text-decoration:none;gap:18px;transition:transform .2s,box-shadow .2s}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #1f242e10}.gallery-card .num{font:500 13px PlexMono,monospace;color:var(--blue)}.gallery-card h2{font-size:28px}.gallery-card p{font-size:16px;color:var(--muted)}.gallery-card .link{margin-top:auto;padding-top:14px;color:var(--blue);font-weight:500}
.gallery-note{margin-top:28px;font-size:14px;color:var(--muted);max-width:740px}.back-link{font-size:14px}
@media(max-width:760px){.shell{padding:24px 16px 18px}.intro{gap:10px;margin-bottom:20px}.intro .lead{font-size:16px}.widget{border-radius:12px}.widget-top{padding:16px;min-height:66px}.brand{width:98px}.example{font-size:11px}.context{gap:8px}.context .wordmark{font-size:12px;padding-left:10px}.role-line{padding:16px 16px 0;display:block}.role-label{margin-top:10px;text-align:left;max-width:none;font-size:13px}.tab{padding:10px 12px}.stage{padding:20px 16px;min-height:650px}.title-row{gap:10px;margin-bottom:18px}.title-row h2{font-size:27px}.title-row .description{font-size:15px}.step-label{font-size:12px}.grid,.hours{grid-template-columns:1fr;gap:16px}.panel-body{padding:16px;gap:14px}.note-panel,.dark-panel{padding:18px}.row{padding:12px 0;gap:10px}.candidate{padding:12px;gap:8px}.candidate .btn{padding:10px 12px}.name{font-size:17px}.player{padding:14px 16px;flex-wrap:wrap;gap:12px}.player .caption{font-size:13px;text-align:left;flex-basis:100%}.below{align-items:flex-start;font-size:12px}.recipient{padding:14px}.recipient h3{font-size:18px}.recipients{gap:8px}.recipient .time{font-size:16px}.recipient .status{font-size:12px;padding:4px 5px}.recipient .detail{font-size:12px}.request{padding:16px}.request h3{font-size:22px}.fanout{width:68%;height:32px}.dispatch-summary strong{font-size:19px}.proposal-inline{flex-wrap:wrap;padding:12px}.dispatch-stage{min-height:610px}.hours-stage{min-height:740px}.times{gap:8px}.times .mono{font-size:18px}.times del{display:block;margin:3px 0 0}.gallery{padding:28px 20px}.gallery-header{margin-bottom:34px}.gallery-list{grid-template-columns:1fr}.gallery-card{padding:24px}.gallery-intro h1{font-size:36px}}
@media(max-width:430px){.recipients{grid-template-columns:1fr;gap:9px}.recipient{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;padding:12px 14px}.recipient .time{margin:0;grid-column:2;grid-row:1}.recipient .status{margin-top:7px;justify-self:start}.recipient .detail{margin-top:7px;grid-column:2;text-align:right}.recipient .btn{grid-column:1/-1;margin-top:10px}.fanout{width:2px;height:26px;border-bottom:0}.fanout:after{display:none}.dispatch-stage{min-height:730px}.status{white-space:normal}.title-row .step-label{white-space:nowrap}.context .wordmark{max-width:96px}.hours-stage{min-height:780px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html.embed body{background:transparent}html.embed .shell{max-width:none;padding:0}html.embed .intro,html.embed .below{display:none}html.embed .widget{box-shadow:none}
.filter-row{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}
.kpi-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.metric{border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;padding:18px;display:flex;flex-direction:column;gap:8px}
.metric:hover{border-color:#bbc5ec}.metric[aria-expanded=true]{border-color:var(--blue)}.metric .figure{font-size:29px;line-height:1.2;white-space:nowrap}
.metric .small{font-size:14px}.metric-link{font-size:13px;color:var(--blue);margin-top:3px}
.definition{padding:16px 18px;border-left:3px solid var(--blue);background:#f1f4ff;margin-bottom:20px;font-size:15px}
.integration-tabs{margin-bottom:22px}.integration-path{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:16px;flex-wrap:wrap}
.week-footer{border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;margin-top:-10px;padding-top:10px;overflow:hidden;background:#fff}
@media(max-width:760px){.kpi-strip{gap:8px}.metric{padding:12px 10px;gap:6px}.metric .figure{font-size:24px}.metric .small{font-size:12px}.metric-link{font-size:12px}.filter-row{gap:10px}.integration-tabs .tab{font-size:13px;padding:8px 10px}.definition{font-size:14px}.metric .small:last-of-type{min-height:34px}}

html.phone .widget{display:flex;flex-direction:column;height:100vh;height:100svh;border:0;border-radius:0}html.phone .widget-top,html.phone .role-line,html.phone .player{flex-shrink:0}html.phone .stage{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}html.phone .player .caption{font-size:12px}html.phone .player .buttons{gap:6px}html.phone .player .btn{padding:10px 12px}html.phone .extra .whatsapp-stage{display:flex;flex-direction:column;min-height:0}html.phone .wa-demo{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}html.phone .wa-chat{height:auto;min-height:0;flex:1}html.phone .wa-header,html.phone .wa-compose{flex-shrink:0}html.phone .wa-demo-label{flex-shrink:0}html.phone .whatsapp-stage .message-note{font-size:11px;margin-top:6px}
