/* media/kit/ios.css: iOS app components. 428 x 926 pt screens (Figma iOS PROD frame size); render at 3x.
   Colours and type from tokens.css (iOS Theme, SF Pro text styles). Prefix: .ki-
   Sources: Figma iOS Q6qxbZGUKGibksOhltDvJ6 (PROD page, Components page 1:3), Facial recognition
   cX6Pe9q54qnHAdYINqQqxU, Shifts Management iOS archived 10132:35524, Kiosk Hub SoDaDP8kMfsUoTSAjPpTGC,
   and Liran's screen recording of the current app (2026-05-10) for the header, shift band and tab bar. */

.ki-screen{position:relative;width:var(--ios-screen-w);height:var(--ios-screen-h);border-radius:var(--ios-screen-radius);overflow:hidden;background:var(--ios-gray-0);color:var(--ios-gray-700);font-family:var(--font-ios);-webkit-font-smoothing:antialiased}
.ki-screen.is-square{border-radius:0}
.ki-screen .k-ic{width:24px;height:24px}

/* status bar — system/status-bar 1207:39006 (47 pt in PROD frames). Clock follows the country's time format */
.ki-sb{position:absolute;left:0;right:0;top:0;height:47px;display:flex;align-items:center;justify-content:space-between;padding:4px 30px 0 50px;font:600 17px/22px var(--font-ios);letter-spacing:-.4px;color:var(--ios-black);z-index:5}
.ki-sb.is-light{color:var(--ios-gray-0)}
.ki-sb svg{display:block}

/* header — current app (recording): date pill with chevron, list button, avatar */
.ki-hd{position:absolute;left:0;right:0;top:47px;height:62px}
.ki-datepill{position:absolute;left:16px;top:9px;height:44px;border-radius:var(--size-9999);background:var(--ios-gray-100);box-shadow:0 1px 6px var(--ios-gray-1000-a4);display:flex;align-items:center;gap:6px;padding:0 14px 0 16px;font:var(--ti-title-small);letter-spacing:var(--lsi-title-small);color:var(--ios-gray-700)}
.ki-datepill .k-ic{width:22px;height:22px;color:var(--ios-gray-700)}
.ki-hbtn{position:absolute;top:9px;width:44px;height:44px;border-radius:var(--size-9999);background:var(--ios-gray-100);box-shadow:0 1px 6px var(--ios-gray-1000-a4);display:grid;place-items:center;color:var(--ios-gray-700)}
.ki-hbtn img{width:36px;height:36px;border-radius:var(--size-9999);display:block}
.ki-hd.is-classic .ki-datepill{box-shadow:none;background:none;padding-left:0;font:var(--ti-title-normal-em);letter-spacing:var(--lsi-title-normal-em)}

/* week strip — week-calendar 1197:23976 + recording */
.ki-week{position:absolute;left:0;right:0;height:92px;display:flex;justify-content:space-around;padding:0 6px}
.ki-day{width:48px;height:70px;border-radius:var(--size-9999);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative}
.ki-day .ki-wd{font:var(--ti-weekday);letter-spacing:var(--lsi-weekday);color:var(--ios-gray-600);text-transform:uppercase}
.ki-day .ki-dn{font:var(--ti-day);letter-spacing:var(--lsi-day);color:var(--ios-gray-700);width:32px;height:32px;display:grid;place-items:center;border-radius:var(--size-9999)}
.ki-day.is-sel{background:var(--ios-primary-500-a12)}
.ki-day.is-sel .ki-wd,.ki-day.is-sel .ki-dn{color:var(--ios-primary-600);font-weight:600}
.ki-day.is-dim .ki-wd,.ki-day.is-dim .ki-dn{color:var(--ios-gray-200)}
.ki-day.is-done .ki-dn{box-shadow:inset 0 0 0 3px var(--ios-primary-500)}
.ki-day.is-issue .ki-dn{box-shadow:inset 0 0 0 3px var(--ios-danger-500-a12)}
.ki-day .ki-dot{position:absolute;top:2px;right:6px;width:8px;height:8px;border-radius:var(--size-9999);border:2px solid var(--ios-gray-0)}

/* shift band — recording ("16:00 - 20:00 - Barista · Clear all") */
.ki-band{position:absolute;left:0;right:0;height:44px;background:var(--ios-gray-50);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font:var(--ti-label-normal);letter-spacing:var(--lsi-label-normal);color:var(--ios-gray-700)}
.ki-band span:last-child{font:var(--ti-body-normal);color:var(--ios-gray-600)}

