/* Novus Digital · Diggi Palace Lead Manager — pastel / glass UI */
:root{
  --ink:#0d0e12;--mute:#8a8f9c;--glass:#ffffffa6;--glass2:#ffffff73;
  --blue:#2f5bff;--teal:#5aa4b8;--lilac:#cdb9f2;--black:#0d0e12;--yellow:#eee33a;--grey:#e4e7ec;--green:#2fbf71;--red:#ef4444;
  --r:28px;--ease:cubic-bezier(.22,1,.36,1);--sh:0 10px 40px -12px #3b4a7a26,0 2px 6px #3b4a7a0d;
}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%}
body{font:14px/1.45 Manrope,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;
  background:linear-gradient(135deg,#d6e4f7 0%,#e6edf5 38%,#eef3dc 100%) fixed}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(520px 420px at 8% 10%,#b9d3fa88,transparent 70%),radial-gradient(560px 460px at 95% 90%,#e5efb899,transparent 70%),radial-gradient(400px 300px at 70% 5%,#e6d6f655,transparent 70%)}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit;width:100%;background:#ffffffb8;border:1.5px solid #fff;border-radius:16px;padding:13px 16px;outline:0;transition:.2s;box-shadow:0 1px 2px #3b4a7a10}
input:focus,select:focus,textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #2f5bff1c}
svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mute{color:var(--mute)}.sm{font-size:12px}.row{display:flex;align-items:center;gap:10px}.sp{justify-content:space-between}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}
.num{font-weight:300;letter-spacing:-.03em}

/* brand */
.nv{display:flex;align-items:center;gap:10px}.nv svg{width:34px;height:34px}
.nv b{font-size:19px;font-weight:700;letter-spacing:-.03em}.nv b span{font-weight:300}
.ws{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:99px;background:var(--glass);border:1px solid #fff;font-weight:600;font-size:13px}
.ws i{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 10px Manrope;font-style:normal}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:99px;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s,background .2s;text-decoration:none;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn.pri{background:var(--ink);color:#fff;box-shadow:0 8px 20px -8px #0d0e1299}.btn.pri:hover{transform:translateY(-1px)}
.btn.blue{background:var(--blue);color:#fff;box-shadow:0 8px 20px -8px #2f5bffaa}
.btn.ghost{background:var(--glass);border:1px solid #fff}.btn.ghost:hover{background:#fff}
.btn.danger{background:#ef444414;color:var(--red)}.btn.ok{background:var(--green);color:#fff}.btn.wa{background:#25d366;color:#fff}.btn.s{padding:8px 14px;font-size:12.5px}.btn.block{width:100%}
.cb{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid #fff;transition:.2s;flex:none;text-decoration:none;color:inherit}
.cb:hover{background:#fff;transform:translateY(-1px)}.cb.dk{background:var(--ink);color:#fff;border-color:var(--ink)}.cb.sm{width:32px;height:32px}.cb.sm svg{width:15px;height:15px}

/* auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.blob{position:absolute;border-radius:36px;animation:float 9s ease-in-out infinite}
.blob.a{width:230px;height:150px;background:var(--blue);left:12%;top:14%;transform:rotate(-8deg)}
.blob.b{width:200px;height:200px;background:var(--yellow);right:14%;top:18%;border-radius:50%;animation-delay:-3s}
.blob.c{width:260px;height:130px;background:var(--black);right:18%;bottom:12%;transform:rotate(6deg);animation-delay:-5s}
.blob.d{width:160px;height:160px;background:var(--teal);left:18%;bottom:14%;animation-delay:-2s}
@keyframes float{50%{translate:0 -14px}}
.auth-card{position:relative;width:100%;max-width:420px;background:var(--glass);backdrop-filter:blur(26px);border:1px solid #fff;border-radius:36px;padding:36px;box-shadow:var(--sh);animation:up .5s var(--ease)}
.auth-card h1{font-size:30px;font-weight:700;letter-spacing:-.03em;margin:26px 0 4px}
.fld{margin-top:16px}.fld label{display:block;font-size:12px;font-weight:600;color:var(--mute);margin:0 0 7px 6px}
.pin{display:flex;gap:10px}.pin input{text-align:center;font-size:22px;font-weight:600;padding:14px 0}
.foot{margin-top:26px;text-align:center;font-size:12px;color:var(--mute)}.foot b{color:var(--ink)}
@keyframes up{from{opacity:0;transform:translateY(14px)}}.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}

/* shell */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:16px 32px}
.pills{display:flex;gap:2px;background:var(--glass);border:1px solid #fff;border-radius:99px;padding:4px;backdrop-filter:blur(16px);margin:0 auto}
.pills button{padding:9px 20px;border-radius:99px;font-weight:600;font-size:13px;color:#555b68;transition:.25s;position:relative;white-space:nowrap}
.pills button:hover{color:var(--ink)}.pills button.on{background:var(--ink);color:#fff}
.pills .bd{position:absolute;top:2px;right:4px;background:var(--red);color:#fff;font-size:10px;padding:0 5px;border-radius:9px;line-height:16px}
.dock{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:30;background:var(--ink);border-radius:99px;padding:12px 9px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 40px -12px #0d0e1277}
.dock button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#9aa0ad;transition:.2s}
.dock button:hover{color:#fff;background:#ffffff1a}.dock .y{background:var(--yellow);color:var(--ink)}
.dock hr{border:0;height:1px;background:#ffffff22;margin:4px 8px}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--ink);color:#fff;flex:none;border:2px solid #fff}
.av.l{width:64px;height:64px;font-size:20px}.av.xs{width:26px;height:26px;font-size:9px;margin-left:-8px}.av.xs:first-child{margin-left:0}
#view{padding:8px 32px 48px 96px;max-width:1500px;margin:auto;animation:up .4s var(--ease)}
.mobnav{display:none}

/* surfaces */
.panel{background:var(--glass);backdrop-filter:blur(22px);border:1px solid #fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px}
.panel h3{font-size:15px;font-weight:700;letter-spacing:-.01em}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.head{display:flex;align-items:center;gap:28px;margin:6px 0 24px;flex-wrap:wrap}
.head h1{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.04em;margin-right:auto}
.stat{display:flex;align-items:center;gap:12px}.stat .cb{width:46px;height:46px}
.stat b{display:block;font-size:22px;font-weight:300;letter-spacing:-.03em;line-height:1.1}.stat small{color:var(--mute);font-size:11px;display:block;line-height:1.3}
.tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:99px;vertical-align:middle;margin-left:6px}
.tag.y{background:var(--yellow)}.tag.b{background:var(--blue);color:#fff}.tag.r{background:#fecaca;color:#b91c1c}.tag.g{background:#bbf7d0;color:#166534}

.g3{display:grid;grid-template-columns:1fr 1fr 340px;gap:18px;margin-bottom:18px}
.span2{grid-column:span 2}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{--bg:var(--grey);--fg:var(--ink);background:var(--bg);color:var(--fg);border-radius:24px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-height:150px;cursor:pointer;position:relative;transition:transform .3s var(--ease),box-shadow .3s;animation:up .45s var(--ease) backwards;box-shadow:0 8px 24px -14px #2b3a6a55}
.tile:hover{transform:translateY(-4px);box-shadow:0 20px 36px -16px #2b3a6a88}
.tile.New{--bg:var(--blue);--fg:#fff}.tile.Contacted{--bg:var(--teal);--fg:#fff}.tile.Site{--bg:var(--lilac)}.tile.Negotiation{--bg:var(--black);--fg:#fff}.tile.Confirmed{--bg:var(--yellow)}.tile.Lost{--bg:#fff;--fg:#8a8f9c}
.tile .d{font-size:11px;opacity:.75;display:flex;justify-content:space-between;align-items:center}
.tile .t{font-weight:600;font-size:13.5px;line-height:1.25;opacity:.95}.tile .s{font-size:11.5px;opacity:.7}
.tile .amt{font-size:26px;font-weight:600;letter-spacing:-.03em;margin-top:auto}
.tile .bt{display:flex;justify-content:space-between;align-items:center}
.tile .av{border-color:var(--bg);background:#ffffff30;color:inherit;backdrop-filter:blur(6px)}
.tile.Site .av,.tile.Confirmed .av,.tile.Lost .av{background:#0d0e1218}
.tile .cb{background:#ffffff2e;border:0;color:inherit}.tile .cb:hover{background:#ffffff55}
.tile.Site .cb,.tile.Confirmed .cb,.tile.Lost .cb{background:#0d0e1214}
.chipx{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:700;background:#fff;color:var(--ink)}
.chipx:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.c-New{--c:var(--blue)}.c-Contacted{--c:var(--teal)}.c-Site{--c:#a98be0}.c-Negotiation{--c:var(--black)}.c-Confirmed{--c:#d9cc00}.c-Lost{--c:#b6bbc6}

.prof{text-align:center}
.prof .av.l{margin:0 auto 12px;width:84px;height:84px;font-size:26px;background:linear-gradient(135deg,#ff9bd0,#ffb86b)}
.prof h3{font-size:17px}.prof .acts{display:flex;justify-content:center;gap:8px;margin:16px 0 4px}
.kv{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #0d0e1210;text-align:left}.kv small{display:block;font-size:10.5px;color:var(--mute)}.kv b{font-weight:600}
.kv .ic{width:30px;color:var(--mute)}
.fun{margin-top:10px}.fun div{height:46px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin:0 auto 6px;font-size:12.5px;font-weight:600;transition:width .8s var(--ease)}
.fun div:nth-child(1){background:#fff}.fun div:nth-child(2){background:#ffffffcc}.fun div:nth-child(3){background:#ffffff99}.fun div:nth-child(4){background:#ffffff77}.fun div:nth-child(5){background:#eee33acc}
.seg{display:flex;background:#ffffffa0;border-radius:99px;padding:3px;border:1px solid #fff}.seg button{padding:5px 12px;border-radius:99px;font-size:11.5px;font-weight:600;color:var(--mute)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 2px 6px #0001}
.seg.ic button{padding:6px 10px}.seg.ic button.on{background:var(--ink);color:#fff}

/* calendar */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.dw{font-size:11px;color:var(--mute);text-align:center;padding:4px 0;font-weight:600}
.cd{aspect-ratio:1/.9;border-radius:16px;background:#d9dde4a8;padding:7px 8px;font-size:11px;color:#9ba1ae;cursor:pointer;transition:.2s;display:flex;flex-direction:column;justify-content:space-between;font-weight:600}
.cd:hover{transform:scale(1.05)}.cd.today{outline:2px solid var(--ink);outline-offset:1px}.cd.sel{outline:3px solid var(--blue)}
.cd.has.New{background:var(--blue);color:#fff}.cd.has.Contacted{background:var(--teal);color:#fff}.cd.has.Site{background:var(--lilac);color:var(--ink)}.cd.has.Negotiation{background:var(--black);color:#fff}.cd.has.Confirmed{background:var(--yellow);color:var(--ink)}
.cd.has em{font-style:normal;font-size:9.5px;font-weight:700;opacity:.85}
.mini .cd{aspect-ratio:1;border-radius:12px;padding:5px 6px;font-size:10px}.mini .cd em{display:none}

/* board / rows */
.tools{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.tools .pills{margin:0;overflow-x:auto;max-width:100%;scrollbar-width:none}
.tools select{width:auto;padding:10px 16px;border-radius:99px}
.board{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px}
.col{background:var(--glass2);border:1px solid #fff;border-radius:24px;padding:12px;min-height:320px;transition:.2s}.col.over{background:#fff;outline:2px dashed var(--blue)}
.col h4{font-size:12px;font-weight:700;display:flex;justify-content:space-between;margin:4px 6px 12px}
.col .tile{margin-bottom:10px;min-height:130px;cursor:grab}.col .tile.drag{opacity:.4}
.row-i{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:.25s var(--ease);animation:up .4s var(--ease) backwards}.row-i:hover{background:#fff;transform:translateX(4px)}
.empty{text-align:center;padding:70px 20px;color:var(--mute)}.empty .cb{margin:0 auto 14px;width:64px;height:64px}.empty h3{color:var(--ink);margin-bottom:4px}
.skel{height:150px;border-radius:24px;background:linear-gradient(90deg,#ffffff55 25%,#ffffffcc 50%,#ffffff55 75%);background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{to{background-position:-200% 0}}
.late{color:var(--red);font-weight:700}

/* drawer */
.ov{position:fixed;inset:0;background:#0d0e1233;backdrop-filter:blur(6px);z-index:60;animation:fd .25s}@keyframes fd{from{opacity:0}}
.drawer{position:fixed;top:14px;right:14px;bottom:14px;width:min(500px,calc(100% - 28px));background:#f6f8fcf2;backdrop-filter:blur(30px);border:1px solid #fff;border-radius:34px;z-index:61;overflow:auto;box-shadow:0 30px 80px -20px #0d0e1255;animation:slide .45s var(--ease);padding:26px}
@keyframes slide{from{transform:translateX(40px);opacity:0}}
.dh{text-align:center;margin:6px 0 18px}.dh .av.l{margin:0 auto 10px;width:80px;height:80px;font-size:24px;background:linear-gradient(135deg,#ff9bd0,#ffb86b)}.dh h2{font-size:22px;font-weight:700;letter-spacing:-.03em}
.acts{display:flex;justify-content:center;gap:10px;margin:14px 0}
.stepper{display:flex;gap:3px;background:#fff;border-radius:99px;padding:4px;margin:16px 0}.stepper button{flex:1;padding:8px 2px;font-size:10.5px;font-weight:700;border-radius:99px;color:var(--mute);transition:.2s}
.stepper button.done{color:var(--ink);background:#eef0f4}.stepper button.cur{background:var(--ink);color:#fff}.stepper button.lost.cur{background:#9ca3af}
.info{background:#fff;border-radius:22px;padding:4px 18px}.info .kv:first-child{border:0}
.sec{font-size:12px;font-weight:700;color:var(--mute);margin:22px 0 10px 4px}
.tl{position:relative;padding-left:22px}.tl:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:#0d0e1214}
.tl div{position:relative;margin-bottom:14px}.tl div:before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--blue)}
.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{padding:8px 14px;border-radius:99px;background:#fff;border:1.5px solid #fff;font-size:12.5px;font-weight:600;transition:.2s}.chips button.on{background:var(--ink);color:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toasts{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:var(--ink);color:#fff;padding:12px 20px;border-radius:99px;box-shadow:0 14px 30px -10px #0d0e1288;display:flex;gap:9px;align-items:center;animation:up .35s var(--ease);font-weight:600}.toast svg{color:var(--yellow)}.toast.err svg{color:#f87171}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:300}

@media(max-width:1100px){.g3{grid-template-columns:1fr 1fr}.g3 .prof-p{grid-column:span 2}.tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){
  .dock,.top .pills,.top .ws{display:none}.top{padding:14px 18px;justify-content:space-between}
  #view{padding:4px 16px 120px}.head{gap:16px}.head h1{font-size:28px;width:100%}
  .g3{grid-template-columns:1fr}.span2,.g3 .prof-p{grid-column:auto}.tiles{grid-template-columns:1fr 1fr;gap:10px}
  .tile{min-height:140px}.tile .amt{font-size:21px}
  .mobnav{display:flex;position:fixed;bottom:16px;left:16px;right:16px;z-index:40;background:var(--ink);border-radius:99px;padding:8px 10px;justify-content:space-between;box-shadow:0 20px 40px -10px #0d0e1299}
  .mobnav button{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#8c92a0;position:relative}.mobnav button.on{background:#ffffff22;color:#fff}
  .mobnav .plus{background:var(--yellow);color:var(--ink)}.mobnav .bd{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:9px;padding:0 4px;border-radius:9px}
  .drawer{top:auto;left:8px;right:8px;bottom:8px;width:auto;height:92vh;border-radius:30px;animation:sheet .45s var(--ease)}@keyframes sheet{from{transform:translateY(60px);opacity:0}}
  .cd{padding:4px 5px;border-radius:12px}.cd em{display:none}.cal{gap:4px}.board{grid-template-columns:repeat(6,80%)}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important}}

/* ===== mobile-first refinements ===== */
html{-webkit-text-size-adjust:100%}
body{touch-action:manipulation;overflow-x:hidden}
.stats{display:contents}
@media(hover:none){.tile:hover,.cb:hover,.cd:hover,.row-i:hover,.btn.pri:hover{transform:none}}
@media(max-width:860px){
  input,select,textarea{font-size:16px;padding:14px 16px}
  .btn{min-height:46px}.btn.s{min-height:38px}.cb{width:44px;height:44px}.cb.sm{width:34px;height:34px}
  .top{padding:12px 16px calc(8px)}.nv svg{width:32px;height:32px}
  #view{padding:2px 14px calc(110px + env(safe-area-inset-bottom))}
  .head{margin:4px 0 14px;gap:12px}.head h1{font-size:25px;letter-spacing:-.03em}
  .stats{display:flex;gap:10px;overflow-x:auto;width:calc(100% + 28px);margin:0 -14px;padding:2px 14px 6px;scroll-snap-type:x proximity;scrollbar-width:none}
  .stats::-webkit-scrollbar{display:none}
  .stat{flex:none;background:var(--glass);border:1px solid #fff;border-radius:20px;padding:10px 16px 10px 10px;scroll-snap-align:start;min-width:160px}
  .stat .cb{width:40px;height:40px}.stat b{font-size:20px}
  .panel{padding:16px;border-radius:24px}.g3{gap:14px;margin-bottom:14px}
  .tiles.hot{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none}
  .tiles.hot::-webkit-scrollbar{display:none}
  .tiles.hot .tile{flex:none;width:72%;scroll-snap-align:start;min-height:156px}
  .na{order:-1}.prof-p{order:-2}
  .tools{gap:10px}.tools .pills{width:100%}.tools .grow{max-width:none!important;min-width:100%!important;order:-1}
  .tools select{flex:1}
  .tile{padding:14px}.tile .amt{font-size:22px}
  .panel.row-i{padding:12px 14px!important}
  .tiles{grid-template-columns:1fr 1fr}
  .drawer{inset:auto 0 0 0;width:100%;height:94dvh;border-radius:30px 30px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));animation:sheet .4s var(--ease)}
  .drawer:before{content:"";display:block;width:42px;height:5px;border-radius:9px;background:#0d0e1233;margin:-8px auto 14px}
  .dh .av.l{width:68px;height:68px}.two{grid-template-columns:1fr 1fr;gap:10px}
  .stepper button{font-size:10px;padding:10px 0}
  .chips button{padding:10px 14px}
  .cal{gap:5px}.cd{aspect-ratio:1;font-size:12px}
  .board{display:none}.toast{max-width:92vw}
  .mobnav{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
  .auth{padding:16px;align-items:center}.auth-card{padding:26px 22px;border-radius:32px}.blob{opacity:.8;transform:scale(.7)}
  .pin input{font-size:24px;padding:16px 0}
}
@media(max-width:380px){.tiles{grid-template-columns:1fr}.tiles.hot .tile{width:84%}}
.g3>*,.head>*{min-width:0}
@media(max-width:860px){.prof-p{order:0}.tools .seg.ic{display:none}.tools select{width:100%}.prof .acts{flex-wrap:wrap}html,body{max-width:100vw}}
@media(max-width:860px){.stats{scroll-padding:0 14px}.tiles.hot{scroll-padding:0 16px}}
