@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#edf0f6;background:#11151d;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 12% 0%,#202b3c 0,transparent 38%),#11151d}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}.auth-wrap,.setup-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card,.setup-card{width:min(100%,440px);background:#1a202b;border:1px solid #303a49;border-radius:22px;padding:34px;box-shadow:0 24px 80px #0006}.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#263c50;color:#8bc7e8;margin-bottom:22px}.brand-mark.small{width:34px;height:34px;margin:0;border-radius:11px}h1,h2,h3,p{margin-top:0}h1{font:800 34px Manrope,sans-serif;letter-spacing:-1.2px;margin-bottom:8px}h3{font:700 17px Manrope;margin-bottom:7px}.muted{color:#9ca8ba;line-height:1.55}.eyebrow{font-size:10px;letter-spacing:2px;color:#8bb8d5;font-weight:700;margin-bottom:9px}.stack{display:grid;gap:16px;margin-top:26px}.stack label{display:grid;gap:8px;color:#cbd3df;font-size:13px}input,textarea,select{width:100%;border:1px solid #394555;background:#111721;color:#eef2f8;border-radius:10px;padding:12px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:#75b9df;box-shadow:0 0 0 3px #75b9df20}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:11px 15px;font-weight:700;border:1px solid transparent}.primary{background:#75b9df;color:#101923}.primary:hover{background:#91cbed}.primary:disabled{opacity:.5;cursor:wait}.secondary{background:#242d3a;border-color:#3a4657;color:#e0e7f0}.secondary:hover{background:#303b4a}.link-button,.back-button{border:0;background:none;color:#8fc8e8;padding:12px 0}.notice,.warning{font-size:13px;color:#e9c77f;line-height:1.5;margin:15px 0 0}.setup-card ol{line-height:1.9;color:#cbd3df}.setup-card code{color:#a9d8f2}.topbar{height:68px;border-bottom:1px solid #2b3441;background:#171d27ef;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.user-area{display:flex;align-items:center;gap:12px}.brand b{font:800 17px Manrope}.tag,.role-chip{font-size:11px;color:#9fcde6;background:#233648;padding:5px 9px;border-radius:30px}.user-area{color:#9daabd;font-size:13px}.icon-button{background:#242d3a;border:1px solid #3a4657;border-radius:10px;padding:9px;display:grid}.content{max-width:1320px;margin:0 auto;padding:42px 28px 80px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 0 26px}.page-heading h1{font-size:38px}.create-row{display:flex;gap:10px;max-width:650px;margin-bottom:30px}.create-row input{flex:1}.campaign-grid,.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.campaign-card,.map-card{text-align:left;border:1px solid #303b4a;background:linear-gradient(145deg,#1c2532,#171d27);border-radius:17px;padding:20px;min-height:180px;transition:.2s}.campaign-card:hover,.map-card:hover{border-color:#76b9df;transform:translateY(-2px)}.card-icon,.map-thumb{width:44px;height:44px;border-radius:13px;background:#27394b;color:#9acde9;display:grid;place-items:center;margin-bottom:20px}.campaign-card p,.map-card p{color:#9ca8ba;font-size:13px;line-height:1.5;min-height:38px}.campaign-card span{color:#8fc8e8;font-size:12px;font-weight:700}.empty{border:1px dashed #3b4655;border-radius:18px;padding:55px 20px;text-align:center;color:#8290a3;margin-top:20px}.empty svg{color:#79b8d9;margin-bottom:15px}.empty p{margin:0}.back-button{display:inline-flex;align-items:center;gap:7px}.role-chip{display:flex;align-items:center;gap:7px}.map-card{min-height:150px}.map-thumb{width:100%;height:100px;margin:0 0 15px}.toolbar{display:flex;gap:9px;flex-wrap:wrap}.upload-btn{cursor:pointer}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.map-stage{position:relative;min-height:460px;border:1px solid #344152;border-radius:16px;background-color:#171e29;background-image:radial-gradient(#344253 1px,transparent 1px);background-size:22px 22px;overflow:hidden;display:grid;place-items:center}.map-stage>img{width:100%;height:auto;max-height:78vh;object-fit:contain;display:block}.map-placeholder{display:grid;justify-items:center;gap:12px;color:#8493a7;padding:50px;text-align:center}.map-placeholder svg{color:#8fc8e8}.map-placeholder b{color:#cbd4df}.pin{position:absolute;transform:translate(-50%,-100%);color:#f3c66e;filter:drop-shadow(0 2px 3px #000);pointer-events:none}.object-panel{border:1px solid #344152;background:#1a212c;border-radius:16px;padding:16px;max-height:75vh;overflow:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h3{margin:0 0 14px}.panel-heading span{color:#93a3b8;font-size:12px}.full{width:100%}.object-form{display:grid;gap:9px;margin:13px 0;padding:12px;background:#141b25;border-radius:12px}.object-form textarea{min-height:75px;resize:vertical}.object-list{display:grid;gap:10px;margin-top:13px}.object-item{padding:12px;border:1px solid #303b49;border-radius:12px;background:#171e28}.object-item b{display:block;margin:6px 0}.object-item p{font-size:12px;color:#9ca8ba;line-height:1.45;margin:0}.object-type{font-size:10px;color:#91c5e4;display:flex;justify-content:space-between}.published{color:#8bd4a7}.object-actions{display:flex;gap:8px;margin-top:10px}.object-actions button{border:1px solid #3b4655;background:#222c39;border-radius:8px;padding:6px;display:grid}.error-banner{background:#512d35;border:1px solid #8b4654;color:#ffd9df;padding:12px 14px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between}.error-banner button{background:none;border:0;color:inherit;font-size:18px}.center-screen{min-height:100vh;display:grid;place-items:center;color:#aab7c8}@media(max-width:850px){.map-workspace{grid-template-columns:1fr}.object-panel{max-height:none}.page-heading{align-items:flex-start;flex-direction:column}.topbar{padding:0 16px}.content{padding:28px 16px}.user-area span{display:none}}@media(max-width:520px){.create-row{flex-direction:column}.auth-card,.setup-card{padding:25px}.page-heading h1{font-size:30px}.map-stage{min-height:300px}}
