diff -urN v149full/honeywell6160_web/CHANGELOG.md v1410/honeywell6160_web/CHANGELOG.md
--- v149full/honeywell6160_web/CHANGELOG.md	2026-09-18 22:55:29.648110153 +0000
+++ v1410/honeywell6160_web/CHANGELOG.md	2026-09-18 22:57:08.935218553 +0000
@@ -1,3 +1,9 @@
+## v1.4.10 — Delta Patch: TouchCenter isolation + inline authorization
+- Stopped the 6270 monochrome TouchCenter from inheriting 6271CV color-only screen styling and assets.
+- Replaced the copied 6271CV Console Mode background on 6270 with a monochrome 6270-native keypad composition.
+- Arming/disarming authorization no longer navigates to Console Mode. Code entry stays inline on the Security page.
+- AWAY/STAY/NIGHT always request a code; if Quick Arm is enabled, a separate QUICK ARM control appears in the authorization overlay.
+
 ## v1.4.9 — Delta Patch: 6270 Console asset repair
 - Added the missing `assets/6270/console-bg.png`, which caused the 6270 code-entry screen to render as a white broken-image panel.
 - Repositioned the TouchCenter auth prompt into the console display area.
diff -urN v149full/honeywell6160_web/TOUCHCENTER_6270_6271CV_AUDIT_v1.4.10.md v1410/honeywell6160_web/TOUCHCENTER_6270_6271CV_AUDIT_v1.4.10.md
--- v149full/honeywell6160_web/TOUCHCENTER_6270_6271CV_AUDIT_v1.4.10.md	1970-01-01 00:00:00.000000000 +0000
+++ v1410/honeywell6160_web/TOUCHCENTER_6270_6271CV_AUDIT_v1.4.10.md	2026-09-18 22:57:08.935279633 +0000
@@ -0,0 +1,6 @@
+# TouchCenter 6270 / 6271CV Audit v1.4.10
+
+- 6270 and 6271CV rendering paths are explicitly separated for color-sensitive utility/status surfaces.
+- 6270 Console Mode no longer uses the 6271CV raster. It is composed from 6270-native monochrome key assets.
+- Arm/disarm authorization is now an inline Security-page state instead of a page-navigation event.
+- Arm actions always request a valid code. Quick Arm is exposed separately when enabled.
diff -urN v149full/honeywell6160_web/app.js v1410/honeywell6160_web/app.js
--- v149full/honeywell6160_web/app.js	2026-09-18 22:55:29.648249729 +0000
+++ v1410/honeywell6160_web/app.js	2026-09-18 22:57:27.031758135 +0000
@@ -1480,7 +1480,7 @@
     const [x,y,w,h]=keyLayout[key];return {left:(x-7)/389*100,top:(y-22)/328*100,width:w/389*100,height:h/328*100};
   }
 
-  const TOUCH_REV='1.4.9';
+  const TOUCH_REV='1.4.10';
   const TOUCH_PAGE_LABELS={
     home:'Home',security:'Security',messages:'Messages',lights:'Lighting',more:'More Choices',console:'Console Mode',events:'Event Logs',zones:'Zones',modes:'Operating Modes',setup:'Setup'
   };
@@ -1521,6 +1521,10 @@
     const alt=key==='*'?(model==='6271cv'?'Clear':'Star / Clear'):key==='#'?'Pound':String(label);
     return `<button class="key-hit touch-source-key" type="button" data-key="${key}" aria-label="${alt}"><img src="${img}" alt="${alt}" draggable="false"></button>`;
   }
+  function touchAuthKeypad(model){
+    const nums=['1','2','3','4','5','6','7','8','9'];
+    return `<div class="touch-auth-keypad">${nums.map(k=>touchKeyButton(model,k)).join('')}<button class="touch-auth-cancel" type="button" data-touch-action="auth-cancel">CANCEL</button>${touchKeyButton(model,'0')}<button class="touch-auth-quick" type="button" data-touch-action="auth-quick-arm">QUICK ARM</button></div>`;
+  }
   function touchHotKey(key,x,y,w,h,label=key){
     return `<button class="key-hit touch-console-hotspot" type="button" data-key="${key}" aria-label="${label}" style="left:${x/3.2}%;top:${y/2.4}%;width:${w/3.2}%;height:${h/2.4}%"></button>`;
   }