/* attendance rows — list-item/clock-in 2191:117037 (73 pt), icon-attendance 1204:38553 (44 pt) */
.ki-rows{position:absolute;left:0;right:0}
.ki-row{position:relative;height:73px;display:flex;align-items:center;padding:0 16px 0 12px;gap:12px}
.ki-row:after{content:"";position:absolute;left:68px;right:0;bottom:0;height:1px;background:var(--ios-gray-150)}
.ki-row:last-child:after{display:none}
.ki-row .ki-ric{width:44px;height:44px;color:var(--ios-gray-700);flex:none}
.ki-row .ki-rl{font:var(--ti-activity-em);letter-spacing:var(--lsi-activity-em);color:var(--ios-gray-700);flex:1}
.ki-row .ki-rl small{display:block;font:var(--ti-body-normal);color:var(--ios-gray-600)}
.ki-row .ki-rr{text-align:right;font:var(--ti-input-s);letter-spacing:var(--lsi-input-s);color:var(--ios-gray-500)}
.ki-row .ki-rr small{display:block;font:var(--ti-footnote);letter-spacing:var(--lsi-footnote);color:var(--ios-gray-500)}
.ki-row .ki-chip{height:32px;padding:0 8px;border-radius:8px;background:var(--ios-gray-100);display:grid;place-items:center;font:var(--ti-input-s);font-weight:500;color:var(--ios-gray-700)}
.ki-row .ki-chip.is-live{background:var(--ios-warning-500-a12);color:var(--ios-warning-900)}
.ki-row.is-dim .ki-ric,.ki-row.is-dim .ki-rl{color:var(--ios-gray-400)}
.ki-row .ki-chev{width:24px;height:24px;color:var(--ios-gray-500)}

/* buttons — button/large 1204:38826 */
.ki-btn{position:absolute;height:50px;border-radius:var(--size-9999);display:grid;place-items:center;font:var(--ti-button-large);letter-spacing:var(--lsi-button-large);color:var(--ios-gray-0);overflow:hidden}
.ki-btn.is-primary{background:var(--ios-primary-500)}
.ki-btn.is-primary.is-down{background:var(--ios-primary-700)}
.ki-btn.is-success{background:var(--ios-success-500)}
.ki-btn.is-danger{background:var(--ios-danger-500)}
.ki-btn.is-disabled{background:var(--ios-gray-100);color:var(--ios-gray-400)}

/* tab bar — floating bar of the current app (recording); items from .tab 1206:38938 (Page incl. Chat) */
.ki-tabs{position:absolute;left:22px;right:22px;bottom:-10px;height:88px;border-radius:40px;background:var(--ios-gray-50);box-shadow:0 4px 16px var(--ios-gray-1000-a8);display:flex;align-items:flex-start;padding:6px 5px 0}
.ki-tab{flex:1;height:60px;border-radius:var(--size-9999);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 11px/13px var(--font-ios);letter-spacing:var(--lsi-tab);color:var(--ios-gray-700)}
.ki-tab .k-ic{width:24px;height:24px;color:var(--ios-gray-700)}
.ki-tab.is-on{background:var(--ios-gray-1000-a8);color:var(--ios-primary-500)}
.ki-tab .ki-att{width:26px;height:26px;border-radius:var(--size-9999);background:var(--ios-primary-500);color:var(--ios-gray-0);display:grid;place-items:center}
.ki-tab .ki-att .k-ic{width:18px;height:18px;color:var(--ios-gray-0)}
.ki-tab:not(.is-on) .ki-att{background:var(--ios-gray-700)}
/* classic tab bar — tab-bar 1208:39438 / Shifts view 10132:35617 */
.ki-tabs.is-classic{left:0;right:0;bottom:34px;height:60px;border-radius:0;background:var(--ios-gray-0);box-shadow:none;padding:0 8px;align-items:center}
.ki-tabs.is-classic .ki-tab{border-radius:0;height:60px;color:var(--ios-gray-600);background:none;font:var(--ti-tab)}
.ki-tabs.is-classic .ki-tab .k-ic{width:24px;height:24px;color:var(--ios-gray-600)}
.ki-tabs.is-classic .ki-tab.is-on{color:var(--ios-gray-700)}
.ki-tabs.is-classic .ki-tab.is-on .k-ic{color:var(--ios-primary-500)}
.ki-home{position:absolute;left:147px;bottom:8px;width:134px;height:5px;border-radius:var(--size-9999);background:var(--ios-black)}
.ki-home.is-light{background:var(--ios-gray-0)}

/* bottom sheet — sheet-header 2051:79139, Bottom sheet effect */
.ki-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--ios-gray-0);border-radius:16px 16px 0 0;box-shadow:var(--shadow-ios-sheet)}
.ki-grab{width:36px;height:5px;border-radius:var(--size-9999);background:var(--ios-gray-200);margin:8px auto 0}
.ki-time{font:var(--ti-time);letter-spacing:var(--lsi-time);color:var(--ios-gray-700);padding:0 24px;height:86px;display:flex;align-items:center;justify-content:space-between}
.ki-time .k-ic{color:var(--ios-gray-600)}
.ki-entry{margin:0 16px;height:72px;border-radius:12px;background:var(--ios-gray-50);display:flex;align-items:center;gap:8px;padding:0 12px 0 10px}
.ki-entry .ki-ric{width:44px;height:44px;color:var(--ios-gray-700)}
.ki-entry .ki-rl{flex:1;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal)}
.ki-entry .ki-rr{text-align:right;font:var(--ti-input-s);color:var(--ios-gray-500)}
.ki-entry .ki-rr small{display:block;font:var(--ti-footnote);color:var(--ios-gray-500)}
.ki-entry .ki-chev{width:24px;height:24px;color:var(--ios-gray-500)}
.ki-field{position:relative;padding:12px 24px 12px;border-top:1px solid var(--ios-gray-150);min-height:73px}
.ki-field b{display:block;font:var(--ti-label-normal);letter-spacing:var(--lsi-label-normal);color:var(--ios-gray-600)}
.ki-field span{display:block;margin-top:4px;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal);color:var(--ios-gray-700)}
.ki-field .ki-fic{position:absolute;right:28px;top:50%;margin-top:-12px;width:24px;height:24px}
.ki-field .ki-fic.is-ok{color:var(--ios-success-500)}
.ki-field .ki-fic.is-solid{color:var(--ios-success-500)}
.ki-field .ki-fic.is-bad{color:var(--ios-danger-500)}
.ki-field.is-plain{border-top:0;min-height:0;padding:8px 24px}

