/* Approved prototype visual family, 11 October 2026.
   Presentation only: navigation, permissions, coordinates and data stay unchanged. */
:root {
  --brand-primary:#2E7D6B!important; --brand-forest:#263B35!important; --brand-yellow:#F4C542!important;
  --brand-sand:#F6F8F8!important; --brand-mint:#DAECE5!important; --brand-muted:#64716C!important; --brand-white:#FFFFFF!important;
  --ink:#263B35!important; --mint:#DAECE5!important; --gold:#F4C542!important; --cust:#DFE7E3!important;
  --PK:#2E7D6B!important; --PKL:#DAECE5!important;
  --P:#2E7D6B!important; --PD:#256554!important; --PI:#2E7D6B!important;
  --PL:#DAECE5!important; --PS:#EDF6F2!important;
  --G:#2E7D6B!important; --GL:#EDF6F2!important;
  --A:#79590D!important; --AL:#FFF8E3!important;
  --R:#B42318!important; --RL:#FDECEA!important;
  --TX:#263B35!important; --MT:#64716C!important; --IL:#84918B!important;
  --BD:#DFE7E3!important; --BG:#F6F8F8!important; --W:#FFFFFF!important;
  --kentara-info:#1D5DA8; --kentara-info-bg:#EEF5FD; --kentara-info-text:#244E7D;
  --sh-s:0 2px 8px rgba(38,59,53,.05)!important;
  --sh-m:0 12px 32px rgba(38,59,53,.12)!important;
}
body:has(.device) { background:#F6F8F8!important; color:var(--TX)!important; }
body:has(.device) ::selection { background:#DAECE5; color:#263B35; }
.device { background:var(--BG)!important; box-shadow:0 2px 6px rgba(38,59,53,.06),0 24px 60px rgba(38,59,53,.10),0 0 0 1px var(--BD)!important; }
.device .sb,.device .topbar,.device .bnav { background:#FFFFFF!important; color:var(--TX)!important; border-color:var(--BD)!important; backdrop-filter:none!important; }
.device .tb-ti { font-weight:700!important; line-height:1.4!important; letter-spacing:-.3px!important; }
.device .ib { background:#F1F5F3!important; color:var(--TX)!important; box-shadow:none!important; }
.device .card { background:#FFFFFF!important; border-color:var(--BD)!important; box-shadow:var(--sh-s)!important; }
.device .card:hover { box-shadow:0 4px 12px rgba(38,59,53,.08)!important; }
.device .btn { font-weight:600!important; letter-spacing:0!important; box-shadow:none!important; }
.device .btn-p { background:var(--PI)!important; color:#FFFFFF!important; border-color:var(--PI)!important; box-shadow:none!important; }
.device .btn-s { background:#EDF6F2!important; color:#256554!important; border-color:#DAECE5!important; }
.device .btn-o { background:#FFFFFF!important; color:var(--PI)!important; border-color:var(--BD)!important; }
.device .btn-d { color:var(--R)!important; background:var(--RL)!important; }
.device .btn:disabled { opacity:.5; cursor:default; }
.device .inp,.device .srch { background:#FFFFFF!important; color:var(--TX)!important; border-color:var(--BD)!important; }
.device .inp:focus,.device .srch:focus-within { border-color:var(--PI)!important; box-shadow:0 0 0 3px rgba(46,125,107,.12)!important; }
.device .chip { border-color:var(--BD)!important; background:#FFFFFF!important; color:var(--MT); }
.device .chip.on { background:var(--PI)!important; border-color:var(--PI)!important; color:#FFFFFF!important; box-shadow:none!important; text-shadow:none!important; }
.device .ni.on .ni-i { background:#EDF6F2!important; color:var(--PI)!important; }
.device .ni.on .ni-l { color:var(--PI)!important; }
.device .ni:not(.on) .ni-l,.device .ni:not(.on) .ni-i { color:var(--MT); }
.device .bnav { box-shadow:none!important; }
.device .note-a { color:#79590D!important; background:#FFF8E3!important; border-color:#EED998!important; }
.device .note,.device .note-b { color:#244E7D!important; background:#EEF5FD!important; border-color:#D8E5F5!important; }
.device .agc,.device .ms { background:#2E7D6B!important; box-shadow:none!important; }
.device .sheet,.device .modal { background:#FFFFFF!important; border-color:var(--BD)!important; }
.device button:focus-visible,.device a:focus-visible,.device input:focus-visible,.device select:focus-visible,.device textarea:focus-visible { outline:3px solid #1D5DA8!important; outline-offset:3px; }

/* Shared actual/example floorplans. No sizing or transform overrides on plan layers. */
.device .kp-room-tour { background:var(--BG)!important; }
.device .kp-plan-summary { text-align:center; color:var(--TX); margin-bottom:16px; }
.device .kp-plan-summary>strong,.device .kp-room-tour-intro h2,.device .kfp-intro h2 { color:var(--TX); font-size:21px; font-weight:700; line-height:1.35; letter-spacing:-.4px; }
.device .kp-plan-summary>span { font-size:12px; line-height:1.6; color:var(--MT); }
.device .kp-plan-summary>div { justify-content:center; gap:6px 14px; }
.device .kp-plan-summary>div>b { font-size:20px; font-weight:700; line-height:1.45; }
.device .kp-plan-summary>div>span { font-size:12px; }
.device .kp-plan-summary>.kp-plan-installment { color:var(--PI); font-size:12px; font-weight:600; }
.device .kp-room-tour-intro,.device .kfp-intro { text-align:center; }
.device .kp-room-tour-intro>span { color:var(--PI); }
.device .kp-room-tour-intro p,.device .kfp-intro p { font-size:12px; line-height:1.6; color:var(--MT); }
.device .kp-floor-tabs button { color:var(--MT); background:#FFFFFF; border-color:var(--BD); font-size:12px; font-weight:600; }
.device .kp-floor-tabs button.is-active { color:#FFFFFF; background:var(--PI); border-color:var(--PI); box-shadow:none; }
.device .kp-plan-viewport { background:#FFFFFF; border-color:var(--BD); }
.device .kp-plan-zoom { background:#FFFFFF; border-color:var(--BD); box-shadow:var(--sh-s); }
.device .kp-plan-zoom button { background:#FFFFFF; color:var(--TX); border-color:var(--BD); }
.device .kp-plan-caption { color:var(--TX); font-size:12px; }
.device .kp-plan-caption>strong { font-size:12px; font-weight:600; }
.device .kp-plan-caption>span,.device .kp-plan-caption>small { color:var(--MT); font-size:11px; }
.device .kp-room-plan { background:#EDF2EF; border-color:var(--BD); box-shadow:none; }
.device .kp-room-plan-grid { background-image:linear-gradient(rgba(46,125,107,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(46,125,107,.06) 1px,transparent 1px); }
.device .kp-room-zone { background:rgba(255,255,255,.8); border-color:#BACCC3; color:var(--TX); }
.device .kp-room-zone:hover,.device .kp-room-zone.is-active { border-color:var(--PI); background:#FFFFFF; box-shadow:var(--sh-s); }
.device .kp-room-zone-pin { background:var(--PI); color:#FFFFFF; box-shadow:none; }
.device .kp-room-zone-name { font-weight:600; }
.device .kp-room-zone small,.device .kp-room-tour-hint { color:var(--MT); }
.device .kp-room-tour-hint b { color:var(--TX); }
.device .kp-room-tour-hint>span:first-child { color:var(--PI); }
.device .kp-room-sheet { background:#FFFFFF; }
.device .kp-room-sheet-head strong { color:var(--TX); font-size:18px; font-weight:700; }
.device .kp-room-sheet-head span { color:var(--MT); letter-spacing:.04em; }
.device .kp-room-close { background:#F1F5F3; color:var(--TX); }
.device .kp-room-sheet figure { background:var(--BG); box-shadow:none; }
.device .kp-room-sheet-copy { color:var(--MT); font-size:12px; }
.device .kp-room-spec { border-color:var(--BD); box-shadow:none; }
.device .kp-room-spec-head span,.device .kp-room-spec>div span { color:var(--MT); }
.device .kp-room-spec-head b,.device .kp-room-spec>div b { color:var(--TX); }
.device .kp-room-spec>div:not(.kp-room-spec-head) { border-color:var(--BD); }

/* Same interactive guide targets and motion, with the approved information palette. */
.ktg-root { color:#263B35!important; }
.ktg-root .ktg-backdrop,.ktg-root .ktg-shade { background:rgba(27,43,37,.56)!important; }
.ktg-root .ktg-card { border-color:#DFE7E3; border-radius:16px; box-shadow:0 12px 40px rgba(38,59,53,.18); }
.ktg-root .ktg-eyebrow,.ktg-root .ktg-progress,.ktg-root .ktg-note,.ktg-root .ktg-topic small { color:#64716C; }
.ktg-root .ktg-icon { color:#263B35; background:#F1F5F3; }
.ktg-root .ktg-button { background:#FFFFFF; color:#B93E42; border-color:#E5E4E8; border-radius:10px; }
.ktg-root .ktg-primary { color:#FFFFFF; background:#B93E42; border-color:#B93E42; }
.ktg-root .ktg-quiet { color:#64716C; background:transparent; }
.ktg-root .ktg-topic { background:#FFFFFF; border-color:#DFE7E3; border-radius:10px; }
.ktg-root .ktg-topic:hover { background:#F6F8F8; }
.ktg-root .ktg-ring { outline-color:#1D5DA8; box-shadow:0 0 0 7px rgba(29,93,168,.2); animation-name:kentara-guide-pulse; }
.ktg-root .ktg-arrow { text-shadow:0 1px 4px #244E7D; }
@keyframes kentara-guide-pulse { 50% { box-shadow:0 0 0 11px rgba(29,93,168,.07); } }
@media(prefers-reduced-motion:reduce) { .ktg-root .ktg-ring,.ktg-root .ktg-arrow { animation:none; } }