@@ -1544,7 +1548,7 @@
 
     const homeSource=`<div class="touch-source-flat-bg"></div><img class="touch-source-header" src="${touchAsset(model,'status-header')}" alt="" draggable="false"><div class="touch-armed-status-bg"></div><div class="touch-source-status touch-source-status-shared"></div>${touchPositionedButton(model,'security','page-security','Security',hg.security)}${touchPositionedButton(model,'lighting','page-lights','Lighting',hg.lighting)}${touchPositionedButton(model,'messages','page-messages','Message',hg.messages)}${sourceFooter}`;
 
-    const securitySource=`<img class="touch-page-bg touch-security-disarmed-bg" src="${touchAsset(model,'multi-partitions')}" alt="" draggable="false"><div class="touch-armed-status-bg"></div><div class="touch-source-status"></div><div class="touch-security-disarmed-controls">${touchPositionedButton(model,'away','arm-away','Arm Away',sg.away)}${touchPositionedButton(model,'stay','arm-stay','Arm Stay',sg.stay)}${touchPositionedButton(model,'night','arm-night','Arm Night',sg.night)}${touchPositionedButton(model,'more','page-more','More Choices',sg.more)}</div><div class="touch-security-armed-panel">${touchPositionedButton(model,'away','armed-mode-block','Away',sg.away)}${touchPositionedButton(model,'stay','armed-mode-block','Stay',sg.stay)}${touchPositionedButton(model,'night','armed-mode-block','Night',sg.night)}${touchPositionedButton(model,'disarm','disarm','Disarm',[167,92,116,46])}${touchPositionedButton(model,'more','page-more','More Choices',[167,141,116,46])}<div class="touch-armed-copy"><strong>All Zones Monitored</strong><span>Entry Delay Active</span></div><span class="touch-lock-glyph"></span></div>${is6271?touchPositionedButton(model,'home','touch-home','Home',sg.home):''}${is6271?touchPositionedButton(model,'back','touch-back','Back',sg.back):''}${sourceFooter}`;
+    const securitySource=`<img class="touch-page-bg touch-security-disarmed-bg" src="${touchAsset(model,'multi-partitions')}" alt="" draggable="false"><div class="touch-armed-status-bg"></div><div class="touch-source-status"></div><div class="touch-security-disarmed-controls">${touchPositionedButton(model,'away','arm-away','Arm Away',sg.away)}${touchPositionedButton(model,'stay','arm-stay','Arm Stay',sg.stay)}${touchPositionedButton(model,'night','arm-night','Arm Night',sg.night)}${touchPositionedButton(model,'more','page-more','More Choices',sg.more)}</div><div class="touch-security-armed-panel">${touchPositionedButton(model,'away','armed-mode-block','Away',sg.away)}${touchPositionedButton(model,'stay','armed-mode-block','Stay',sg.stay)}${touchPositionedButton(model,'night','armed-mode-block','Night',sg.night)}${touchPositionedButton(model,'disarm','disarm','Disarm',[167,92,116,46])}${touchPositionedButton(model,'more','page-more','More Choices',[167,141,116,46])}<div class="touch-armed-copy"><strong>All Zones Monitored</strong><span>Entry Delay Active</span></div><span class="touch-lock-glyph"></span></div><div class="touch-auth-overlay"><div class="touch-auth-title"></div><div class="touch-auth-digits"></div>${touchAuthKeypad(model)}</div>${is6271?touchPositionedButton(model,'home','touch-home','Home',sg.home):''}${is6271?touchPositionedButton(model,'back','touch-back','Back',sg.back):''}${sourceFooter}`;
 
     // IMPORTANT: this is deliberately NOT a CSS grid. The previous version
     // packed unrelated source controls into an invented 3x3 dashboard. The
