.flow-shell{display:flex;flex-direction:column;gap:18px;max-width:1500px;margin:0 auto}.flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fffefa;border:1px solid var(--cv-line,#dfe4dd);border-radius:18px;padding:13px 16px;box-shadow:0 8px 28px rgba(30,68,62,.04)}.flow-toolbar h2{font:700 22px/1.2 Manrope,sans-serif;margin:5px 0 0}.flow-view-switch,.flow-date-nav,.flow-toolbar-actions{display:flex;align-items:center;gap:5px}.flow-view-switch a,.flow-date-nav a,.flow-toolbar-actions a{color:#536660;text-decoration:none;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700;white-space:nowrap}.flow-view-switch a:hover,.flow-date-nav a:hover,.flow-toolbar-actions a:hover{background:#e6f2ef;color:#247c72}.flow-view-switch a.active{background:#247c72;color:#fff}.flow-date-nav a{font-size:17px}.flow-date-nav .flow-today{font-size:12px;border:1px solid #dfe4dd;background:#fff}.flow-toolbar-actions .flow-display-link{background:#103f3c;color:#fff}.flow-statusbar{display:grid;grid-template-columns:2fr repeat(3,1fr);border:1px solid var(--cv-line,#dfe4dd);background:#fffefa;border-radius:17px;padding:15px 7px}.flow-statusbar>div{padding:2px 18px;border-right:1px solid var(--cv-line,#dfe4dd)}.flow-statusbar>div:last-child{border:0}.flow-statusbar span,.flow-statusbar strong{display:block}.flow-statusbar span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#7d8985}.flow-statusbar strong{font-size:13px;margin-top:4px;color:#173f3c}.flow-empty{min-height:270px;display:flex;align-items:center;justify-content:center;gap:28px;padding:38px!important}.flow-empty-icon{width:76px;height:76px;border-radius:25px;background:#e0efeb;color:#247c72;display:grid;place-items:center;font:700 30px Manrope,sans-serif}.flow-empty h2{font:700 23px/1.2 Manrope,sans-serif;margin:7px 0}.flow-empty p{max-width:650px;margin:0;color:#6d7c77;line-height:1.6}
.flow-toolbar{flex-wrap:wrap}.flow-branch-filter,.flow-kiosk-branch{display:flex;align-items:center;gap:8px}.flow-branch-filter label,.flow-kiosk-branch label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#71807b}.flow-branch-filter select,.flow-kiosk-branch select{border:1px solid #d6deda;background:#fff;border-radius:10px;padding:8px 28px 8px 10px;color:#173f3c;font-size:12px;font-weight:700}.flow-kiosk-branch{padding:8px 12px;background:#fffefa;border:1px solid #dce3dd;border-radius:12px}
.flow-day-grid{display:grid;grid-template-columns:repeat(var(--flow-columns),minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.flow-resource-column{min-width:230px;background:#fffefa;border:1px solid var(--cv-line,#dfe4dd);border-radius:18px;overflow:hidden}.flow-resource-column>header{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid var(--cv-line,#dfe4dd)}.flow-resource-column>header i,.flow-kiosk-grid>section>header i{width:11px;height:34px;border-radius:8px;background:var(--resource-color)}.flow-resource-column>header strong,.flow-resource-column>header small{display:block}.flow-resource-column>header strong{font-size:13px}.flow-resource-column>header small{font-size:10px;color:#7c8985;margin-top:3px}.flow-resource-events{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:360px;background:#f7f7f2}.flow-event{position:relative;display:flex;flex-direction:column;gap:3px;border:1px solid #e2e7e1;border-left:4px solid var(--resource-color);background:#fff;border-radius:11px;padding:11px}.flow-event time{font-size:10px;color:#247c72;font-weight:800}.flow-event strong{font-size:12px}.flow-event span,.flow-event small{font-size:10px;color:#6f7d78}.flow-event em{align-self:flex-start;font-style:normal;font-size:9px;border-radius:99px;background:#e0efeb;color:#247c72;padding:4px 7px;margin-top:3px}.flow-event.is-complete{opacity:.56}.flow-event.is-complete strong{text-decoration:line-through}.flow-event.is-route{background:#f0f8f6}
.flow-event-type{display:inline-block;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#dfeeea;color:#176c64;padding:3px 7px;font-size:8px!important;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}
.flow-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto}.flow-week-day{min-width:150px;min-height:430px;border:1px solid var(--cv-line,#dfe4dd);background:#fffefa;border-radius:16px;overflow:hidden}.flow-week-day>header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--cv-line,#dfe4dd)}.flow-week-day>header span{font-size:10px;color:#75827e;text-transform:uppercase;letter-spacing:.08em}.flow-week-day>header strong{font:700 20px Manrope,sans-serif}.flow-week-day.is-today>header{background:#247c72;color:#fff}.flow-week-day.is-today>header span{color:#d9f0ea}.flow-week-day>div{padding:8px;display:grid;gap:7px}.flow-week-day article{border-left:4px solid var(--resource-color);background:#f6f7f3;border-radius:9px;padding:8px;display:grid;gap:2px}.flow-week-day article time{font-size:9px;color:#247c72;font-weight:800}.flow-week-day article strong{font-size:10px;line-height:1.3}.flow-week-day article span{font-size:9px;color:#74817d}.flow-week-day article em{font-size:8px;font-style:normal;color:#247c72}.flow-no-events{display:block;text-align:center;color:#a0aaa6;padding:30px 5px;font-size:10px}.flow-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--cv-line,#dfe4dd);border-radius:17px;overflow:hidden;background:#fffefa}.flow-month-day{min-height:130px;padding:10px;border-right:1px solid #e6e9e4;border-bottom:1px solid #e6e9e4}.flow-month-day:nth-child(7n){border-right:0}.flow-month-day>header{font-weight:800;font-size:12px}.flow-month-day.is-outside{opacity:.4}.flow-month-day.is-today>header{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#247c72;color:#fff;margin:-4px}.flow-month-day p{margin:7px 0 0;border-left:3px solid var(--resource-color);padding:4px 5px;background:#f4f6f2;border-radius:5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-month-day p time{font-weight:800;color:#247c72}
.flow-route-filter{display:flex;align-items:end;gap:10px;background:#fffefa;border:1px solid var(--cv-line,#dfe4dd);border-radius:16px;padding:14px}.flow-route-filter label{font-size:10px;color:#6f7d78}.flow-route-filter input{display:block;margin-top:4px;border:1px solid #d6deda;border-radius:9px;padding:8px}.flow-route-filter button{background:#247c72}.flow-route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.flow-route-card{padding:20px!important}.flow-route-card>header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;margin:0 0 14px!important}.flow-route-card>header span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#247c72}.flow-route-card>header h2{font:700 17px/1.3 Manrope,sans-serif!important;margin:5px 0!important}.flow-route-card>header>strong{font-size:11px;border-radius:99px;background:#e0efeb;color:#247c72;padding:6px 9px}.flow-route-card ol{list-style:none;padding:0;margin:0;display:grid}.flow-route-card li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border-top:1px solid #e7ebe6;padding:10px 0}.flow-route-card li>b{width:26px;height:26px;border-radius:8px;background:#e7f1ee;color:#247c72;display:grid;place-items:center;font-size:10px}.flow-route-card li strong,.flow-route-card li span{display:block}.flow-route-card li strong{font-size:11px}.flow-route-card li span{font-size:9px;color:#77847f;margin-top:2px}.flow-route-card li time{font-size:11px;font-weight:800}.flow-route-card.is-past{opacity:.8}
.flow-kiosk-body{margin:0;background:#eef1ec;color:#123f3c;font-family:"DM Sans",system-ui,sans-serif;min-height:100vh}.flow-kiosk{min-height:100vh;padding:24px 28px 18px;display:grid;grid-template-rows:auto 1fr auto;gap:20px}.flow-kiosk>header{display:flex;align-items:center;justify-content:space-between}.flow-kiosk-brand{display:flex;align-items:center;gap:18px}.flow-kiosk-brand img{width:220px}.flow-kiosk-brand span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#71807a}.flow-kiosk>header>div:last-child{text-align:right}.flow-kiosk>header>div:last-child strong,.flow-kiosk>header time{display:block}.flow-kiosk>header strong{font-size:14px;color:#6c7975}.flow-kiosk>header time{font:700 34px/1.1 Manrope,sans-serif;color:#103f3c}.flow-kiosk-grid{display:grid;grid-template-columns:repeat(var(--flow-columns),minmax(240px,1fr));gap:14px;overflow:auto}.flow-kiosk-grid>section{background:#fffefa;border:1px solid #dce3dd;border-radius:21px;overflow:hidden;min-width:240px}.flow-kiosk-grid>section>header{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid #e1e6e0}.flow-kiosk-grid>section>header strong,.flow-kiosk-grid>section>header span{display:block}.flow-kiosk-grid>section>header strong{font:700 18px Manrope,sans-serif}.flow-kiosk-grid>section>header span{font-size:10px;color:#75827d;margin-top:3px}.flow-kiosk-grid>section>div{padding:10px;display:grid;gap:8px}.flow-kiosk-grid article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;background:#f4f6f2;border-radius:12px;padding:12px;border-left:5px solid var(--resource-color)}.flow-kiosk-grid article time{font:700 14px Manrope,sans-serif;color:#247c72}.flow-kiosk-grid article strong,.flow-kiosk-grid article span{display:block}.flow-kiosk-grid article strong{font-size:13px}.flow-kiosk-grid article span{font-size:10px;color:#71807b;margin-top:2px}.flow-kiosk-grid article em{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#5f716b}.flow-kiosk-grid article.is-route{background:#eaf5f2}.flow-kiosk-grid article.is-complete{opacity:.46}.flow-kiosk-empty{display:grid;place-items:center;align-content:center;gap:7px;background:#fffefa;border-radius:24px}.flow-kiosk-empty strong{font:700 30px Manrope,sans-serif}.flow-kiosk-empty span{color:#71807b}.flow-kiosk>footer{display:flex;justify-content:space-between;font-size:10px;color:#78857f}
@media(max-width:1100px){.flow-statusbar{grid-template-columns:repeat(2,1fr)}.flow-statusbar>div:nth-child(2){border-right:0}.flow-route-list{grid-template-columns:1fr}.flow-kiosk{padding:18px}.flow-kiosk-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:700px){.flow-toolbar{align-items:stretch;flex-direction:column}.flow-view-switch,.flow-date-nav,.flow-toolbar-actions,.flow-branch-filter{justify-content:center}.flow-statusbar{grid-template-columns:1fr}.flow-statusbar>div{border-right:0;border-bottom:1px solid var(--cv-line,#dfe4dd);padding:9px 12px}.flow-statusbar>div:last-child{border:0}.flow-month-grid{grid-template-columns:repeat(7,minmax(95px,1fr));overflow:auto}.flow-route-filter{align-items:stretch;flex-direction:column}.flow-route-filter input{width:100%}.flow-kiosk-brand span{display:none}.flow-kiosk-brand img{width:170px}.flow-kiosk>header{flex-wrap:wrap}.flow-kiosk-branch{order:3;width:100%;justify-content:center}.flow-kiosk-grid{grid-template-columns:1fr}.flow-kiosk>footer{display:none}}
@media print{.flow-toolbar,.flow-route-filter{display:none}.flow-route-card{break-inside:avoid}}
.flow-connection-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px}.flow-connection-card{padding:24px!important}.flow-connection-card h2{font:700 21px/1.25 Manrope,sans-serif;margin:7px 0 10px}.flow-connection-card p{color:#667772;line-height:1.55}.flow-connection-state{display:flex;align-items:center;gap:9px;margin:18px 0}.flow-connection-state i{width:10px;height:10px;border-radius:50%;background:#b56d55}.flow-connection-state.is-ready i{background:#247c72}.flow-token-box{margin:17px 0;padding:16px;border:1px solid #b8d8d0;border-radius:13px;background:#edf7f4}.flow-token-box code,.flow-endpoint code{display:block;overflow-wrap:anywhere;word-break:break-all;background:#fff;padding:10px;border-radius:8px;margin:8px 0;font-size:12px}.flow-token-box small,.flow-connection-card small{color:#71807b}.flow-endpoint{margin:18px 0}.flow-steps{counter-reset:flow-step;list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}.flow-steps li{counter-increment:flow-step;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;color:#5e706a;font-size:12px}.flow-steps li:before{content:counter(flow-step);width:26px;height:26px;border-radius:8px;background:#e0efeb;color:#247c72;display:grid;place-items:center;font-weight:800}.flow-token-form button{background:#247c72}.flow-warning{font-size:11px;color:#8d5e4b!important}
@media(max-width:1100px){.flow-connection-grid{grid-template-columns:1fr}}
.flow-resource-settings{margin-top:16px}.flow-resource-settings>p{max-width:860px}.flow-resource-matrix{overflow-x:auto;margin:18px 0}.flow-resource-matrix table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dfe4dd;border-radius:12px;overflow:hidden}.flow-resource-matrix th,.flow-resource-matrix td{padding:11px 13px;border-bottom:1px solid #e6eae5;text-align:left;font-size:11px}.flow-resource-matrix th{background:#f1f4ef;color:#61716c;font-size:9px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.flow-resource-matrix tr:last-child td{border-bottom:0}.flow-branch-check{display:flex;align-items:center;gap:6px;cursor:pointer}.flow-branch-check input{width:17px;height:17px;accent-color:#247c72}.flow-branch-check span{font-size:10px;color:#60716b}.flow-resource-settings button{background:#247c72}
