:root{
  --brand-primary:#0b2b55;--brand-accent:#13b8a6;
  --navy:#0a274a;--navy-2:#102f58;--blue:#1687f8;--blue-2:#eaf4ff;--cyan:#2ac6c4;--gold:#d99809;--orange:#f5a800;
  --green:#1ca778;--red:#e55252;--purple:#7b61d1;--ink:#122238;--muted:#6d7b8e;--line:#e5eaf0;--surface:#fff;
  --bg:#f5f7fa;--shadow:0 14px 40px rgba(24,45,73,.10);--shadow-sm:0 4px 16px rgba(24,45,73,.08);--radius:16px;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg.icon{display:inline-block;vertical-align:middle;flex:none}h1,h2,h3,p{margin-top:0}code,kbd{font-family:"Cascadia Code",Consolas,monospace}.boot-screen{height:100vh;display:grid;place-content:center;gap:12px;text-align:center}.boot-logo,.brand-symbol{display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan),var(--blue));color:#fff;font-weight:900;border-radius:14px;box-shadow:var(--shadow)}.boot-logo{width:66px;height:66px;margin:auto;font-size:30px}.boot-screen small{color:var(--muted)}
/* buttons & inputs */
.button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;white-space:nowrap}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.warning{background:var(--orange);border-color:var(--orange);color:#fff}.button.danger{background:var(--red);border-color:var(--red);color:#fff}.button.ghost{background:#fff;color:var(--ink)}.button.danger.ghost{background:#fff8f8;color:var(--red);border-color:#ffd8d8}.button.compact{padding:7px 11px;border-radius:8px;font-size:12px}.button.large{padding:13px 18px;font-size:15px;width:100%}.button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.icon-button{width:39px;height:39px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;position:relative}.icon-button:hover{background:#f3f7fb}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.content-editor-form label,.auth-form label,.settings-form label,.project-media-upload{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#3a4b61}.span-2{grid-column:span 2}.span-3{grid-column:span 3}input,select,textarea{border:1px solid #dce3eb;background:#fff;border-radius:9px;padding:10px 12px;outline:none;width:100%;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,135,248,.12)}textarea{resize:vertical}.check-line{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:600!important}.check-line input{width:17px;height:17px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 12px;min-width:260px}.search-field input{border:0;box-shadow:none!important;padding-left:2px}.switch{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:12px;font-weight:700!important}.switch input{display:none}.switch>span{width:36px;height:20px;border-radius:99px;background:#cad3df;position:relative;transition:.2s}.switch>span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;left:2px;top:2px;background:#fff;box-shadow:0 1px 4px #8794a5;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{left:18px}
/* auth */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.1fr) minmax(430px,.9fr);background:#fff}.auth-brand-panel{position:relative;overflow:hidden;padding:42px 6vw;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(43,203,202,.35),transparent 30%),radial-gradient(circle at 15% 80%,rgba(49,136,251,.4),transparent 33%),linear-gradient(145deg,#071e3d,#0c3564 58%,#0f4d68)}.auth-brand-panel:before,.auth-brand-panel:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.auth-brand-panel:before{width:650px;height:650px;right:-280px;top:-220px}.auth-brand-panel:after{width:420px;height:420px;left:-210px;bottom:-200px}.brand-lockup{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-symbol{width:48px;height:48px;font-size:22px}.brand-symbol.small{width:38px;height:38px;font-size:18px;border-radius:10px}.brand-lockup strong{font-size:26px;letter-spacing:.4px}.brand-lockup small{display:block;opacity:.7;letter-spacing:2px}.auth-hero{max-width:700px;margin-top:12vh;position:relative;z-index:1}.eyebrow{display:block;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:1.6px;margin-bottom:7px}.eyebrow.light{color:#6ee6e1}.auth-hero h1{font-size:clamp(38px,4.5vw,68px);line-height:1.03;letter-spacing:-2px;margin:16px 0 24px}.auth-hero>p{font-size:17px;max-width:640px;color:rgba(255,255,255,.78)}.auth-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:34px}.auth-feature-grid article{padding:18px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.auth-feature-grid strong{display:block;font-size:17px}.auth-feature-grid span{color:rgba(255,255,255,.68);font-size:12px}.auth-brand-footer{position:absolute;bottom:28px;left:6vw;color:rgba(255,255,255,.55);font-size:12px}.auth-form-panel{display:grid;place-items:center;padding:45px;background:linear-gradient(180deg,#fff,#f6f9fc)}.auth-card{width:min(480px,100%)}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:32px}.auth-tabs button{border:0;background:transparent;padding:12px 18px;font-weight:800;color:var(--muted);border-bottom:2px solid transparent}.auth-tabs button.active{color:var(--blue);border-color:var(--blue)}.auth-form{display:flex;flex-direction:column;gap:17px}.auth-form h2{font-size:30px;margin-bottom:4px}.auth-form p{color:var(--muted)}.auth-security{color:var(--muted);text-align:center}.demo-accounts{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-accounts>strong{grid-column:1/-1;color:var(--muted);font-size:12px}.demo-accounts button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;text-align:left}.demo-accounts button:hover{border-color:var(--blue)}.demo-accounts span,.demo-accounts em{display:block;font-style:normal}.demo-accounts span{font-weight:800}.demo-accounts em{font-size:11px;color:var(--muted)}
/* shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#092548,#0b315d);color:#fff;position:fixed;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;z-index:50;box-shadow:8px 0 28px rgba(8,31,59,.15)}.sidebar-brand{height:72px;padding:0 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand strong{font-size:18px;letter-spacing:.5px}.sidebar-brand small{display:block;font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.55)}.sidebar-close{display:none;margin-left:auto;background:transparent;border:0;color:#fff;font-size:25px}.sidebar-nav{padding:18px 12px;display:flex;flex-direction:column;gap:5px;overflow:auto}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.72);font-weight:700;position:relative;transition:.2s}.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-nav a.active{background:linear-gradient(90deg,rgba(28,143,248,.95),rgba(36,175,211,.8));color:#fff;box-shadow:0 7px 20px rgba(0,113,231,.25)}.sidebar-nav a em{margin-left:auto;font-style:normal;background:#fff;color:var(--blue);min-width:20px;height:20px;border-radius:20px;display:grid;place-items:center;font-size:10px}.sidebar-footer{margin-top:auto;padding:15px 18px 20px;border-top:1px solid rgba(255,255,255,.08)}.system-health{display:flex;align-items:center;gap:10px}.system-health i,.live-pill i,.network-pill i{width:8px;height:8px;border-radius:50%;background:#3ae6a2;box-shadow:0 0 0 4px rgba(58,230,162,.13)}.system-health strong,.system-health small{display:block}.system-health small{color:rgba(255,255,255,.55);font-size:10px}.version{display:block;margin-top:12px;color:rgba(255,255,255,.35);font-size:10px}.shell-main{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:72px;position:sticky;top:0;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between}.mobile-menu{display:none}.global-search{height:40px;width:min(430px,40vw);border:1px solid var(--line);border-radius:10px;background:#f8fafc;display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--muted);cursor:pointer}.global-search span{flex:1}.global-search kbd{background:#fff;border:1px solid #d9e0e8;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:10px}.topbar-actions{display:flex;align-items:center;gap:9px}.network-pill{height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:99px;font-size:11px;font-weight:800;background:#fff}.network-pill.offline i{background:var(--red);box-shadow:0 0 0 4px rgba(229,82,82,.12)}.notification-button em,.compare-button em{position:absolute;right:-4px;top:-5px;background:var(--red);color:#fff;border:2px solid #fff;border-radius:99px;min-width:19px;height:19px;display:grid;place-items:center;font-size:9px;font-style:normal}.compare-button em{background:var(--blue)}.user-menu-button{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:10px}.user-menu-button:hover{background:#f1f5f9}.user-menu-button>span{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:900}.user-menu-button strong,.user-menu-button small{display:block;text-align:left}.user-menu-button small{font-size:10px;color:var(--muted)}.realtime-strip{height:3px;position:fixed;left:250px;right:0;top:72px;z-index:40;background:#dce9f7;overflow:hidden;transition:.4s}.realtime-strip i{display:block;width:35%;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));animation:strip 1s linear infinite}.realtime-strip span{display:none}.realtime-strip.connected i{width:100%;animation:none;background:var(--green)}.realtime-strip.hidden{opacity:0}.page-root{padding:28px;max-width:1720px;width:100%;margin:0 auto;flex:1}.app-footer{padding:18px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(3,14,28,.55);z-index:45}.sidebar-overlay.show{display:block}@keyframes strip{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
/* general page */
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1{font-size:28px;line-height:1.2;margin:0 0 5px;letter-spacing:-.5px}.page-header p{color:var(--muted);margin:0}.page-actions{display:flex;gap:9px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h2{margin:0;font-size:20px}.panel-heading p{color:var(--muted);margin:4px 0 0}.panel-heading>a{font-size:12px;color:var(--blue);font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.stats-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-sm)}.stat-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--blue-2);color:var(--blue)}.tone-green .stat-icon{background:#e7f8f2;color:var(--green)}.tone-orange .stat-icon{background:#fff4dc;color:var(--orange)}.tone-purple .stat-icon{background:#f0ebff;color:var(--purple)}.tone-red .stat-icon{background:#ffebeb;color:var(--red)}.stat-card small,.stat-card strong,.stat-card em{display:block;font-style:normal}.stat-card small{font-size:11px;color:var(--muted);font-weight:700}.stat-card strong{font-size:24px;line-height:1.2;margin:3px 0}.stat-card em{font-size:10px;color:#8895a5}.loading-state,.empty-state,.error-state{min-height:220px;display:grid;place-content:center;justify-items:center;text-align:center;gap:10px;color:var(--muted)}.loading-state.small{min-height:80px}.spinner{width:32px;height:32px;border:3px solid #dce9f7;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:var(--red)}.empty-mini{padding:20px;color:var(--muted);text-align:center;font-size:12px}.inline-note{padding:12px 15px;margin-top:12px;border-radius:10px;background:#fff9e8;border:1px solid #f8e2a7;color:#75550c}.status{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:900;white-space:nowrap}.status-available,.status-active,.status-published,.status-open{background:#e8f9f2;color:#15845d}.status-pending_lock,.status-pending,.status-upcoming{background:#fff4db;color:#a86f00}.status-locked,.status-approved,.status-ongoing{background:#e9f2ff;color:#176ec0}.status-sold,.status-ended,.status-done{background:#f1edf8;color:#7150a1}.status-rejected,.status-cancelled,.status-expired,.status-offline,.status-draft{background:#fff0f0;color:#c24343}.live-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #dcebe5;background:#f5fffb;border-radius:99px;padding:6px 10px;color:#16845f;font-size:11px;font-weight:800}
/* dashboard */
.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px}.inventory-panel{grid-row:span 2}.top-projects{grid-column:span 1}.quick-panel{grid-column:span 1}.audit-panel{grid-column:span 2}.inventory-ring{width:210px;height:210px;border-radius:50%;margin:24px auto;background:conic-gradient(var(--green) 0 calc(var(--available)*1%),var(--orange) calc(var(--available)*1%) calc((var(--available) + var(--pending))*1%),var(--blue) calc((var(--available) + var(--pending))*1%) calc((var(--available) + var(--pending) + var(--locked))*1%),#d8dde5 0);display:grid;place-items:center;position:relative}.inventory-ring:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff}.inventory-ring div{position:relative;z-index:1;text-align:center}.inventory-ring strong,.inventory-ring span{display:block}.inventory-ring strong{font-size:37px}.inventory-ring span{color:var(--muted);font-size:11px}.inventory-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inventory-legend span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px;border-radius:9px;background:#f8fafc;font-size:11px}.inventory-legend i,.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.available{background:var(--green)}.pending_lock{background:var(--orange)}.locked{background:var(--blue)}.sold{background:#8f78b8}.rank-list{display:flex;flex-direction:column}.rank-list a{display:grid;grid-template-columns:28px 52px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.rank-list a:last-child{border:0}.rank-list .rank{width:25px;height:25px;border-radius:8px;background:#eef3f8;display:grid;place-items:center;font-weight:900}.rank-list img{width:52px;height:40px;border-radius:8px;object-fit:cover}.rank-list strong,.rank-list small{display:block}.rank-list small{font-size:10px;color:var(--muted)}.rank-list em{font-style:normal;color:var(--blue)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.quick-grid a:hover{border-color:var(--blue);background:var(--blue-2)}.quick-grid svg{color:var(--blue);margin-bottom:10px}.quick-grid strong,.quick-grid small{display:block}.quick-grid small{font-size:10px;color:var(--muted)}.activity-list{display:flex;flex-direction:column;gap:3px}.activity-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px;border-radius:9px}.activity-list>div:hover{background:#f8fafc}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--blue)}.activity-list strong,.activity-list small{display:block}.activity-list small{font-size:11px;color:var(--muted)}.activity-list time{font-size:10px;color:var(--muted)}.gps-self-panel{margin-top:18px}
/* project list */
.filter-bar,.content-toolbar,.customer-toolbar,.module-toolbar,.inventory-toolbar,.admin-filter{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.filter-bar .search-field,.content-toolbar .search-field,.customer-toolbar .search-field,.module-toolbar .search-field{flex:1}.filter-bar select,.content-toolbar select,.customer-toolbar select,.module-toolbar select{width:auto;min-width:160px}.projects-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.project-cover{height:210px;display:block;position:relative;overflow:hidden;background:#dce8f2}.project-cover img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover .project-cover img{transform:scale(1.035)}.project-type{position:absolute;left:0;top:10px;background:rgba(12,61,112,.92);color:#fff;padding:7px 12px;border-radius:0 6px 6px 0;font-size:10px;font-weight:900}.project-heart{position:absolute;right:12px;top:10px;color:#f52f45;font-size:20px;font-style:normal}.project-card-body{padding:16px}.project-card h3{font-size:16px;margin:0 0 7px}.project-card p{font-size:12px;color:#526275;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.project-card small{color:#8995a3;font-size:10px}.project-inventory-mini{display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px;border:1px solid var(--line);border-radius:9px}.project-inventory-mini span{text-align:center;padding:8px 4px;font-size:9px;color:var(--muted);border-right:1px solid var(--line)}.project-inventory-mini span:last-child{border:0}.project-inventory-mini strong{display:block;font-size:15px;color:var(--ink)}.project-card-actions{display:flex;gap:7px;margin-top:13px}.project-card-actions .button:first-child{flex:1}.projects-aside{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;align-self:start;position:sticky;top:92px}.aside-title{font-size:16px;padding:5px 6px 12px;border-bottom:1px solid var(--line)}.projects-aside a{display:flex;gap:10px;align-items:center;padding:11px 5px;border-bottom:1px dashed var(--line)}.projects-aside a>span{width:24px;height:24px;border-radius:7px;background:#eef4fa;display:grid;place-items:center;font-weight:900;color:var(--blue)}.projects-aside strong,.projects-aside small{display:block}.projects-aside strong{font-size:11px}.projects-aside small{font-size:9px;color:var(--muted)}
/* project detail */
.project-hero{height:360px;border-radius:16px;overflow:hidden;position:relative;margin-bottom:18px;box-shadow:var(--shadow)}.project-hero>img{width:100%;height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,36,.76),rgba(3,19,36,.08) 60%,transparent)}.project-hero-overlay{position:absolute;z-index:1;left:42px;top:50%;transform:translateY(-50%);color:#fff;max-width:560px}.project-hero-overlay>span{font-weight:900;letter-spacing:2px;font-size:11px;color:#82e9e2}.project-hero-overlay h2{font-size:42px;margin:10px 0 8px;letter-spacing:-1px}.project-hero-overlay p{color:rgba(255,255,255,.75)}.project-hero-overlay>div{display:grid;grid-template-columns:auto auto auto auto auto auto;gap:8px 18px;align-items:end;margin-top:22px}.project-hero-overlay strong{font-size:25px}.project-hero-overlay small{font-size:10px;color:rgba(255,255,255,.7)}.project-tabs,.customer-tabs,.admin-tabs,.content-type-tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:18px;background:#fff;border-radius:12px 12px 0 0;padding:0 10px}.project-tabs button,.customer-tabs button,.admin-tabs button,.content-type-tabs a{border:0;background:transparent;padding:13px 15px;white-space:nowrap;font-weight:800;color:#5c6c7f;border-bottom:2px solid transparent;display:flex;align-items:center;gap:7px}.project-tabs button.active,.customer-tabs button.active,.admin-tabs button.active,.content-type-tabs a.active{color:var(--blue);border-color:var(--blue)}.project-tab-body{min-height:280px}.overview-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.project-fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.project-fact-grid>div{background:#f8fafc;border-radius:10px;padding:13px}.project-fact-grid small,.project-fact-grid strong{display:block}.project-fact-grid small{font-size:10px;color:var(--muted)}.project-long-description{margin-top:18px;color:#4d5d70;line-height:1.8}.project-sections details{border-bottom:1px solid var(--line);padding:10px 0}.project-sections summary{font-weight:800;cursor:pointer}.project-sections p{color:var(--muted);margin:8px 0}.content-sections-view{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.content-sections-view article,.add-section-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;min-height:180px}.content-sections-view article>span{font-size:9px;color:var(--blue);font-weight:900;letter-spacing:1px}.content-sections-view article p{color:var(--muted)}.add-section-card{border-style:dashed;display:grid;place-content:center;justify-items:center;gap:9px;color:var(--blue)}.admin-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-project-grid .span-2{grid-column:span 2}
/* tables */
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{background:#f7f9fc;color:#7a8797;font-size:10px;text-transform:uppercase;letter-spacing:.4px;text-align:left;padding:12px 13px;white-space:nowrap}.data-table td{border-top:1px solid #edf0f4;padding:11px 13px;white-space:nowrap}.data-table tbody tr:hover{background:#f8fbff}.data-table button{border:0;background:transparent;color:var(--muted);padding:5px}.unit-link{color:#e34b4b;background:#fff1f1;padding:4px 7px;border-radius:5px}.inventory-table tbody tr{cursor:pointer}.person-cell{display:flex;align-items:center;gap:10px}.avatar-mini{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#dff4ff,#d7f6ee);color:#1679a5;display:grid;place-items:center;font-weight:900;flex:none}.person-cell strong,.person-cell small{display:block}.person-cell small{font-size:10px;color:var(--muted)}.role-badge,.stage-badge{display:inline-flex;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:900;background:#edf3fa;color:#43607c}.role-admin{background:#f0ebff;color:#6546aa}.role-manager{background:#e7f4ff;color:#1266ad}.role-sale{background:#e8f9f2;color:#15845d}.role-customer{background:#fff4db;color:#936800}
/* media and upload */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.media-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}.media-card.is-default{border-color:var(--orange);box-shadow:0 0 0 2px rgba(245,168,0,.16)}.media-card img{width:100%;height:150px;object-fit:cover;background:#edf2f7}.media-card>div:not(.media-actions){padding:10px}.media-card strong,.media-card small{display:block}.media-card strong{font-size:12px}.media-card small{font-size:9px;color:var(--muted)}.media-actions{position:absolute!important;right:8px;top:8px;padding:0!important;display:flex;gap:5px}.media-actions button{width:29px;height:29px;border:0;border-radius:8px;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--ink)}.upload-panel,.project-media-upload{margin-top:16px;border:1px dashed #b8cee3;background:#f6fbff;border-radius:13px;padding:16px;display:grid;gap:12px}.upload-panel{grid-template-columns:1fr 1.5fr}.upload-panel h3{margin:0}.upload-panel p{color:var(--muted);font-size:11px}.upload-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.upload-controls button{grid-column:span 2}.upload-progress{grid-column:1/-1;height:4px;background:#e4ebf3;border-radius:99px;overflow:hidden}.upload-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:.25s}.project-media-upload{grid-template-columns:1fr 1fr 1.5fr auto auto;align-items:end}.project-media-upload.compact{grid-template-columns:1fr;align-items:stretch}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.image-field{display:grid;grid-template-columns:1fr auto 100px;gap:8px;align-items:center}.image-field img{width:100px;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
/* floorplan */
.floorplan-editor{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.floorplan-toolbar,.map-topbar{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}.floorplan-toolbar strong,.floorplan-toolbar small,.map-topbar strong,.map-topbar small{display:block}.floorplan-toolbar small,.map-topbar small{font-size:10px;color:var(--muted)}.toolbar-actions{display:flex;align-items:center;gap:8px}.floorplan-viewport{position:relative;overflow:auto;background:#eef3f7;padding:16px}.floorplan-stage{position:relative;max-width:1400px;min-width:820px;margin:auto;background:#fff;transform-origin:center}.floorplan-stage>img{width:100%;user-select:none}.floorplan-markers{position:absolute;inset:0}.unit-marker{position:absolute;border:2px solid rgba(255,255,255,.75);border-radius:7px;background:rgba(28,167,120,.9);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px;box-shadow:0 4px 10px rgba(17,42,64,.2);overflow:hidden;line-height:1.08;touch-action:none}.unit-marker:hover{z-index:4;transform:scale(1.08)}.unit-marker.dragging{z-index:8;opacity:.82;cursor:grabbing}.marker-pending_lock{background:rgba(245,168,0,.92)}.marker-locked{background:rgba(22,135,248,.92)}.marker-sold{background:rgba(104,115,128,.85)}.unit-marker img{width:18px;height:18px;object-fit:contain}.unit-code{font-weight:900;font-size:clamp(8px,.72vw,12px)}.unit-price{font-size:clamp(6px,.58vw,9px)}.unit-status{font-size:6px;opacity:.8}.resize-handle{position:absolute;width:10px;height:10px;right:0;bottom:0;background:#fff;border-radius:5px 0 0 0;cursor:nwse-resize}.floorplan-legend{position:absolute;left:26px;bottom:24px;display:flex;gap:10px;background:rgba(255,255,255,.92);padding:8px 11px;border-radius:9px;box-shadow:var(--shadow-sm);font-size:10px}.floorplan-legend span{display:flex;align-items:center;gap:5px}
/* unit modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(6,20,37,.62);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(620px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 35px 100px rgba(0,0,0,.28);position:relative}.modal.wide{width:min(1140px,96vw)}.modal-content{padding:24px}.modal-x{position:sticky;float:right;right:14px;top:12px;z-index:4;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}.drawer-modal{place-items:stretch end;padding:0}.drawer-modal .modal{height:100vh;max-height:none;width:min(470px,95vw);border-radius:0}.popover-modal{place-items:start end;padding:72px 18px 0}.popover-modal .modal{width:300px}.command-modal{place-items:start center;padding-top:12vh}.command-modal .modal{width:min(760px,94vw)}.unit-modal-window{padding:0}.unit-modal-window .modal-content{padding:0}.unit-modal-head{padding:20px 24px 14px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.unit-modal-head h2{font-size:25px;margin:3px 0}.unit-modal-head p{color:var(--muted);margin:0}.unit-price-box{text-align:right}.unit-price-box small,.unit-price-box strong,.unit-price-box span{display:block}.unit-price-box strong{font-size:26px;color:var(--red)}.unit-price-box span{color:var(--muted)}.unit-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--line);overflow:auto}.unit-tabs button{border:0;background:transparent;padding:12px 15px;font-weight:800;color:var(--muted);border-bottom:2px solid transparent}.unit-tabs button.active{color:var(--blue);border-color:var(--blue)}.unit-tab-content{padding:18px 22px;min-height:430px}.unit-overview-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.unit-visual{background:#f1f5f8;border-radius:12px;overflow:hidden}.unit-hero-image{width:100%;height:380px;object-fit:contain;background:#e9eff4}.unit-thumb-strip{display:flex;gap:7px;padding:8px;overflow:auto;background:#fff}.unit-thumb-strip button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:2px}.unit-thumb-strip img{width:58px;height:42px;object-fit:cover;border-radius:5px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.info-grid>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}.info-grid small{color:var(--muted)}.info-grid strong{text-align:right}.unit-status-card{margin-top:14px;background:#f7f9fc;border-radius:10px;padding:12px;display:flex;justify-content:space-between;align-items:center}.unit-status-card small{display:block;color:var(--muted)}.unit-modal-footer{border-top:1px solid var(--line);padding:13px 22px;display:flex;justify-content:space-between;gap:12px;position:sticky;bottom:0;background:#fff;z-index:3}.unit-footer-actions{display:flex;gap:8px}.unit-edit-form{padding:5px}.gallery-manager .gallery-grid{grid-template-columns:repeat(3,1fr)}.panorama-manager{display:grid;grid-template-columns:230px 1fr;gap:12px}.pano-scene-list{display:flex;flex-direction:column;gap:7px;max-height:580px;overflow:auto}.pano-scene-list button{display:flex;gap:9px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.pano-scene-list button.active{border-color:var(--blue);background:var(--blue-2);color:#1266ad}.pano-scene-list strong,.pano-scene-list small{display:block}.pano-scene-list small{font-size:9px;color:var(--muted)}.pano-settings{grid-column:2;display:flex;gap:8px}
/* panorama */
.pano-shell{height:540px;position:relative;background:#0b1b2d;border-radius:13px;overflow:hidden;outline:none}.pano-canvas,.pano-fallback,.pano-fallback img{width:100%;height:100%}.pano-canvas{display:block;touch-action:none}.pano-fallback img{object-fit:cover}.pano-toolbar{position:absolute;left:14px;right:14px;top:13px;display:flex;align-items:center;gap:6px}.pano-toolbar .icon-button{background:rgba(8,24,42,.65);border-color:rgba(255,255,255,.15);color:#fff}.pano-title{display:flex;align-items:center;gap:7px;background:rgba(8,24,42,.7);color:#fff;border-radius:9px;padding:8px 11px;margin-right:auto;font-weight:800}.pano-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(8,24,42,.65);color:#fff;border-radius:99px;padding:6px 12px;font-size:10px}.pano-hotspots{position:absolute;inset:0;pointer-events:none}.pano-hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;pointer-events:auto;display:flex;flex-direction:column;align-items:center}.pano-hotspot>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue);border:3px solid #fff;box-shadow:0 4px 15px rgba(0,0,0,.35);font-weight:900}.pano-hotspot em{font-style:normal;background:rgba(8,24,42,.8);padding:4px 7px;border-radius:5px;margin-top:4px;font-size:9px;white-space:nowrap}.pano-project-layout{display:grid;grid-template-columns:250px 1fr;gap:12px}
/* content */
.content-type-tabs a span{min-width:0}.content-toolbar .view-switch{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.view-switch button{border:0;background:#fff;width:37px;height:37px}.view-switch button.active{background:var(--blue);color:#fff}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.content-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}.content-card-image{height:200px;position:relative}.content-card-image img{width:100%;height:100%;object-fit:cover}.content-card-image>span{position:absolute;left:10px;top:10px;background:rgba(238,128,0,.92);color:#fff;border-radius:99px;padding:5px 9px;font-size:9px;font-weight:900}.content-card-body{padding:15px}.content-status-line{display:flex;justify-content:space-between;align-items:center}.content-status-line time{font-size:9px;color:var(--muted)}.content-card h3{font-size:16px;margin:10px 0 6px}.content-card p{color:var(--muted);font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.content-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.content-card-footer small{color:var(--muted)}.content-editor-form{padding:5px}.editor-heading{padding-right:40px;margin-bottom:20px}.editor-heading>span{font-size:10px;color:var(--blue);font-weight:900;letter-spacing:1.4px}.editor-heading h2{font-size:26px;margin:4px 0}.editor-heading p{color:var(--muted)}.editor-check{padding:11px;background:#f7f9fc;border-radius:9px}.reader-article>img{width:100%;height:320px;object-fit:cover;border-radius:12px;margin-bottom:18px}.reader-article>span{color:var(--orange);font-weight:900;font-size:11px}.reader-article h2{font-size:30px;margin:8px 0}.reader-lead{font-size:16px;color:var(--muted)}
/* GPS */
.gps-sale-page{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.gps-consent-card{background:linear-gradient(145deg,#092a51,#0b4a6c);color:#fff;border-radius:16px;padding:28px;display:flex;align-items:center;gap:22px;box-shadow:var(--shadow)}.gps-phone-illustration{width:85px;height:120px;border:3px solid rgba(255,255,255,.7);border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.08)}.gps-consent-card h3{font-size:24px;margin:0}.gps-consent-card p{color:rgba(255,255,255,.7)}.gps-actions{display:flex;gap:8px;margin:16px 0}.gps-consent-card>div>small{color:#8ce7df}.device-info{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:18px}.device-info span{color:var(--muted)}.offline-map-shell{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow-sm)}.offline-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;height:650px}.map-canvas-wrap{position:relative;overflow:hidden;background:#e7eef4;cursor:grab}.map-canvas-wrap:active{cursor:grabbing}.map-transform{position:absolute;inset:0;transform-origin:center;transition:transform .05s}.map-transform>img,.map-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.map-overlay{pointer-events:none}.map-markers{position:absolute;inset:0}.sale-map-marker{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;display:flex;flex-direction:column;align-items:center;z-index:3}.sale-map-marker>span{width:36px;height:36px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:var(--red);color:#fff;border:3px solid #fff;box-shadow:0 5px 14px rgba(0,0,0,.3);font-weight:900}.sale-map-marker>span::first-letter{transform:rotate(45deg)}.sale-map-marker.online>span{background:var(--green)}.sale-map-marker.paused>span{background:var(--orange)}.sale-map-marker.selected>span{box-shadow:0 0 0 5px rgba(22,135,248,.3),0 5px 14px rgba(0,0,0,.3)}.sale-map-marker em{background:#fff;border-radius:5px;padding:2px 5px;margin-top:4px;font-size:8px;font-style:normal;white-space:nowrap;box-shadow:var(--shadow-sm)}.gps-route{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.geofence-shape{fill:rgba(22,135,248,.10);stroke:rgba(22,135,248,.65);stroke-width:2;stroke-dasharray:8 7}.map-sidebar{border-left:1px solid var(--line);background:#fff;overflow:auto}.map-sidebar-head{position:sticky;top:0;background:#fff;z-index:2;padding:14px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.map-sidebar-head span{background:var(--blue-2);color:var(--blue);border-radius:99px;padding:2px 8px;font-weight:900}.sale-live-list{padding:8px}.sale-live-card{width:100%;border:1px solid transparent;background:#fff;border-radius:10px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left}.sale-live-card:hover,.sale-live-card.selected{background:var(--blue-2);border-color:#c8e3ff}.sale-live-card strong,.sale-live-card small,.sale-live-card em{display:block}.sale-live-card small{font-size:9px;color:var(--muted)}.sale-live-card em{font-style:normal;color:var(--green);font-size:9px}.map-controls{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.map-controls button{width:36px;height:36px;border:1px solid var(--line);background:#fff;font-size:18px}.gps-detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.gps-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.gps-metrics>div{padding:11px;background:#f7f9fc;border-radius:9px}.gps-metrics small,.gps-metrics strong{display:block}.gps-metrics small{font-size:9px;color:var(--muted)}.gps-timeline{margin-top:15px}.gps-timeline>div{display:grid;grid-template-columns:auto 170px 1fr;gap:10px;padding:8px;border-left:1px solid var(--line)}.gps-timeline>div>span{width:8px;height:8px;background:var(--blue);border-radius:50%;margin-left:-12px}.gps-timeline small{color:var(--muted)}.geofence-list>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line)}.geofence-icon{width:30px;height:30px;border-radius:9px;background:var(--blue-2);color:var(--blue);display:grid;place-items:center}.geofence-list strong,.geofence-list small{display:block}.geofence-list small{font-size:9px;color:var(--muted)}.geofence-list button{border:0;background:transparent;color:var(--red)}
/* customers */
.customer-table tbody tr{cursor:pointer}.score-badge{display:flex;align-items:baseline;gap:2px;color:#63748a}.score-badge strong{font-size:20px}.score-badge span{font-size:9px}.score-badge.hot{color:var(--red)}.score-badge.warm{color:var(--orange)}.score-badge.engaged{color:var(--blue)}.interest-cell strong,.interest-cell small{display:block}.interest-cell small{color:var(--muted)}.customer-profile-banner{background:linear-gradient(120deg,#fff,#edf7ff);border:1px solid #dcecf9;border-radius:15px;padding:20px;display:flex;align-items:center;gap:17px;margin-bottom:16px}.customer-avatar-large{width:72px;height:72px;border-radius:18px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900}.customer-main{flex:1}.customer-main h2{margin:8px 0 3px}.customer-main p{margin:0;color:var(--muted)}.lead-score{padding:4px 8px;background:#e9f2ff;color:var(--blue);border-radius:99px;font-size:10px;font-weight:900}.lead-score.hot{background:#ffebeb;color:var(--red)}.tag-list{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.tag-list span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:3px 8px;font-size:9px}.assigned-sale{text-align:right;padding-left:20px;border-left:1px solid #dce9f3}.assigned-sale small,.assigned-sale strong,.assigned-sale span{display:block}.assigned-sale small,.assigned-sale span{color:var(--muted);font-size:10px}.timeline-layout,.interest-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.customer-timeline>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-icon{width:34px;height:34px;border-radius:10px;background:#eef5fc;color:var(--blue);display:grid;place-items:center}.customer-timeline strong,.customer-timeline small{display:block}.customer-timeline small{color:var(--muted);font-size:10px}.customer-timeline time{font-size:9px;color:var(--muted)}.interest-row{width:100%;border:0;background:transparent;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;text-align:left;padding:12px 4px}.interest-row>span{width:27px;height:27px;border-radius:8px;background:#eef4fa;display:grid;place-items:center;color:var(--blue);font-weight:900}.interest-row strong,.interest-row small{display:block}.interest-row small{font-size:10px;color:var(--muted)}.notes-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.note-compose{align-self:start}.note-compose textarea{margin:12px 0}.note-list{display:flex;flex-direction:column;gap:10px}.note-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.note-card.pinned{border-left:4px solid var(--orange)}.note-card>div{display:flex;justify-content:space-between}.note-card time{font-size:9px;color:var(--muted)}.note-card p{margin:10px 0 0}.task-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.task-check{width:28px;height:28px;border:2px solid #cdd6e0;border-radius:8px;background:#fff}.task-check.done{background:var(--green);border-color:var(--green);color:#fff}.task-list strong,.task-list small{display:block}.task-list small{color:var(--muted);font-size:10px}.priority{font-size:9px;padding:4px 7px;border-radius:99px;background:#eef2f6}.priority-high,.priority-urgent{background:#ffeded;color:var(--red)}.priority-medium{background:#fff4db;color:#946b00}.profile-form{max-width:1000px}
/* modules */
.module-layout{display:grid;grid-template-columns:240px 1fr;gap:16px}.module-categories{background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;align-self:start;position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto}.module-categories button{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;border:0;background:transparent;border-radius:9px;padding:9px;text-align:left}.module-categories button:hover{background:#f3f7fb}.module-categories button>span{font-size:8px;color:var(--blue);font-weight:900}.module-categories button strong{font-size:10px}.module-categories button em{font-size:9px;font-style:normal;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.module-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.module-card.disabled{opacity:.62}.module-card-top{display:flex;justify-content:space-between}.module-code{font-family:Consolas,monospace;background:#eef4fa;color:#40617f;border-radius:6px;padding:3px 7px;font-size:9px}.module-card h3{font-size:14px;margin:12px 0 5px}.module-card p{font-size:10px;color:var(--muted);flex:1}.module-tags{display:flex;gap:5px;flex-wrap:wrap}.module-tags span{font-size:8px;border:1px solid var(--line);padding:3px 6px;border-radius:99px}.module-card-actions{display:flex;gap:7px;margin-top:12px}.module-card-actions .button:first-child{flex:1}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.pagination button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff}.module-detail-actions{display:flex;gap:8px;align-items:center;margin-bottom:15px}.module-detail-actions>span{margin-right:auto;font-weight:800;color:var(--green)}
/* compare */
.compare-empty{background:#fff;border:1px solid var(--line);border-radius:15px}.compare-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.compare-grid{display:grid;grid-template-columns:180px repeat(4,minmax(240px,1fr));min-width:980px}.compare-head{background:#fff}.compare-label{background:#f6f8fb;padding:16px;display:flex;align-items:center}.compare-head article{position:relative;padding:15px;text-align:center;border-left:1px solid var(--line)}.compare-head article>button{position:absolute;right:8px;top:8px;border:0;background:#fff1f1;color:var(--red);border-radius:50%;width:25px;height:25px}.compare-head article img{width:150px;height:180px;object-fit:contain;margin:8px auto}.compare-head article strong,.compare-head article em{display:block}.compare-head article em{font-style:normal;color:var(--red);font-size:18px;font-weight:900}.unit-code-chip{display:inline-flex;background:#fff1f1;color:#e24d4d;padding:4px 7px;border-radius:5px;font-weight:900}.compare-add{display:grid;place-content:center;justify-items:center;color:var(--blue);border-left:1px solid var(--line)}.compare-add:first-letter{font-size:30px}.compare-row{border-top:1px solid var(--line)}.compare-row>span{padding:14px 16px;border-left:1px solid var(--line)}
/* admin */
.admin-body-heading{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:12px}.lock-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.lock-board>section{background:#f5f7fa;border-radius:12px;padding:10px}.lock-board h3{display:flex;justify-content:space-between;font-size:12px}.lock-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:8px}.lock-card>div:first-child{display:flex;justify-content:space-between}.lock-card p{font-size:10px;color:var(--muted);margin:8px 0}.lock-card small{display:block;font-size:9px;color:var(--muted);margin-bottom:8px}.settings-form{max-width:1050px}.backup-list{display:flex;flex-direction:column;gap:8px}.backup-list article{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.backup-list strong,.backup-list small{display:block}.backup-list small{color:var(--muted)}.audit-search{margin-bottom:12px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.system-grid .span-2{grid-column:span 2}.system-kv{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.system-kv span{background:#f7f9fc;border-radius:9px;padding:10px;color:var(--muted)}.system-kv strong{display:block;color:var(--ink)}.lan-url{display:block;background:#092b50;color:#8ce7df;border-radius:7px;padding:8px;margin:6px 0}.system-actions{display:grid;gap:9px}.manifest-view{background:#0c1d30;color:#a9d7ff;border-radius:10px;padding:15px;max-height:360px;overflow:auto;font-size:11px}
/* notifications and command */
.notification-drawer{min-height:100%}.drawer-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.notification-list a{display:flex;gap:11px;padding:13px;border-bottom:1px solid var(--line)}.notification-list a.unread{background:#f0f7ff}.notification-list a>span{width:34px;height:34px;border-radius:10px;background:#edf4fb;color:var(--blue);display:grid;place-items:center}.notification-list strong,.notification-list p,.notification-list small{display:block;margin:0}.notification-list p{font-size:11px;color:var(--muted);margin:3px 0}.notification-list small{font-size:9px;color:#97a2af}.user-popover-head{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.user-popover-head>span{width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:900}.user-popover-head strong,.user-popover-head small{display:block}.user-popover-head small{color:var(--muted);font-size:10px}.user-popover>a,.user-popover>button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:11px;border-radius:8px;text-align:left}.user-popover>a:hover,.user-popover>button:hover{background:#f3f7fb}.user-popover .logout{color:var(--red)}.profile-avatar-edit{display:flex;align-items:center;gap:12px;background:#f5f8fb;border-radius:11px;padding:13px;margin-bottom:16px}.profile-avatar-edit>span{width:48px;height:48px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900}.profile-avatar-edit strong,.profile-avatar-edit small{display:block}.profile-avatar-edit small{color:var(--muted)}.command-palette>label{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:13px}.command-palette>label input{border:0;box-shadow:none;font-size:17px}.command-results{max-height:55vh;overflow:auto;margin-top:8px}.command-results a,.command-results button{width:100%;display:flex;gap:10px;align-items:center;border:0;background:#fff;border-radius:9px;padding:10px;text-align:left}.command-results a:hover,.command-results button:hover{background:#f1f7fd}.command-results strong,.command-results small{display:block}.command-results small{font-size:10px;color:var(--muted)}.toast-root{position:fixed;right:18px;top:85px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{min-width:260px;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:12px;display:flex;align-items:flex-start;gap:9px;animation:toastIn .25s}.toast>span{color:var(--green)}.toast.error>span{color:var(--red)}.toast.info>span{color:var(--blue)}@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
/* responsive */
@media(max-width:1400px){.stats-grid,.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.inventory-panel{grid-row:auto}.audit-panel{grid-column:span 1}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.app-shell{grid-template-columns:80px 1fr}.sidebar{width:80px}.sidebar-brand{padding:0 15px}.sidebar-brand>div:not(.brand-symbol),.sidebar-nav span,.sidebar-footer{display:none}.sidebar-nav a{justify-content:center}.sidebar-nav a em{position:absolute;right:4px;top:4px}.shell-main{grid-column:2}.realtime-strip{left:80px}.projects-layout{grid-template-columns:1fr}.projects-aside{display:none}.overview-layout,.timeline-layout,.interest-grid,.gps-detail-grid{grid-template-columns:1fr}.offline-map-layout{grid-template-columns:1fr 260px}.project-hero{height:310px}.unit-overview-grid{grid-template-columns:1fr}.unit-hero-image{height:300px}.panorama-manager,.pano-project-layout{grid-template-columns:190px 1fr}.module-layout{grid-template-columns:190px 1fr}.lock-board{grid-template-columns:1fr 1fr}}
@media(max-width:800px){body{font-size:13px}.app-shell{display:block}.sidebar{width:270px;transform:translateX(-105%);transition:.25s}.sidebar.open{transform:none}.sidebar-brand>div:not(.brand-symbol),.sidebar-nav span,.sidebar-footer{display:block}.sidebar-nav a{justify-content:flex-start}.sidebar-close{display:block}.shell-main{min-height:100vh}.topbar{height:62px;padding:0 12px}.mobile-menu{display:grid}.global-search{width:42px;min-width:42px;padding:0;justify-content:center}.global-search span,.global-search kbd,.network-pill span,.user-menu-button>div,.user-menu-button>i{display:none}.network-pill{width:34px;padding:0;justify-content:center}.user-menu-button{padding:0}.realtime-strip{left:0;top:62px}.page-root{padding:15px}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:23px}.page-actions{width:100%;overflow:auto}.stats-grid,.stats-grid.compact{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.audit-panel{grid-column:auto}.project-grid,.content-grid,.module-grid{grid-template-columns:1fr}.filter-bar,.content-toolbar,.customer-toolbar,.module-toolbar,.inventory-toolbar,.admin-filter{flex-wrap:wrap}.filter-bar .search-field,.content-toolbar .search-field,.customer-toolbar .search-field,.module-toolbar .search-field{min-width:100%;flex-basis:100%}.filter-bar select,.content-toolbar select,.customer-toolbar select,.module-toolbar select{flex:1;min-width:130px}.project-hero{height:290px}.project-hero-overlay{left:22px;right:22px}.project-hero-overlay h2{font-size:29px}.project-hero-overlay>div{grid-template-columns:auto auto auto auto;gap:5px 10px}.project-fact-grid{grid-template-columns:1fr 1fr}.content-sections-view{grid-template-columns:1fr}.admin-project-grid{grid-template-columns:1fr}.admin-project-grid .span-2{grid-column:auto}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.project-media-upload,.upload-panel{grid-template-columns:1fr}.upload-controls{grid-template-columns:1fr}.upload-controls button{grid-column:auto}.gallery-grid,.gallery-manager .gallery-grid{grid-template-columns:1fr 1fr}.unit-modal-head{flex-direction:column}.unit-price-box{text-align:left}.unit-tab-content{padding:12px;min-height:350px}.unit-modal-footer{flex-direction:column}.unit-footer-actions{overflow:auto}.panorama-manager,.pano-project-layout{grid-template-columns:1fr}.pano-scene-list{flex-direction:row;max-height:none;overflow:auto}.pano-scene-list button{min-width:170px}.pano-settings{grid-column:1}.pano-shell{height:380px}.gps-sale-page{grid-template-columns:1fr}.gps-consent-card{flex-direction:column;align-items:flex-start}.offline-map-layout{grid-template-columns:1fr;height:auto}.map-canvas-wrap{height:480px}.map-sidebar{height:280px;border-left:0;border-top:1px solid var(--line)}.gps-metrics{grid-template-columns:1fr 1fr}.notes-layout{grid-template-columns:1fr}.module-layout{grid-template-columns:1fr}.module-categories{position:static;display:flex;overflow:auto;max-height:none}.module-categories button{min-width:170px}.lock-board{grid-template-columns:1fr}.system-grid{grid-template-columns:1fr}.system-grid .span-2{grid-column:auto}.auth-layout{display:block}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:26px 18px}.demo-accounts{grid-template-columns:1fr}.app-footer{flex-direction:column;gap:4px}.toast-root{left:12px;right:12px;top:72px}.toast{min-width:0;max-width:none}.modal-backdrop{padding:8px}.modal{width:100%;max-height:96vh}.modal.wide{width:100%}.modal-content{padding:18px}.compare-grid{grid-template-columns:130px repeat(4,220px)}}
@media(max-width:520px){.stats-grid,.stats-grid.compact{grid-template-columns:1fr}.stat-card strong{font-size:21px}.project-grid{grid-template-columns:1fr}.project-cover{height:190px}.quick-grid{grid-template-columns:1fr}.inventory-legend{grid-template-columns:1fr}.gallery-grid,.gallery-manager .gallery-grid{grid-template-columns:1fr}.project-fact-grid{grid-template-columns:1fr}.project-hero{height:260px}.project-hero-overlay h2{font-size:24px}.project-hero-overlay>div{display:none}.info-grid{grid-template-columns:1fr}.unit-hero-image{height:230px}.floorplan-legend{display:none}.pano-shell{height:330px}.gps-actions{flex-direction:column}.gps-actions .button{width:100%}.content-card-image{height:180px}.customer-profile-banner{align-items:flex-start;flex-wrap:wrap}.assigned-sale{width:100%;border-left:0;border-top:1px solid #dce9f3;padding:10px 0 0;text-align:left}.auth-card{width:100%}}

/* v4 media/360 management enhancements */
.pano-scene-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.pano-scene-row>button{width:100%}.pano-row-actions{display:flex;flex-direction:column;gap:4px}.pano-row-actions button{width:30px;height:30px!important;min-width:30px!important;padding:0!important;display:grid!important;place-items:center;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;color:var(--muted)!important}.pano-row-actions button:hover{color:var(--blue)!important;border-color:var(--blue)!important}.hotspot-admin-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}.hotspot-admin-list>span{display:flex;align-items:center;gap:5px;background:#f4f7fb;border:1px solid var(--line);border-radius:8px;padding:5px 6px}.hotspot-admin-list strong{font-size:10px}.hotspot-admin-list small{font-size:8px;color:var(--muted)}.hotspot-admin-list button{border:0;background:#fff;color:var(--red);border-radius:50%;width:20px;height:20px}.media-card.is-default{box-shadow:0 0 0 2px rgba(23,132,222,.24);border-color:var(--blue)}
@media(max-width:800px){.pano-scene-row{min-width:210px}.pano-scene-list .pano-scene-row>button{min-width:170px}.pano-row-actions{flex-direction:row}.pano-settings{flex-wrap:wrap}.hotspot-admin-list{width:100%;margin-left:0}}

/* v5 — device GPS, hybrid Hanoi map, database AI, page builder and governance */
.settings-section-title{margin:24px 0 12px;padding:10px 12px;border-left:4px solid var(--blue);background:#f4f8fd;border-radius:0 10px 10px 0;font-size:15px}.gps-top-pill{height:36px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:10px}.gps-top-pill i{width:8px;height:8px;border-radius:50%;background:#8994a3}.gps-top-pill span{font-weight:800}.gps-top-pill strong{font-size:9px;color:var(--muted)}.gps-top-pill.gps-active{border-color:#b8ead6;background:#effbf6}.gps-top-pill.gps-active i{background:var(--green);box-shadow:0 0 0 4px rgba(28,167,120,.12);animation:gpsPulse 1.8s infinite}.gps-top-pill.gps-active strong{color:var(--green)}.gps-top-pill.gps-paused{background:#fff9ec;border-color:#f3dda3}.gps-top-pill.gps-paused i{background:var(--orange)}@keyframes gpsPulse{50%{box-shadow:0 0 0 8px rgba(28,167,120,0)}}

/* floating AI copilot */
.ai-assistant-host{position:fixed;right:22px;bottom:22px;z-index:145}.ai-fab{width:62px;height:62px;border:0;border-radius:22px;background:linear-gradient(145deg,#0a2f5b,#1687f8 65%,#2ac6c4);color:#fff;box-shadow:0 16px 36px rgba(13,69,125,.34);display:grid;grid-template-columns:1fr 1fr;place-items:center;position:relative;transition:.22s}.ai-fab:hover{transform:translateY(-3px) scale(1.02)}.ai-fab>span{grid-column:1/-1;margin-bottom:-12px}.ai-fab strong{font-size:12px;letter-spacing:.8px}.ai-fab i{width:8px;height:8px;border-radius:50%;background:#58f0b1;box-shadow:0 0 0 4px rgba(88,240,177,.17)}.ai-panel{position:absolute;right:0;bottom:76px;width:min(450px,calc(100vw - 30px));height:min(720px,calc(100vh - 110px));background:#fff;border:1px solid #dbe5ef;border-radius:20px;box-shadow:0 24px 80px rgba(8,31,59,.28);overflow:hidden;display:grid;grid-template-rows:auto auto 1fr auto auto;transform-origin:bottom right;animation:aiOpen .18s ease-out}.ai-panel[hidden]{display:none}@keyframes aiOpen{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.ai-panel>header{height:68px;padding:0 14px 0 16px;background:linear-gradient(135deg,#082c56,#0f67b8);color:#fff;display:flex;align-items:center;justify-content:space-between}.ai-panel>header>div:last-child{display:flex;gap:5px}.ai-panel>header .icon-button{width:34px;height:34px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}.ai-head-brand{display:flex;align-items:center;gap:10px}.ai-head-brand>span,.ai-avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#34d7d3,#2c8eff);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;box-shadow:0 5px 14px rgba(0,0,0,.12)}.ai-head-brand strong,.ai-head-brand small{display:block}.ai-head-brand small{color:rgba(255,255,255,.68);font-size:9px}.ai-notice{font-size:9px;color:#617187;background:#f3f8fd;border-bottom:1px solid #e3ebf3;padding:8px 14px}.ai-messages{overflow:auto;padding:16px;background:linear-gradient(180deg,#f8fbfe,#f4f7fb);scrollbar-width:thin}.ai-welcome{text-align:center;padding:26px 8px}.ai-avatar.large{width:58px;height:58px;border-radius:18px;margin:0 auto 14px;font-size:18px}.ai-welcome h3{margin:0 0 8px;font-size:20px}.ai-welcome p{color:var(--muted);font-size:11px;max-width:360px;margin:0 auto 17px}.ai-suggestions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.ai-suggestions button{border:1px solid #dce8f4;background:#fff;color:#1b4f80;border-radius:999px;padding:7px 10px;font-size:10px;text-align:left}.ai-suggestions button:hover{border-color:var(--blue);background:var(--blue-2)}.ai-message{display:flex;gap:8px;margin:0 0 14px;align-items:flex-start}.ai-message.user{justify-content:flex-end}.ai-message.user .ai-bubble{background:linear-gradient(145deg,#1687f8,#126bd1);color:#fff;border-radius:15px 15px 4px 15px}.ai-message.assistant .ai-bubble{background:#fff;border:1px solid #e1e8f0;border-radius:4px 15px 15px 15px;box-shadow:0 4px 14px rgba(31,56,86,.05)}.ai-bubble{max-width:calc(100% - 42px);padding:11px 12px}.ai-bubble>p{margin:0;font-size:12px;line-height:1.55}.ai-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.ai-metrics span{padding:7px;background:#f4f8fc;border-radius:8px}.ai-metrics small,.ai-metrics strong{display:block}.ai-metrics small{font-size:8px;color:var(--muted)}.ai-metrics strong{font-size:11px}.ai-results{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ai-result-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #dce7f2;border-radius:10px;padding:8px;background:#fbfdff;transition:.16s}.ai-result-card:hover{border-color:var(--blue);transform:translateX(2px);background:#f1f8ff}.ai-result-icon{width:31px;height:31px;border-radius:9px;background:var(--blue-2);color:var(--blue);display:grid;place-items:center}.ai-result-copy strong,.ai-result-copy small,.ai-result-copy em{display:block;line-height:1.35}.ai-result-copy strong{font-size:11px}.ai-result-copy small{font-size:9px;color:var(--muted)}.ai-result-copy em{font-size:8px;color:#8491a1;font-style:normal}.ai-result-value{text-align:right}.ai-result-value b,.ai-result-value i{display:block}.ai-result-value b{font-size:10px;color:#0e579e}.ai-result-value i{font-size:8px;color:var(--green);font-style:normal}.ai-message-meta{display:flex;align-items:center;gap:3px;margin-top:8px;color:#8a97a6;font-size:8px}.ai-message-meta span{margin-right:auto}.ai-message-meta button{border:0;background:transparent;opacity:.58;padding:2px}.ai-message-meta button.selected{opacity:1;background:#eaf4ff;border-radius:5px}.ai-typing{display:flex;gap:4px;width:54px;padding:12px;margin:0 0 14px 42px;background:#fff;border:1px solid var(--line);border-radius:5px 14px 14px}.ai-typing i{width:6px;height:6px;background:#7f91a6;border-radius:50%;animation:aiTyping 1s infinite}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}@keyframes aiTyping{50%{transform:translateY(-4px);opacity:.45}}.ai-composer{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:7px;padding:10px;border-top:1px solid var(--line);background:#fff}.ai-composer textarea{max-height:130px;min-height:42px;resize:none;border-radius:13px;background:#f7f9fc}.ai-mic,.ai-send{width:41px;height:41px;border-radius:12px;border:1px solid var(--line);background:#fff}.ai-mic.listening{color:var(--red);animation:gpsPulse 1s infinite}.ai-send{background:var(--blue);border-color:var(--blue);color:#fff;font-size:18px}.ai-panel>footer{height:31px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f5;color:#8190a2;font-size:8px}.ai-panel>footer button{border:0;background:transparent;color:#57718e;font-size:8px}.ai-history-drawer{position:absolute;inset:68px 0 0;background:#fff;z-index:5;padding:12px;overflow:auto;animation:aiOpen .16s}.ai-history-drawer>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.ai-history-drawer>div button{border:0;background:#f0f4f8;border-radius:8px;width:30px;height:30px}.ai-history-drawer>button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:11px;border-radius:8px}.ai-history-drawer>button:hover{background:#f3f8fd}.ai-history-drawer span,.ai-history-drawer small{display:block}.ai-history-drawer small{color:var(--muted);font-size:9px}

/* Hybrid live location map */
.live-map-shell{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}.map-topbar{min-height:62px;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;flex-wrap:wrap}.map-topbar>div:first-child{margin-right:auto}.map-topbar strong,.map-topbar small{display:block}.map-topbar small{color:var(--muted);font-size:9px}.map-provider-switch{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:#f3f6fa}.map-provider-switch button{border:0;background:transparent;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--muted)}.map-provider-switch button.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(25,53,84,.1)}.toolbar-actions{display:flex;gap:7px;align-items:center}.live-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:var(--green);background:#effbf6;border:1px solid #cdeedf;padding:6px 9px;border-radius:999px}.live-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;height:650px}.map-stage{min-width:0;position:relative;background:#e8eef4}.offline-provider,.google-provider,.google-map-canvas{position:absolute;inset:0}.google-map-canvas{min-height:520px}.google-map-empty{height:100%;display:grid;place-content:center;text-align:center;padding:30px;background:linear-gradient(145deg,#edf4fb,#f8fbfd)}.google-map-empty p{max-width:450px;color:var(--muted)}.live-map-layout .map-canvas-wrap{height:100%}.live-map-layout .map-sidebar{height:100%}.sale-live-card{cursor:pointer}.gps-device-list{display:flex;flex-direction:column;gap:7px}.gps-device-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#f6f9fc;border:1px solid #e6ecf2;border-radius:10px}.gps-device-list strong,.gps-device-list small{display:block}.gps-device-list small{color:var(--muted);font-size:9px}.gps-device-hero{display:flex;align-items:center;gap:20px;padding:18px;background:linear-gradient(145deg,#eef7ff,#f7fbff);border:1px solid #dbeaf8;border-radius:14px}.gps-device-hero h3{margin-bottom:5px}.instruction-list{padding-left:22px}.instruction-list li{padding:7px 0;border-bottom:1px dashed var(--line)}.inline-note{padding:12px;background:#fff8df;border:1px solid #f3df9f;border-radius:10px;color:#725a13;font-size:11px}

/* Page builder and editable site pages */
.page-builder-shell{display:grid;grid-template-columns:250px minmax(440px,1fr) minmax(320px,.78fr);gap:16px;align-items:start}.page-builder-list,.page-builder-preview{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto}.page-builder-list{padding:12px}.page-builder-list .search-field{min-width:0;margin:0 0 10px}.page-builder-list [data-page-list]{display:flex;flex-direction:column;gap:5px}.page-builder-list [data-page-id]{width:100%;border:1px solid transparent;background:#fff;border-radius:10px;padding:9px;text-align:left;display:flex;justify-content:space-between;gap:8px}.page-builder-list [data-page-id]:hover,.page-builder-list [data-page-id].active{border-color:#c9e2fb;background:#eff7ff}.page-builder-list strong,.page-builder-list small{display:block}.page-builder-list small{font-size:8px;color:var(--muted)}.page-builder-list em{font-style:normal;font-size:8px;color:var(--green)}.page-builder-main{display:flex;flex-direction:column;gap:16px}.builder-page-head{padding:18px;display:flex;justify-content:space-between;gap:15px}.builder-page-head>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;align-content:flex-start}.builder-page-head p{color:var(--muted);margin-bottom:5px}.builder-page-head small{color:#8c99a8}.builder-sections{padding:14px}.builder-section-list{display:flex;flex-direction:column;gap:8px}.builder-section-list>article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;transition:.16s}.builder-section-list>article:hover{border-color:#bcdafa;box-shadow:var(--shadow-sm)}.builder-section-list>article.dragging{opacity:.45;transform:scale(.99)}.builder-section-list>article.is-draft{background:#fff9f0}.builder-drag{font-size:20px;color:#9da9b7;cursor:grab}.builder-section-list small,.builder-section-list strong,.builder-section-list p{display:block;margin:0}.builder-section-list small{font-size:8px;color:var(--blue);font-weight:900}.builder-section-list p{font-size:9px;color:var(--muted)}.builder-row-actions{display:flex;gap:4px}.builder-row-actions button{width:31px;height:31px;border:1px solid var(--line);background:#fff;border-radius:8px}.builder-row-actions button:hover{border-color:var(--blue);color:var(--blue)}.page-builder-preview{padding:10px}.builder-preview-frame{background:#fff;border:1px solid #dfe6ed;border-radius:12px;overflow:auto;max-height:calc(100vh - 180px);box-shadow:inset 0 0 0 6px #f1f4f7}.builder-placeholder{min-height:170px;display:grid;place-items:center;color:var(--muted);background:#f4f7fa}.site-page{margin:-28px;min-height:calc(100vh - 120px);background:#fff}.site-section,.site-hero,.site-cta{padding:60px max(24px,7vw)}.builder-preview-frame .site-section,.builder-preview-frame .site-hero,.builder-preview-frame .site-cta{padding:28px 18px}.site-hero{min-height:420px;position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#07284d,#176ebc);color:#fff}.site-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.36}.site-hero>div{position:relative;z-index:1;text-align:center;max-width:850px}.site-hero>div>span{letter-spacing:4px;font-weight:900;color:#65e4df}.site-hero h2{font-size:clamp(34px,5vw,70px);line-height:1.05;margin:12px 0}.site-hero p{color:rgba(255,255,255,.78);font-size:17px}.site-hero button,.site-cta button{border:0;border-radius:11px;padding:12px 18px;background:#fff;color:#0d5598;font-weight:900}.site-section-head{text-align:center;max-width:780px;margin:0 auto 28px}.site-section-head>span{color:var(--blue);font-weight:900;font-size:10px}.site-section-head h2{font-size:32px}.site-section-head p{color:var(--muted)}.site-feature-grid,.site-stat-grid,.site-gallery-grid{display:grid;gap:14px}.site-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-feature-grid article{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.site-feature-grid article>span{width:34px;height:34px;border-radius:10px;background:var(--blue-2);color:var(--blue);display:grid;place-items:center;font-weight:900}.site-feature-grid h3{margin:12px 0 5px}.site-feature-grid p{color:var(--muted);font-size:11px}.site-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-stat-grid article{text-align:center;padding:24px;border-radius:14px;background:#f3f8fd}.site-stat-grid strong,.site-stat-grid span{display:block}.site-stat-grid strong{font-size:32px;color:var(--blue)}.site-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:14px}.site-section-image{width:min(1000px,100%);max-height:500px;object-fit:cover;border-radius:18px;margin:0 auto 22px}.site-rich-copy{max-width:920px;margin:auto;line-height:1.8}.site-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#0a2d56,#1687f8);color:#fff}.site-cta p{color:rgba(255,255,255,.75)}.site-faq-list{max-width:900px;margin:auto}.site-faq-list details{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:8px}.site-faq-list summary{font-weight:900;cursor:pointer}.site-faq-list p{color:var(--muted);margin:9px 0 0}.site-contact{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;background:#f4f8fc}.site-contact>div:last-child{display:grid;grid-template-columns:auto 1fr;gap:8px 15px;background:#fff;padding:20px;border-radius:14px}

/* Insights, sessions and data quality */
.insights-tabs{margin-bottom:16px}.insights-overview{grid-template-columns:1.2fr .8fr}.quality-header{display:flex;align-items:center;gap:18px;padding:18px;background:linear-gradient(145deg,#eff7ff,#f9fcff);border-radius:14px;margin-bottom:14px}.quality-score{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score,80)*1%),#e4eaf0 0);position:relative;font-size:23px;font-weight:900}.quality-score:before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.quality-score>*{position:relative}.quality-issue-list,.quality-mini-list{display:flex;flex-direction:column;gap:7px}.quality-issue-list>a,.quality-mini-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.severity-chip{border-radius:999px;padding:3px 7px;font-size:8px;font-weight:900}.severity-critical{background:#ffe7e7;color:#b31d1d}.severity-high{background:#fff0dc;color:#a85c00}.severity-medium{background:#fff7cf;color:#8d7100}.severity-low{background:#e8f5ff;color:#176aad}.page-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.page-admin-grid>a{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.page-admin-grid strong,.page-admin-grid small{display:block}.page-admin-grid small{color:var(--muted);font-size:9px}.table-sub{display:block;color:var(--muted);font-size:9px}

@media(max-width:1300px){.page-builder-shell{grid-template-columns:220px minmax(0,1fr)}.page-builder-preview{position:static;grid-column:1/-1;max-height:none}.builder-preview-frame{max-height:650px}.site-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.live-map-layout{grid-template-columns:1fr;height:auto}.map-stage{height:540px}.live-map-layout .map-sidebar{height:280px;border-left:0;border-top:1px solid var(--line)}.page-builder-shell{grid-template-columns:1fr}.page-builder-list{position:static;max-height:none}.page-builder-list [data-page-list]{display:grid;grid-template-columns:repeat(2,1fr)}.page-builder-preview{grid-column:auto}.page-admin-grid{grid-template-columns:repeat(2,1fr)}.site-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.gps-top-pill{width:35px;padding:0;justify-content:center}.gps-top-pill span,.gps-top-pill strong{display:none}.ai-assistant-host{right:12px;bottom:12px}.ai-fab{width:54px;height:54px;border-radius:18px}.ai-panel{position:fixed;inset:70px 8px 8px;width:auto;height:auto;border-radius:16px}.map-topbar{align-items:flex-start}.map-provider-switch{order:3;width:100%}.map-provider-switch button{flex:1}.toolbar-actions{width:100%;overflow:auto}.map-stage{height:470px}.builder-page-head{flex-direction:column}.builder-page-head>div:last-child{justify-content:flex-start}.builder-section-list>article{grid-template-columns:24px minmax(0,1fr)}.builder-row-actions{grid-column:2;justify-content:flex-end}.page-builder-list [data-page-list]{grid-template-columns:1fr}.site-page{margin:-15px}.site-section,.site-hero,.site-cta{padding:38px 18px}.site-hero{min-height:350px}.site-hero p{font-size:14px}.site-feature-grid,.site-gallery-grid{grid-template-columns:1fr}.site-gallery-grid img{height:190px}.site-cta,.site-contact{grid-template-columns:1fr;display:grid}.insights-overview{grid-template-columns:1fr}.page-admin-grid{grid-template-columns:1fr}.gps-device-hero{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.ai-metrics{grid-template-columns:1fr}.ai-result-card{grid-template-columns:30px minmax(0,1fr)}.ai-result-value{grid-column:2;text-align:left;display:flex;gap:7px}.site-stat-grid{grid-template-columns:1fr}.quality-header{align-items:flex-start;flex-direction:column}.map-topbar .live-pill{display:none}}

/* v5 — sale performance and device center */
.ai-top-button{height:36px;border:1px solid #cfe2f5;background:linear-gradient(145deg,#edf7ff,#fff);border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:7px;color:#0c5da8}.ai-top-button strong{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;font-size:9px}.ai-top-button span{font-weight:800;font-size:10px}.sales-toolbar{display:flex;gap:10px;align-items:center;padding:12px;margin:16px 0}.sales-toolbar .search-field{flex:1}.sales-toolbar select{width:auto;min-width:210px}.sales-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sale-performance-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:var(--shadow-sm)}.sale-rank{position:absolute;right:12px;top:10px;font-size:11px;color:#8795a6;font-weight:900}.sale-performance-head{display:flex;align-items:center;gap:9px;padding-right:32px}.sale-performance-head>div{min-width:0;flex:1}.sale-performance-head strong,.sale-performance-head small{display:block}.sale-performance-head small{color:var(--muted);font-size:9px}.sale-performance-head em{font-style:normal;color:var(--blue);font-size:10px;font-weight:900}.sale-score-bar{height:6px;border-radius:99px;background:#edf1f5;margin:14px 0;overflow:hidden}.sale-score-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue))}.sale-performance-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:14px}.sale-performance-metrics span{padding:7px;background:#f6f9fc;border-radius:8px;text-align:center}.sale-performance-metrics small,.sale-performance-metrics strong{display:block}.sale-performance-metrics small{font-size:8px;color:var(--muted)}.sale-performance-card>a{width:100%}.sale-detail-hero{display:flex;align-items:center;gap:14px;padding:20px}.avatar-large{width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900}.sale-detail-hero>div{flex:1}.sale-detail-hero h2{margin-bottom:3px}.sale-detail-hero>strong{font-size:30px;color:var(--blue);text-align:right}.sale-detail-hero>strong small{display:block;font-size:9px;color:var(--muted)}.sale-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sale-detail-grid>.panel{padding:14px}.sale-detail-list{display:flex;flex-direction:column;gap:7px}.sale-detail-list>a,.sale-detail-list>article{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff}.sale-detail-list>a:hover{border-color:var(--blue);background:#f3f9ff}.sale-detail-list strong,.sale-detail-list small{display:block}.sale-detail-list small{font-size:9px;color:var(--muted)}.latest-location-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:linear-gradient(145deg,#edf8f4,#f7fcfa);border-radius:13px}.latest-location-card strong{font-size:18px}.latest-location-card span{color:var(--muted)}.latest-location-card a{color:var(--blue);font-weight:900}.device-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.device-card{padding:16px}.device-card.current{border-color:#9fd0ff;box-shadow:0 0 0 3px rgba(22,135,248,.08)}.device-card-head{display:flex;align-items:center;gap:10px}.device-card-head>span{width:42px;height:42px;border-radius:12px;background:var(--blue-2);color:var(--blue);display:grid;place-items:center}.device-card-head>div{flex:1;min-width:0}.device-card-head strong,.device-card-head small{display:block}.device-card-head small{font-size:9px;color:var(--muted)}.device-card-head em{font-style:normal;font-size:8px;color:var(--green);background:#effbf6;padding:4px 7px;border-radius:99px}.device-card-facts{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:15px 0;padding:11px;background:#f7f9fc;border-radius:10px}.device-card-facts span{color:var(--muted);font-size:9px}.device-card-facts strong{text-align:right;font-size:10px}.device-session-list{display:flex;flex-direction:column;gap:5px}.device-session-list>div{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:8px;border-bottom:1px solid var(--line)}.device-session-list strong,.device-session-list small{display:block}.device-session-list small{color:var(--muted);font-size:8px}
@media(max-width:1200px){.sales-performance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.ai-top-button{width:35px;padding:0;justify-content:center}.ai-top-button span{display:none}.sales-toolbar{flex-direction:column;align-items:stretch}.sales-toolbar select{width:100%}.sales-performance-grid,.sale-detail-grid,.device-page-grid{grid-template-columns:1fr}.sale-detail-hero{align-items:flex-start;flex-wrap:wrap}.sale-detail-hero>strong{width:100%;text-align:left}.sale-performance-metrics{grid-template-columns:repeat(2,1fr)}}

/* v6 — Excel Google, request center, API Hub, AI Studio and 150 modern capabilities */
.alert{border:1px solid var(--line);border-radius:11px;padding:11px 14px;margin:10px 0;background:#fff}.alert.danger{border-color:#ffd1d1;background:#fff7f7;color:#a52b2b}.full{width:100%}.code-view{background:#0b1f36;color:#d8e8fa;border-radius:12px;padding:16px;max-height:520px;overflow:auto;white-space:pre-wrap}.role-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:16px;flex-wrap:wrap}.role-fieldset legend{font-weight:900;color:var(--muted);padding:0 6px}.privacy-card{margin-top:16px;border:1px solid #cfe3f5;background:#f3f9ff;border-radius:13px;padding:15px}.privacy-card strong{display:block;margin-bottom:4px}.privacy-card p{margin:0;color:var(--muted)}

/* Google Spreadsheet project tab */
.sheet-workspace{display:flex;flex-direction:column;gap:13px}.sheet-header{padding:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sheet-header h2{margin-bottom:3px}.sheet-header p{margin:0;color:var(--muted)}.sheet-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.sheet-selector-row{display:flex;align-items:center;gap:10px}.sheet-selector{display:flex;gap:8px;overflow:auto;flex:1;padding-bottom:3px}.sheet-selector>button{min-width:190px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;text-align:left}.sheet-selector>button.active{border-color:var(--blue);background:#f0f7ff;box-shadow:0 0 0 3px rgba(22,135,248,.08)}.sheet-selector strong,.sheet-selector small{display:block}.sheet-selector small{font-size:9px;color:var(--muted);margin-top:3px}.sheet-stats{margin:0}.sheet-toolbar{padding:11px 13px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sheet-toolbar .search-field{flex:1;min-width:280px}.sheet-legend{margin-left:auto;color:var(--muted);font-size:10px;display:flex;align-items:center;gap:7px}.sheet-legend i{width:9px;height:9px;border-radius:50%;background:var(--green)}.sheet-table-wrap{overflow:auto;max-height:680px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.sheet-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.sheet-table th{position:sticky;top:0;z-index:3;background:#0d315b;color:#fff;text-align:left;padding:11px 12px;min-width:120px;border-right:1px solid rgba(255,255,255,.12)}.sheet-table td{padding:9px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;max-width:360px}.sheet-table tr.has-unit-match td{background:#fbfffd}.sheet-cell-value{display:block;white-space:pre-wrap;word-break:break-word}.sheet-unit-links{display:flex;flex-direction:column;gap:5px;margin-top:6px}.sheet-unit-links button{border:1px solid #a6e0ca;background:#edfbf5;color:#0d7353;border-radius:8px;padding:6px 8px;text-align:left;display:flex;justify-content:space-between;gap:8px;align-items:center}.sheet-unit-links button:hover{border-color:var(--green);box-shadow:0 3px 12px rgba(28,167,120,.15)}.sheet-unit-links strong,.sheet-unit-links small{display:block}.sheet-unit-links small{font-size:8px;color:#477b68}.sheet-admin-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.sheet-empty{padding:55px 24px;text-align:center;display:grid;justify-items:center;gap:10px}.sheet-empty svg{color:var(--blue)}.sheet-empty p{max-width:700px;color:var(--muted)}.sheet-editor-form .inline-note{margin-top:14px}.file-button{cursor:pointer}

/* Customer request center */
.request-toolbar{padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) repeat(4,minmax(150px,auto));gap:9px;margin:16px 0}.request-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.request-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:.2s;min-width:0}.request-card:hover{transform:translateY(-2px);border-color:#b8d5ef;box-shadow:var(--shadow)}.request-card.priority-urgent{border-top-color:var(--red)}.request-card.priority-high{border-top-color:var(--orange)}.request-card.priority-low{border-top-color:#9aa7b8}.request-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.request-type{font-size:9px;color:var(--blue);font-weight:900;letter-spacing:.5px}.request-card h3{font-size:16px;margin:12px 0 7px}.request-card>p{color:var(--muted);height:42px;overflow:hidden}.request-context{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.request-context>span{background:#f6f9fc;border-radius:9px;padding:9px;min-width:0}.request-context strong,.request-context small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-context small{color:var(--muted);font-size:8px}.request-card footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.priority-pill{border-radius:999px;padding:3px 7px;background:#eef2f6;font-weight:900}.priority-pill.urgent{background:#ffe6e6;color:#b62e2e}.priority-pill.high{background:#fff1d9;color:#9b6200}.priority-pill.normal{background:#eaf4ff;color:#216cae}.request-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px}.request-message-original{padding:14px;background:#f4f8fc;border-radius:12px;margin-bottom:12px}.request-message-original strong,.request-message-original small{display:block}.request-message-original small{color:var(--muted);font-size:9px}.request-message-original p{margin:8px 0 0}.request-thread{display:flex;flex-direction:column;gap:9px;max-height:430px;overflow:auto;padding-right:5px}.request-thread article{max-width:88%;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.request-thread article.mine{margin-left:auto;background:#edf7ff;border-color:#c8e3fa}.request-thread article.internal{background:#fff9e6;border-color:#f0d78a}.request-thread header{display:flex;align-items:center;gap:6px;font-size:9px}.request-thread header time{margin-left:auto;color:var(--muted)}.request-thread article p{margin:7px 0 0}.request-thread article>small{color:#876400}.request-detail form[data-message]{margin-top:12px;display:flex;flex-direction:column;gap:8px}.request-summary-card,.request-management{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;margin-bottom:10px}.request-summary-card small,.request-summary-card strong{display:block}.request-summary-card small{color:var(--muted);font-size:8px;margin-top:8px}.request-summary-card small:first-child{margin-top:0}.request-management{display:flex;flex-direction:column;gap:10px}.request-management h3{margin:0}.request-management p{color:var(--muted)}

/* API Hub */
.integration-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(160px,auto));gap:9px;padding:12px;margin:16px 0}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.integration-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow-sm)}.integration-card.disabled{opacity:.72}.integration-card>header{display:flex;justify-content:space-between;align-items:center}.integration-type{font-size:8px;font-weight:900;padding:4px 7px;border-radius:999px;background:#eef3f8}.integration-type.tone-purple{color:#6846b7;background:#f0ebff}.integration-type.tone-blue{color:#1268b7;background:#e8f4ff}.integration-type.tone-green{color:#157b59;background:#e8f8f1}.integration-type.tone-orange{color:#976200;background:#fff3dd}.integration-card h3{margin:12px 0 4px}.integration-card>p{height:42px;color:var(--muted);font-size:11px}.integration-card dl{display:grid;gap:6px;margin:12px 0}.integration-card dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}.integration-card dt{color:var(--muted);font-size:9px}.integration-card dd{margin:0;text-align:right;font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card footer{display:flex;gap:7px;align-items:center}.integration-card footer .icon-button{margin-left:auto;width:34px;height:34px}.integration-log-panel{padding:15px}.integration-special{border:1px solid #dce9f4;background:#f8fbff;border-radius:13px;padding:13px;margin:15px 0}.integration-special h3{margin-bottom:12px}.integration-editor .editor-heading{margin-bottom:16px}

/* AI Studio */
.studio-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:16px 0;overflow:auto}.studio-tabs button{border:0;background:transparent;padding:12px 14px;font-weight:850;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}.studio-tabs button.active{color:var(--blue);border-color:var(--blue)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{margin-bottom:3px}.section-heading p{color:var(--muted);margin:0}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ai-template-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow-sm)}.ai-template-card.disabled{opacity:.65}.ai-template-card header,.ai-template-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.ai-template-card header span{font-size:8px;background:#edf5ff;color:#1d6db4;padding:4px 7px;border-radius:99px;font-weight:900}.ai-template-card header strong{font-size:9px;color:var(--muted)}.ai-template-card h3{margin:12px 0 4px}.ai-template-card>p{color:var(--muted);font-size:11px}.pattern-list{display:flex;gap:5px;flex-wrap:wrap}.pattern-list code,.knowledge-card code{background:#f1f4f7;border-radius:6px;padding:3px 5px;font-size:8px}.ai-template-card blockquote{margin:12px 0;padding:11px;border-left:3px solid var(--blue);background:#f7faff;border-radius:0 9px 9px 0;max-height:120px;overflow:auto;color:#405267}.ai-template-card footer{border-top:1px solid var(--line);padding-top:10px;font-size:8px;color:var(--muted)}.ai-template-card footer button,.knowledge-card>button{border:0;background:#edf5ff;color:var(--blue);border-radius:8px;padding:7px 9px;font-weight:800}.knowledge-list{display:flex;flex-direction:column;gap:10px}.knowledge-card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.knowledge-card>div{flex:1}.knowledge-card>div>span{font-size:8px;color:var(--purple);font-weight:900}.knowledge-card h3{margin:4px 0}.knowledge-card p{color:var(--muted);white-space:pre-wrap}.knowledge-card.disabled{opacity:.6}.ai-settings-form{padding:18px}.analytics-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.analytics-two>.panel{padding:16px}.rank-list,.usage-list{display:flex;flex-direction:column;gap:7px}.rank-list>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;background:#f7f9fc;border-radius:9px}.rank-list>div>span{width:22px;height:22px;border-radius:7px;background:#e6f2ff;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:900}.rank-list em{font-style:normal;color:var(--blue);font-weight:900}.usage-list{max-height:520px;overflow:auto}.usage-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px;border-bottom:1px solid var(--line)}.usage-list article strong{grid-column:1/-1}.usage-list article span,.usage-list article small{font-size:8px;color:var(--muted)}.ai-test-lab form{display:flex;gap:9px;align-items:flex-end}.ai-test-lab form textarea{flex:1}.ai-test-result{margin-top:14px}.ai-test-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ai-test-meta span,.ai-test-meta em{font-style:normal;border-radius:99px;padding:4px 8px;background:#eef5fc;color:var(--blue);font-size:9px}.ai-test-answer{margin:12px 0;padding:14px;border-radius:12px;background:#f7fafe;line-height:1.75}.ai-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-result-cards button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.ai-result-cards button:hover{border-color:var(--blue)}.ai-result-cards small{color:var(--muted)}.ai-result-cards em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;color:var(--blue);font-weight:900}

/* Modern feature catalog */
.innovation-toolbar{padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) 230px 210px;gap:9px;margin:16px 0}.innovation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.innovation-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.innovation-card>span{width:48px;height:48px;border-radius:12px;background:linear-gradient(145deg,#eaf5ff,#eefcf9);color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:10px}.innovation-card small{font-size:8px;color:var(--purple);font-weight:900}.innovation-card h3{margin:2px 0}.innovation-card p{margin:0;color:var(--muted);font-size:10px}.innovation-card em{font-style:normal;font-size:8px;color:var(--muted);background:#f2f5f8;border-radius:99px;padding:4px 7px}

@media(max-width:1300px){.request-board,.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.request-toolbar,.integration-toolbar{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,auto))}.request-toolbar select:last-child,.integration-toolbar select:last-child{grid-column:auto}.template-grid{grid-template-columns:1fr}}
@media(max-width:900px){.sheet-header,.sheet-admin-footer{flex-direction:column;align-items:flex-start}.sheet-actions{justify-content:flex-start}.request-board,.integration-grid,.innovation-grid{grid-template-columns:1fr}.request-toolbar,.integration-toolbar,.innovation-toolbar{grid-template-columns:1fr}.request-detail-grid,.analytics-two{grid-template-columns:1fr}.request-context{grid-template-columns:1fr}.sheet-toolbar{align-items:stretch}.sheet-toolbar .search-field{min-width:0}.sheet-legend{margin-left:0}.ai-test-lab form{flex-direction:column;align-items:stretch}.ai-result-cards{grid-template-columns:1fr}}
@media(max-width:600px){.sheet-selector-row{align-items:stretch;flex-direction:column}.sheet-selector{width:100%}.sheet-selector>button{min-width:160px}.sheet-actions .button{flex:1}.request-card footer{grid-template-columns:1fr}.request-card footer time{text-align:left}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.innovation-card{grid-template-columns:44px minmax(0,1fr)}.innovation-card>span{width:40px;height:40px}.innovation-card>em{grid-column:2}.template-grid{grid-template-columns:1fr}}

/* v6.0.1 external-access boot diagnostics */
.boot-failed{padding:28px;max-width:920px;margin:auto;height:auto;min-height:100vh}.boot-failed .boot-logo{background:linear-gradient(145deg,#e55252,#b82828)}.boot-failed p{margin:0;color:var(--muted)}.boot-failed code{display:block;max-width:min(820px,92vw);padding:14px;border-radius:10px;background:#101b2a;color:#eaf4ff;text-align:left;white-space:pre-wrap;word-break:break-word}.boot-diagnostics{max-width:min(820px,92vw);padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);text-align:left;word-break:break-word}.boot-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.boot-actions button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 15px;font-weight:800}.boot-actions button:last-child{background:var(--blue);border-color:var(--blue);color:#fff}

/* ========================================================================
   SaleBDS v7.0 — Docker, domain registry, branding, OTP and smooth media UI
   ======================================================================== */
:root{
  --brand-primary:#0b2b55;
  --brand-accent:#13b8a6;
  --brand-primary-soft:color-mix(in srgb,var(--brand-primary) 10%,#fff);
  --brand-accent-soft:color-mix(in srgb,var(--brand-accent) 12%,#fff);
}
.button.primary{background:var(--brand-primary);border-color:var(--brand-primary)}
.button.primary:hover{filter:brightness(1.08)}
.sidebar{background:linear-gradient(180deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 82%,#07152a))}
.sidebar-nav a.active{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-primary) 82%,#278ff5),color-mix(in srgb,var(--brand-accent) 82%,#1687f8))}
.auth-brand-panel{background-image:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 92%,#06162b),color-mix(in srgb,var(--brand-primary) 72%,var(--brand-accent)) 70%,var(--brand-accent));background-size:cover;background-position:center}

/* Dynamic brand */
.sidebar-brand{padding:0 14px}.sidebar-brand-link{min-width:0;flex:1;height:100%;display:flex;align-items:center;gap:10px;border-radius:10px;padding:7px}.sidebar-brand-link:hover{background:rgba(255,255,255,.07)}.sidebar-brand-link img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.96);padding:4px;box-shadow:0 5px 16px rgba(0,0,0,.16)}.sidebar-brand-link>div{min-width:0}.sidebar-brand-link strong,.sidebar-brand-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand-link strong{display:block}.auth-brand-logo{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;box-shadow:0 12px 34px rgba(0,0,0,.22)}.brand-lockup>div{min-width:0}.brand-lockup strong,.brand-lockup small{display:block;overflow:hidden;text-overflow:ellipsis}.brand-preview{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f7fafc;margin-bottom:18px}.brand-preview>a{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-bottom:1px solid var(--line)}.brand-preview>a:hover{background:var(--brand-primary-soft)}.brand-preview>a>img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--line);padding:4px}.brand-preview strong,.brand-preview small{display:block}.brand-preview small{color:var(--muted)}.brand-hero-preview{width:100%;height:190px;object-fit:cover}.brand-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.brand-upload-grid label{position:relative;display:flex;align-items:center;justify-content:center;min-height:90px;border:1px dashed #a9bbcd;border-radius:12px;background:#f7fbff;font-weight:800;text-align:center;padding:12px;cursor:pointer}.brand-upload-grid label:hover{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.brand-upload-grid input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Login, registration, password reset and OTP */
.auth-layout{--auth-overlay:linear-gradient(145deg,rgba(5,20,42,.92),rgba(10,55,95,.82));}.auth-brand-panel.has-custom-hero:after{content:"";position:absolute;inset:0;background:var(--auth-overlay);border:0;border-radius:0;width:auto;height:auto;left:0;bottom:0;z-index:0}.auth-brand-panel>*{position:relative;z-index:1}.auth-link{border:0;background:transparent;color:var(--brand-primary);font-weight:800;padding:5px;text-decoration:underline;text-underline-offset:3px}.auth-link:hover{color:var(--brand-accent)}.otp-illustration{display:flex;align-items:center;gap:13px}.otp-illustration>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--brand-accent-soft);color:var(--brand-accent);font-size:24px;font-weight:900}.otp-illustration h2{margin:0}.otp-code-label input{font-size:28px;letter-spacing:10px;text-align:center;font-weight:900;font-variant-numeric:tabular-nums}.otp-actions{display:flex;justify-content:space-between;gap:10px}.otp-actions .auth-link:disabled{opacity:.45;cursor:not-allowed}.demo-otp{border:1px solid #f6d183;background:#fff8df;border-radius:12px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px}.demo-otp code{font-size:20px;font-weight:900;color:#a96800}.demo-otp small{grid-column:1/-1;color:#735c2f}.auth-security{font-size:11px}.auth-form .form-grid{gap:12px}

/* Domain management */
.domain-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);gap:16px;margin-top:16px}.domain-panel,.branding-panel,.domain-guide{padding:18px}.domain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.domain-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:.2s}.domain-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-primary) 40%,var(--line))}.domain-card.primary{border-color:var(--brand-accent);box-shadow:0 0 0 2px var(--brand-accent-soft),var(--shadow-sm)}.domain-card.disabled{opacity:.62;filter:grayscale(.2)}.domain-card header,.domain-card footer{display:flex;align-items:center;gap:7px;justify-content:space-between}.domain-card header>div{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.domain-card header em{font-size:7px;letter-spacing:.8px;font-style:normal;font-weight:900;background:var(--brand-primary-soft);color:var(--brand-primary);border-radius:99px;padding:4px 6px}.domain-host{font-family:"Cascadia Code",Consolas,monospace;font-weight:900;overflow:hidden;text-overflow:ellipsis}.domain-card h3{margin:0;font-size:15px}.domain-card dl,.provider-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.domain-card dl>div,.provider-card dl>div{padding:8px;border-radius:9px;background:#f7f9fc}.domain-card dt,.provider-card dt{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.domain-card dd,.provider-card dd{margin:2px 0 0;font-size:11px;font-weight:800;overflow-wrap:anywhere}.domain-card footer{margin-top:auto;justify-content:flex-end;flex-wrap:wrap}.dns-records{display:flex;flex-wrap:wrap;gap:5px}.dns-records code{padding:4px 6px;border-radius:5px;background:#edf3f8;font-size:8px;word-break:break-all}.domain-guide{margin-top:16px}.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.guide-steps article{display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.guide-steps article>strong{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--brand-primary);color:#fff}.guide-steps b,.guide-steps small{display:block}.guide-steps small{font-size:9px;color:var(--muted);margin-top:3px}.inline-note{margin-top:13px;padding:12px 14px;border-radius:10px;background:var(--brand-primary-soft);color:var(--brand-primary);overflow-wrap:anywhere}.domain-editor,.provider-editor{padding:22px}.editor-heading{margin-bottom:18px}.editor-heading>span{font-size:9px;letter-spacing:1.5px;color:var(--brand-accent);font-weight:900}.editor-heading h2{margin:5px 0}.editor-heading p{color:var(--muted);margin:0}

/* Security Center */
.security-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:16px;margin-top:16px}.security-layout>.panel{padding:18px}.security-layout>.panel.span-2{grid-column:1/-1}.security-form .form-grid{gap:12px}.provider-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.provider-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:9px}.provider-card.enabled{border-top:3px solid var(--brand-accent)}.provider-card.disabled{opacity:.65}.provider-card header,.provider-card footer{display:flex;align-items:center;justify-content:space-between;gap:7px}.provider-channel{background:var(--brand-primary-soft);color:var(--brand-primary);border-radius:99px;padding:4px 8px;font-size:8px;font-weight:900}.provider-card header em{font-style:normal;font-size:7px;color:var(--brand-accent);font-weight:900}.provider-card h3{margin:0}.provider-card p{color:var(--muted);margin:0;font-size:11px}.provider-card footer{margin-top:auto;justify-content:flex-end}.provider-error{padding:8px;border-radius:8px;background:#fff1f1;color:#a52727;font-size:9px;word-break:break-word}.security-event-table code{white-space:nowrap}.security-policy-note{padding:10px 12px;background:#fff8df;border:1px solid #f7d58a;border-radius:10px;color:#705822}.session-device small,.data-table td small{display:block;color:var(--muted);font-size:9px}.provider-editor [data-provider-fields]{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

/* Fullscreen / smooth image viewer */
.smooth-image-viewer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.image-viewer-backdrop{position:absolute;inset:0;background:rgba(3,10,20,.88);backdrop-filter:blur(8px)}.image-viewer-shell{position:relative;width:100vw;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);color:#fff;outline:none}.image-viewer-shell>header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;background:rgba(5,18,34,.88);border-bottom:1px solid rgba(255,255,255,.12);z-index:3}.image-viewer-shell header strong,.image-viewer-shell header small{display:block}.image-viewer-shell header small{color:rgba(255,255,255,.6)}.image-viewer-tools{display:flex;align-items:center;gap:6px}.image-viewer-tools button,.image-nav{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;border-radius:9px;font-weight:900;backdrop-filter:blur(8px)}.image-viewer-tools button{min-width:40px;height:40px;padding:0 9px}.image-viewer-tools button:hover,.image-nav:hover{background:rgba(255,255,255,.22)}.image-viewer-stage{position:relative;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab;user-select:none}.image-viewer-stage:active{cursor:grabbing}.image-viewer-stage>img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none}.image-viewer-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:7px 12px;border-radius:99px;background:rgba(0,0,0,.55);color:rgba(255,255,255,.8);font-size:10px;pointer-events:none;white-space:nowrap}.image-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:34px;z-index:2}.image-nav.prev{left:14px}.image-nav.next{right:14px}.media-fullscreen-button{position:absolute;right:10px;top:10px;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);background:rgba(7,25,45,.7);color:#fff;border-radius:10px;display:grid;place-items:center;z-index:3;backdrop-filter:blur(8px)}.media-fullscreen-button:hover{background:var(--brand-primary)}.unit-hero-frame{position:relative;background:#e9eff4;overflow:hidden}.unit-hero-frame .unit-hero-image{cursor:zoom-in}.media-card-image{position:relative;height:150px;background:#edf2f7}.media-card-image img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.media-card-image .media-fullscreen-button{width:32px;height:32px;right:7px;top:7px}.content-card-image img,[data-image-view]{cursor:zoom-in}

/* Smooth floorplan interaction */
.floorplan-editor{contain:layout paint}.floorplan-toolbar{gap:12px;flex-wrap:wrap}.floorplan-viewport{height:clamp(520px,68vh,900px);overflow:hidden;padding:0;touch-action:none;cursor:grab;overscroll-behavior:contain;position:relative;background:radial-gradient(circle at center,#f8fbfd,#e8eef4)}.floorplan-viewport:active{cursor:grabbing}.floorplan-stage{position:absolute;left:50%;top:50%;width:min(1400px,94%);min-width:720px;margin:0;transform-origin:center;will-change:transform;backface-visibility:hidden}.floorplan-stage>img{width:100%;pointer-events:none;-webkit-user-drag:none}.floorplan-markers{pointer-events:none}.unit-marker{pointer-events:auto;transition:box-shadow .15s,filter .15s;will-change:left,top,width,height}.unit-marker:hover{transform:none;filter:brightness(1.08);box-shadow:0 7px 20px rgba(17,42,64,.3)}.floorplan-zoom-label{position:absolute;right:18px;bottom:18px;border-radius:8px;padding:6px 9px;background:rgba(7,28,50,.72);color:#fff;font-size:10px;font-weight:900;z-index:5}.floorplan-hint{position:absolute;left:50%;top:15px;transform:translateX(-50%);padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.88);box-shadow:var(--shadow-sm);font-size:9px;color:var(--muted);z-index:5;white-space:nowrap}.floorplan-legend{z-index:5}.floorplan-viewport:fullscreen{width:100vw;height:100vh;background:#e8eef4}.floorplan-viewport:fullscreen .floorplan-stage{width:min(1700px,94%)}

/* Panorama smooth interaction */
.pano-shell{touch-action:none;cursor:grab}.pano-shell:active{cursor:grabbing}.pano-canvas{will-change:contents}.pano-shell:fullscreen{width:100vw;height:100vh;border-radius:0}.pano-toolbar{z-index:6;flex-wrap:wrap}.pano-hotspots{z-index:5}.pano-hint{pointer-events:none}

/* Universal clickable references */
[data-open-project],[data-open-unit-global],.clickable-reference{cursor:pointer}.clickable-reference,[data-open-project].reference-link,[data-open-unit-global].reference-link{color:var(--brand-primary);font-weight:800;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand-accent) 55%,transparent);text-underline-offset:3px}.clickable-card{transition:.18s}.clickable-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand-accent)}

/* Responsive v7 */
@media(max-width:1180px){.domain-layout,.security-layout{grid-template-columns:1fr}.security-layout>.panel.span-2{grid-column:auto}.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-list,.provider-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-brand-panel{min-height:390px;padding:28px}.auth-hero{margin-top:45px}.auth-hero h1{font-size:42px}.auth-brand-footer{position:relative;left:auto;bottom:auto;margin-top:40px}.auth-form-panel{padding:30px 18px}.domain-list,.provider-list{grid-template-columns:1fr}.brand-upload-grid{grid-template-columns:1fr}.floorplan-viewport{height:65vh}.floorplan-stage{min-width:640px}.floorplan-toolbar .toolbar-actions{width:100%;overflow:auto;padding-bottom:2px}.image-viewer-hint{display:none}}
@media(max-width:640px){.auth-brand-panel{display:none}.auth-layout{display:block;background:#f4f7fb}.auth-form-panel{min-height:100dvh;align-items:start;padding-top:28px}.auth-tabs{margin-bottom:22px}.auth-form h2{font-size:25px}.demo-accounts{grid-template-columns:1fr}.demo-accounts>strong{grid-column:auto}.otp-code-label input{font-size:22px;letter-spacing:7px}.domain-panel,.branding-panel,.domain-guide,.security-layout>.panel{padding:13px}.guide-steps{grid-template-columns:1fr}.domain-card dl,.provider-card dl{grid-template-columns:1fr}.brand-hero-preview{height:140px}.floorplan-viewport{height:62vh}.floorplan-stage{min-width:560px;width:920px}.floorplan-hint{display:none}.floorplan-legend{left:8px;bottom:8px;right:58px;overflow:auto}.image-viewer-shell>header{height:auto;min-height:58px;padding:8px}.image-viewer-shell>header>div:first-child{min-width:0}.image-viewer-shell>header strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}.image-viewer-tools{gap:3px}.image-viewer-tools button{min-width:34px;height:36px;padding:0 6px}.image-nav{width:40px;height:56px}.image-nav.prev{left:6px}.image-nav.next{right:6px}.unit-overview-grid{grid-template-columns:1fr}.unit-hero-image{height:300px}.panorama-manager,.pano-project-layout{grid-template-columns:1fr}.pano-settings{grid-column:1}}
.project-hero{position:relative}.project-hero>.media-fullscreen-button{z-index:5}.reader-image-frame{position:relative;border-radius:14px;overflow:hidden;margin-bottom:16px;background:#edf2f7}.reader-image-frame>img{width:100%;max-height:520px;object-fit:contain;cursor:zoom-in}.auth-brand-panel{background-image:linear-gradient(145deg,rgba(5,20,42,.90),rgba(10,55,95,.72)),var(--auth-hero);background-size:cover;background-position:center}

/* v8.0 project-domain, link affordance and rich media refinements */
.domain-project-link{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--brand-accent) 35%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand-accent) 7%,#fff);color:var(--brand-primary);transition:transform .18s,border-color .18s,box-shadow .18s}.domain-project-link:hover{transform:translateY(-1px);border-color:var(--brand-accent);box-shadow:var(--shadow-sm)}.domain-project-link span,.domain-project-link strong,.domain-project-link small{display:block;min-width:0}.domain-project-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-project-link small{font-size:9px;color:var(--muted)}
.project-card[data-project-id]{cursor:pointer}.project-card[data-project-id]:focus-within{outline:3px solid color-mix(in srgb,var(--brand-accent) 35%,transparent);outline-offset:2px}.project-card-actions{position:relative;z-index:2}.project-domain-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border-radius:8px;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compare-image-frame,.site-gallery-item,.site-section-image-frame{position:relative;overflow:hidden;background:#edf2f7}.compare-image-frame{height:180px;border-radius:12px 12px 0 0}.compare-image-frame img{width:100%;height:100%;object-fit:cover}.site-gallery-item{border-radius:14px;min-height:180px}.site-gallery-item>img{width:100%;height:100%;min-height:180px;object-fit:cover}.site-section-image-frame{border-radius:14px;margin-bottom:16px}.site-section-image-frame>img{width:100%;max-height:620px;object-fit:contain;background:#edf2f7}.site-gallery-item .media-fullscreen-button,.compare-image-frame .media-fullscreen-button,.site-section-image-frame .media-fullscreen-button{opacity:.84;transition:opacity .18s,transform .18s}.site-gallery-item:hover .media-fullscreen-button,.compare-image-frame:hover .media-fullscreen-button,.site-section-image-frame:hover .media-fullscreen-button{opacity:1;transform:translateY(-1px)}
.brand-preview{display:grid;gap:12px;margin-bottom:16px}.brand-preview>a{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.brand-preview>a>img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#f6f8fb}.brand-preview>a strong,.brand-preview>a small{display:block}.brand-preview>a small{color:var(--muted);font-size:10px}.brand-hero-preview{width:100%;height:190px;object-fit:cover;border-radius:12px;background:#edf2f7}.brand-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.brand-upload-grid label{padding:11px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;font-size:11px}
@media(max-width:900px){.compare-image-frame{height:220px}}
@media(max-width:640px){.brand-upload-grid{grid-template-columns:1fr}.domain-project-link{align-items:flex-start}.site-gallery-item,.site-gallery-item>img{min-height:150px}}
.provider-runtime-note{display:grid;gap:4px;padding:12px 14px;border:1px solid #f0d48b;border-radius:10px;background:#fff8df;color:#705822}.provider-runtime-note strong,.provider-runtime-note span{display:block}.provider-runtime-note span{font-size:10px;line-height:1.55}

/* v8.0 — compact apartment map pins with area head and hover details */
.floorplan-markers{overflow:visible}.unit-map-pin{--pin-color:#1ca778;--pin-text:#fff;position:absolute!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--pin-text)!important;box-shadow:none!important;overflow:visible!important;display:block!important;transform:translate(-50%,-100%)!important;filter:none!important;z-index:2;cursor:pointer;touch-action:none;will-change:left,top}.unit-map-pin.marker-pending_lock{--pin-color:#f5a800}.unit-map-pin.marker-locked{--pin-color:#1687f8}.unit-map-pin.marker-sold{--pin-color:#6f7b88}.unit-map-pin:hover,.unit-map-pin:focus-visible{z-index:30!important;filter:none!important;box-shadow:none!important;outline:0}.unit-map-pin.dragging{z-index:40!important;cursor:grabbing;opacity:.88}.unit-pin-card{height:28px;min-width:46px;padding:0 8px;border:2px solid rgba(255,255,255,.92);border-radius:9px;background:var(--pin-color);box-shadow:0 5px 13px rgba(7,30,52,.28);display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease}.unit-pin-card img{width:16px;height:16px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.unit-pin-card strong{font-size:11px;line-height:1;font-weight:950;letter-spacing:-.15px}.unit-pin-card small{font-size:7px;line-height:1;font-weight:850;opacity:.9}.unit-pin-stem{display:block;width:4px;height:10px;margin:-1px auto 0;background:var(--pin-color);border-left:1px solid rgba(255,255,255,.55);border-right:1px solid rgba(255,255,255,.55);box-shadow:0 3px 5px rgba(7,30,52,.18)}.unit-pin-tip{display:block;width:9px;height:9px;margin:-2px auto 0;border:2px solid #fff;border-radius:50%;background:var(--pin-color);box-shadow:0 3px 6px rgba(7,30,52,.28)}.unit-map-pin:hover .unit-pin-card,.unit-map-pin:focus-visible .unit-pin-card{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 20px rgba(7,30,52,.34)}.unit-pin-tooltip{position:absolute;left:calc(100% + 12px);top:-10px;width:220px;padding:11px 12px;border:1px solid rgba(15,45,75,.12);border-radius:12px;background:rgba(255,255,255,.98);color:#12253a;box-shadow:0 18px 45px rgba(5,24,42,.25);opacity:0;visibility:hidden;transform:translateX(-5px) scale(.97);transform-origin:left center;transition:opacity .14s ease,transform .14s ease,visibility .14s;pointer-events:none;text-align:left;z-index:80}.unit-pin-tooltip:before{content:"";position:absolute;right:100%;top:20px;border:7px solid transparent;border-right-color:rgba(255,255,255,.98)}.unit-map-pin:hover .unit-pin-tooltip,.unit-map-pin:focus-visible .unit-pin-tooltip,.unit-map-pin.dragging .unit-pin-tooltip{opacity:1;visibility:visible;transform:none}.unit-pin-tooltip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid #e8eef4}.unit-pin-tooltip-head strong{font-size:14px;font-weight:950;color:#0d2f55}.unit-pin-tooltip-head em{font-style:normal;font-size:8px;font-weight:900;padding:4px 6px;border-radius:999px;background:color-mix(in srgb,var(--pin-color) 13%,#fff);color:var(--pin-color)}.unit-pin-tooltip>span:not(.unit-pin-tooltip-head){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0}.unit-pin-tooltip small{font-size:9px;color:#78889a}.unit-pin-tooltip b{font-size:10px;color:#172b41}.unit-pin-tooltip>i{display:block;margin-top:7px;padding-top:7px;border-top:1px dashed #dce4ec;font-style:normal;font-size:8px;color:#8390a0}.floorplan-editor.is-editing .unit-map-pin .unit-pin-card:after{content:"⋮⋮";position:absolute;right:-10px;top:-7px;font-size:8px;color:#0d315b;background:#fff;border:1px solid #d9e3ed;border-radius:5px;padding:1px 3px;box-shadow:0 2px 5px rgba(0,0,0,.12)}
@media(max-width:760px){.unit-pin-tooltip{left:50%;top:auto;bottom:calc(100% + 10px);transform:translate(-50%,5px) scale(.97);transform-origin:center bottom;width:200px}.unit-pin-tooltip:before{right:auto;left:50%;top:100%;transform:translateX(-50%);border-color:rgba(255,255,255,.98) transparent transparent}.unit-map-pin:hover .unit-pin-tooltip,.unit-map-pin:focus-visible .unit-pin-tooltip,.unit-map-pin.dragging .unit-pin-tooltip{transform:translate(-50%,0)}.unit-pin-card{min-width:43px;height:26px}.unit-pin-card strong{font-size:10px}}

/* v8.0 — large right-side transaction notification center */
.notification-center-modal{place-items:stretch end!important;padding:0!important;background:rgba(3,17,32,.42)!important;backdrop-filter:blur(2px)!important}.notification-center-modal .modal{height:100dvh;max-height:none!important;width:min(570px,100vw)!important;border-radius:18px 0 0 18px!important;overflow:hidden!important;box-shadow:-24px 0 70px rgba(4,24,44,.28)!important}.notification-center-modal .modal-content{height:100%;padding:0!important}.notification-center-modal .modal-x{position:absolute!important;right:18px!important;top:18px!important;border-radius:999px!important;background:#f7f9fc!important;z-index:10}.notification-center{height:100%;display:flex;flex-direction:column;background:#f6f8fb}.notification-center-header{padding:24px 70px 18px 24px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.notification-center-header h2{font-size:25px;margin:3px 0 4px}.notification-center-header p{margin:0;color:var(--muted);font-size:11px}.notification-center-header .button{white-space:nowrap;margin-top:4px}.notification-center-tabs{height:52px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:end;gap:4px}.notification-center-tabs button{height:50px;padding:0 15px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:900;display:flex;align-items:center;gap:7px}.notification-center-tabs button.active{color:var(--brand-primary);border-color:var(--brand-accent)}.notification-center-tabs em{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eef2f6;color:#657487;font-style:normal;font-size:9px;display:grid;place-items:center}.notification-center-tabs button.active em{background:var(--brand-primary-soft);color:var(--brand-primary)}.activity-filter-row{padding:12px 18px 8px;display:flex;gap:7px;overflow:auto;background:#f6f8fb}.activity-filter-row button{border:1px solid #dce4ed;border-radius:999px;background:#fff;color:#667689;padding:7px 11px;font-size:9px;font-weight:900;white-space:nowrap}.activity-filter-row button.active{border-color:var(--brand-primary);background:var(--brand-primary);color:#fff}.business-activity-list,.personal-notification-list{flex:1;overflow:auto;padding:10px 16px 24px;overscroll-behavior:contain}.business-activity-list{display:flex;flex-direction:column;gap:9px}.business-activity-card{--activity-tone:#1687f8;display:grid;grid-template-columns:43px minmax(0,1fr);gap:11px;padding:14px;background:#fff;border:1px solid #e1e7ee;border-left:4px solid var(--activity-tone);border-radius:13px;box-shadow:0 4px 13px rgba(14,39,65,.05);transition:transform .16s,border-color .16s,box-shadow .16s}.business-activity-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--activity-tone) 38%,#dfe6ed);box-shadow:0 9px 25px rgba(14,39,65,.1)}.business-activity-card.tone-orange{--activity-tone:#f0a100}.business-activity-card.tone-blue{--activity-tone:#1687f8}.business-activity-card.tone-purple{--activity-tone:#8159d5}.business-activity-card.tone-green{--activity-tone:#1ca778}.business-activity-card.tone-red{--activity-tone:#e55252}.business-activity-card.critical{background:linear-gradient(135deg,#fff,#fff9f9)}.activity-avatar{width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--activity-tone) 13%,#fff);color:var(--activity-tone);display:grid;place-items:center;font-weight:950;font-size:18px}.activity-card-body{min-width:0}.activity-card-body>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-kind{font-size:8px;letter-spacing:.7px;font-weight:950;text-transform:uppercase;color:var(--activity-tone)}.activity-card-body time{font-size:8px;color:#96a1ae}.activity-card-body h3{font-size:14px;margin:5px 0 3px;color:#102943}.activity-card-body>p{font-size:10px;line-height:1.45;color:#657487;margin:0}.activity-entity-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.activity-entity-chips button,.activity-entity-chips a,.activity-entity-chips span{height:26px;border:1px solid #dce5ed;border-radius:8px;background:#f8fafc;color:#40556b;padding:0 8px;font-size:8px;font-weight:850;display:inline-flex;align-items:center;gap:4px}.activity-entity-chips button,.activity-entity-chips a{cursor:pointer;color:var(--brand-primary);border-color:color-mix(in srgb,var(--brand-primary) 20%,#dce5ed);background:var(--brand-primary-soft)}.activity-entity-chips button:hover,.activity-entity-chips a:hover{border-color:var(--brand-accent);transform:translateY(-1px)}.activity-card-body>footer{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px dashed #e2e8ee}.activity-card-body>footer span{font-size:9px;font-weight:850;color:#375069}.activity-card-body>footer small{font-size:8px;color:#98a3af}.personal-notification-list{display:flex;flex-direction:column;gap:7px}.personal-notification-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px;border:1px solid #e2e8ef;border-radius:12px;background:#fff}.personal-notification-card.unread{border-color:#acd3f4;background:#f2f8ff}.personal-notification-card>span{width:36px;height:36px;border-radius:10px;background:#edf4fb;color:var(--blue);display:grid;place-items:center}.personal-notification-card strong,.personal-notification-card p,.personal-notification-card small{display:block;margin:0}.personal-notification-card p{font-size:10px;color:var(--muted);margin:3px 0}.personal-notification-card small{font-size:8px;color:#96a2af}.notification-empty{min-height:260px;display:grid;place-content:center;text-align:center;gap:6px;color:#8390a0}.notification-empty strong{font-size:14px;color:#506174}.notification-empty span{font-size:10px}.notification-button{transition:transform .18s}.notification-button:hover{transform:translateY(-1px)}
@media(max-width:620px){.notification-center-modal .modal{width:100vw!important;border-radius:0!important}.notification-center-header{padding:20px 58px 14px 16px;display:block}.notification-center-header .button{margin-top:10px}.notification-center-tabs{padding:0 12px}.business-activity-list,.personal-notification-list{padding-left:10px;padding-right:10px}.business-activity-card{grid-template-columns:36px minmax(0,1fr);padding:11px}.activity-avatar{width:34px;height:34px;border-radius:9px}.activity-entity-chips span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.status-deposited{background:#f2eaff;color:#7143bb}.transaction-note{margin:7px 0!important;padding:7px 9px;border-radius:8px;background:#f8f4ff;color:#66507d!important;font-size:9px!important}.transaction-note strong{color:#4f2e81}.lock-card .unit-code-chip{border:0;cursor:pointer}.lock-card .unit-code-chip:hover{filter:brightness(.96);transform:translateY(-1px)}

/* v8.1.0 modal placement corrections: className is applied to the panel and a *-backdrop class to its overlay. */
.drawer-modal-backdrop{place-items:stretch end;padding:0}
.modal.drawer-modal{height:100vh;max-height:none;width:min(470px,95vw);border-radius:0}
.popover-modal-backdrop{place-items:start end;padding:72px 18px 0}
.modal.popover-modal{width:300px}
.command-modal-backdrop{place-items:start center;padding-top:12vh}
.modal.command-modal{width:min(760px,94vw)}
.notification-center-modal-backdrop{place-items:stretch end;padding:0;background:rgba(5,19,34,.42);backdrop-filter:blur(2px)}
.modal.notification-center-modal{height:100dvh;max-height:none;width:min(570px,96vw);border-radius:0;overflow:hidden;display:flex;flex-direction:column;background:#f6f8fb}
.modal.notification-center-modal>.modal-x{position:absolute;right:16px;top:14px}
.modal.notification-center-modal>.modal-content{padding:0;height:100%;min-height:0;display:flex;flex-direction:column}
@media(max-width:620px){.notification-center-modal-backdrop{padding:0}.modal.notification-center-modal{width:100vw!important;height:100dvh;border-radius:0!important}}

/* v8.0 — final Docker/domain/OTP release refinements */
.page-header-actions,.domain-field-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.domain-field-tools{margin-top:8px}.domain-preview{display:block;margin-top:8px;padding:8px 10px;border:1px dashed #bfd0df;border-radius:9px;background:#f7fafc;color:#40586f;font-size:10px;overflow-wrap:anywhere}.domain-field-tools .disabled{pointer-events:none;opacity:.45}.entity-click-target{cursor:pointer}.entity-click-target:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 62%,#fff);outline-offset:3px;border-radius:10px}.floorplan-legend{align-items:center;max-width:calc(100% - 110px);overflow:auto}.floorplan-legend button{border:1px solid #dce5ed;background:#fff;color:#667689;border-radius:999px;height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:850;white-space:nowrap;opacity:.55;transition:.16s}.floorplan-legend button.active{opacity:1;border-color:#b9c9d8;box-shadow:0 2px 8px rgba(17,42,64,.08)}.floorplan-legend button:hover{transform:translateY(-1px);border-color:var(--brand-accent)}.floorplan-legend button em{font-style:normal;min-width:18px;height:18px;border-radius:999px;background:#edf2f6;color:#607386;display:grid;place-items:center;font-size:8px}.notification-center-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 18px 2px;background:#f6f8fb}.notification-center-controls label{height:38px;border:1px solid #dce5ed;background:#fff;border-radius:10px;padding:0 10px;display:flex;align-items:center;gap:7px;color:#738294}.notification-center-controls input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:10px}.notification-center-controls select{height:38px;border:1px solid #dce5ed;background:#fff;border-radius:10px;padding:0 10px;font-size:9px;font-weight:800;color:#4f6275}.image-viewer-tools{overflow-x:auto;max-width:70vw;padding-bottom:2px;scrollbar-width:thin}.image-viewer-tools button{flex:0 0 auto}.smooth-image-viewer img{transition:none}.security-session-protection{display:flex;gap:8px;align-items:center}
@media(max-width:720px){.page-header-actions{width:100%;justify-content:flex-start}.notification-center-controls{grid-template-columns:1fr;padding-left:10px;padding-right:10px}.image-viewer-shell>header{align-items:flex-start}.image-viewer-tools{max-width:62vw}.floorplan-legend{display:flex!important;max-width:calc(100% - 70px);gap:5px;padding:6px}.floorplan-legend button{height:28px;padding:0 7px}.domain-field-tools .button{flex:1 1 auto}}

/* v8.1.0 floorplan alignment: centered coordinate plane, image and pins share one exact box. */
.floorplan-viewport{isolation:isolate;overflow:hidden;touch-action:none}
.floorplan-stage-shell{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;padding:54px 24px;box-sizing:border-box}
.floorplan-stage{position:relative!important;left:auto!important;top:auto!important;width:min(1400px,100%)!important;min-width:0!important;max-width:100%;margin:0!important;transform-origin:center center;pointer-events:auto;line-height:0}
.floorplan-stage>img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;border:0;user-select:none}
.floorplan-markers{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:visible;pointer-events:none;line-height:normal}
.unit-map-pin{transform:translate(-50%,-100%)!important}
.floorplan-editor.is-editing .floorplan-stage{cursor:default}
@media(max-width:900px){.floorplan-stage-shell{padding:64px 12px}.floorplan-stage{width:100%!important}}
@media(max-width:640px){.floorplan-stage-shell{padding:62px 6px}.floorplan-stage{width:100%!important;min-width:0!important}.floorplan-viewport{height:62vh;min-height:430px}}

.floorplan-viewport:fullscreen .floorplan-stage{width:min(1700px,100%)!important}

/* v8.1 owner master feature control */
.feature-gate-console{display:grid;gap:18px}.feature-gate-summary{display:flex;gap:10px;flex-wrap:wrap}.feature-gate-summary span{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.feature-gate-summary .enabled{background:#e8fbf4;color:#087a55}.feature-gate-summary .disabled{background:#fff1f1;color:#b42318}.feature-gate-actions{display:flex;gap:10px;flex-wrap:wrap}.feature-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feature-gate-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:17px;border:1px solid var(--border,#dfe7ef);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(16,43,68,.06);transition:.2s ease}.feature-gate-card.enabled{border-color:#a9dfcc}.feature-gate-card.disabled{background:#fafafa;border-color:#efc4c4;opacity:.82}.feature-gate-card.saving{pointer-events:none;filter:saturate(.4)}.feature-gate-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#edf5ff;color:#1559a6}.feature-gate-card.disabled .feature-gate-icon{background:#f5eaea;color:#a33}.feature-gate-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feature-gate-copy h3{margin:2px 0 0;font-size:16px}.feature-gate-copy small{font:700 10px/1.2 ui-monospace,monospace;color:#6b7c8e;text-transform:uppercase}.feature-gate-copy p{margin:8px 0 12px;color:#5b6978;line-height:1.5}.feature-gate-meta{display:flex;gap:8px;flex-wrap:wrap}.feature-gate-meta span{padding:5px 8px;border-radius:8px;background:#f2f5f8;font-size:11px;font-weight:700;color:#536274}.feature-gate-copy details{margin-top:12px;padding-top:10px;border-top:1px dashed #dfe6ed}.feature-gate-copy summary{cursor:pointer;font-size:12px;font-weight:800;color:#35516d}.feature-gate-copy details div{margin-top:8px;font-size:12px;color:#627180}.feature-gate-copy code{display:inline-block;margin:3px 3px 0 0;padding:3px 6px;border-radius:6px;background:#eef3f7;font-size:10px}.switch.master{transform:scale(1.08);transform-origin:top right}.code-protection-panel{margin-top:4px}.code-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.code-protection-grid span{display:grid;gap:5px;padding:14px;border:1px solid #e1e8ef;border-radius:14px;background:#fbfdff}.code-protection-grid strong{font-size:13px}.code-protection-grid small{color:#69798a;line-height:1.45}.inline-note.warning{background:#fff8e8;border-color:#f1d695;color:#7a5510}
[data-feature-hidden="true"]{display:none!important}
@media(max-width:900px){.feature-gate-grid,.code-protection-grid{grid-template-columns:1fr}}

/* v8.2 Google Sheets source verification */
.sheet-source-test{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid #cdd9e5;display:grid;gap:4px;background:#f7fafc}
.sheet-source-test[hidden]{display:none}
.sheet-source-test strong{font-size:12px}.sheet-source-test span{font-size:11px}.sheet-source-test small{font-size:9px;color:var(--muted);overflow-wrap:anywhere}
.sheet-source-test.success{border-color:#9bd7c0;background:#edfbf6;color:#087a55}.sheet-source-test.error{border-color:#efb8b8;background:#fff3f3;color:#9f2323}