@@ -1552,9 +1556,11 @@
     const moreSource=`<div class="touch-source-flat-bg"></div>${sourceHeader}${touchPositionedButton(model,'show-zones','page-zones','Show Zones',mg.zones)}${touchPositionedButton(model,'console','page-console','Console Mode',mg.console)}${touchPositionedButton(model,'event-logs','page-events','Event Logs',mg.events)}${touchPositionedButton(model,'operating-modes','page-modes','Operating Modes',mg.modes)}${touchPositionedButton(model,'setup','page-setup','Setup',mg.setup)}${sourceFooter}`;
 
     const consoleKeys=`<div class="touch-console-hotspots">${touchHotKey('1',82,57,63,42)}${touchHotKey('2',150,57,63,42)}${touchHotKey('3',218,57,63,42)}${touchHotKey('4',82,101,63,42)}${touchHotKey('5',150,101,63,42)}${touchHotKey('6',218,101,63,42)}${touchHotKey('7',82,145,63,42)}${touchHotKey('8',150,145,63,42)}${touchHotKey('9',218,145,63,42)}${touchHotKey('*',82,189,63,42,'Star / Ready')}${touchHotKey('0',150,189,63,42)}${touchHotKey('#',218,189,63,42,'Pound')}</div>`;
+    const monoConsoleKeys=`<div class="touch-mono-console-keypad">${['1','2','3','4','5','6','7','8','9','*','0','#'].map(k=>touchKeyButton(model,k)).join('')}</div>`;
+    const consoleSource=is6271?`<img class="touch-page-bg" src="${touchAsset(model,'console-bg')}" alt="" draggable="false">${consoleKeys}`:`<div class="touch-mono-console-bg"><div class="touch-mono-console-title">CONSOLE MODE</div><div class="touch-mono-console-status">${touchSourceStatusString()}</div>${monoConsoleKeys}</div>`;
     const page=kp.touchPage||'home';
     const shellHotspots=model==='6270'?`<button class="touch-shell-hotspot hs-home" data-touch-action="touch-home" aria-label="Home"></button><button class="touch-shell-hotspot hs-func" data-touch-action="page-more" aria-label="Function"></button><button class="touch-shell-hotspot hs-panic" data-touch-action="emergency-panic" aria-label="Panic"></button><button class="touch-shell-hotspot hs-back" data-touch-action="touch-back" aria-label="Back"></button>`:'';