/* greeting after clock-in — recording */
.ki-greet{position:absolute;inset:0;background:linear-gradient(180deg,var(--ios-greet-sky) 0%,var(--ios-greet-haze) 24%,var(--ios-greet-warm) 46%,var(--ios-greet-cream) 60%,var(--ios-gray-0) 72%)}
.ki-sun{position:absolute;left:50%;top:236px;width:210px;height:210px;margin-left:-105px}
.ki-greet .ki-mark{position:absolute;left:50%;top:506px;width:46px;height:60px;margin-left:-23px;color:var(--ios-primary-500)}
.ki-greet h2{position:absolute;left:0;right:0;top:616px;margin:0;text-align:center;font:600 26px/32px var(--font-ios);letter-spacing:.2px;color:var(--ios-gray-700)}
.ki-greet p{position:absolute;left:24px;right:24px;top:668px;line-height:29px;margin:0;text-align:center;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal);color:var(--ios-gray-600)}

/* sync banner — banner/sync-status 3606:24506 */
.ki-banner{position:absolute;left:0;right:0;top:0;height:88px;background:var(--ios-danger-500);color:var(--ios-gray-0);display:flex;align-items:flex-end;justify-content:center;gap:8px;padding-bottom:12px;font:var(--ti-body-em);letter-spacing:var(--lsi-body-em);z-index:4}
.ki-banner .k-ic{width:20px;height:20px;color:var(--ios-gray-0)}

/* nav header — header 1187:22205 (title + round button + text action) */
.ki-nav{position:absolute;left:0;right:0;top:47px;height:56px;display:flex;align-items:center;justify-content:center;font:var(--ti-title-small);letter-spacing:var(--lsi-title-small);color:var(--ios-gray-700)}
.ki-nav .ki-nl{position:absolute;left:16px;top:10px;width:36px;height:36px;border-radius:var(--size-9999);background:var(--ios-gray-1000-a4);display:grid;place-items:center;color:var(--ios-gray-700)}
.ki-nav .ki-nr{position:absolute;right:16px;top:10px;height:36px;padding:0 16px;border-radius:var(--size-9999);background:var(--ios-gray-1000-a4);display:grid;place-items:center;font:var(--ti-button-normal);color:var(--ios-gray-700)}

/* badge/status 1202:38402 */
.ki-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;font:var(--ti-badge-small);letter-spacing:.3px;text-transform:uppercase}
.ki-badge.is-warning{background:var(--ios-warning-500-a12);color:var(--ios-warning-600)}
.ki-badge.is-positive{background:var(--ios-success-500-a12);color:var(--ios-success-700)}
.ki-badge.is-negative{background:var(--ios-danger-500-a12);color:var(--ios-danger-600)}

/* person row — list-item/employee 4167:27118 */
.ki-person{display:flex;align-items:center;gap:12px;padding:12px 24px}
.ki-person img{width:36px;height:36px;border-radius:var(--size-9999)}
.ki-person b{display:block;font:var(--ti-activity-em);letter-spacing:var(--lsi-activity-em);color:var(--ios-gray-700)}
.ki-person small{display:block;font:var(--ti-body-normal);color:var(--ios-gray-600)}

/* list rows with subtitle and check — account Language 9183:41958 */
.ki-list{position:absolute;left:0;right:0}
.ki-li{position:relative;height:57px;padding:8px 24px 0;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal);color:var(--ios-gray-700)}
.ki-li small{display:block;font:var(--ti-footnote);color:var(--ios-gray-500);margin-top:2px}
.ki-li:after{content:"";position:absolute;left:24px;right:0;bottom:0;height:1px;background:var(--ios-gray-150)}
.ki-li .ki-tick{position:absolute;right:24px;top:16px;width:24px;height:24px;color:var(--ios-primary-500)}

/* Shifts view — Shifts Management iOS archived 10132:35617 / Shift details 10132:35862 */
.ki-dayh{padding:0 16px;height:40px;display:flex;align-items:center;justify-content:space-between;font:var(--ti-body-em);letter-spacing:var(--lsi-body-em);color:var(--ios-gray-600)}
.ki-dayh.is-today{color:var(--ios-primary-500)}
.ki-dayh.is-past{color:var(--ios-gray-400)}
.ki-dayh span:last-child{font:var(--ti-activity-normal);color:var(--ios-gray-500)}
.ki-shift{position:relative;margin:0 12px 10px;height:64px;border-radius:10px;background:var(--ios-gray-50);padding:11px 16px 0 22px}
.ki-shift:before{content:"";position:absolute;left:8px;top:12px;bottom:12px;width:4px;border-radius:2px;background:var(--ios-primary-500)}
.ki-shift.is-grey:before{background:var(--ios-gray-400)}
.ki-shift.is-past{opacity:.6}
.ki-shift.is-past:before{background:var(--primary-300)}
.ki-shift b{display:block;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal);color:var(--ios-gray-700)}
.ki-shift small{display:block;margin-top:2px;font:var(--ti-footnote);color:var(--ios-gray-600)}
.ki-shift .ki-sr{position:absolute;right:16px;top:22px;display:flex;align-items:center;gap:8px;font:var(--ti-body-em);color:var(--ios-gray-600)}
.ki-shift .ki-sr .k-ic{width:22px;height:22px;color:var(--ios-gray-600)}
.ki-shift.is-hl{background:var(--ios-primary-500-a12)}
.ki-detail-time{padding:0 24px;margin-top:118px;font:400 40px/48px var(--font-ios);letter-spacing:-.4px;color:var(--ios-gray-700)}
.ki-detail-date{padding:0 24px;margin-top:10px;font:var(--ti-activity-normal);color:var(--ios-gray-700);padding-bottom:22px;border-bottom:1px solid var(--ios-gray-150)}
.ki-dfield{padding:18px 24px 0}
.ki-dfield b{display:block;font:var(--ti-label-normal);color:var(--ios-gray-600)}
.ki-dfield span{display:block;margin-top:8px;font:var(--ti-activity-normal);color:var(--ios-gray-700)}

