/* Krovio 2.3: one restrained, responsive UI language for public, auth, setup and app.
   Existing action URLs, nonces, accounting logic and kiosk API remain untouched. */
:root{--kv23-navy:#18283e;--kv23-line:#dde5ee;--kv23-muted:#68788c;--kv23-bg:#f6f8fb;--kv23-green:#008969;--kv23-red:#d84457;--kv23-blue:#315de8;--kv23-orange:#d98112;--kv23-violet:#7953d4}
.krovio-public{font-family:Inter,system-ui,sans-serif;color:#172337}
.krovio-public .kv-header{height:74px}.krovio-public .kv-desktop-nav{gap:25px}.krovio-public .kv-header-right{gap:12px}.krovio-public .kv-button{border-radius:11px;font-weight:700;font-size:13px;min-height:44px;transition:background .16s,border-color .16s,transform .16s}.krovio-public .kv-button:focus-visible,.krovio-public a:focus-visible,.krovio-public button:focus-visible{outline:3px solid #94afe7;outline-offset:3px}.krovio-public .kv-button:hover{transform:translateY(-1px)}
.kv-account-menu{position:relative}.kv-account-menu summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;font-size:12px}.kv-account-menu summary::-webkit-details-marker{display:none}.kv-account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8ecfa;color:#233b74;font-weight:800}.kv-account-name{max-width:150px;font-weight:750;color:var(--kv23-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kv-account-name small{display:block;color:#8291a2;font-size:10px;font-weight:550;margin-top:2px}.kv-account-menu summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}.kv-account-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:100;min-width:190px;padding:8px;background:#fff;border:1px solid var(--kv23-line);border-radius:13px;box-shadow:0 16px 40px #17233719}.kv-account-panel a{display:block;padding:11px 12px;text-decoration:none;color:var(--kv23-navy);font-size:12px;font-weight:650;border-radius:7px}.kv-account-panel a:hover{background:var(--kv23-bg)}
.krovio-public .kv-hero{grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:5%;min-height:0;padding:76px 0 78px}.krovio-public .kv-hero h1{font-size:clamp(42px,4.2vw,65px);letter-spacing:-.058em;line-height:1.08}.krovio-public .kv-hero h1 span{color:#314963}.krovio-public .kv-hero-copy>p{font-size:16px;line-height:1.65;max-width:480px}.kv-hero-facts{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.kv-hero-facts>span{display:flex;gap:7px;align-items:center;font-weight:650;font-size:11px;color:#607188}.kv-fact-icon{display:grid;place-items:center;font-style:normal;border-radius:50%;background:#eaf0ff;color:#285ed6;width:22px;height:22px}.kv-fact-icon.green{background:#e4f5ed;color:#008c66}.kv-fact-icon.orange{background:#fff0df;color:#c9750c}
.kv-product-showcase{background:#fff;border:1px solid #d8e2ed;border-radius:19px;overflow:hidden;box-shadow:0 26px 65px #15243b13;min-width:0}.kv-product-toolbar{display:flex;align-items:center;justify-content:space-between;background:var(--kv23-navy);color:#fff;padding:15px 19px;gap:10px}.kv-product-wordmark{font-weight:800;font-size:14px}.kv-product-demotag{font-size:10px;color:#b8c7db}.kv-product-dots{letter-spacing:2px;color:#82a0c0}.kv-product-layout{display:grid;grid-template-columns:54px minmax(0,1fr);min-height:260px}.kv-product-side{background:#f6f8fb;border-right:1px solid #e8edf4;display:flex;align-items:center;flex-direction:column;gap:17px;padding:19px 10px;color:#8ba0b6}.kv-product-side span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:18px}.kv-product-side .is-current{background:#e7edff;color:#315de8}.kv-product-content{position:relative;padding:26px;min-height:286px}.kv-product-slide{display:none;animation:kv23show .26s ease}.kv-product-slide.is-visible{display:block}.kv-product-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#7e8da2;font-weight:800}.kv-product-slide h3{font-size:24px;letter-spacing:-.04em;margin:8px 0 4px}.kv-product-slide>p{font-size:12px;margin:0 0 18px;color:#708096}.kv-demo-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.kv-demo-metrics>div{padding:15px;background:#f7f9fc;border:1px solid #e6ebf3;border-radius:12px}.kv-demo-metrics span{display:block;font-size:10px;color:#718198}.kv-demo-metrics strong{display:block;margin-top:6px;font-size:24px}.kv-demo-rows{margin-top:11px;border:1px solid #e6ebf3;border-radius:12px;overflow:hidden}.kv-demo-rows>span{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;padding:12px 15px;border-bottom:1px solid #e9eef5}.kv-demo-rows>span:last-child{border-bottom:0}.kv-demo-mark{font-style:normal;display:grid;place-items:center;width:23px;height:23px;border-radius:7px}.kv-demo-mark.green{background:#e5f5ed;color:#138862}.kv-demo-mark.red{background:#ffebed;color:#d94858}.kv-demo-mark.blue{background:#eaf0ff;color:#315de8}.kv-demo-mark.orange{background:#fff1dc;color:#b97308}.kv-product-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px;border-top:1px solid #e8edf4;background:#f8fafd}.kv-product-switch button{border:1px solid transparent;background:transparent;border-radius:8px;padding:11px 5px;font:700 10px/1.25 Inter,system-ui;color:#78889d;cursor:pointer}.kv-product-switch button.is-current{background:#fff;color:var(--kv23-navy);border-color:#dce5ef;box-shadow:0 2px 6px #18283e09}@keyframes kv23show{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.krovio-public .kv-section{padding-block:60px}.krovio-public .kv-section-title{margin-bottom:23px}.krovio-public .kv-section-title h2,.krovio-public .kv-feature-intro h2{font-size:clamp(30px,3vw,43px);line-height:1.13;letter-spacing:-.05em}.krovio-public .kv-audience-grid{gap:16px}.krovio-public .kv-audience-card{padding:24px;min-height:240px;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start}.krovio-public .kv-audience-card p{max-width:295px;font-size:13px;line-height:1.6}.krovio-public .kv-audience-card .kv-card-link{margin-top:auto}.krovio-public .kv-feature-grid{gap:13px}.krovio-public .kv-feature-item{border-radius:16px;min-height:210px;padding:22px}.krovio-public .kv-feature-item p{font-size:13px;line-height:1.6}
.kv-workflow{padding-block:58px}.kv-workflow-intro{max-width:650px}.kv-workflow-intro h2{font-size:clamp(29px,3vw,42px);letter-spacing:-.05em;line-height:1.15}.kv-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.kv-workflow-panel{background:#f6f8fb;padding:14px;border-radius:16px;border:1px solid var(--kv23-line)}.kv-workflow-panel>span{display:block;font-size:10px;color:#7b8ba0;font-weight:800;letter-spacing:.12em;margin-bottom:10px}.kv-workflow-screen{display:flex;flex-direction:column;gap:8px;padding:18px;background:#fff;border-radius:12px;min-height:145px;border:1px solid #e5eaf1}.kv-workflow-screen strong{font-size:15px;margin-bottom:6px}.kv-workflow-screen span{font-size:12px;padding:7px 10px;background:#f8fafc;border-radius:6px}
.kv-kiosk-section{background:#f5f7fa;border-block:1px solid #e9edf3}.krovio-public .kv-kiosk{display:grid;grid-template-columns:1fr .9fr;gap:6%;align-items:center;padding-block:70px}.kv-kiosk-device{width:min(360px,100%);margin-inline:auto;border:11px solid #202a39;border-radius:23px;background:#202a39;box-shadow:0 24px 48px #17233722;position:relative}.kv-device-notch{width:5px;height:5px;background:#6c819e;border-radius:50%;margin:0 auto 7px}.kv-device-screen{background:#fff;border-radius:10px;padding:16px}.kv-kiosk-device .kv-kiosk-top{padding:0 0 14px}.kv-kiosk-device .kv-kiosk-grid{grid-template-columns:1fr 1fr;gap:9px}.kv-kiosk-device .kv-kiosk-tile{padding:12px 9px;min-height:70px;border-radius:10px;display:flex;align-items:center;gap:7px}.kv-kiosk-device .kv-kiosk-icon{width:31px;height:31px;display:grid;place-items:center;background:#ffffff9c;border-radius:8px;font-size:18px}.kv-kiosk-device .kv-kiosk-tile strong{font-size:11px;line-height:1.35}.kv-kiosk-voice{display:flex;flex-direction:column;align-items:center;gap:7px;margin:16px 0 2px;font-size:11px}.kv-kiosk-voice span{width:48px;height:48px;background:#ff4145;color:#fff;display:grid;place-items:center;border-radius:50%;font-size:27px;box-shadow:0 9px 18px #ff41452a}.kv-hana-label{display:flex;align-items:center;gap:9px;margin-top:24px;color:#42536e;font-size:12px}.kv-hana-signal{color:#f4434b}.krovio-public .kv-process-grid{gap:13px}.krovio-public .kv-process-grid article{min-height:190px;border-radius:15px}.krovio-public .kv-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--kv23-navy);border-radius:19px;padding:42px 46px;margin-block:42px}.krovio-public .kv-cta-actions{display:flex;gap:9px;flex-wrap:wrap}.krovio-public .kv-cta h2{margin-block:10px;font-size:clamp(27px,3vw,41px)}.krovio-public .kv-cta .kv-button-primary{background:#fff;border-color:#fff;color:var(--kv23-navy)}.krovio-public .kv-cta .kv-button-outline{border-color:#8b9db2;background:transparent;color:#fff}
.krovio-public .kv-footer{background:#111c2b}.krovio-public .kv-footer-top{padding-block:45px}.krovio-public .kv-footer-bottom{padding-block:18px}
/* Shared controls across app, auth and setup: primary filled, secondary outline. */
body.krovio-auth-page .ka-shell{grid-template-columns:minmax(340px,.85fr) minmax(440px,1.15fr)}body.krovio-auth-page .ka-visual{background:#f3f6fa;border-right:1px solid #e4eaf1}body.krovio-auth-page .ka-visual-copy h1{font-size:clamp(36px,4vw,52px);letter-spacing:-.05em;color:var(--kv23-navy)}body.krovio-auth-page .ka-visual-copy p{color:#68788c}body.krovio-auth-page .ka-card{max-width:610px}body.krovio-auth-page .ka-switch{border-radius:12px}body.krovio-auth-page .ka-switch button{border-radius:9px}body.krovio-auth-page .ka-heading h2{letter-spacing:-.05em;color:var(--kv23-navy)}body.krovio-auth-page .ka-form input:not([type=checkbox]),body.krovio-setup-body input:not([type=checkbox]),body.krovio-setup-body select{min-height:48px;border-radius:10px;border-color:#d7e1ed;background:#fff}body.krovio-auth-page .ka-form input:focus-visible{outline:2px solid #a6b8de;outline-offset:1px}body.krovio-auth-page .ka-submit{min-height:48px;border-radius:10px;background:var(--kv23-navy);color:#fff;font-size:13px;box-shadow:none}body.krovio-auth-page .ka-submit-outline{background:#fff!important;color:var(--kv23-navy)!important;border:1px solid #cad6e5!important}body.krovio-auth-page .ka-resend-form{margin-top:21px}body.krovio-auth-page .ka-links a{color:#294366}
body.krovio-setup-body button[type=submit],body.krovio-setup-body .k-btn-primary,body.krovio-app-body button[type=submit],body.krovio-app-body .btn-primary{background:var(--kv23-navy);border:1px solid var(--kv23-navy);color:#fff;border-radius:10px;font-weight:700}body.krovio-setup-body .k-setup-header{border-bottom:1px solid #e4eaf1}body.krovio-app-body button,body.krovio-app-body a.btn,body.krovio-app-body .btn{border-radius:10px;letter-spacing:0}body.krovio-app-body button:focus-visible,body.krovio-app-body a:focus-visible,body.krovio-setup-body button:focus-visible{outline:3px solid #90aee4;outline-offset:2px}
@media(max-width:1100px){.krovio-public .kv-hero{grid-template-columns:1fr;gap:25px}.kv-product-showcase{max-width:730px;width:100%}.krovio-public .kv-kiosk{grid-template-columns:1fr 1fr}.kv-workflow-grid{grid-template-columns:repeat(3,1fr)}.krovio-public .kv-cta{flex-direction:column;align-items:flex-start}}@media(max-width:820px){.krovio-public .kv-hero{padding:43px 0 55px}.krovio-public .kv-audience-grid{grid-template-columns:1fr 1fr}.krovio-public .kv-kiosk{grid-template-columns:1fr}.kv-workflow-grid{grid-template-columns:1fr}.kv-account-menu,.kv-open-app{display:none}}@media(max-width:600px){.krovio-public .kv-header{height:68px}.krovio-public .kv-hero h1{font-size:42px}.krovio-public .kv-hero-copy>p{font-size:14px}.krovio-public .kv-audience-grid{grid-template-columns:1fr}.krovio-public .kv-audience-card{min-height:210px}.kv-product-toolbar{padding:12px}.kv-product-content{padding:16px;min-height:260px}.kv-product-switch{grid-template-columns:repeat(2,1fr)}.kv-product-switch button{font-size:10px}.krovio-public .kv-kiosk{padding-block:47px}.krovio-public .kv-cta{padding:28px 23px;margin-block:24px}.krovio-public .kv-cta-actions{width:100%;flex-direction:column}.krovio-public .kv-cta .kv-button{width:100%}body.krovio-auth-page .ka-shell{grid-template-columns:1fr}body.krovio-auth-page .ka-visual{padding:20px;min-height:0}body.krovio-auth-page .ka-visual-copy{display:none}}
@media(prefers-reduced-motion:reduce){.kv-product-slide{animation:none}.krovio-public .kv-button{transition:none}}