-    return `<div class="aux-kp-wrap kp${model}"><img class="touch-shell-image" src="${touchAsset(model,'shell')}" alt="Honeywell ${model==='6271cv'?'6271CV':'6270'} TouchCenter" draggable="false"><span class="touch-shell-led led-armed"></span><span class="touch-shell-led led-ready"></span><span class="touch-shell-led led-message"></span>${shellHotspots}<div class="touch-screen" data-touch-page="${page}"><div class="touch-page-stack"><section class="touch-page touch-source-home" data-page="home">${homeSource}</section><section class="touch-page touch-source-security" data-page="security">${securitySource}</section><section class="touch-page touch-source-more" data-page="more">${moreSource}</section><section class="touch-page touch-source-utility touch-message-center" data-page="messages"><img class="touch-page-bg" src="${touchAsset(model,'message-center-bg')}" alt="" draggable="false"><div class="touch-armed-status-bg"></div><div class="touch-source-status"></div><div class="touch-message-count"></div><div class="touch-message-list"></div>${is6271?touchPositionedButton(model,'home','touch-home','Home',sg.home):''}${is6271?touchPositionedButton(model,'back','touch-back','Back',sg.back):''}${touchHotAction('message-play',151,149,57,31,'Play message')}${touchHotAction('message-delete',58,181,57,28,'Delete message')}${touchHotAction('message-stop',151,181,57,28,'Stop')}${touchHotAction('message-record',243,181,57,28,'Record message')}</section><section class="touch-page touch-source-utility touch-lighting-page" data-page="lights"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-light-grid"><div class="light-cell garage"><span>Garage Door</span>${activate}</div><div class="light-cell basement"><span>Basement<br>Light</span>${on}${off}</div><div class="light-cell porch"><span>Porch Light</span>${on}${off}</div><div class="light-cell backyard"><span>Backyard<br>Light</span>${on}${off}</div></div>${sourceFooter}</section><section class="touch-page touch-source-utility touch-console-page" data-page="console"><img class="touch-page-bg" src="${touchAsset(model,'console-bg')}" alt="" draggable="false"><div class="touch-console-caption"></div>${consoleKeys}</section><section class="touch-page touch-source-utility" data-page="events"><div class="touch-source-flat-bg"></div>${sourceHeader}<img class="touch-event-source-bg" src="${touchAsset(model,is6271?'event-log-clean':'event-log-bg')}" alt="" draggable="false"><div class="touch-event-header"><span class="touch-event-showing"></span><span class="touch-event-total"></span></div><div class="touch-event-list"></div></section><section class="touch-page touch-source-utility" data-page="zones"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-zone-list touch-source-data-overlay"></div><div class="touch-page-footer touch-zones-footer">${refresh}</div>${sourceFooter}</section><section class="touch-page touch-source-utility" data-page="modes"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-mode-list touch-source-data-overlay"></div>${sourceFooter}</section><section class="touch-page touch-source-utility" data-page="setup"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-setup-list touch-source-data-overlay"></div>${sourceFooter}</section></div></div><div class="aux-disabled" hidden>KEYPAD ADDRESS<br>DISABLED IN PANEL</div></div>`;
+    return `<div class="aux-kp-wrap kp${model}"><img class="touch-shell-image" src="${touchAsset(model,'shell')}" alt="Honeywell ${model==='6271cv'?'6271CV':'6270'} TouchCenter" draggable="false"><span class="touch-shell-led led-armed"></span><span class="touch-shell-led led-ready"></span><span class="touch-shell-led led-message"></span>${shellHotspots}<div class="touch-screen" data-touch-page="${page}"><div class="touch-page-stack"><section class="touch-page touch-source-home" data-page="home">${homeSource}</section><section class="touch-page touch-source-security" data-page="security">${securitySource}</section><section class="touch-page touch-source-more" data-page="more">${moreSource}</section><section class="touch-page touch-source-utility touch-message-center" data-page="messages"><img class="touch-page-bg" src="${touchAsset(model,'message-center-bg')}" alt="" draggable="false"><div class="touch-armed-status-bg"></div><div class="touch-source-status"></div><div class="touch-message-count"></div><div class="touch-message-list"></div>${is6271?touchPositionedButton(model,'home','touch-home','Home',sg.home):''}${is6271?touchPositionedButton(model,'back','touch-back','Back',sg.back):''}${touchHotAction('message-play',151,149,57,31,'Play message')}${touchHotAction('message-delete',58,181,57,28,'Delete message')}${touchHotAction('message-stop',151,181,57,28,'Stop')}${touchHotAction('message-record',243,181,57,28,'Record message')}</section><section class="touch-page touch-source-utility touch-lighting-page" data-page="lights"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-light-grid"><div class="light-cell garage"><span>Garage Door</span>${activate}</div><div class="light-cell basement"><span>Basement<br>Light</span>${on}${off}</div><div class="light-cell porch"><span>Porch Light</span>${on}${off}</div><div class="light-cell backyard"><span>Backyard<br>Light</span>${on}${off}</div></div>${sourceFooter}</section><section class="touch-page touch-source-utility touch-console-page" data-page="console">${consoleSource}</section><section class="touch-page touch-source-utility" data-page="events"><div class="touch-source-flat-bg"></div>${sourceHeader}<img class="touch-event-source-bg" src="${touchAsset(model,is6271?'event-log-clean':'event-log-bg')}" alt="" draggable="false"><div class="touch-event-header"><span class="touch-event-showing"></span><span class="touch-event-total"></span></div><div class="touch-event-list"></div></section><section class="touch-page touch-source-utility" data-page="zones"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-zone-list touch-source-data-overlay"></div><div class="touch-page-footer touch-zones-footer">${refresh}</div>${sourceFooter}</section><section class="touch-page touch-source-utility" data-page="modes"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-mode-list touch-source-data-overlay"></div>${sourceFooter}</section><section class="touch-page touch-source-utility" data-page="setup"><div class="touch-source-flat-bg"></div>${sourceHeader}<div class="touch-setup-list touch-source-data-overlay"></div>${sourceFooter}</section></div></div><div class="aux-disabled" hidden>KEYPAD ADDRESS<br>DISABLED IN PANEL</div></div>`;
   }
   function touchNowString(){return new Date().toLocaleTimeString(undefined,{hour:'2-digit',minute:'2-digit'});}
   function touchSourceDateString(){return new Date().toLocaleString(undefined,{month:'numeric',day:'numeric',year:'2-digit',hour:'2-digit',minute:'2-digit'});}