/* tooltip — tooltip 3619:25090 */
.ki-tip{position:absolute;background:var(--ios-gray-1000-a96);color:var(--ios-gray-0);border-radius:8px;padding:8px 12px;font:var(--ti-footnote);white-space:nowrap}
.ki-tip:after{content:"";position:absolute;right:14px;bottom:-6px;border:6px solid transparent;border-bottom:0;border-top-color:var(--ios-gray-1000-a96)}

/* kiosk — Kiosk Hub 3302:30023 (scan) / 3302:30047 (confirmation). Rebuilt from raster screenshots. */
.kk-scan{position:absolute;inset:0;background:var(--ios-black)}
.kk-scan .kk-top{position:absolute;left:0;right:0;top:0;height:112px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:26px;font:500 22px/28px var(--font-ios);color:var(--ios-gray-0)}
.kk-scan .kk-top .k-ic{position:absolute;left:18px;bottom:26px;width:28px;height:28px;color:var(--ios-gray-0)}
.kk-scan .kk-cam{position:absolute;left:0;right:0;top:112px;bottom:118px;overflow:hidden;background:var(--kiosk-cam)}
.kk-scan .kk-cam{background:var(--kiosk-cam)}
.kk-scan .kk-face{position:absolute;left:-40px;top:-60px;width:508px;height:660px}
.kk-scan .kk-box{position:absolute;border:2px solid var(--ios-warning-500)}
.kk-scan .kk-box.is-ok{border-color:var(--ios-success-500)}
.kk-scan .kk-bot{position:absolute;left:0;right:0;bottom:0;height:118px;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 24px;font:500 17px/22px var(--font-ios);color:var(--ios-gray-0);text-align:center}
.kk-ok{position:absolute;inset:0;background:var(--kiosk-green)}
.kk-ok .kk-card{position:absolute;left:18px;right:18px;top:88px;height:420px;background:var(--ios-gray-0);border-radius:6px}
.kk-ok .kk-notch{position:absolute;top:246px;width:22px;height:44px;background:var(--kiosk-green);border-radius:22px}
.kk-ok .kk-check{position:absolute;left:50%;top:-38px;width:84px;height:84px;margin-left:-42px;border-radius:50%;background:var(--kiosk-check);border:4px solid var(--ios-gray-0);display:grid;place-items:center;color:var(--ios-gray-0)}
.kk-ok .kk-check .k-ic{width:38px;height:38px}
.kk-ok .kk-type{position:absolute;left:0;right:0;top:62px;text-align:center;font:600 28px/34px var(--font-ios);color:var(--ios-gray-700)}
.kk-ok .kk-name{position:absolute;left:0;right:0;top:136px;text-align:center;font:var(--ti-activity-normal);color:var(--ios-gray-600)}
.kk-ok .kk-grid{position:absolute;left:52px;right:52px;top:180px;border-top:1px solid var(--ios-gray-100);padding-top:18px;display:flex;justify-content:space-between;font:var(--ti-activity-normal);color:var(--ios-gray-600)}
.kk-ok .kk-grid b{display:block;font:var(--ti-activity-em);color:var(--ios-gray-500);margin-bottom:8px}
.kk-ok .kk-loc{position:absolute;left:52px;right:52px;top:282px;border-top:1px solid var(--ios-gray-100);padding-top:20px;display:flex;gap:22px;font:var(--ti-activity-normal);color:var(--ios-gray-600)}
.kk-ok .kk-msg{position:absolute;left:0;right:0;top:360px;text-align:center;font:var(--ti-activity-normal);color:var(--ios-gray-600)}
.kk-ok .kk-done{position:absolute;left:52px;right:52px;top:536px;height:54px;border-radius:var(--size-9999);border:1.5px solid var(--kiosk-done-border);display:grid;place-items:center;font:600 13px/16px var(--font-ios);letter-spacing:.6px;color:var(--ios-gray-0)}

/* map — drawn stand-in for the platform map tiles (invented, flagged) */
.ki-map{position:absolute;left:0;right:0;top:0;overflow:hidden;background:var(--map-land)}
.ki-map svg{position:absolute;inset:0;width:100%;height:100%}

.kk-ok .kk-loc .k-ic{margin-left:-4px}

