/* VVC Building R12 — FINAL MOBILE DESIGN LOCK. Approved source: docs/approved_design/08_MOBILE_20_SCREENS_APPROVED.png */
:root{--v12-yellow:#ffc400;--v12-yellow2:#ffd53a;--v12-ink:#171a20;--v12-muted:#737b86;--v12-line:#e8ebef;--v12-soft:#f7f8fa;--v12-green:#21ae62;--v12-red:#ee4b45;--v12-blue:#3478f6;--v12-orange:#f59e0b}
*{box-sizing:border-box}html,body{background:#fff;color:var(--v12-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body{font-size:14px}.hidden{display:none}
.login-view.hidden,.app-view.hidden,#appView.hidden,#loginView.hidden{display:none}
.app-view{background:#fff;min-height:100dvh;padding-bottom:76px}.screen{background:#fff;min-height:100dvh;padding-bottom:78px}.screen.active{display:block}.screen-body{padding:14px 15px 26px;background:#fff}.card,.ent-card{background:#fff;border:1px solid var(--v12-line);border-radius:11px;box-shadow:none}.small-muted{color:var(--v12-muted)}
.simple-header{position:sticky;top:0;z-index:30;height:54px;min-height:54px;padding:env(safe-area-inset-top) 12px 0;background:#fff;color:#111;border-bottom:1px solid #eceff2;display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.simple-header h1{font-size:14px;font-weight:800;text-align:center;margin:0;white-space:nowrap}.simple-header .back-btn,.simple-header .icon-btn{border:0;background:transparent;color:#111;font-size:26px;padding:0}.simple-header .icon-btn{font-size:17px}.primary-btn,.ent-create-toggle,.ent-actions .primary{background:var(--v12-yellow);color:#111;border:0;border-radius:8px;box-shadow:none;font-weight:800;min-height:45px}.outline-btn,.ent-actions .outline{background:#fff;color:#49515c;border:1px solid #dce1e6;border-radius:8px;box-shadow:none}.badge,.ent-badge{font-size:9px;border-radius:999px;padding:4px 7px;font-weight:700}
/* bottom nav — exact six approved items */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;height:72px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -3px 12px rgba(17,24,39,.035)}.bottom-nav button{border:0;background:#fff;color:#7a828c;display:grid;place-items:center;align-content:center;gap:3px;min-width:0;padding:2px}.bottom-nav button span{width:29px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:18px;line-height:1}.bottom-nav button small{font-size:8px;line-height:1;white-space:nowrap}.bottom-nav button.active{color:#dfa700}.bottom-nav button.active span{background:#fff7d2;color:#dfa700}
/* 01 Login */
.login-view{display:block;min-height:100dvh;padding:0;background:#fff}.login-shell{width:100%;max-width:none;margin:0}.mobile-brand.big{height:248px;margin:0;padding-top:30px;background:#111820;border-bottom:4px solid #ffc400;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}.mobile-brand.big .design-lock-logo{display:block;width:150px;height:108px;max-height:108px;object-fit:contain}.mobile-brand.big span{display:none}.mobile-brand.big:after{content:"Chào mừng bạn trở lại";display:block;margin-top:12px;font-size:14px;font-weight:800;color:#fff}.login-card{position:relative;margin:-22px 13px 0;padding:20px 16px 16px;background:#fff;border:1px solid #e8ebef;border-radius:18px;box-shadow:0 7px 22px rgba(17,24,39,.06)}.login-card .eyebrow,.login-card>h1,.login-card>p{display:none}.login-card label{font-size:10px;color:#5f6772;font-weight:700;margin:12px 0 6px}.login-card input{height:45px;padding:0 12px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;font-size:13px}.login-card .primary-btn{height:45px;width:100%;margin-top:14px;font-size:12px}.v12-login-extras{margin-top:11px}.v12-login-row{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#68717d}.v12-login-row label{display:flex;align-items:center;gap:5px;margin:0;font-size:9px}.v12-login-row input{width:13px;height:13px}.v12-forgot{color:#3168cc}.v12-faceid{width:100%;height:42px;margin-top:10px;border:0;border-radius:8px;background:#eef5ff;color:#3168cc;font-size:10px;font-weight:700}.login-foot{font-size:8px;color:#9198a2;text-align:center;margin:17px 0}
/* 02 Home */
.home-hero{background:#fff;color:#111;padding:calc(env(safe-area-inset-top) + 10px) 14px 2px;border-radius:0}.home-toprow{display:none}.profile-strip{margin:0;padding:0 0 8px;gap:9px}.profile-strip .avatar{width:34px;height:34px;font-size:18px;background:#f0f2f4;border:1px solid #e6e9ed}.hello{display:none}.employee-name{font-size:12px;font-weight:800;color:#111}.employee-role{font-size:8px;color:#7b838e;margin-top:2px}.home-body{margin:0;padding-top:3px}.mobile-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px}.mobile-quick-grid button{height:73px;min-height:73px;border:1px solid #e9ecef;border-radius:10px;background:#fff;padding:8px;display:grid;place-items:center;align-content:center;gap:7px;font-size:9px;font-weight:700;color:#303740}.mobile-quick-grid button i{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:15px}.mobile-quick-grid button:nth-child(1) i{background:#fff5c8;color:#d49a00}.mobile-quick-grid button:nth-child(2) i{background:#eaf8ef;color:#1f9c5b}.mobile-quick-grid button:nth-child(3) i{background:#fff0ef;color:#e04c45}.mobile-quick-grid button:nth-child(4) i{background:#edf3ff;color:#3478f6}.mobile-quick-grid button:nth-child(5) i{background:#f0f3ff;color:#6961d5}.mobile-quick-grid button:nth-child(6) i{background:#f5efff;color:#8759c7}.home-body>.shift-card,.home-body>.section-title,.home-body>.summary-card,#teamQuickCard,#documentQuickCard,#notificationPermissionCard,.gps-note{display:none}.home-notify-lock{margin-top:1px;padding:11px 12px;border-radius:10px}.home-notify-lock>div:first-child b{font-size:10px}.home-notify-lock>div:first-child button{font-size:8px}.home-notify-lock .notification-lock-item{display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:center;min-height:38px;padding:7px 1px;border-bottom:1px solid #edf0f2}.home-notify-lock .notification-lock-item i{width:6px;height:6px;border-radius:50%;background:#ffc400}.home-notify-lock .notification-lock-item b{font-size:8.5px;line-height:1.25}.home-notify-lock .notification-lock-item small{font-size:7px;color:#9299a2;white-space:nowrap}
/* 03 Attendance */
#screenAttendance .simple-header h1{font-size:10px;font-weight:650}.attendance-body-lock{padding:12px 16px 22px}.attendance-clock-lock{text-align:center;padding:7px 0 13px}.attendance-clock-lock .big-time{font-size:35px;line-height:1;letter-spacing:-1.2px;font-weight:850;margin:5px 0}.attendance-shift-lock{font-size:8px;color:#87909a;margin-top:8px}.attendance-location-lock{padding:11px;margin:0}.attendance-location-top-lock{display:grid;grid-template-columns:24px 1fr 14px;gap:7px;align-items:center}.attendance-location-icon-lock{width:22px;height:22px;border-radius:50%;background:#e8f8ed;color:#1ea75f;display:grid;place-items:center;font-size:7px}.attendance-location-top-lock b.gps-title{font-size:9px}.attendance-location-top-lock small{font-size:7px;color:#8b929c;margin-top:3px}.attendance-location-meta-lock{display:flex;justify-content:space-between;border-top:1px solid #edf0f2;margin-top:9px;padding-top:9px;color:#89919a;font-size:7px}.attendance-dual-actions-lock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.attendance-dual-actions-lock button{height:61px;border-radius:8px;border:1px solid #dfe3e8;display:grid;place-items:center;align-content:center;gap:4px}.attendance-dual-actions-lock button b{font-size:10px}.attendance-dual-actions-lock button small{font-size:7px}.attendance-checkin-lock{background:#20ad65;color:#fff;border-color:#20ad65}.attendance-checkout-lock{background:#fff;color:#4a525d}.attendance-history-link{width:100%;height:43px;margin-top:10px;padding:0 11px;border:1px solid #e6e9ed;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#4b545f}.attendance-footer-gps{display:flex;gap:8px;justify-content:space-between;margin-top:9px;font-size:7px;color:#7d8690}.attendance-footer-gps span{padding:6px 8px;border-radius:7px;background:#f8f9fa}
/* 04 history list — approved screen is list, not calendar */
#screenTimesheet .simple-header h1{font-size:13px}.timesheet-calendar-body-lock{padding:5px 15px 18px}.timesheet-month-nav-lock{height:40px;margin:0;display:grid;grid-template-columns:36px 1fr 36px;align-items:center}.timesheet-month-nav-lock button{border:0;background:#fff;color:#66707b;font-size:20px}.timesheet-month-nav-lock b{font-size:10px}.timesheet-calendar-lock{display:block;padding:0;border-top:1px solid #edf0f2;border-bottom:0}.v12-history-row{display:grid;grid-template-columns:48px 1fr 1fr;align-items:center;min-height:48px;border-bottom:1px solid #edf0f2;font-size:8px}.v12-history-row>b{font-size:9px;color:#6d7681}.v12-history-row .v12-time{display:flex;align-items:center;gap:5px;color:#333b45}.v12-history-row .v12-time i{width:6px;height:6px;border-radius:50%}.v12-history-row .in i{background:#22ad65}.v12-history-row .out i{background:#ef4d46}.v12-history-row small{display:block;color:#939aa3;font-size:6.8px;margin-top:2px}.timesheet-day-detail-lock,.timesheet-summary-lock,#timesheetSubSummary{display:none}
/* 05 selfie */
body.selfie-open{overflow:hidden}#selfieModal.selfie-modal{position:fixed;inset:0;z-index:250;background:#111;padding:0;display:flex;align-items:stretch}.selfie-modal.hidden{display:none}#selfieModal .selfie-sheet{width:100%;height:100dvh;max-width:none;max-height:none;background:#111;border-radius:0;padding:0;color:#fff;position:relative}#selfieModal .selfie-sheet h2{height:54px;margin:0;background:#fff;color:#111;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}#selfieModal .selfie-sheet p{display:none}#selfieVideo{width:100%;height:calc(100dvh - 118px);max-height:none;object-fit:cover;border-radius:0;background:#202020}#selfieModal .selfie-actions{position:absolute;left:0;right:0;bottom:0;height:82px;margin:0;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:#111;display:block}#selfieTake{width:62px;height:62px;min-height:62px;border-radius:50%;border:5px solid #ffc400;background:#fff;color:transparent;display:block;margin:auto;padding:0}#selfieTake:after{content:"";display:block;width:42px;height:42px;border-radius:50%;background:#ffc400;margin:auto}#selfieCancel{position:absolute;left:18px;bottom:17px;width:40px;height:40px;border-radius:50%;background:#222;border:1px solid #555;color:#fff;font-size:0}#selfieCancel:after{content:"↻";font-size:20px}
/* 06-07 location */
.location-request-screen-lock,.location-map-screen-lock{position:relative;overflow:hidden;padding-bottom:0}.location-request-body-lock{position:relative;padding:0;min-height:calc(100dvh - 54px);background:#eef2e8}.location-request-map-lock,.location-live-map-lock{position:absolute;inset:0;background:linear-gradient(32deg,#e9eee5 25%,#f6f7f3 25% 33%,#e5ebe2 33% 50%,#f7f8f5 50% 57%,#e3e9df 57% 72%,#f4f6f1 72%)}.map-grid-lock{position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 35px,rgba(255,255,255,.9) 36px 40px);opacity:.85}.map-pin-lock{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:27px;height:27px;border-radius:50% 50% 50% 0;rotate:-45deg;background:#ef4b45;color:transparent;box-shadow:0 2px 4px rgba(0,0,0,.12)}.map-pin-lock:after{content:"";position:absolute;width:7px;height:7px;background:#fff;border-radius:50%;left:10px;top:10px}.location-request-card-lock{position:absolute;left:14px;right:14px;bottom:58px;padding:15px;border-radius:12px;box-shadow:0 11px 28px rgba(17,24,39,.15)}.location-request-card-lock .small-muted{font-size:7px}.location-request-card-lock>b{font-size:9px}.location-request-card-lock p{font-size:8px;margin:4px 0 9px;color:#515a66}.location-countdown-lock{font-size:22px;color:#eca900;font-weight:850;text-align:center;margin:11px 0 8px}.location-request-card-lock .primary-btn,.location-request-card-lock .outline-btn{width:100%;height:42px;min-height:42px;margin-top:6px;font-size:9px}.location-live-map-lock{height:100%}.location-map-info-lock{position:absolute;left:13px;right:13px;bottom:18px;z-index:5;background:#fff;border-radius:12px;padding:13px;box-shadow:0 10px 28px rgba(17,24,39,.15)}.location-map-info-lock b{font-size:9px}.location-map-info-lock p{font-size:7.5px;color:#77808b;margin:4px 0}.location-map-info-lock .primary-btn{width:100%;height:42px;min-height:42px;margin-top:7px;font-size:9px}
/* 08 checklist overview */
#screenChecklists .simple-header h1{font-size:12px}#screenChecklists .screen-body{padding:11px 14px 20px}#screenChecklists #entChecklistStats,#screenChecklists #entChecklistCreateToggle,#screenChecklists #entChecklistCreate,#screenChecklists .ent-section-title,#screenChecklists .ent-mobile-filter{display:none}.v12-check-head{margin-bottom:10px}.v12-check-head b{display:block;font-size:11px}.v12-check-head small{font-size:7.5px;color:#7d8690}.v12-check-progress{display:flex;align-items:center;gap:8px;margin-top:10px}.v12-check-progress>div{flex:1;height:5px;background:#eef0f2;border-radius:99px;overflow:hidden}.v12-check-progress i{display:block;height:100%;background:#ffc400}.v12-check-progress span{font-size:7px;color:#7f8790}.v12-check-list{border-top:1px solid #edf0f2}.v12-check-row{width:100%;min-height:49px;border:0;border-bottom:1px solid #edf0f2;background:#fff;display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:7px;text-align:left;padding:0}.v12-check-row>i{width:7px;height:7px;border-radius:50%;background:#ffc400}.v12-check-row.pass>i{background:#20ae63}.v12-check-row.fail>i{background:#ee4d46}.v12-check-row.na>i{background:#9da4ad}.v12-check-row b{font-size:9px;font-weight:650}.v12-check-row span{font-size:8px;font-weight:700}.v12-check-row.pass span{color:#20a85f}.v12-check-row.fail span{color:#e34842}.v12-check-row.na span{color:#8a929c}.v12-check-add{width:100%;height:43px;margin-top:12px;border:0;border-radius:8px;background:#ffc400;color:#111;font-size:9px;font-weight:800}
/* 09 checklist detail full screen */
.ent-sheet{position:fixed;inset:0;z-index:120;background:#fff;overflow:auto}.ent-sheet.hidden{display:none}.ent-sheet-head{position:sticky;top:0;z-index:3;height:54px;padding-top:env(safe-area-inset-top);background:#fff;border-bottom:1px solid #eceff2;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center}.ent-sheet-head button{border:0;background:transparent;font-size:25px}.ent-sheet-head b{font-size:12px}.ent-sheet-body{padding:14px}.v12-check-detail-title b{display:block;font-size:12px}.v12-check-detail-title small{display:block;font-size:8px;color:#7c8590;margin-top:4px}.v12-result-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 13px}.v12-result-seg button{height:48px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;font-size:9px;font-weight:750}.v12-result-seg .pass{background:#1faf63;color:#fff;border-color:#1faf63}.v12-result-seg .fail{background:#fff1ef;color:#e64a43;border-color:#ffd0cc}.v12-result-seg .na{background:#f1f3f5;color:#68717c}.v12-check-note{font-size:8px;color:#707984}.v12-check-note textarea{width:100%;min-height:58px;border:1px solid #e1e5e9;border-radius:8px;margin-top:5px;padding:8px;font-size:9px}.v12-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.v12-photo-grid div{aspect-ratio:1.2;border-radius:8px;background:linear-gradient(145deg,#d9d1bb,#6b5845);border:1px solid #e0e3e7}.v12-photo-grid div:last-child{background:#f6f7f8;display:grid;place-items:center;color:#69727d;font-size:19px}.v12-save-result{width:100%;height:44px;border:0;border-radius:8px;background:#ffc400;margin-top:13px;font-size:9px;font-weight:800}
/* 10 issues list */
#screenIssues .simple-header h1{font-size:12px}#screenIssues #entIssueStats,#screenIssues #entIssueCreate,#screenIssues .ent-section-title,#screenIssues .ent-mobile-filter{display:none}#screenIssues .screen-body{padding:8px 14px 19px}.v12-tabs{display:grid;grid-template-columns:repeat(3,1fr);height:38px;border-bottom:1px solid #eceff2;margin:0 -1px 7px}.v12-tabs button{border:0;background:#fff;font-size:8px;color:#777f89;position:relative}.v12-tabs button.active{color:#111;font-weight:800}.v12-tabs button.active:after{content:"";position:absolute;left:24%;right:24%;bottom:-1px;height:3px;background:#ffc400;border-radius:3px}.v12-issue-row{width:100%;min-height:67px;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left;padding:8px 0 8px 9px;position:relative;display:block}.v12-issue-row:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;background:#ffc400;border-radius:3px}.v12-issue-row.overdue:before{background:#ef4c46}.v12-issue-row.progress:before{background:#32a7e7}.v12-issue-row.done:before{background:#20ad65}.v12-issue-row b{display:block;font-size:9.5px;line-height:1.3}.v12-issue-row small{display:block;font-size:7.3px;color:#808993;margin-top:4px}.v12-issue-row span{position:absolute;right:0;bottom:9px;font-size:7px;padding:3px 6px;border-radius:4px;background:#fff5d6;color:#c07f00}.v12-issue-row.overdue span{background:#fff0ef;color:#df4b44}.v12-issue-row.progress span{background:#edf6ff;color:#3675c7}.v12-issue-add{width:100%;height:43px;border:0;border-radius:8px;background:#ffc400;margin-top:12px;font-size:9px;font-weight:800}
/* 11 task detail */
.task-detail-modal{position:fixed;inset:0;z-index:125;background:#fff;padding:0;overflow:auto}.task-detail-head{height:54px;padding:env(safe-area-inset-top) 12px 0;background:#fff;color:#111;border-bottom:1px solid #eceff2;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center}.task-detail-head button{color:#111;font-size:25px}.task-detail-head b{font-size:12px}.task-detail-sheet{padding:14px}.task-detail-main{border:0;border-radius:0;padding:0}.task-detail-main h2{font-size:13px;line-height:1.4}.task-detail-grid{grid-template-columns:1fr;gap:0;margin-top:7px}.task-detail-grid>div{background:#fff;border-bottom:1px solid #edf0f2;border-radius:0;padding:9px 0;font-size:9px}.task-detail-grid small{font-size:7px}.task-detail-sheet .primary-btn{width:100%}
/* 12-14 payments */
#screenPayments .screen-body{padding:6px 14px 20px}#screenPayments #entPaymentStats{display:none}#screenPayments .simple-header h1{font-size:12px}.v12-payment-tabs{display:grid;grid-template-columns:1fr 1fr;height:38px;border-bottom:1px solid #eceff2;margin-bottom:8px}.v12-payment-tabs button{border:0;background:#fff;font-size:8px;color:#737c86;position:relative}.v12-payment-tabs button.active{font-weight:800;color:#111}.v12-payment-tabs button.active:after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:3px;background:#ffc400}.ent-mobile-form{border:0;padding:0;border-radius:0}.ent-mobile-form label{display:block;font-size:8px;font-weight:700;color:#616a75;margin:9px 0 4px}.ent-mobile-form input,.ent-mobile-form select,.ent-mobile-form textarea{width:100%;height:40px;border:1px solid #e0e4e8;border-radius:7px;padding:0 9px;font-size:9px;background:#fff}.ent-mobile-form textarea{height:58px;padding-top:8px}.ent-mobile-form .two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ent-mobile-form .ent-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.ent-mobile-form .ent-actions button{height:42px;font-size:9px}.v12-payment-row{width:100%;min-height:66px;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left;padding:9px 0;position:relative}.v12-payment-row b{font-size:9px;display:block}.v12-payment-row small{font-size:7px;color:#7f8791;display:block;margin-top:4px}.v12-payment-row strong{font-size:9px;display:block;margin-top:4px}.v12-payment-row span{position:absolute;right:0;top:9px;font-size:7px;padding:3px 6px;border-radius:4px}.v12-payment-row.pending span{background:#fff4d8;color:#c27d00}.v12-payment-row.approved span{background:#eaf8ef;color:#1f9e5c}.v12-payment-row.rejected span{background:#fff0ef;color:#df4a43}.payment-timeline{margin-top:5px}.payment-step{grid-template-columns:26px 1fr;gap:8px;padding:8px 0}.payment-step i{width:23px;height:23px;font-size:8px}.payment-step b{font-size:9px}.payment-step small{font-size:7px}.payment-money{font-size:14px;color:#111;font-weight:850}.payment-file{min-height:40px;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:6px 0}.payment-file b{font-size:8px}.payment-file small{font-size:7px}.ent-sheet .ent-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ent-sheet .ent-actions button{height:40px;border-radius:7px;font-size:8px}.ent-sheet .ent-actions .success{background:#ffc400;color:#111;border:0}.ent-sheet .ent-actions .warn,.ent-sheet .ent-actions .danger{background:#fff;border:1px solid #e0e4e8}
/* 15 leave */
#screenRequests .simple-header h1{font-size:12px}#screenRequests .screen-body{padding-top:5px}.request-tabbar-lock{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #eceff2;height:39px;margin-bottom:8px}.request-tabbar-lock button{border:0;background:#fff;font-size:8px;color:#727b85;position:relative}.request-tabbar-lock button.active{font-weight:800;color:#111}.request-tabbar-lock button.active:after{content:"";position:absolute;left:24%;right:24%;bottom:-1px;height:3px;background:#ffc400}.request-item{padding:11px 9px;border:0;border-bottom:1px solid #edf0f2;border-left:3px solid #ffc400;border-radius:0;box-shadow:none}.request-item b{font-size:9px}.request-item p{font-size:7px;color:#7e8791}.request-item .badge{font-size:7px}.request-form{padding:0;border:0}.request-form label{font-size:8px}.request-form input,.request-form select,.request-form textarea{font-size:9px}.request-form .primary-btn{font-size:9px}
/* 16 Profile */
#screenProfile .simple-header h1{font-size:12px}#screenProfile .screen-body{padding:7px 14px 20px}.profile-card{border:0;padding:0;text-align:center}.avatar.large{width:68px;height:68px;font-size:30px;margin:4px auto 7px}.profile-card h2{font-size:13px;margin:0}.profile-card .small-muted{font-size:8px;margin-top:4px}.profile-tabs-lock{display:grid;grid-template-columns:repeat(4,1fr);height:38px;margin:10px 0 0;border-top:0;border-bottom:1px solid #eceff2}.profile-tabs-lock button{height:38px;font-size:7px}.profile-list{margin-top:3px}.profile-row{min-height:42px;padding:7px 0;border-bottom:1px solid #edf0f2}.profile-row span{font-size:7.5px;color:#7c8590}.profile-row b{font-size:8px}.profile-card .primary-btn{width:100%;height:43px;margin-top:11px;font-size:9px}
/* 17 Documents */
#screenDocuments .simple-header h1{font-size:12px}.document-mobile-body{padding:8px 14px 20px}.document-drive-status,.document-scope-row,.document-mobile-stats,.document-filter-chips,.document-list-heading{display:none}.document-mobile-search{height:38px;border:1px solid #e6e9ed;border-radius:7px;background:#f8f9fa;margin-bottom:8px}.document-mobile-search input{font-size:8px}.document-folder-lock{min-height:46px;grid-template-columns:13px 27px 1fr;gap:6px;padding:0;border-bottom:1px solid #edf0f2}.document-folder-lock>i{font-size:18px}.document-folder-lock b{font-size:8.5px}.document-folder-lock small{font-size:6.5px}.document-file-row-lock{min-height:48px;grid-template-columns:30px 1fr 18px;padding:5px 0}.document-file-row-icon-lock{width:28px;height:28px;font-size:6px}.document-file-row-lock b{font-size:8px}.document-file-row-lock small{font-size:6.5px}.document-upload-sheet label{font-size:8px}.document-upload-sheet input,.document-upload-sheet select{font-size:9px}
/* 18 AI */
#screenAI .simple-header h1{font-size:12px}#screenAI .screen-body{padding:10px 14px 20px}#entAIStatus{border:0;padding:0 0 8px}#entAIStatus b{font-size:12px}#entAIStatus p{font-size:7px}.ai-assistant-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-assistant-grid button{height:72px;border:1px solid #e7eaee;border-radius:9px;background:#fff;padding:8px;text-align:left}.ai-assistant-grid i{width:25px;height:25px;border-radius:7px;font-size:12px}.ai-assistant-grid b{font-size:8px}.ai-assistant-grid small{display:none}#entAIForm{margin-top:10px;border:0;padding:0}#entAIForm label:not(:last-of-type){display:none}#entAIPrompt{min-height:57px;font-size:8px;padding:9px;border-radius:8px}#entAIForm .primary-btn{width:44px;height:44px;min-height:44px;border-radius:50%;float:right;margin-top:-51px;margin-right:6px;font-size:0}#entAIForm .primary-btn:after{content:"➤";font-size:17px}#entAIHistory,.ent-section-title:has(+ #entAIHistory){display:none}
/* 19 Notifications */
#screenNotifications .simple-header h1{font-size:12px}.notification-lock-tabs{display:grid;grid-template-columns:1fr 1fr;height:37px;margin-bottom:2px}.notification-lock-tabs button{border:0;background:#f5f6f8;font-size:8px;color:#777f89}.notification-lock-tabs button.active{background:#ffc400;color:#111;border-radius:7px}.notification-full-list .notification-lock-item{display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:start;min-height:53px;padding:9px 0;border-bottom:1px solid #edf0f2}.notification-full-list .notification-lock-item i{width:6px;height:6px;border-radius:50%;background:#ef4b45;margin-top:4px}.notification-full-list .notification-lock-item b{font-size:8px;line-height:1.35}.notification-full-list .notification-lock-item p{font-size:6.8px;color:#7f8791;margin:4px 0 0}.notification-full-list .notification-lock-item time,.notification-full-list .notification-lock-item small{font-size:6.5px;color:#9aa1a9;white-space:nowrap;max-width:58px;text-align:right;line-height:1.2}
/* 20 Menu */
#screenMenu .simple-header h1{font-size:12px}#screenMenu .screen-body{padding:8px 14px 20px}.menu-profile-lock{display:flex;align-items:center;gap:8px;padding:4px 0 9px;border-bottom:1px solid #edf0f2}.menu-profile-lock .avatar{width:34px;height:34px;font-size:16px}.menu-profile-lock b{font-size:9px}.menu-profile-lock small{font-size:7px}.menu-lock-list button{width:100%;height:43px;display:grid;grid-template-columns:26px 1fr 12px;align-items:center;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left;padding:0}.menu-lock-list button i{width:23px;height:23px;border-radius:7px;background:#fff5c6;color:#c78c00;display:grid;place-items:center;font-size:9px;font-style:normal}.menu-lock-list button span:nth-child(2){font-size:8px}.menu-lock-list button span:last-child{font-size:11px;color:#9aa1aa}.menu-lock-list .logout-lock span:nth-child(2){color:#df4b44}.menu-lock-list .logout-lock i{background:#fff0ef;color:#df4b44}
/* Create forms can become full-screen panels without touching backend */
.v12-full-form{position:fixed;inset:0;z-index:135;background:#fff;overflow:auto;padding:64px 14px 24px}.v12-full-form:before{content:attr(data-title);position:fixed;left:0;right:0;top:0;height:54px;background:#fff;border-bottom:1px solid #eceff2;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;z-index:2}.v12-full-form:after{content:"‹";position:fixed;left:13px;top:7px;font-size:28px;z-index:3;color:#111}.v12-full-form.hidden{display:none}
@media(min-width:600px){body{background:#f5f6f8}.app-view,.login-view{max-width:430px;margin:0 auto;box-shadow:0 0 0 1px #e5e7eb}.bottom-nav{left:50%;right:auto;width:430px;transform:translateX(-50%)}.v12-full-form,.ent-sheet,.task-detail-modal,#selfieModal.selfie-modal{left:50%;right:auto;width:430px;transform:translateX(-50%)}}
/* Approved home screen has no enterprise-tools card; modules live in menu/nav. */
#screenHome .enterprise-tools{display:none}
/* Payment create follows the approved mobile screen: essential fields first; backend keeps the extra optional fields. */
#entPaymentCreate label:has(#entPaymentDate),#entPaymentCreate label:has(#entPaymentDue),
#entPaymentCreate label:has(#entPaymentTax),#entPaymentCreate label:has(#entPaymentPhone),
#entPaymentCreate label:has(#entPaymentBank),#entPaymentCreate label:has(#entPaymentAccount),
#entPaymentCreate label:has(#entPaymentContract),#entPaymentCreate label:has(#entPaymentRound),
#entPaymentCreate label:has(#entPaymentContractValue),#entPaymentCreate label:has(#entPaymentPrevious),
#entPaymentCreate label:has(#entPaymentCategory),#entPaymentCreate label:has(#entPaymentTerms),
#entPaymentCreate label:has(#entPaymentNote){display:none}
#entPaymentCreate .two:has(#entPaymentDate),#entPaymentCreate .two:has(#entPaymentTax),
#entPaymentCreate .two:has(#entPaymentBank),#entPaymentCreate .two:has(#entPaymentContract),
#entPaymentCreate .two:has(#entPaymentContractValue){display:contents}
#entPaymentCreate label:has(#entPaymentProject),#entPaymentCreate label:has(#entPaymentSupplier),
#entPaymentCreate label:has(#entPaymentDescription),#entPaymentCreate label:has(#entPaymentAmount),
#entPaymentCreate label:has(#entPaymentFiles){display:block}

/* R13: keep the functional enterprise controls visible; R12 had hidden them for screenshots. */
#screenChecklists #entChecklistStats{display:grid}#screenChecklists #entChecklistCreateToggle{display:block}#screenChecklists .ent-section-title{display:flex}#screenChecklists .ent-mobile-filter{display:grid}
#screenIssues #entIssueStats{display:grid}#screenIssues .ent-section-title{display:flex}#screenIssues .ent-mobile-filter{display:grid}
#screenPayments #entPaymentStats{display:grid}#screenPayments .ent-section-title{display:flex}#screenPayments .ent-mobile-filter{display:grid}
#screenChecklists #entChecklistCreate.v12-full-form,#screenIssues #entIssueCreate.v12-full-form,#screenPayments #entPaymentCreate.v12-full-form{display:block}
.v12-form-close{position:fixed;left:13px;top:7px;z-index:145;width:34px;height:34px;border:0;background:transparent;color:#111;font:700 28px/34px system-ui;padding:0}

/* R14 official VVC logo treatment. */
.home-toprow .mobile-brand{min-width:78px;height:44px;padding:3px 7px;background:#111820;border-radius:9px}.home-toprow .mobile-brand .design-lock-logo{display:block;width:64px;height:38px;object-fit:contain;object-position:center}.home-toprow .mobile-brand span{display:none}