@@ -1589,8 +1595,15 @@
     view.touchRoot.querySelector('.touch-source-security')?.classList.toggle('armed-state',!!(st.arming||st.armed));
     if(view.clock)view.clock.textContent=touchNowString();
     view.touchRoot.querySelectorAll('.touch-source-status').forEach(el=>el.textContent=touchSourceStatusString());
-    const consoleCaption=view.touchRoot.querySelector('.touch-console-caption');
-    if(consoleCaption)consoleCaption.textContent=touchPendingPrompt(kp);
+    const monoConsoleStatus=view.touchRoot.querySelector('.touch-mono-console-status');if(monoConsoleStatus)monoConsoleStatus.textContent=touchSourceStatusString();
+    const auth=touchPendingAuth.get(kp.id),authOverlay=view.touchRoot.querySelector('.touch-auth-overlay');
+    if(authOverlay){
+      authOverlay.classList.toggle('is-active',!!auth);
+      const title=authOverlay.querySelector('.touch-auth-title'),digits=authOverlay.querySelector('.touch-auth-digits'),quick=authOverlay.querySelector('.touch-auth-quick');
+      if(title)title.textContent=auth?touchPendingPrompt(kp):'';
+      if(digits)digits.textContent=auth?'•'.repeat(Math.min(4,st.input.length)):'';
+      if(quick){quick.hidden=!(auth?.kind==='arm'&&config.quickArm);quick.textContent=auth?.kind==='arm'?`QUICK ${String(auth.mode||'ARM').toUpperCase()}`:'QUICK ARM';}
+    }
     view.touchRoot.querySelectorAll('.touch-source-date').forEach(el=>el.textContent=touchSourceDateString());
     view.shellArmed?.classList.toggle('is-on',!!(st.power&&!st.startup&&(st.armed||st.arming)));
     view.shellReady?.classList.toggle('is-on',!!(st.power&&!st.startup&&!st.programming&&!st.armed&&!st.arming&&st.ready));
@@ -1653,7 +1666,9 @@
     if(!kp)return;
     touchPendingAuth.set(kp.id,{kind,mode,page:kp.touchPage||'security'});
     resetInput();
-    navigateTouchPage(kp,'console');
+    kp.touchPage='security';
+    saveSettings();
+    updateTouchscreenViews();
   }
   function touchPendingPrompt(kp){
     const pending=kp?touchPendingAuth.get(kp.id):null;
@@ -1694,10 +1709,16 @@
     }
     if(!keypadEnabled(kp)&&!['monitoring-center'].includes(action))return;
     touchActionBeep(kp);
+    if(action==='auth-cancel'){clearTouchPendingAuth(kp.id);resetInput();updateTouchscreenViews();return;}
+    if(action==='auth-quick-arm'){
+      const pending=touchPendingAuth.get(kp.id);
+      if(!pending||pending.kind!=='arm'||!config.quickArm){playAck('single',kp.id);return;}
+      const mode=pending.mode||'stay';clearTouchPendingAuth(kp.id);resetInput();arm(mode,{keypadId:kp.id});return;
+    }
     if(action==='armed-mode-block'){playAck('single',kp.id);return;}
