/* Project Center: uses the same Midnight Glass tokens as the rest of LeoX OS */
.actions .btn{flex:0 0 auto}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.pc-card{background:#1B1B1E;border-radius:22px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .15s,background .15s;min-width:0}
.pc-card:hover{background:#222226;transform:translateY(-2px)}
.pc-cover-wrap{position:relative}
.pc-cover{height:160px;background:#232326 center/cover no-repeat}
.pc-cover.none{display:grid;place-items:center;background:var(--grad)}
.pc-cover.none span{font-family:var(--f-display);font-size:40px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.02em}
.pc-st{position:absolute;top:12px;left:12px;backdrop-filter:blur(8px);background:rgba(0,0,0,.55)!important;color:#fff!important}
.pc-st.ok{background:rgba(42,36,64,.85)!important;color:#C7B8FF!important}
.pc-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pc-body h3{font-size:19px}
.pc-price{display:flex;flex-direction:column;margin-top:4px}
.pc-price b{font-family:var(--f-display);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.pc-foot b{color:var(--ink)}
.pc-ready{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.pc-ready .tr{width:56px;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden;display:inline-block}
.pc-ready .tr i{display:block;height:100%;background:var(--grad);border-radius:99px}

.pc-hero{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;background:#1B1B1E;border-radius:24px;padding:14px;margin-bottom:14px}
.pc-cover.big{height:100%;min-height:230px;border-radius:18px}
.pc-hero-b{display:flex;flex-direction:column;gap:10px;padding:6px 6px 6px 0;min-width:0}
.pc-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:4px 0}
.pc-facts div{background:var(--sunk);border-radius:14px;padding:10px 12px;min-width:0}
.pc-facts span{display:block;font-size:11.5px;color:var(--muted)}
.pc-facts b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.pc-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pc-hero{grid-template-columns:minmax(0,1fr)}.pc-cover.big{min-height:170px}.pc-hero-b{padding:0 4px 4px}.pc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.pc-todo{background:var(--amber-soft);border-radius:18px;padding:12px 16px;margin-bottom:6px}
.pc-todo summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}
.pc-todo summary::-webkit-details-marker{display:none}
.pc-todo summary b{color:var(--amber)}
.pc-todo[open] summary{margin-bottom:10px}
.pc-todo .chip{background:rgba(0,0,0,.3)}
.pc-todo.ok{background:#2A2440}.pc-todo.ok b{color:#C7B8FF}
.pc-tabs{padding:10px 0;margin-bottom:6px}
.pc-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0}
.pc-dl dt{font-size:12px;color:var(--muted)}
.pc-dl dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.pc-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pc-block{background:var(--sunk);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px}
.pc-pre{white-space:pre-wrap;font-size:14px}
.pc-note{border-radius:14px;padding:10px 14px;font-size:13.5px;background:var(--sunk);display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pc-note.warn{background:var(--amber-soft)}
.pc-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.pc-check input{accent-color:var(--accent);width:16px;height:16px}

/* Prices tab: colour per bedroom group (--gc), summary strip, size bars, inline price entry */
.lay-sum{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 14px}
.lay-sum>div{background:#1B1B1E;border-radius:18px;padding:12px 16px;min-width:0}
.ls span{display:block;font-size:12px;color:var(--muted)}
.ls b{display:block;font-family:var(--f-display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-ring{display:flex;align-items:center;gap:10px}
.ls-ring span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--muted);flex:none;
 background:radial-gradient(closest-side,#1B1B1E 74%,transparent 76%),conic-gradient(#F59A52,#D257C4 calc(var(--p)*.5%),#6C4DFF calc(var(--p)*1%),#2A2A2F 0)}
.ls-ring span b{color:var(--ink);font-size:15px}
.ls-ring small{font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.lay-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lay-bar{margin-bottom:12px}
.pc-note-ic{width:22px;height:22px;border-radius:50%;background:var(--amber);color:#1a1206;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}

.lay-grp{margin-bottom:18px}
.lay-gh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 4px 10px}
.lay-gh h3{font-size:16px;color:var(--gc)}
.lay-gh .muted{font-size:12.5px}
.g-dot{width:10px;height:10px;border-radius:50%;background:var(--gc);box-shadow:0 0 0 4px color-mix(in srgb,var(--gc) 22%,transparent);display:inline-block;flex:none}
.lay-from{font-size:13px;color:var(--muted)}.lay-from b{color:var(--ink);font-family:var(--f-mono)}

.lay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.lay{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;
 background:linear-gradient(160deg,color-mix(in srgb,var(--gc) 16%,#1B1B1E) 0%,#1B1B1E 55%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gc) 22%,transparent)}
.lay::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gc)}
.lay:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gc) 55%,transparent),0 10px 28px rgba(0,0,0,.4)}
.lay.unpriced{background:#18181B;box-shadow:inset 0 0 0 1px #2A2A2F}
.lay.unpriced::before{opacity:.45}
.lay-plan{height:130px;background:#F4F1EE;display:grid;place-items:center;overflow:hidden}
.lay-plan img{width:100%;height:100%;object-fit:contain}
.lay-b{padding:13px 14px 14px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.lay-b .t{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lay-b .t b{font-size:16px}
.lay-rooms{font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:8px;color:var(--gc);background:color-mix(in srgb,var(--gc) 16%,transparent);white-space:nowrap}
.lay-size{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.lay-size .sz{flex:1;height:5px;border-radius:99px;background:#2A2A2F;overflow:hidden}
.lay-size .sz i{display:block;height:100%;border-radius:99px;background:var(--gc);opacity:.85}
.lay-price small{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.lay-price b{font-family:var(--f-display);font-size:24px;font-weight:600;color:#fff;letter-spacing:-.01em}
.lay-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--faint);margin-top:2px}
.lay-meta .save{color:#7EE0B0;background:rgba(79,209,165,.12);padding:1px 7px;border-radius:6px;font-weight:600}
.lay-cta{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--gc);margin-top:auto}
.lay-cta svg{width:14px;height:14px}
.lay:hover .lay-cta{color:#fff}
.lay-add{display:flex;align-items:center;gap:6px;background:#232326;border-radius:12px;padding:0 0 0 10px;margin-top:auto;border:1px dashed #3A3A40}
.lay-add span{font-size:12px;color:var(--faint);font-weight:600}
.lay-add input.lay-in{background:transparent!important;border:0!important;padding:9px 10px 9px 0!important;font-family:var(--f-mono);font-size:13.5px;box-shadow:none!important}
.lay-add:focus-within{border-color:var(--gc);border-style:solid}
table.lay-t td{vertical-align:middle}
table.lay-t td .g-dot{margin-right:10px;width:8px;height:8px;box-shadow:none}
table.lay-t .lay-add{margin:0;max-width:170px}
.quote{background:var(--sunk);border-radius:18px;padding:6px 16px;display:flex;flex-direction:column}
.quote>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #2E2E33;align-items:baseline}
.quote>div:first-child{border-top:0}
.quote small{color:var(--faint);font-size:11.5px;margin-left:4px}
.quote .off{opacity:.55}
.quote .nett{border-top:1px solid var(--faint)}
.quote .nett span{font-weight:700}
.quote .nett b{font-family:var(--f-display);font-size:24px}

.modal-c.wide{width:min(820px,100%)}
.pe-row{background:#1D1D20;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px}
.pe-row .box-h label{flex:1}
.pe-lay{display:flex;gap:8px;align-items:flex-start}
.pe-lay>.grid2,.pe-lay>.grid3{flex:1}
.pe-img{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pe-img img,.pe-img>span{width:92px;height:62px;border-radius:10px;object-fit:cover;background:var(--sunk);display:grid;place-items:center;font-size:12px}
.pc-drop{border:2px dashed #3A3A40;border-radius:20px;padding:26px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer}
.pc-drop svg{width:26px;height:26px;color:var(--muted)}
.pc-drop:hover,.pc-drop.over{border-color:var(--accent);background:rgba(123,92,255,.08)}
.pc-review{display:flex;flex-direction:column;gap:8px}
.pc-rv{display:flex;gap:12px;align-items:flex-start;background:#1D1D20;border-radius:16px;padding:12px 14px;cursor:pointer}
.pc-rv input{margin-top:3px;accent-color:var(--accent);width:17px;height:17px;flex:none}
.pc-rv p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.pc-rv.none{opacity:.5;cursor:default}
@media (max-width:560px){.pc-dl{grid-template-columns:minmax(0,1fr)}.pe-row .grid3[style]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){.pc-cover{height:120px}.pc-hero .actions .btn{flex:1 1 auto}}

/* quick search on a project */
.pcs{position:sticky;top:-24px;z-index:20;margin:0 0 12px;padding-top:4px}
.pcs-in{display:flex;align-items:center;gap:10px;background:#1B1B1E;border-radius:18px;padding:4px 14px;box-shadow:0 0 0 1px #2A2A2F,0 10px 30px rgba(0,0,0,.45)}
.pcs-in:focus-within{box-shadow:0 0 0 2px var(--accent),0 10px 30px rgba(0,0,0,.45)}
.pcs-in svg{width:18px;height:18px;color:var(--muted);flex:none}
.pcs-in input{background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 0!important;font-size:15px}
.pcs-in .kbd{flex:none}
@media (max-width:820px){.pcs-in .kbd{display:none}.pcs{top:-16px}}
.pcs-r{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#141416;border-radius:20px;padding:8px;box-shadow:0 0 0 1px #2A2A2F,0 20px 50px rgba(0,0,0,.6);max-height:min(460px,60vh);overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.pcs-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:600;padding:8px 10px 4px}
.pcs-i{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;border-radius:12px;padding:9px 10px;cursor:pointer;text-align:left;color:inherit}
.pcs-i:hover,.pcs-i:focus{background:#232326;outline:none}
.pcs-i .g-dot{width:9px;height:9px}
.pcs-t{flex:1;min-width:0;display:flex;flex-direction:column}
.pcs-t small,.pcs-v small{font-size:12px;color:var(--muted)}
.pcs-v{text-align:right;font-size:13.5px;max-width:55%;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-end}
.pcs-v b{font-size:15px}
.pcs-k{font-size:11px;flex:none;min-width:64px;justify-content:center}
.pcs-ai svg{width:18px;height:18px;color:#C7B8FF;flex:none}
.pcs-ai b{color:#C7B8FF}
.pcs-ans{margin:6px 4px 4px;padding:12px 14px;border-radius:14px;background:#2A2440;color:#EDE7FF;font-size:14px;white-space:pre-wrap}