/* ===== kit 1.0.3 (2026-10-01, Timesheets) ===== */
.ki-doc{position:absolute;inset:0;background:var(--ios-gray-0)}
.ki-doc-back{position:absolute;left:24px;top:58px;color:var(--ios-primary-500)} .ki-doc-back .k-ic{width:24px;height:24px}
.ki-doc h1{position:absolute;left:24px;right:24px;top:98px;margin:0;font:var(--ti-token-large);color:var(--ios-gray-700);text-transform:uppercase}
.ki-doc-f{position:absolute;left:24px;right:24px;top:250px;display:grid;grid-template-columns:124px 1fr;row-gap:12px;font:var(--ti-activity-normal)}
.ki-doc-f span{color:var(--ios-gray-400)} .ki-doc-f b{font-weight:400;color:var(--ios-gray-700)}
.ki-doc-b{position:absolute;left:24px;right:24px;top:400px;font:var(--ti-activity-normal);color:var(--ios-gray-700)}
.ki-trk{position:absolute;left:0;right:0;height:96px;background:var(--ios-gray-0);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -1px 0 var(--ios-gray-100),0 -8px 24px rgba(33,36,46,.06);display:flex;align-items:center;padding:12px 16px 0;gap:12px}
.ki-trk .ki-grab{position:absolute;left:50%;top:0;transform:translateX(-50%)}
.ki-trk-pill{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--size-9999);background:var(--ios-gray-50);font:var(--ti-body-em);color:var(--ios-gray-700)}
.ki-trk-pill .k-ic{width:18px;height:18px;color:var(--ios-gray-600)}
.ki-trk-t{margin-left:auto;font:var(--ti-label-normal);color:var(--ios-gray-700)}
.ki-task{display:flex;align-items:center;gap:12px;height:73px;padding:0 16px;border-bottom:1px solid var(--ios-gray-100)}
.ki-task .ki-rl{flex:1;min-width:0;font:var(--ti-activity-normal);color:var(--ios-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ki-task .ki-rl small{display:block;font:var(--ti-body-normal);color:var(--ios-gray-600)}
.ki-task b{font:var(--ti-label-normal);color:var(--ios-gray-700)}

/* ===== kit 1.0.4 (2026-10-01, Leave management) ===== */
.ki-rsheet{position:absolute;left:0;right:0;bottom:0;background:var(--ios-gray-0);border-top-left-radius:14px;border-top-right-radius:14px;z-index:3}
.ki-rsheet .ki-grab{margin-top:6px}
.ki-rsheet h2{margin:10px 20px 14px;font:var(--ti-title-large);color:var(--ios-gray-700)}
.ki-rs-row{display:flex;align-items:center;gap:6px;height:48px;padding:0 20px;font:var(--ti-activity-normal);color:var(--ios-gray-700)} .ki-rs-row span{flex:1}
.ki-rs-row b{height:36px;padding:0 10px;border-radius:7px;background:var(--ios-gray-50);display:inline-flex;align-items:center;font:var(--ti-activity-normal);color:var(--ios-gray-700)}
.ki-rs-rule{height:1px;background:var(--ios-gray-100);margin-top:16px}
.ki-rs-foot{position:absolute;left:0;right:0;bottom:0;height:150px;background:var(--ios-gray-50);border-top:1px solid var(--ios-gray-100)}
.ki-rs-note{position:absolute;left:24px;top:16px;display:flex;align-items:center;gap:8px;font:var(--ti-footnote);color:var(--ios-gray-700)} .ki-rs-note .k-ic{width:16px;height:16px;color:var(--ios-gray-700)}
.ki-rh{position:absolute;left:0;right:0;top:47px;height:116px;border-bottom:1px solid var(--ios-gray-100)}
.ki-rh-t{position:absolute;left:16px;top:12px;display:flex;align-items:center;gap:4px;font:var(--ti-title-normal);color:var(--ios-gray-700)} .ki-rh-t .k-ic{width:18px;height:18px}
.ki-rh .ki-hbtn{top:10px}
.ki-rh-chips{position:absolute;left:16px;top:64px;display:flex;gap:8px} .ki-rh-chips span{height:36px;padding:0 12px;border-radius:8px;background:var(--ios-gray-50);display:inline-flex;align-items:center;font:var(--ti-body-normal);color:var(--ios-gray-700)}
.ki-rrows{position:absolute;left:0;right:0}
.ki-rrow{position:relative;display:flex;align-items:center;gap:16px;height:73px;padding:0 16px}
.ki-rrow:after{content:"";position:absolute;left:68px;right:0;bottom:0;height:1px;background:var(--ios-gray-100)}
.ki-rrow>img{width:36px;height:36px;border-radius:50%}
.ki-rrow .ki-rl{flex:1;min-width:0;font:var(--ti-activity-normal);color:var(--ios-gray-700)} .ki-rrow .ki-rl>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .ki-rrow .ki-rl b{font-weight:500}
.ki-rrow .ki-rl small{display:block;font:var(--ti-body-normal);color:var(--ios-gray-600)}
.ki-rstw{display:grid} .ki-rstw>*{grid-area:1/1} .ki-rst{width:22px;height:22px}
.ki-rsheet .ki-grab{display:block}
.ki-rrow.no-av:after{left:16px}

/* ===== kit 1.0.5 (2026-10-01, Electronic signature) ===== */
.ki-acct{position:absolute;inset:0;background:var(--ios-gray-0)}
.ki-acct-l{position:absolute;left:0;right:0}
.ki-arow{position:relative;display:flex;align-items:center;gap:12px;height:57px;padding:0 16px;font:var(--ti-activity-normal);letter-spacing:var(--lsi-activity-normal);color:var(--ios-gray-700)}
.ki-arow:after{content:"";position:absolute;left:52px;right:0;bottom:0;height:1px;background:var(--ios-gray-100)}
.ki-arow>.k-ic{width:24px;height:24px;flex:none;color:var(--ios-gray-700)}
.ki-arow>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ki-arow small{display:block;font:var(--ti-footnote);color:var(--ios-gray-500);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ki-arow .ki-chev{width:22px;height:22px;color:var(--ios-gray-500)}
.ki-arow.is-sign{height:64px}
.ki-ah{position:relative;height:48px;padding:16px 16px 0;font:var(--ti-label-normal);color:var(--ios-gray-500)}
.ki-ah:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ios-gray-100)}

/* ===== kit 1.0.6 (2026-10-01, Facial recognition) ===== */
.ki-fcam{position:absolute;inset:0;background:var(--ios-gray-0)}
.ki-fcam-v{position:absolute;left:0;right:0;top:103px;bottom:66px;overflow:hidden;background:#f2f3f5}
.ki-fcam-f{position:absolute;left:-36px;top:-40px;width:500px;height:650px}
.ki-fbox{position:absolute;left:96px;top:120px;width:236px;height:300px;border:2.5px dashed var(--ios-warning-500);border-radius:4px}
.ki-fbox.is-ok{border:2.5px solid var(--ios-success-500)}
.ki-fhint{position:absolute;left:0;right:0;bottom:0;height:66px;background:var(--ios-gray-50);display:flex;align-items:flex-start;gap:8px;padding:14px 20px 0;font:var(--ti-footnote);color:var(--ios-gray-700)}
.ki-fhint .k-ic{width:16px;height:16px;flex:none;margin-top:1px;color:var(--ios-gray-700)}
.ki-fhint.is-in{position:absolute;left:0;right:0;top:0;bottom:auto;height:auto;background:none;padding:14px 20px 0}
.ki-fprev{position:absolute;inset:0;background:var(--ios-gray-0)}
.ki-fprev-p{position:absolute;left:8px;right:8px;top:115px;height:560px;border-radius:4px;overflow:hidden}
.ki-fprev-b{position:absolute;left:0;right:0;bottom:0;height:200px;background:var(--ios-gray-50)}
.ki-fsheet,.ki-psheet,.ki-apf{position:absolute;left:0;right:0;bottom:0;background:var(--ios-gray-0);border-radius:16px 16px 0 0}
.ki-fsheet{height:420px;text-align:center}
.ki-fs-ic{position:absolute;left:50%;top:40px;width:64px;height:64px;margin-left:-32px;border-radius:50%;background:var(--ios-primary-50,#e8f4fe);color:var(--ios-primary-500);display:grid;place-items:center}
.ki-fs-ic svg{width:34px;height:34px}
.ki-fsheet h2,.ki-psheet h2{margin:0;position:absolute;left:24px;right:24px;font:var(--ti-title-small);color:var(--ios-gray-700)}
.ki-fsheet h2{top:126px} .ki-psheet h2{top:96px}
.ki-fsheet p,.ki-psheet p{margin:0;position:absolute;left:28px;right:28px;font:var(--ti-footnote);color:var(--ios-gray-600)}
.ki-fsheet p{top:162px} .ki-psheet p{top:126px}
.ki-psheet{height:220px;text-align:center}
.ki-spin{position:absolute;left:50%;top:36px;width:34px;height:34px;margin-left:-17px;border-radius:50%;border:3px solid var(--ios-primary-500);border-right-color:transparent}
.ki-apf{top:47px;border-radius:16px 16px 0 0}
.ki-apf .ki-grab{display:block;margin:6px auto 0}
.ki-apf .ki-time{position:relative;padding:18px 24px 14px;display:flex;align-items:center;justify-content:space-between}
.kk-ph{position:absolute;inset:0;background:var(--ios-gray-0)}
.kk-ph h2{position:absolute;left:30px;right:30px;top:120px;margin:0;text-align:center;font:400 28px/36px var(--font-ios);color:#3e4a68}
.kk-ph-p{position:absolute;left:72px;right:72px;top:238px;height:450px;border-radius:12px;overflow:hidden}
.kk-pb{position:absolute;top:790px;width:178px;height:56px;border-radius:28px;display:grid;place-items:center;font:500 18px/1 var(--font-ios);letter-spacing:1px;background:var(--ios-primary-500);color:#fff;right:22px}
.kk-pb.is-out{left:22px;right:auto;background:#fff;color:#3e4a68;box-shadow:inset 0 0 0 1.5px #b9bfcc}
.kk-kp{position:absolute;inset:0;background:var(--ios-gray-0)}
.kk-prog{position:absolute;left:0;top:32px;width:92%;height:3px;background:var(--ios-primary-500)}
.kk-x{position:absolute;left:18px;top:56px;color:#3e4a68} .kk-x .k-ic{width:30px;height:30px}
.kk-kp h2{position:absolute;left:0;right:0;top:112px;margin:0;text-align:center;font:400 27px/34px var(--font-ios);color:#3e4a68} .kk-kp h2 b{display:block;font-weight:600}
.kk-ul{position:absolute;left:50%;top:194px;width:100px;height:4px;margin-left:-50px;border-radius:2px;background:var(--ios-primary-500)}
.kk-dots{position:absolute;left:40px;right:40px;top:272px;display:flex;justify-content:space-between}
.kk-dots i{width:50px;height:4px;border-radius:2px;background:#dde3ee;position:relative}
.kk-dots i.on:after{content:"";position:absolute;left:50%;top:-22px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#3e4a68}
.kk-keys{position:absolute;left:52px;right:52px;top:306px;display:grid;grid-template-columns:repeat(3,72px);justify-content:space-between;row-gap:18px}
.kk-keys span{width:72px;height:72px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #e3e7ee;display:grid;place-items:center;font:400 30px/1 var(--font-ios);color:#3e4a68}
.kk-keys span.is-none{box-shadow:none} .kk-keys span.is-del{box-shadow:none;color:#b9bfcc} .kk-keys span.is-on{background:#eef1f6}
/* kiosk tablet clock screen (Kiosk Hub 3303:59778, 800 x 1280, kit 1.0.10): positions read from the frame */
.kk-tc{position:absolute;inset:0;background:#fff;font-family:var(--font-kiosk);color:#434E6C;text-align:center}
.kk-tc .kk-tc-x,.kk-tc .kk-tc-cog{position:absolute;top:40px;width:40px;height:40px;color:#434E6C}
.kk-tc .kk-tc-x{left:30px} .kk-tc .kk-tc-cog{right:30px} .kk-tc .k-ic{width:40px;height:40px}
.kk-tc .kk-tc-av{position:absolute;left:316px;top:98px;width:168px;height:168px;border-radius:50%;border:4px solid #5FCA83;background:#eceef1;overflow:hidden}
.kk-tc .kk-tc-hi{position:absolute;left:28px;right:28px;top:300px;font:500 28px/28px var(--font-kiosk);letter-spacing:-.47px}
.kk-tc .kk-tc-loc{position:absolute;left:28px;right:28px;top:344px;display:flex;align-items:center;justify-content:center;gap:8px;font:500 19px/19px var(--font-kiosk);color:#7D8597}
.kk-tc .kk-tc-loc .k-ic{width:22px;height:22px;color:#7D8597}
.kk-tc .kk-tc-date{position:absolute;left:28px;right:28px;top:520px;font:500 28px/28px var(--font-kiosk);letter-spacing:-.47px}
.kk-tc .kk-tc-time{position:absolute;left:28px;right:28px;top:570px;font:500 96px/96px var(--font-kiosk);letter-spacing:.03em}
.kk-tc .kk-tc-btns{position:absolute;left:46px;right:46px;top:1155px;display:flex;gap:20px}
.kk-tc .kk-tc-btns span{flex:1;height:65px;border-radius:33px;display:grid;place-items:center;font:600 19px/19px var(--font-kiosk);letter-spacing:.03em;text-transform:uppercase;color:#fff}
.kk-tc .kk-tc-btns .is-in{background:#5BC77B} .kk-tc .kk-tc-btns .is-out{background:#EC706A}
/* ios/request-details: iOS PROD task-activity-details 2226:92819, type read per layer (SF Pro; stand-in) */
.ki-rd{position:absolute;inset:0;background:var(--ios-gray-0);color:var(--ios-gray-700)}
.ki-rd-bar{position:absolute;left:0;right:0;top:47px;height:64px}
.ki-rd-bar b{position:absolute;left:0;right:0;top:21px;text-align:center;font:600 17px/22px var(--font-ios);letter-spacing:-.43px;color:var(--ios-gray-700)}
.ki-rd-x{position:absolute;left:16px;top:14px;width:36px;height:36px;border-radius:50%;background:var(--ios-gray-1000-a4);display:grid;place-items:center;color:var(--ios-gray-600)} .ki-rd-x .k-ic{width:20px;height:20px}
.ki-rd-cancel{position:absolute;right:16px;top:14px;height:36px;padding:0 16px;border-radius:99px;background:var(--ios-gray-1000-a4);display:flex;align-items:center;font:500 15px/20px var(--font-ios);letter-spacing:-.23px;color:var(--ios-gray-600)}
.ki-rd-head{position:absolute;left:20px;right:20px;top:127px;display:flex;justify-content:space-between;align-items:flex-start}
.ki-rd-head h2{margin:0;font:400 28px/34px var(--font-ios);letter-spacing:.38px;color:var(--ios-gray-700)}
.ki-rd-bal{display:flex;flex-direction:column;align-items:flex-end;font:500 16px/21px var(--font-ios);letter-spacing:-.31px;color:var(--ios-gray-700)} .ki-rd-bal small{font:400 13px/18px var(--font-ios);letter-spacing:-.08px;color:var(--ios-gray-500)}
.ki-rd-when{position:absolute;left:20px;right:20px;top:181px;display:flex;justify-content:space-between;align-items:center;font:400 17px/26px var(--font-ios);letter-spacing:-.43px;color:var(--ios-gray-700)}
.ki-rd-st{height:22px;padding:0 8px;border-radius:4px;display:flex;align-items:center;font:600 13px/18px var(--font-ios);font-style:normal;text-transform:uppercase;letter-spacing:.3px}
.ki-rd-st.is-warning{background:rgba(235,177,1,.12);color:#c49401} .ki-rd-st.is-positive{background:rgba(0,202,115,.12);color:#00a35d}
.ki-rd-who{position:absolute;left:0;right:0;top:249px;height:68px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--ios-gray-150)}
.ki-rd-who b{display:block;font:600 17px/22px var(--font-ios);letter-spacing:-.43px} .ki-rd-who small{display:block;font:400 13px/18px var(--font-ios);letter-spacing:-.08px;color:var(--ios-gray-600)}
.ki-rd-av{width:32px;height:32px;flex:none;border-radius:50%;overflow:hidden;display:block} .ki-rd-av img{width:100%;height:100%;display:block}
.ki-rd-av.is-ini{display:grid;place-items:center;background:var(--ios-gray-100);font:600 12px/16px var(--font-ios);color:var(--ios-gray-600)}
.ki-rd-fields{position:absolute;left:0;right:0;top:318px;padding:8px 0;border-bottom:1px solid var(--ios-gray-150)}
.ki-rd-f{position:relative;height:64px;padding:0 20px;box-sizing:border-box} .ki-rd-f b{display:block;padding-top:8px;font:600 15px/20px var(--font-ios);letter-spacing:-.23px;color:var(--ios-gray-600)}
.ki-rd-f span{display:block;margin-top:6px;font:400 17px/22px var(--font-ios);letter-spacing:-.43px;color:var(--ios-gray-700)} .ki-rd-f span.is-empty{color:var(--ios-gray-500)}
.ki-rd-badge{position:absolute;right:20px;top:21px;height:22px;padding:0 8px;box-sizing:border-box;border:1px solid var(--ios-gray-150);border-radius:4px;display:flex;align-items:center;gap:5px;font:500 13px/18px var(--font-ios);font-style:normal;text-transform:uppercase;letter-spacing:.2px;color:var(--ios-gray-700)} .ki-rd-badge .k-ic{width:10px;height:13px;color:var(--ios-gray-600)}
.ki-rd-flow{position:absolute;left:0;right:0;top:399px;padding:16px 0 8px}
.ki-rd-ft{display:block;padding:0 20px 12px;font:600 15px/20px var(--font-ios);letter-spacing:-.23px;color:var(--ios-gray-600)}
.ki-rd-ap{position:relative;height:52px;display:flex;align-items:center;gap:12px;padding:0 20px} .ki-rd-ap b{display:block;font:500 15px/20px var(--font-ios);letter-spacing:-.23px} .ki-rd-ap small{display:block;font:400 13px/18px var(--font-ios);letter-spacing:-.08px;color:var(--ios-gray-600)}
.ki-rd-s{position:absolute;right:22px;top:16px;width:20px;height:20px;display:grid;place-items:center} .ki-rd-s .ki-rst{width:20px;height:20px}
.ki-rd-ring{width:20px;height:20px;box-sizing:border-box;border:2px solid #ebb101;border-radius:50%;display:block}
.ki-rd-log{position:absolute;left:0;right:0;top:563px;background:var(--ios-gray-50);padding:16px 20px 18px}
.ki-rd-l0{display:flex;gap:16px;align-items:flex-start} .ki-rd-l0 .ki-rd-av{width:24px;height:24px;margin-top:2px} .ki-rd-l0 span span{display:block;font:400 13px/18px var(--font-ios);letter-spacing:-.08px;color:var(--ios-gray-700)} .ki-rd-l0 b{font-weight:600}
.ki-rd-l0 small{display:block;font:400 12px/16px var(--font-ios);color:var(--ios-gray-600)}
.ki-rd-l{margin-top:8px;font:400 12px/16px var(--font-ios);color:var(--ios-gray-600)} .ki-rd-l b{font-weight:500;color:var(--ios-gray-700)}
.ki-rd-foot{position:absolute;left:0;right:0;bottom:0;height:122px;background:var(--ios-gray-0);border-top:1px solid var(--ios-gray-150);display:flex;gap:12px;padding:24px 24px 0;box-sizing:border-box}
.ki-rd-foot span{flex:1;height:48px;border-radius:99px;display:grid;place-items:center;font:600 17px/22px var(--font-ios);letter-spacing:-.43px;color:#fff} .ki-rd-foot .is-no{background:#f53f3e} .ki-rd-foot .is-ok{background:#00ca73}
/* ios/push-banner: Apple's notification banner (approximated) */
.ki-push{width:400px;box-sizing:border-box;display:flex;gap:12px;align-items:center;padding:13px 16px 13px 13px;border-radius:24px;background:#f5f5f7;box-shadow:0 10px 26px rgba(20,30,60,.16),0 1px 3px rgba(20,30,60,.08);font-family:var(--font-ios);color:#000;-webkit-font-smoothing:antialiased}
.ki-push-ic{width:38px;height:38px;flex:none;border-radius:9px;background:var(--primary-500,#1e7fe0);display:grid;place-items:center;color:#fff} .ki-push-ic .k-ic{width:17px;height:22px;color:#fff;fill:#fff}
.ki-push-t{flex:1;min-width:0;display:flex;flex-direction:column}
.ki-push-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px} .ki-push-h b{font:600 15px/20px var(--font-ios);letter-spacing:-.23px} .ki-push-h small{font:400 13px/18px var(--font-ios);color:rgba(60,60,67,.6)}
.ki-push-b{font:400 15px/20px var(--font-ios);letter-spacing:-.23px}