-    if(action==='arm-away'){if(config.quickArm)arm('away',{keypadId:kp.id});else beginTouchPendingAuth(kp,'arm','away');return;}
-    if(action==='arm-stay'){if(config.quickArm)arm('stay',{keypadId:kp.id});else beginTouchPendingAuth(kp,'arm','stay');return;}
-    if(action==='arm-night'){if(config.quickArm)arm('night',{keypadId:kp.id});else beginTouchPendingAuth(kp,'arm','night');return;}
+    if(action==='arm-away'){beginTouchPendingAuth(kp,'arm','away');return;}
+    if(action==='arm-stay'){beginTouchPendingAuth(kp,'arm','stay');return;}
+    if(action==='arm-night'){beginTouchPendingAuth(kp,'arm','night');return;}
     if(action==='disarm'){beginTouchPendingAuth(kp,'disarm');return;}
     if(action==='show-faults'){showFaults();return;}
     if(action==='enter-bypass'){enterBypass();navigateTouchPage(kp,'console');render();return;}
@@ -3491,6 +3512,9 @@
     // a later valid code+command suffix is recognized immediately.  STAR is the
     // documented "I made a mistake" escape: with an entry in progress it clears
     // the entry; with no entry pending it keeps its normal fault-display job.
+    if(k==='*'&&touchPendingAuth.has(keypadId)){
+      resetInput();updateTouchscreenViews();return;
+    }
     if(k==='*'){
       if(kp?.model==='6160v' && st.input==='#0'){
         st.input='#0*';clearTimeout(st.inputTimer);st.inputTimer=setTimeout(resetInput,10000);
@@ -3508,22 +3532,26 @@
     st.input=(st.input+k).slice(-32);clearTimeout(st.inputTimer);st.inputTimer=setTimeout(resetInput,4000);
 
     const pendingTouchAuth=touchPendingAuth.get(keypadId);
-    if(pendingTouchAuth&&st.input.length>=4){
-      const code=st.input.slice(-4),u=userForCode(code);
-      if(u){
-        clearTouchPendingAuth(keypadId);
-        if(pendingTouchAuth.kind==='disarm'){
-          if(!canDisarmWith(u)){codeError('DISARM DENIED');return;}
-          transmitDuress(u,'DISARM');
-          queuePanelResponse('disarm',p=>{const hadMemory=st.alarmMemory.size>0&&!st.activeAlarm.size&&!st.fire;disarm({clearMemory:hadMemory,user:u,keypadId:p.keypadId});},{keypadId});
-          return;
+    if(pendingTouchAuth){
+      if(st.input.length>=4){
+        const code=st.input.slice(-4),u=userForCode(code);
+        if(u){
+          clearTouchPendingAuth(keypadId);
+          resetInput();
+          if(pendingTouchAuth.kind==='disarm'){
+            if(!canDisarmWith(u)){codeError('DISARM DENIED');updateTouchscreenViews();return;}
+            transmitDuress(u,'DISARM');
+            queuePanelResponse('disarm',p=>{const hadMemory=st.alarmMemory.size>0&&!st.activeAlarm.size&&!st.fire;disarm({clearMemory:hadMemory,user:u,keypadId:p.keypadId});},{keypadId});
+            updateTouchscreenViews();return;
+          }
+          if(!canArmWith(u)){codeError('ARM DENIED');updateTouchscreenViews();return;}
+          const mode=pendingTouchAuth.mode||'stay';
+          transmitDuress(u,{away:'ARM AWAY',stay:'ARM STAY',night:'ARM NIGHT',max:'ARM MAXIMUM',instant:'ARM INSTANT'}[mode]||'ARM');
+          queuePanelResponse(mode==='stay'?'arm-stay':'arm',p=>arm(p.mode||mode,{userSlot:u.slot,keypadId:p.keypadId}),{mode,userSlot:u.slot,keypadId});
+          updateTouchscreenViews();return;
         }
-        if(!canArmWith(u)){codeError('ARM DENIED');return;}
-        const mode=pendingTouchAuth.mode||'stay';
-        transmitDuress(u,{away:'ARM AWAY',stay:'ARM STAY',night:'ARM NIGHT',max:'ARM MAXIMUM',instant:'ARM INSTANT'}[mode]||'ARM');
-        queuePanelResponse(mode==='stay'?'arm-stay':'arm',p=>arm(p.mode||mode,{userSlot:u.slot,keypadId:p.keypadId}),{mode,userSlot:u.slot,keypadId});
-        return;
       }
+      updateTouchscreenViews();return;
     }
 
     // 6160V local controls live in the keypad itself.
diff -urN v149full/honeywell6160_web/index.html v1410/honeywell6160_web/index.html
--- v149full/honeywell6160_web/index.html	2026-09-18 22:55:29.648448453 +0000
+++ v1410/honeywell6160_web/index.html	2026-09-18 22:57:08.935159656 +0000
@@ -4,7 +4,7 @@
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>Vista Emulator DELUXE — VISTA-20P / 6150 / 6160 / 6160V / 6270 / 6271CV</title>
-  <link rel="stylesheet" href="style.css?v=1.4.9">
+  <link rel="stylesheet" href="style.css?v=1.4.10">
 </head>
 <body>
   <div id="jonnyGate" class="start-gate jonny-gate" role="dialog" aria-modal="true" aria-label="Gaming With Jonny project notice" hidden>
@@ -21,7 +21,7 @@
 
   <div id="startGate" class="start-gate" role="dialog" aria-modal="true" aria-labelledby="startTitle">
     <div class="start-card">
-      <div class="start-kicker">VISTA-20P / 6150 / 6160 / 6160V / 6270 / 6271CV · PUBLIC RELEASE v1.4.9</div>
+      <div class="start-kicker">VISTA-20P / 6150 / 6160 / 6160V / 6270 / 6271CV · PUBLIC RELEASE v1.4.10</div>
       <div class="deluxe-brand" aria-label="Vista Emulator DELUXE"><span class="deluxe-brand-name">Vista Emulator</span><strong>DELUXE</strong></div>
       <h1 id="startTitle">Start Vista Emulator DELUXE</h1>
       <p>Browsers block automatic audio until the page receives a user gesture. Starting here unlocks keypad audio and begins the panel's real power-up sequence.</p>
@@ -68,7 +68,7 @@
       <section class="status-panel">
         <div class="status-head">
           <div>
-            <div class="runtime-brand"><span class="runtime-brand-title">Vista Emulator <b>DELUXE</b></span><span class="runtime-brand-meta">VISTA-20P · 6150 · 6160 · 6160V · 6270 · 6271CV · v1.4.9</span></div>
+            <div class="runtime-brand"><span class="runtime-brand-title">Vista Emulator <b>DELUXE</b></span><span class="runtime-brand-meta">VISTA-20P · 6150 · 6160 · 6160V · 6270 · 6271CV · v1.4.10</span></div>
             <div id="stateText">Power-up</div>
           </div>
           <div class="toolbar">
@@ -193,11 +193,11 @@
     </div>
     <div class="changelog-scroll">
       <article class="release-entry current deluxe-release">
-        <h3>v1.4.9 — 6270 Console asset repair</h3>
+        <h3>v1.4.10 — TouchCenter isolation + inline authorization</h3>
         <ul>
-          <li>Restored the missing 6270 Console Mode face so code-entry screens no longer collapse into a white broken-image panel.</li>
-          <li>Moved the TouchCenter authentication prompt into the native console display area instead of floating across the screen.</li>
-          <li>Completed the UtilitarianWave cleanup by removing remaining CSS gradients and eliminating Arial fallbacks from browser-rendered UI text.</li>
+          <li>6270 and 6271CV now keep their visual assets isolated; the monochrome 6270 no longer inherits color-only screen styling.</li>
+          <li>Arming and disarming authorization now stays on the Security page instead of redirecting into Console Mode.</li>
+          <li>AWAY / STAY / NIGHT always request a user code; when Quick Arm is enabled, a separate Quick Arm control is shown.</li>
         </ul>
         <h3>v1.4.4 — Source-frame fidelity</h3>
         <ul>
diff -urN v149full/honeywell6160_web/style.css v1410/honeywell6160_web/style.css
--- v149full/honeywell6160_web/style.css	2026-09-18 22:55:29.648475183 +0000
+++ v1410/honeywell6160_web/style.css	2026-09-18 22:57:08.935064535 +0000
@@ -704,3 +704,42 @@
 
 /* v1.4.9 — finish UtilitarianWave flattening. */
 .start-card,.jonny-card,.status-panel,.manager-panel,.keypad-workspace-scroll,.aux-card,.device-card,.device-art,.changelog-dialog,.function-label-row,.monitoring-summary,.monitoring-empty,.monitoring-event,.monitoring-chip,.monitoring-online,.focus-status,.toolbar button,.device-form button,.device-card button,.aux-card button,.toolbar-select select,.device-form input,.device-form select{background-image:none!important;border-radius:0!important}
+
+
+/* v1.4.10 — strict 6270/6271CV isolation + inline touch authorization. */
+.touch-auth-overlay{display:none;position:absolute;inset:13% 4% 5% 4%;z-index:20;background:#f2f2f2;border:1px solid #777;color:#111;padding:7px;box-sizing:border-box;font-family:Arimo,sans-serif}
+.touch-auth-overlay.is-active{display:block}
+.kp6271cv .touch-auth-overlay{background:#23639d;border-color:#7fa7c7;color:#fff16e}
+.touch-auth-title{height:14%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase}
+.touch-auth-digits{height:12%;display:flex;align-items:center;justify-content:center;letter-spacing:.45em;font-size:15px;font-weight:700}
+.touch-auth-keypad{height:74%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:3px;align-items:stretch;justify-items:stretch}
+.touch-auth-keypad .touch-source-key{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
+.touch-auth-keypad .touch-source-key img{width:100%!important;height:100%!important;object-fit:contain!important}
+.touch-auth-cancel,.touch-auth-quick{border:1px solid #777;background:#ddd;color:#111;padding:0 2px;font-size:8px;font-weight:700}
+.kp6271cv .touch-auth-cancel,.kp6271cv .touch-auth-quick{border-color:#7fa7c7;background:#0b568e;color:#fff16e}
+.touch-auth-quick[hidden]{display:block!important;visibility:hidden!important;pointer-events:none!important}
+
+/* The 6270 is the monochrome/non-color TouchCenter. Do not reuse 6271CV color chrome. */
+.kp6270 .touch-security-armed-panel{background:#efefed!important}
+.kp6270 .touch-armed-copy{color:#111!important}
+.kp6270 .touch-armed-status-bg{background:#d8d8d6!important;border:1px solid #777!important}
+.kp6270 .touch-screen.is-armed-state .touch-source-status{color:#111!important}
+.kp6270 .touch-lighting-page .touch-source-flat-bg{background:#f3f3f1!important}
+.kp6270 .touch-light-grid{color:#111!important}
+.kp6270 .light-cell{border-color:#777!important;background:#f0f0ee!important;color:#111!important}
+.kp6270 .touch-message-count{color:#111!important}
+.kp6270 .touch-message-entry{background:transparent!important;border-color:#777!important;color:#111!important}
+.kp6270 .touch-event-list,.kp6270 .touch-event-list .touch-list-row{color:#111!important}
+.kp6270 .touch-mono-console-bg{position:absolute;inset:0;background:#f3f3f1;color:#111;padding:7px;box-sizing:border-box}
+.kp6270 .touch-mono-console-title{text-align:center;font-size:11px;font-weight:700;height:12%;line-height:20px;border-bottom:1px solid #888}
+.kp6270 .touch-mono-console-status{text-align:center;font-size:10px;height:12%;line-height:22px;color:#111}
+.kp6270 .touch-mono-console-keypad{position:absolute;left:18%;right:18%;top:26%;bottom:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:4px}
+.kp6270 .touch-mono-console-keypad .touch-source-key{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
+.kp6270 .touch-mono-console-keypad .touch-source-key img{width:100%!important;height:100%!important;object-fit:contain!important}
+
+/* 6271CV retains the color-only lighting/message/event treatment. */
+.kp6271cv .touch-lighting-page .touch-source-flat-bg{background:#08477b!important}
+.kp6271cv .touch-light-grid{color:#fff16e!important}
+.kp6271cv .light-cell{border-color:#e3de91!important;background:transparent!important;color:#fff16e!important}
+.kp6271cv .touch-message-count{color:#fff!important}
+.kp6271cv .touch-message-entry{background:#0c4e88!important;border-color:#2c6798!important;color:#fff16e!important}
