/* Kentara Local Pitch Theme — presentation layer only.
   It is injected over the preserved Claude prototypes by the local launchers. */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@500;600&family=Manrope:wght@400;600;700&display=swap');

:root{
  --P:#35231E;--PD:#241713;--PI:#5D3A31;--PL:#F5D3DD;--PS:#FDF2F5;
  --G:#087A68;--GL:#E3F4EF;--A:#B96A13;--AL:#FFF2DE;--R:#C94050;--RL:#FFEAED;
  --TX:#2A211E;--MT:#796E68;--IL:#B7AAA3;--BD:#E9E0D9;--BG:#F8F6F3;--W:#FFFFFF;
  --f:'Manrope',ui-sans-serif,system-ui,sans-serif;--fd:'Manrope',ui-sans-serif,system-ui,sans-serif;--fm:'DM Mono',ui-monospace,monospace;
  --sh-s:0 1px 2px rgba(53,35,30,.04),0 8px 22px rgba(53,35,30,.065);
  --sh-m:0 5px 18px rgba(53,35,30,.10),0 24px 52px rgba(53,35,30,.13);
}

*{text-rendering:optimizeLegibility}
body{font-family:var(--f)!important;background:radial-gradient(1000px 540px at 50% -8%,#fff 0%,#f8f6f3 61%,#eee6df 100%)!important;color:var(--TX)!important;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--f)!important}
::selection{background:rgba(217,101,137,.22);color:var(--TX)}

/* Buyer and Agent receive a calmer, premium mobile-app frame. */
body:has(.device){padding:34px 18px!important;min-height:100vh!important}
.device{width:408px!important;height:866px!important;border:7px solid rgba(255,255,255,.78)!important;border-radius:38px!important;background:#F8F6F3!important;box-shadow:0 2px 4px rgba(53,35,30,.06),0 32px 82px rgba(53,35,30,.19),0 0 0 1px rgba(53,35,30,.10)!important}
.device .sb{background:rgba(255,255,255,.95)!important;color:var(--TX)!important;padding:14px 25px 9px!important}
.device .topbar{background:rgba(255,255,255,.92)!important;border-bottom-color:rgba(53,35,30,.06)!important;backdrop-filter:blur(18px) saturate(1.1)!important;padding:13px 17px!important}
.device .tb-ti{font-size:15px!important;letter-spacing:-.45px!important}.device .ib{width:36px!important;height:36px!important;background:#F3ECE6!important;color:var(--TX)!important}
.device .scroll{background:transparent!important}.device .card{border:1px solid rgba(53,35,30,.05)!important;border-radius:18px!important;box-shadow:var(--sh-s)!important}.device .card:hover{box-shadow:0 12px 28px rgba(53,35,30,.10)!important}
.device .cimg{height:174px!important;filter:saturate(.94)}.device .cb2{padding:14px 16px!important}.device .pn{font-size:14px!important;letter-spacing:-.25px}.device .pp{font-size:17px!important;letter-spacing:-.45px}
.device .btn{min-height:44px!important;border-radius:13px!important;letter-spacing:-.15px!important}.device .btn-p{background:linear-gradient(180deg,#4B3028,#2B1B17)!important;color:#fff!important;box-shadow:0 10px 18px -10px rgba(53,35,30,.62)!important}.device .btn-s{background:#F2ECE6!important}.device .btn-o{border-color:#D9C6BD!important;background:#fff!important}
.device .inp,.device .srch{border-color:#E8DED7!important;background:#fff!important;border-radius:13px!important}.device .srch{background:#F5F1EC!important}.device .inp:focus,.device .srch:focus-within{border-color:#8B5141!important;box-shadow:0 0 0 4px rgba(139,81,65,.12)!important}
.device .chip{border-color:#E7DDD6!important;background:#fff!important;border-radius:999px!important;padding:7px 12px!important}.device .chip.on,.app .chip.on{background:#5D3A31!important;border-color:#5D3A31!important;color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.14)!important;box-shadow:0 7px 15px -10px rgba(53,35,30,.7)!important}
.device .bnav{background:rgba(255,255,255,.94)!important;border-top-color:rgba(53,35,30,.07)!important;box-shadow:0 -13px 30px -24px rgba(53,35,30,.42)!important}.device .ni.on .ni-i{background:#F8E3E9!important;color:#5D3A31!important}.device .ni.on .ni-l{color:#5D3A31!important}
.device .note-a,.device .note{border-radius:12px!important}.device .agc,.device .ms{background:linear-gradient(145deg,#3D2822,#664238)!important;box-shadow:0 16px 28px -18px rgba(53,35,30,.75)!important}
.device .sheet,.device .modal-b{border-radius:24px 24px 0 0!important;box-shadow:0 -18px 45px rgba(53,35,30,.18)!important}.device .modal-b{border-radius:22px!important}

/* First impression: photographic entry scenes for Buyer and Agent/Inhouse. */
.device:has(.kp-entry-screen) .sb{position:relative;z-index:3;background:rgba(39,24,20,.94)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.10)!important}.device:has(.kp-entry-screen) .sb span,.device:has(.kp-entry-screen) .sb div{color:#fff!important}.kp-entry-screen{position:relative!important;isolation:isolate;overflow:hidden!important;background:#32201B!important}.kp-entry-screen::before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(30,18,15,.13) 0%,rgba(30,18,15,.52) 38%,rgba(30,18,15,.96) 71%,#241713 100%),var(--kp-entry-image) center/cover no-repeat;transform:scale(1.03);transition:background .4s ease}.kp-entry-screen::after{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(420px 250px at 85% 8%,rgba(245,171,192,.22),transparent 64%),linear-gradient(120deg,rgba(250,226,234,.08),transparent 42%);pointer-events:none}.kp-entry-deck{position:absolute;z-index:1;top:24px;left:22px;right:22px;height:235px}.kp-entry-deck::before,.kp-entry-deck::after{content:'';position:absolute;inset:9px 11px -7px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);transform:rotate(2.2deg);pointer-events:none}.kp-entry-deck::after{inset:5px 6px -3px;opacity:.76;transform:rotate(-1.1deg)}.kp-entry-photo{position:relative;z-index:1;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.40);border-radius:20px;background-color:#5D3A31;background-size:cover;background-position:center;box-shadow:0 16px 34px rgba(17,10,8,.32);cursor:pointer;transition:transform .2s ease,filter .2s ease}.kp-entry-photo:hover{filter:brightness(1.06);transform:translateY(-2px)}.kp-entry-photo:focus-visible{outline:2px solid #F5D3DD;outline-offset:4px}.kp-entry-photo span{position:absolute;left:13px;bottom:13px;max-width:80%;color:#fff;font-size:9px;font-weight:800;letter-spacing:.02em;text-align:left;text-shadow:0 1px 5px rgba(0,0,0,.42)}.kp-entry-dots{position:absolute;z-index:2;right:12px;bottom:12px;display:flex;gap:5px}.kp-entry-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.52);cursor:pointer;transition:width .18s ease,background .18s ease}.kp-entry-dots button[aria-selected="true"]{width:18px;border-radius:999px;background:#fff}.kp-entry-content{position:relative;z-index:2}.kp-entry-buyer .kp-entry-content{padding:290px 24px 28px!important;text-align:left!important}.kp-entry-buyer .kp-entry-content>div:first-child{display:grid!important;place-items:center;width:46px!important;height:46px!important;margin:0 0 12px!important;border:1px solid rgba(255,255,255,.23)!important;border-radius:14px!important;background:rgba(255,255,255,.14)!important;font-size:0!important}.kp-entry-buyer .kp-entry-content>div:first-child::after{content:'K';color:#F6C4D2;font-family:var(--fm);font-size:18px;font-weight:700}.kp-entry-buyer .kp-entry-content>div:nth-child(2){font-size:27px!important;line-height:1.08!important;letter-spacing:-1.1px!important;text-align:left!important}.kp-entry-buyer .kp-entry-content>div:nth-child(3){max-width:300px;color:#fff!important;font-size:18px!important;line-height:1.25!important;text-align:left!important}.kp-entry-buyer .kp-entry-content>div:nth-child(4){max-width:300px;color:rgba(255,255,255,.78)!important;text-align:left!important}.kp-entry-buyer .kp-entry-content button{display:flex!important;align-items:center;justify-content:space-between;padding:13px 15px!important;border-radius:13px!important;box-shadow:0 10px 22px rgba(0,0,0,.18)}.kp-entry-buyer .kp-entry-content button>div:first-child{color:#35231E!important}.kp-entry-buyer .kp-entry-content>div:nth-last-child(2),.kp-entry-buyer .kp-entry-content>div:last-child{color:rgba(255,255,255,.68)!important;text-align:left!important}.kp-entry-agent{justify-content:space-between!important}.kp-entry-agent .kp-entry-content{flex:initial!important;padding:285px 24px 0!important;align-items:flex-start!important;text-align:left!important}.kp-entry-agent .kp-entry-content>div:first-child{width:48px!important;height:48px!important;margin:0 0 12px!important;border-radius:14px!important;background:rgba(255,255,255,.16)!important;font-size:0!important}.kp-entry-agent .kp-entry-content>div:first-child::after{content:'↗';display:grid;place-items:center;width:100%;height:100%;color:#F6C4D2;font-family:var(--fm);font-size:21px;font-weight:700}.kp-entry-agent .kp-entry-content>div:nth-child(2){font-size:25px!important;letter-spacing:-.9px!important;text-align:left!important}.kp-entry-agent .kp-entry-content>div:nth-child(3){max-width:285px;text-align:left!important}.kp-entry-agent>div:last-child{position:relative;z-index:2;padding:16px 24px 28px!important}.kp-entry-agent>div:last-child .btn{border-radius:13px!important;box-shadow:0 10px 22px rgba(0,0,0,.2)!important}

/* Dashboard is deliberately more editorial: high-signal controls, restrained surfaces. */
body:has(.app){background:#F3F0EC!important}
.app{max-width:1440px!important;min-height:100vh!important;background:#F8F6F3!important;box-shadow:0 0 0 1px rgba(53,35,30,.05),0 28px 70px rgba(53,35,30,.12)!important}
.app .sb{width:250px!important;background:linear-gradient(180deg,#30201B 0%,#231613 100%)!important;padding:8px 0 16px!important}.app .sb-logo{padding:20px 20px 16px!important;border-bottom-color:rgba(255,255,255,.10)!important}.app .sb-logo-i{width:36px!important;height:36px!important;border-radius:11px!important;background:rgba(255,255,255,.14)!important}.app .sb-role{padding:18px 20px 8px!important;color:rgba(255,255,255,.46)!important;font-size:9px!important;letter-spacing:.85px!important}
.app .nav-i{margin:2px 10px!important;padding:10px 12px!important;border-left:0!important;border-radius:10px!important;color:rgba(255,255,255,.68)!important}.app .nav-i:hover{background:rgba(255,255,255,.08)!important}.app .nav-i.on{background:rgba(255,255,255,.13)!important;box-shadow:inset 3px 0 0 #E892AB!important;color:#fff!important}.app .nav-i .ico{opacity:.9}
.app .topbar{height:72px!important;padding:0 30px!important;background:rgba(255,255,255,.90)!important;border-bottom-color:#E9E0D9!important;backdrop-filter:blur(18px) saturate(1.15)!important}.app .tb-title{font-size:20px!important;letter-spacing:-.7px!important}.app .tb-sub{font-size:11px!important}.app .role-sw{padding:4px!important;border-color:#E7DDD6!important;background:#F7F3EE!important;border-radius:12px!important}.app .role-sw div{padding:7px 12px!important;border-radius:8px!important}.app .role-sw div.on{background:#3B2721!important;box-shadow:0 5px 12px -7px rgba(53,35,30,.7)!important}
.app .content{padding:30px!important;background:#F8F6F3!important}.app .row{gap:14px!important}.app .stat{position:relative;overflow:hidden;min-width:170px!important;border:1px solid #EAE1DA!important;border-radius:18px!important;padding:17px 18px!important;background:#fff!important;box-shadow:0 7px 18px rgba(53,35,30,.045)!important}.app .stat::before{content:'';position:absolute;left:0;top:0;width:100%;height:3px;background:#5D3A31}.app .stat:nth-child(2)::before{background:#0A806E}.app .stat:nth-child(3)::before{background:#C5791C}.app .stat:nth-child(4)::before{background:#D2617E}.app .stat-l{font-size:11px!important;letter-spacing:.05em;text-transform:uppercase}.app .stat-n{font-size:28px!important;letter-spacing:-1px!important;margin-top:7px!important}
.app .card{border:1px solid #EAE1DA!important;border-radius:18px!important;padding:20px!important;margin-bottom:16px!important;background:#fff!important;box-shadow:0 8px 20px rgba(53,35,30,.045)!important}.app .card-h{margin-bottom:18px!important}.app .card-t{font-size:15px!important;letter-spacing:-.35px!important}.app .split{gap:16px!important}
.app .tbl{border-spacing:0!important}.app .tbl th{padding:10px 11px!important;color:#897B73!important;font-size:10px!important;letter-spacing:.08em!important;background:#FBF9F7!important}.app .tbl td{padding:13px 11px!important;border-bottom-color:#F0EAE5!important}.app .tbl tbody tr{transition:background .16s ease}.app .tbl tbody tr:hover{background:#FCF7F8!important}.app .tbl tbody tr:last-child td{border-bottom:0!important}
.app .badge{border-radius:999px!important;padding:4px 9px!important;font-size:9px!important;letter-spacing:.02em!important}.app .btn{min-height:38px!important;border-radius:10px!important;padding:8px 14px!important;letter-spacing:-.12px!important}.app .btn-p{background:linear-gradient(180deg,#4A3028,#2D1C18)!important;color:#fff!important;box-shadow:0 8px 16px -10px rgba(53,35,30,.72)!important}.app .btn-s{background:#F5E8EC!important;color:#6A3C48!important}.app .btn-o{border-color:#E4DAD3!important;background:#fff!important}.app .inp{border-color:#E6DCD5!important;border-radius:10px!important;padding:10px 12px!important}.app .inp:focus{border-color:#8B5141!important;box-shadow:0 0 0 4px rgba(139,81,65,.10)!important}
.app .dbar-track,.app [style*="height:7px"][style*="background"],.app [style*="height:14px"][style*="background"],.app [style*="height:22px"][style*="background"]{background:#F0ECE7!important;border-radius:999px!important;overflow:hidden!important}.app .dbar-fill,.app [style*="height:7px"][style*="background"]>div,.app [style*="height:14px"][style*="background"]>div,.app [style*="height:22px"][style*="background"]>div{background:linear-gradient(90deg,#2D786D,#0A9A84)!important;border-radius:999px!important;box-shadow:inset 0 -1px 0 rgba(0,0,0,.10)!important}.app .kav-grid{gap:7px!important}.app .kav{border-radius:9px!important}

/* Dashboard: each graph explains the decision in words and numbers, not only shape. */
.app .kp-metric-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:14px!important}.app .kp-metric-grid>.stat{min-width:0!important}.app .kp-metric-card{display:flex;min-height:248px;flex-direction:column}.app .kp-metric-card .stat-n{margin-bottom:10px!important}.kp-metric-delta{display:flex;align-items:baseline;gap:5px;margin-top:1px}.kp-metric-delta>span{font-size:14px;font-weight:800}.kp-metric-delta strong{font-size:13px;letter-spacing:-.22px}.kp-metric-delta small{font-size:9px;font-weight:700;line-height:1.35}.kp-tone-good{color:#087A68}.kp-tone-risk{color:#C94050}.kp-tone-neutral{color:#796E68}.kp-metric-compare{display:grid;grid-template-columns:auto 1fr auto auto 1fr;gap:5px;align-items:baseline;margin-top:11px;padding:8px 9px;border-radius:10px;background:#F8F6F3;color:#8B7C74;font-size:8px;line-height:1.25}.kp-metric-compare b{color:#3D2A24;font-family:var(--fm);font-size:9px;font-weight:600;white-space:nowrap}.kp-metric-compare i{color:#A18E84;font-size:11px;font-style:normal}.kp-metric-bars{display:flex;align-items:flex-end;gap:4px;height:43px;margin-top:auto;padding-top:12px;border-bottom:1px solid #EEE7E2}.kp-metric-bar{display:block;flex:1;min-height:5px;border-radius:4px 4px 1px 1px;background:#E9D7DC;transition:height .18s ease,background .18s ease}.kp-metric-bar:hover{background:#D2617E}.kp-metric-bar.is-previous{background:#BFAEA6}.kp-metric-bar.is-current{background:#087A68}.kp-metric-note{margin-top:6px;color:#8D7B72;font-size:8px;font-weight:600;line-height:1.35}.kp-main-chart .card-h{margin-bottom:14px!important}.kp-chart-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 12px;margin-bottom:13px;border-radius:12px;background:#F8F6F3}.kp-chart-summary>div{display:grid;gap:2px;min-width:100px}.kp-chart-summary span{color:#8D7B72;font-size:9px;font-weight:700}.kp-chart-summary b{color:#3D2A24;font-size:14px;letter-spacing:-.35px}.kp-chart-summary i{color:#A18E84;font-size:15px;font-style:normal}.kp-chart-summary>strong{margin-left:auto;font-size:11px}.kp-chart-summary>strong.up{color:#087A68}.kp-chart-summary>strong.down{color:#C94050}.kp-chart-foot{margin-top:8px;color:#8D7B72;font-size:9px;line-height:1.45}

/* CMS: the save state and upload affordances make data entry understandable. */
.kp-cms-savebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.kp-cms-field-note{margin-top:7px;color:#8B7C74;font-size:10px;line-height:1.45}.kp-cms-type-list{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0 10px}.kp-cms-type{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:0 9px;border:1px solid #E4D7D0;border-radius:9px;background:#FDF2F5;color:#5D3A31;cursor:pointer;font-size:11px;font-weight:800}.kp-cms-type:hover{border-color:#D2617E;background:#F9E5EB}.kp-cms-type span{font-size:15px;line-height:1;color:#A65970}.kp-cms-type-add{display:flex;gap:7px;align-items:center;margin-top:7px}.kp-cms-type-add .inp{width:150px;min-height:35px!important;padding:7px 9px!important}.kp-cms-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kp-cms-section-head p{margin:3px 0 12px;color:#8B7C74;font-size:10px;line-height:1.45}.kp-cms-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}.kp-cms-media{position:relative;min-height:124px;overflow:hidden;border:1px solid #E8DED7;border-radius:12px;background:#EDE4DD center/cover no-repeat}.kp-cms-media button{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:rgba(48,32,27,.72);color:#fff;cursor:pointer;font-size:16px;line-height:1}.kp-cms-cover{position:absolute;left:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.92);color:#3D2A24;font-size:8px;font-weight:800}.kp-cms-upload{display:grid;min-height:124px;place-items:center;align-content:center;gap:4px;border:1.5px dashed #CDBDB4;border-radius:12px;background:#FBF8F5;color:#5D3A31;cursor:pointer;text-align:center}.kp-cms-upload:hover,.kp-cms-layout-upload:hover{border-color:#A45C72;background-color:#FDF2F5}.kp-cms-upload>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#F3DCE4;font-size:17px;font-weight:700}.kp-cms-upload b{font-size:11px}.kp-cms-upload small{color:#8B7C74;font-size:9px}.kp-cms-layout-upload{cursor:pointer;min-height:150px;background-color:#FBF8F5;border-color:#CDBDB4}.kp-cms-dot-row{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #E8DED7;border-radius:9px;margin-bottom:6px}.kp-cms-icon-danger{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:#FCECEF;color:#B83246;cursor:pointer;font-size:17px}.kp-cms-icon-danger:hover{background:#F7D9DE}

/* Small dashboard summaries use text and state, not an unexplained decorative line. */
.app .stat:not(.kp-metric-card) .stat-d{display:inline-flex;align-items:center;min-height:23px;margin-top:8px;padding:4px 8px;border-radius:999px;background:#F7F3EF;color:#796E68;font-size:10px!important;line-height:1.2}.app .stat:not(.kp-metric-card) .stat-d.up{background:#E3F4EF;color:#087A68}.app .stat:not(.kp-metric-card) .stat-d.down{background:#FFEAED;color:#C94050}.kp-stat-foot{margin-top:9px;color:#A39087;font-size:9px;font-weight:700;line-height:1.35}

button:focus-visible,a:focus-visible,[onclick]:focus-visible{outline:2px solid #D2617E!important;outline-offset:2px!important}
.kp-entry-buyer .kp-entry-content>div:first-child{background:rgba(255,255,255,.14) url('assets/kentara-mark.svg') center/31px 31px no-repeat!important}
.kp-entry-buyer .kp-entry-content>div:first-child::after,.kp-entry-agent .kp-entry-content>div:first-child::after{content:none!important}
.kp-entry-agent .kp-entry-content>div:first-child{background:rgba(255,255,255,.16) url('assets/kentara-mark.svg') center/32px 32px no-repeat!important}
@media(max-width:880px){.app .sb{width:68px!important}.app .content{padding:18px!important}.app .topbar{padding:0 16px!important}}
@media(max-width:420px){body:has(.device){padding:0!important}.device{width:100vw!important;height:100vh!important;border:0!important;border-radius:0!important;box-shadow:none!important}}

/* Editorial visual layer: real architectural image, meaningful operational signal,
   and one task-focused action. Existing prototype content stays immediately below. */
.kp-dashboard-hero{min-height:266px;position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:24px;align-items:end;overflow:hidden;border-radius:22px;padding:28px 30px;margin:0 0 22px;background:linear-gradient(90deg,rgba(36,23,19,.97) 0%,rgba(47,30,25,.91) 43%,rgba(47,30,25,.42) 75%,rgba(47,30,25,.20) 100%),url('assets/kentara-tropical-residence-hero.png') center/cover no-repeat;box-shadow:0 17px 34px rgba(53,35,30,.17)}
.kp-dashboard-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.13));pointer-events:none}.kp-hero-copy,.kp-hero-signal{position:relative;z-index:1}.kp-eyebrow{display:flex;gap:8px;align-items:center;margin-bottom:11px;color:#F6C4D2;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.kp-eyebrow span{width:7px;height:7px;border-radius:50%;background:#89D5C8;box-shadow:0 0 0 4px rgba(137,213,200,.12)}.kp-hero-copy h1{max-width:480px;margin:0;color:#fff;font-size:30px;line-height:1.16;letter-spacing:-1.35px}.kp-hero-copy p{max-width:430px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.65;margin:10px 0 18px}.kp-hero-action{min-height:40px;border:0;border-radius:10px;padding:0 14px;background:#fff;color:#35231E;cursor:pointer;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.16)}.kp-hero-action:hover{background:#FBE5EC}.kp-hero-action b,.kp-buyer-hero button b{font-size:16px;margin-left:7px}.kp-hero-signal{padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(36,23,19,.38);backdrop-filter:blur(12px)}.kp-signal-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px;color:rgba(255,255,255,.68)}.kp-signal-head b{font-size:13px;color:#A9E2D8}.kp-hero-signal svg{display:block;width:100%;height:104px}.kp-signal-foot{display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:9px}
.kp-buyer-hero{height:214px;position:relative;overflow:hidden;margin:12px 14px 18px;border-radius:18px;background:url('assets/kentara-tropical-residence-hero.png') center/cover no-repeat;box-shadow:0 15px 28px rgba(53,35,30,.18)}.kp-buyer-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,23,19,.86),rgba(37,23,19,.43) 68%,rgba(37,23,19,.08))}.kp-buyer-copy{position:relative;z-index:1;display:flex;height:100%;max-width:82%;padding:20px;flex-direction:column;justify-content:flex-end;color:#fff}.kp-buyer-copy>span{margin-bottom:5px;color:#F6C4D2;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.kp-buyer-copy h1{margin:0;font-size:18px;line-height:1.2;letter-spacing:-.7px}.kp-buyer-copy p{margin:6px 0 12px;color:rgba(255,255,255,.76);font-size:10px;line-height:1.5}.kp-buyer-copy button{align-self:flex-start;border:0;border-radius:9px;padding:8px 11px;background:#fff;color:#35231E;font-size:10px;font-weight:800;cursor:pointer}.kp-buyer-copy button:hover{background:#FBE5EC}
.kp-agent-pulse{display:flex;align-items:center;justify-content:space-between;margin:12px 14px 16px;padding:13px 14px;border:1px solid #E6D9D0;border-radius:15px;background:linear-gradient(135deg,#FFF,#FAF0F3);box-shadow:0 9px 19px rgba(53,35,30,.06)}.kp-agent-pulse>div:first-child{display:grid;gap:2px}.kp-agent-pulse>div:first-child span{color:var(--MT);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kp-agent-pulse>div:first-child b{font-size:12px;letter-spacing:-.22px}.kp-pulse-score{display:flex;gap:6px;align-items:center;border-radius:999px;padding:6px 8px;background:#E5F3EF;color:#087A68;font-size:9px;font-weight:800}.kp-pulse-score i{width:6px;height:6px;border-radius:50%;background:#087A68;box-shadow:0 0 0 3px rgba(8,122,104,.10)}
.app svg.kp-chart{filter:drop-shadow(0 8px 11px rgba(53,35,30,.05))}.app svg.kp-chart rect{rx:5px}.app svg.kp-chart path[fill="none"]{stroke-width:2.5px}
@media(max-width:880px){.kp-dashboard-hero{grid-template-columns:1fr;padding:24px;gap:16px}.kp-hero-signal{max-width:420px}.kp-hero-copy h1{font-size:26px}}

.kp-action-denah>span:last-child{color:#fff!important}

/* Mature interaction language shared by Buyer, Agent, and Dashboard. */
.btn,.ib,.chip,.bopt,.ch,.tab,.ptb,.vtb,.nav-i,.ni,.lcard,.pm,.role-sw>div,[onclick]{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,filter .18s ease!important}
.btn:hover,.ib:hover,.chip:hover,.bopt:hover,.ch:hover,.tab:hover,.ptb:hover,.vtb:hover,.nav-i:hover,.ni:hover,.lcard:hover,.pm:hover,.role-sw>div:hover,[onclick]:hover{filter:brightness(.985)}
.btn:active,.ib:active,.chip:active,.bopt:active,.ch:active,.tab:active,.ptb:active,.vtb:active,.nav-i:active,.ni:active,.lcard:active,.pm:active,.role-sw>div:active,[onclick]:active{transform:translateY(1px) scale(.985)!important}
.btn:disabled,button:disabled{cursor:not-allowed!important;filter:saturate(.1)!important;box-shadow:none!important}.btn:focus-visible,.ib:focus-visible,.chip:focus-visible,.bopt:focus-visible,.ch:focus-visible,.tab:focus-visible,.ptb:focus-visible,.vtb:focus-visible,.nav-i:focus-visible,.ni:focus-visible,.lcard:focus-visible,.pm:focus-visible,.role-sw>div:focus-visible{outline:2px solid #D2617E!important;outline-offset:3px!important}
.kp-property-photo{position:relative;overflow:hidden}.kp-property-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(35,22,18,.13));pointer-events:none}.kp-property-photo .cov{z-index:1}.kp-property-photo .pill{box-shadow:0 3px 10px rgba(35,22,18,.15)}

/* Buyer DBR: a permanent, clear capability entry point rather than a hidden profile task. */
.kp-dbr-card{position:relative;display:flex;align-items:center;gap:11px;overflow:hidden;margin:0 14px 12px;padding:14px;border-radius:16px;cursor:pointer;isolation:isolate;box-shadow:0 10px 22px rgba(53,35,30,.075);transition:transform .18s ease,box-shadow .18s ease}.kp-dbr-card::after{content:'';position:absolute;z-index:-1;width:156px;height:156px;right:-72px;top:-78px;border:1px solid currentColor;border-radius:50%;opacity:.11}.kp-dbr-start{color:#3E2923;background:linear-gradient(145deg,#FFF9F5,#FBE9EE);border:1px solid #EBD6D0}.kp-dbr-ready{color:#165F55;background:linear-gradient(145deg,#F8FFFC,#E6F4EF);border:1px solid #CDE6DD}.kp-dbr-card:hover{transform:translateY(-1px);box-shadow:0 14px 27px rgba(53,35,30,.11)}.kp-dbr-card:focus-visible{outline:2px solid #C45572;outline-offset:3px}.kp-dbr-symbol{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#3D2923;color:#fff;box-shadow:0 8px 14px -9px rgba(53,35,30,.65)}.kp-dbr-ready .kp-dbr-symbol{background:#0A806E}.kp-dbr-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.kp-dbr-copy{display:grid;flex:1;min-width:0;gap:2px}.kp-dbr-copy span{font-size:8px;line-height:1.2;font-weight:800;letter-spacing:.10em;color:#9B6B6B}.kp-dbr-ready .kp-dbr-copy span{color:#348375}.kp-dbr-copy b{font-size:12px;line-height:1.32;letter-spacing:-.28px;color:currentColor}.kp-dbr-copy p{margin:0;color:#856F68;font-size:9px;line-height:1.42}.kp-dbr-ready .kp-dbr-copy p{color:#4E7C72}.kp-dbr-arrow{display:flex;align-items:center;gap:4px;align-self:flex-end;color:currentColor;font-size:9px;font-weight:800;white-space:nowrap}.kp-dbr-arrow i{font-size:14px;font-style:normal;line-height:.8}

/* The three property actions are intentionally not peers: denah is the primary next step. */
.kp-property-actions{display:flex!important;gap:8px!important;margin:2px 14px 14px!important}.kp-property-action{position:relative;display:flex!important;min-height:108px;padding:12px!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;overflow:hidden;border:1px solid transparent!important;border-radius:15px!important;box-shadow:0 8px 18px rgba(53,35,30,.06);text-align:left!important;isolation:isolate}.kp-property-action::after{content:'';position:absolute;z-index:-1;right:-27px;bottom:-33px;width:85px;height:85px;border:1px solid currentColor;border-radius:50%;opacity:.15}.kp-property-action>span:first-child{display:grid!important;place-items:center;flex:0 0 34px;width:34px!important;height:34px!important;border-radius:10px!important;font-size:12px!important}.kp-property-action>span:first-child svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.kp-property-action>span:last-child{position:absolute;left:12px;right:10px;bottom:13px;font-size:11px!important;line-height:1.22;text-align:left!important;font-weight:800!important;letter-spacing:-.25px}.kp-action-denah{color:#fff!important;background:linear-gradient(150deg,#4D3028,#2D1C18)!important;border-color:#2D1C18!important;box-shadow:0 12px 20px rgba(53,35,30,.22)!important}.kp-action-denah>span:first-child{color:#3A241E!important;background:#F6D4DE!important}.kp-action-jarak{color:#0A6E60!important;background:linear-gradient(150deg,#F0FAF6,#E0F2EA)!important;border-color:#CDE6DD!important}.kp-action-jarak>span:first-child{color:#087A68!important;background:#CFEDE3!important}.kp-action-kpr{color:#8B5515!important;background:linear-gradient(150deg,#FFF8EB,#FFF0D6)!important;border-color:#F3DFC0!important}.kp-action-kpr>span:first-child{color:#94570E!important;background:#FFE1A8!important}.kp-rupiah{font-family:var(--fm);font-size:12px;font-weight:700;letter-spacing:-.07em}.kp-property-action:hover{transform:translateY(-2px)!important;filter:brightness(1.015)!important}.kp-property-action:focus-visible{outline:2px solid #C45572!important;outline-offset:3px!important}
.kp-property-gallery{margin:14px 14px 4px;padding:13px;border:1px solid #E8DDD6;border-radius:16px;background:linear-gradient(145deg,#FFF,#FBF7F3);box-shadow:0 9px 20px rgba(53,35,30,.055)}.kp-gallery-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.kp-gallery-head>div{display:grid;gap:2px}.kp-gallery-head span{color:#9B8278;font-size:8px;font-weight:800;letter-spacing:.11em}.kp-gallery-head b{color:#35231E;font-size:12px;letter-spacing:-.25px}.kp-gallery-head em{font-family:var(--fm);font-style:normal;color:#967A70;font-size:9px;background:#F5EEE8;border-radius:999px;padding:4px 7px}.kp-gallery-grid{display:grid;grid-template-columns:1.34fr .86fr;gap:8px;height:124px}.kp-gallery-shot{position:relative;overflow:hidden;border:0;border-radius:11px;background-color:#E9E0D9;background-position:center;background-size:cover;cursor:pointer;text-align:left;box-shadow:inset 0 -44px 30px -24px rgba(29,18,14,.68)}.kp-gallery-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,19,15,.02),rgba(31,19,15,.42));pointer-events:none}.kp-gallery-shot i{position:absolute;z-index:1;left:9px;bottom:8px;color:#fff;font-family:var(--f);font-size:9px;font-style:normal;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.35)}.kp-gallery-plan{background-position:center}.kp-gallery-plan i{display:flex;align-items:center;gap:4px}.kp-gallery-plan i b{font-size:12px}.kp-gallery-shot:hover{filter:brightness(1.04);transform:translateY(-1px)}.kp-gallery-note{margin-top:9px;color:#8A7B74;font-size:9px;line-height:1.45}
.kp-floorplan-live{background:#F8F0E5 url('assets/kentara-t45-interactive-floorplan.png') center/cover no-repeat!important;border:1px solid #E7D9CE;box-shadow:inset 0 0 0 6px rgba(255,255,255,.40),0 10px 22px rgba(53,35,30,.10)!important}.kp-floorplan-live .denah-area{background:rgba(255,255,255,.06)!important;border:1px solid rgba(79,49,39,.24)!important;backdrop-filter:blur(1px)}.kp-floorplan-live .denah-area:hover{background:rgba(246,177,196,.20)!important;border-color:rgba(196,83,117,.65)!important}.kp-floorplan-live .denah-dot{width:18px!important;height:18px!important;right:-5px!important;top:-5px!important;background:#C44D6D!important;border:3px solid #fff!important;box-shadow:0 3px 9px rgba(109,40,57,.35)!important}.kp-floorplan-live .denah-dot::after{content:'';display:block;width:5px;height:5px;margin:4px;border-radius:50%;background:#fff}.kp-floorplan-live .denah-area>div:not(.denah-dot){opacity:0;transition:opacity .16s}.kp-floorplan-live .denah-area:hover>div:not(.denah-dot){opacity:1;background:rgba(255,255,255,.84);padding:2px 4px;border-radius:4px}.kp-room-photo{background:linear-gradient(180deg,rgba(25,16,13,.48),rgba(25,16,13,.88)),url('assets/kentara-hillside-villa.png') center/cover no-repeat!important}

/* Room tour: a restrained map language for real room imagery, shared by both mobile apps. */
.kp-room-tour{padding:14px!important;background:linear-gradient(180deg,#FCFAF8,#F8F6F3)!important}.kp-room-tour-intro{padding:6px 2px 14px}.kp-room-tour-intro>span,.kp-room-spec-head span,.kp-cms-room-tour-head>div>span{display:block;color:#9B6B6B;font-size:9px;font-weight:800;letter-spacing:.12em}.kp-room-tour-intro h2{margin:4px 0;color:#35231E;font-size:18px;letter-spacing:-.55px}.kp-room-tour-intro p{margin:0;color:#796E68;font-size:10px;line-height:1.55}.kp-floor-tabs,.kp-cms-floor-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.kp-floor-tabs button,.kp-cms-floor-tabs button{flex:0 0 auto;min-height:36px;border:1px solid #E5D9D2;border-radius:10px;padding:0 12px;background:#FFF;color:#75655E;font-size:10px;font-weight:800;cursor:pointer}.kp-floor-tabs button.is-active,.kp-cms-floor-tabs button.is-active{border-color:#3D2822;background:#3D2822;color:#FFF;box-shadow:0 7px 15px -10px rgba(53,35,30,.8)}.kp-room-plan{position:relative;height:300px;overflow:hidden;border:1px solid #E4D7CF;border-radius:17px;background:linear-gradient(135deg,#F9F0E9,#F0E5DD);box-shadow:inset 0 0 0 7px rgba(255,255,255,.40),0 11px 22px rgba(53,35,30,.08)}.kp-room-plan-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(111,76,63,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(111,76,63,.055) 1px,transparent 1px);background-size:22px 22px}.kp-room-zone{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;overflow:hidden;border:1.5px solid rgba(93,58,49,.24);border-radius:8px;padding:7px;background:rgba(255,255,255,.56);color:#3C2923;text-align:left;cursor:pointer;box-sizing:border-box;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.kp-room-zone:hover,.kp-room-zone.is-active{z-index:2;border-color:#B55271;background:rgba(255,248,249,.94);box-shadow:0 10px 17px rgba(116,56,75,.14);transform:translateY(-1px)}.kp-room-zone-pin{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#B55271;color:#FFF;font-family:var(--fm);font-size:9px;font-weight:700;box-shadow:0 3px 7px rgba(116,56,75,.25)}.kp-room-zone-name{max-width:85%;font-size:10px;font-weight:800;line-height:1.12;letter-spacing:-.15px}.kp-room-zone small{max-width:92%;color:#816D64;font-size:8px;line-height:1.2}.kp-room-tour-hint{display:flex;align-items:center;gap:6px;margin:10px 1px 13px;color:#85736A;font-size:9px}.kp-room-tour-hint>span:first-child{color:#B55271;font-size:17px;line-height:0}.kp-room-tour-hint b{color:#5A4138;font-size:9px}.kp-room-tour-hint span:last-child{margin-left:auto}.kp-room-spec{overflow:hidden;border:1px solid #E7DDD7;border-radius:14px;background:#FFF;box-shadow:0 7px 16px rgba(53,35,30,.035)}.kp-room-spec-head{display:flex;align-items:end;justify-content:space-between;padding:12px 13px 9px}.kp-room-spec-head b{color:#3D2923;font-size:11px;letter-spacing:-.2px}.kp-room-spec>div:not(.kp-room-spec-head){display:flex;justify-content:space-between;gap:10px;padding:8px 13px;border-top:1px solid #F0E8E2;font-size:10px}.kp-room-spec>div span{color:#8A7971}.kp-room-spec>div b{color:#41302A;text-align:right}.kp-room-sheet{position:absolute;z-index:920;inset:0;display:flex;flex-direction:column;overflow:auto;background:#FAF8F6;animation:fi .18s ease}.kp-room-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px}.kp-room-sheet-head>div{display:grid;gap:2px}.kp-room-sheet-head span{color:#AC7B6F;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.kp-room-sheet-head strong{color:#35231E;font-size:17px;letter-spacing:-.45px}.kp-room-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#F0E9E4;color:#412E28;font-size:25px;line-height:1;cursor:pointer}.kp-room-sheet figure{position:relative;overflow:hidden;margin:0 14px;border-radius:17px;background:#EADFD7;min-height:270px;box-shadow:0 14px 26px rgba(53,35,30,.14)}.kp-room-sheet figure img{display:block;width:100%;height:310px;object-fit:cover}.kp-room-sheet figcaption{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;padding:32px 14px 13px;background:linear-gradient(180deg,transparent,rgba(24,16,13,.82));color:#fff}.kp-room-sheet figcaption b{font-size:14px}.kp-room-sheet figcaption span{color:rgba(255,255,255,.74);font-size:9px;line-height:1.4}.kp-room-sheet-copy{padding:14px 17px;color:#726059;font-size:11px;line-height:1.65}.kp-room-sheet>.btn{margin:0 14px 18px}.kp-cms-room-tour{margin-top:18px;padding:18px;border:1px solid #E6D9D1;border-radius:16px;background:linear-gradient(145deg,#FFF,#FCF8F5);box-shadow:0 9px 21px rgba(53,35,30,.04)}.kp-cms-room-tour-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.kp-cms-room-tour-head h3{margin:3px 0;color:#35231E;font-size:15px;letter-spacing:-.35px}.kp-cms-room-tour-head p{max-width:500px;margin:0;color:#837269;font-size:10px;line-height:1.5}.kp-cms-room-tour-head .btn{flex:0 0 auto}.kp-cms-plan-wrap{max-width:650px;margin:0 0 14px}.kp-cms-plan-wrap .kp-room-plan{height:270px}.kp-cms-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kp-cms-room-card{position:relative;overflow:hidden;border:1px solid #E8DED8;border-radius:11px;background:#FFF}.kp-cms-room-card img{display:block;width:100%;height:102px;object-fit:cover}.kp-cms-room-card>div{display:grid;gap:2px;padding:8px 9px}.kp-cms-room-card span{color:#967A70;font-size:8px}.kp-cms-room-card b{color:#3E2B25;font-size:10px}.kp-cms-room-card label{display:block;margin:0 8px 8px;border:1px solid #E1D2C9;border-radius:7px;padding:6px;color:#6B4238;font-size:9px;font-weight:800;text-align:center;cursor:pointer}.kp-cms-room-card label:hover{border-color:#B55271;background:#FDF0F4}.kp-cms-room-tour .kp-floor-tabs,.kp-cms-room-tour .kp-cms-floor-tabs{margin-top:14px}@media(max-width:520px){.kp-room-plan{height:282px}.kp-room-zone{padding:5px}.kp-room-zone-name{font-size:9px}.kp-room-zone small{display:none}.kp-room-sheet figure img{height:278px}.kp-cms-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
