
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#182438;background:#f4f6f9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 16px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#b78b62;color:#fff}.secondary{background:#eef1f5;color:#243246}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#172336;color:#fff;padding:28px 20px}aside h1{margin:0;font-size:25px}aside p{color:#bac5d5;font-size:12px}aside nav{margin-top:35px}aside nav button{display:block;background:transparent;color:white;width:100%;text-align:left;margin:8px 0}aside nav button:hover{background:#2c3a4f}main{max-width:1150px;width:100%;margin:auto;padding:38px}.head{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-size:28px;margin:0 0 6px}.muted{color:#728095}.panel{background:#fff;border:1px solid #e5e9ee;border-radius:15px;padding:22px;margin-top:22px;box-shadow:0 4px 20px #13203908}.project{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f3;padding:18px 0}.project:last-child{border:0}.project strong{display:block;margin-bottom:5px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}input{width:100%;padding:12px;border:1px solid #cfd7e0;border-radius:9px}input[type=file]{background:#f8fafc}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px;margin-top:20px}.photo{border:1px solid #e4e9ef;border-radius:12px;overflow:hidden;background:#fff}.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.photo footer{padding:10px}.photo small{display:block;overflow-wrap:anywhere;color:#627187;margin-bottom:8px}.photo button{width:100%}.selected{background:#f7ede2!important;color:#855c38!important}.meter{height:8px;background:#edf0f3;border-radius:20px;overflow:hidden;margin-top:8px}.meter span{display:block;height:100%;background:#b78b62}.hidden{display:none!important}.pill{font-size:12px;background:#edf1f6;padding:6px 10px;border-radius:20px}.notice{background:#fff7e9;padding:13px;border-radius:9px;color:#735329;font-size:13px}.watermark{position:relative}.watermark:after{content:'DREAMSELECT · PREVIEW';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-22deg);font-size:12px;font-weight:800;letter-spacing:1px;color:#fff;text-shadow:0 1px 5px #000;pointer-events:none;white-space:nowrap}.empty{padding:30px;text-align:center;color:#718096}@media(max-width:700px){.layout{grid-template-columns:1fr}aside{padding:15px 20px}aside nav{margin-top:10px}aside nav button{display:inline-block;width:auto}main{padding:20px}.head{align-items:flex-start}.project{align-items:flex-start;flex-direction:column}}

/* DreamSelect 2.0 lightbox */
.photo .watermark{cursor:zoom-in}.photo .watermark:focus-visible{outline:3px solid #b78b62;outline-offset:-3px}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(10,16,26,.96);color:#fff;display:flex;flex-direction:column;padding:16px;gap:12px}
.lightbox.hidden{display:none!important}.lb-top,.lb-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lb-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;gap:12px}.lb-image{position:relative;min-width:0;max-width:calc(100% - 110px);height:100%;display:flex;align-items:center;justify-content:center}.lb-image img{max-width:100%;max-height:100%;object-fit:contain}.lb-image:after{content:'DREAMSELECT · PREVIEW';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-22deg);font-size:clamp(13px,3vw,28px);font-weight:800;letter-spacing:2px;text-shadow:0 2px 8px #000;white-space:nowrap;pointer-events:none}.lb-button{background:#344257;color:white}.lb-selected{background:#b78b62;color:white}.lb-name{overflow-wrap:anywhere;font-size:14px}.lb-counter{color:#c5cbd5;font-size:13px}.lb-arrow{font-size:28px;padding:10px 16px}.lb-stage button{flex-shrink:0}@media(max-width:700px){.lightbox{padding:10px}.lb-stage{gap:3px}.lb-image{max-width:calc(100% - 80px)}.lb-arrow{padding:8px;font-size:22px}.lb-bottom{justify-content:center}}

.price-summary{margin:15px 0;padding:16px;border:1px solid #e8dfd5;border-radius:12px;background:#fcf8f3}.price-summary .price-line{display:flex;justify-content:space-between;gap:15px;margin:7px 0}.price-summary .total{font-weight:750;font-size:19px;border-top:1px solid #e5d8c9;padding-top:12px;margin-top:12px}.price-summary p{font-size:12px;color:#756b60;margin:10px 0 0}.extra-note{color:#926336;font-size:12px;margin-top:7px}
 .langbar{display:flex;align-items:center;gap:8px;margin:16px 0}.langbar select{padding:9px;border-radius:8px;border:1px solid #d5dbe3;background:white;color:#172336;max-width:160px}.status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.status-row select{width:auto;padding:9px;border:1px solid #cfd7e0;border-radius:8px;background:white}.invoice-note{background:#eff6f2;border:1px solid #d6e7dc;padding:13px;border-radius:10px;margin-top:12px;color:#28533b;font-size:13px} [hidden]{display:none!important}select{padding:11px;border:1px solid #cfd7e0;border-radius:9px;background:#fff}form button{margin-top:18px}#message{padding:14px;background:#fff7e9;border:1px solid #e8d5b4;border-radius:10px;margin-bottom:20px}#message.error{background:#fff0f0;color:#8a2525}#selectedFiles{white-space:pre-wrap;overflow-wrap:anywhere}#environment{margin-top:30px}#linkResult{margin-top:20px}#linkResult input{font-size:12px}#saveState{font-size:13px;color:#627187}.photo footer .secondary{margin-top:5px}.photo img{cursor:zoom-in}dialog{border:0;border-radius:14px;background:#101a2b;color:#fff;width:min(95vw,1100px);max-height:95vh;padding:16px}dialog::backdrop{background:#000c}#largePhoto{display:block;max-width:100%;max-height:70vh;margin:14px auto;object-fit:contain}#largeName{overflow-wrap:anywhere}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78b62;outline-offset:3px}.photo .image-open{padding:0;background:none;border-radius:0;width:100%;display:block}

/* Supplied DreamSelect logo: light background preserves the original dark lettering. */
aside h1.brand{background:#fff;border-radius:10px;overflow:hidden;padding:4px;line-height:0}aside .brand img{display:block;width:100%;height:auto}.site-credit{margin-top:34px;text-align:center;color:#627187;font-size:12px;line-height:1.6;padding:12px 0}@media(max-width:700px){aside h1.brand{width:230px;max-width:100%}}

.site-footer{margin-top:34px;padding-top:26px;border-top:1px solid #dfe5eb}.contact-card{display:flex;justify-content:center;align-items:center;gap:22px}.contact-avatar{width:104px;height:104px;flex:0 0 104px;border-radius:50%;overflow:hidden;background:#dce2e5;border:3px solid white;box-shadow:0 3px 15px #17233615}.contact-avatar img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.65);transform-origin:50% 35%}.contact-details{min-width:0;font-style:normal;font-size:14px;line-height:1.8}.contact-details strong{display:block;color:#182438;font-size:17px;margin-bottom:5px}.contact-details a{display:block;width:fit-content;max-width:100%;color:#52687a;text-decoration:none;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;color:#182438}.contact-details a:focus-visible{outline:3px solid #b78b62;outline-offset:3px;border-radius:3px}.site-footer .site-credit{margin:20px 0 0;padding:0}@media(max-width:500px){.contact-card{flex-direction:column;gap:14px;text-align:center}.contact-details a{margin-inline:auto}}
