/* Flido Task Board — tasks.flido.tech. Electric Brief (FLIDO_Brand/FLIDO_Electric_Brief.md),
   phone first: one column, big tap targets, the one yellow moment is the action at the bottom. */
:root{
  --brand-teal:#0E5650; --teal:#4ED4C8; --teal-deep:#061F1C;
  --yellow:#FFE100; --yellow-deep:#FFD400;
  --ink:#1A1409; --ink-soft:#221A0E; --white:#FFFCF3;
  --soft:rgba(255,252,243,.82); --muted:rgba(255,252,243,.62); --faint:rgba(255,252,243,.42);
  --line:rgba(255,225,0,.18); --line-strong:rgba(255,225,0,.45);
  --surface-1:rgba(255,252,243,.03); --surface-2:rgba(255,252,243,.04); --surface-3:rgba(255,252,243,.06);
  --cyan-tint:rgba(78,212,200,.08); --cyan-tint-2:rgba(78,212,200,.12);
  --yellow-tint:rgba(255,225,0,.08); --yellow-tint-2:rgba(255,225,0,.16);
  --coral:#FF8A7A; --coral-tint:rgba(255,138,122,.1);
  --r-sm:8px; --r-md:12px; --r-lg:14px; --r-xl:16px; --r-2xl:18px; --r-pill:999px;
  --glow-y-sm:0 10px 30px rgba(255,225,0,.25); --glow-cyan:0 14px 40px rgba(78,212,200,.18);
  --shadow-2:0 18px 48px rgba(0,0,0,.45);
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--white);font:500 16px/1.5 Manrope,system-ui,sans-serif;
  min-height:100vh;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(600px 360px at 100% -60px,rgba(78,212,200,.10),transparent 70%),
                   radial-gradient(520px 320px at -80px -80px,rgba(255,225,0,.06),transparent 70%);
  background-attachment:fixed}
::selection{background:var(--yellow);color:var(--ink)}
a{color:var(--teal)}
button{font:inherit;color:inherit}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}

/* top */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px;background:rgba(26,20,9,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;line-height:0}
.brand svg{height:34px;width:auto}
.acct{display:inline-flex;align-items:center;gap:8px;max-width:55vw;height:40px;padding:0 14px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font-weight:700;font-size:14px}
.acct span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .av{width:26px;height:26px;border-radius:50%;background:var(--cyan-tint-2);color:var(--teal);display:grid;place-items:center;
  font-size:13px;font-weight:800;margin-left:-8px}

.wrap{max-width:760px;margin:0 auto;padding:0 16px 140px}

/* hero */
.hero{padding:22px 0 8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;
  color:var(--teal);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 12px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal)}
@media (prefers-reduced-motion:no-preference){.dot{animation:pulseDot 1.5s ease-in-out infinite}}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
h1{font-weight:900;font-size:clamp(28px,8vw,40px);line-height:1.08;letter-spacing:-1.2px;margin:14px 0 8px}
.tl{color:var(--teal)}
.sub{color:var(--soft);margin:0 0 16px;font-size:15px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.stat{background:var(--cyan-tint);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px}
.stat b{display:block;font-weight:900;font-size:22px;letter-spacing:-.5px;color:var(--white)}
.stat span{font:600 10px/1.2 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tools .btn{padding:0 10px;font-size:14px}
@media (min-width:700px){.tools{display:flex}.tools .btn{padding:0 18px;font-size:15px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-pill);
  border:1px solid transparent;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.4;pointer-events:none;box-shadow:none}
.btn.primary{background:var(--yellow);color:var(--ink);box-shadow:var(--glow-y-sm)}
.btn.primary:hover{background:var(--yellow-deep)}
.btn.cyan{background:var(--teal);color:var(--ink);box-shadow:var(--glow-cyan)}
.btn.ghost{background:var(--surface-2);border-color:var(--line);color:var(--white)}
.btn.ghost:hover{border-color:var(--line-strong)}
.btn.block{width:100%;min-height:52px;font-size:16px}
.btn.sm{min-height:36px;padding:0 14px;font-size:14px}
.linkish{background:none;border:0;color:var(--muted);font-weight:700;cursor:pointer;padding:10px 4px;text-decoration:underline;text-underline-offset:3px}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;cursor:pointer}

/* tabs */
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:18px 0 10px;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--r-pill)}
.tabs button{min-height:42px;border:0;border-radius:var(--r-pill);background:none;font-weight:800;font-size:15px;cursor:pointer;color:var(--muted);
  display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tabs button[aria-selected="true"]{background:var(--surface-3);color:var(--white);box-shadow:inset 0 0 0 1px var(--line-strong)}
.tabs .n{min-width:22px;height:22px;border-radius:11px;background:var(--teal);color:var(--ink);font-size:12px;font-weight:800;
  display:inline-grid;place-items:center;padding:0 6px}

/* filters */
.filters{position:sticky;top:55px;z-index:20;background:rgba(26,20,9,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  margin:0 -16px;padding:8px 16px 10px;border-bottom:1px solid var(--line)}
.pick2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sel{display:block;position:relative}
.sel span{display:block;font:600 10px/1 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 5px 4px}
.sel select{width:100%;appearance:none;-webkit-appearance:none;min-height:46px;border-radius:var(--r-md);border:1px solid var(--line);
  background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ED4C8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;
  color:var(--white);font:700 15px Manrope,sans-serif;padding:0 36px 0 12px;text-overflow:ellipsis}
.sel select:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,225,0,.18)}
.sel select option{background:var(--ink-soft);color:var(--white)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:var(--surface-2);font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;color:var(--soft)}
.chip i{font-style:normal;font:600 12px var(--mono);color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--cyan-tint-2);border-color:var(--teal);color:var(--white)}
.chip[aria-pressed="true"] i{color:var(--teal)}

/* list */
.list{padding-top:12px}
.loading,.empty{color:var(--muted);text-align:center;padding:48px 12px}
.empty b{display:block;color:var(--white);font-size:18px;margin-bottom:6px}
.empty .btn{margin-top:16px}
.state-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:18px 2px 8px}
.state-h h2{margin:0;font-size:19px;font-weight:900;letter-spacing:-.4px}
.state-h span{font:600 11px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}

.dcard{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface-2);margin-bottom:10px;overflow:hidden;
  transition:border-color .18s ease}
.dcard.open{border-color:var(--line-strong);background:var(--surface-1)}
.dhead{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;text-align:left;border:0;background:none;padding:14px 14px 12px;cursor:pointer}
.dname{font-size:18px;font-weight:800;letter-spacing:-.3px;line-height:1.2}
.dmeta{grid-column:1;color:var(--muted);font-size:14px}
.dmoney{grid-row:1/3;grid-column:2;text-align:right;align-self:center}
.dmoney b{display:block;font-size:20px;font-weight:900;color:var(--teal);letter-spacing:-.4px;white-space:nowrap}
.dmoney small{font:600 10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.dtypes{grid-column:1/3;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--soft);
  background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px}
.tag b{color:var(--white);font-weight:800}
.dmore{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:var(--teal);font-weight:800;font-size:14px}
.dmore .ico{transition:transform .18s ease}
.dcard.open .dmore .ico{transform:rotate(180deg)}
.dpicked{color:var(--teal);font-weight:800}

.tasks{border-top:1px solid var(--line)}
.trow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:12px 14px;border-bottom:1px solid var(--line);
  cursor:pointer;-webkit-tap-highlight-color:transparent}
.trow:last-child{border-bottom:0}
.trow.on{background:var(--cyan-tint)}
.box{width:26px;height:26px;border-radius:8px;border:2px solid var(--line-strong);display:grid;place-items:center;margin-top:1px;
  transition:background .18s ease,border-color .18s ease}
.box .ico{width:16px;height:16px;stroke-width:3;opacity:0;color:var(--ink)}
.trow.on .box{background:var(--teal);border-color:var(--teal)}
.trow.on .box .ico{opacity:1}
.trow.mine .box{background:var(--surface-3);border-color:var(--line)}
.ttype{font-weight:800;font-size:15px;line-height:1.3}
.ttitle{color:var(--soft);font-size:14px;margin-top:2px}
.tmeta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted);font-size:13px;margin-top:4px}
.tmeta span{display:inline-flex;align-items:center;gap:4px}
.tmeta .ico{width:14px;height:14px}
.tmine{font:600 10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--teal)}
.tmoney{font-size:19px;font-weight:900;color:var(--teal);letter-spacing:-.3px;white-space:nowrap;text-align:right}
.tmoney.none{color:var(--faint);font-size:14px;font-weight:700}
.tclosed{opacity:.5}
.tclosed .tmoney{text-decoration:line-through}
.selall{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--surface-1);border-top:1px solid var(--line)}
.selall .hint{margin:0}
.selall .btn{white-space:nowrap;flex:none}
.more-rows{display:block;width:100%;padding:12px;border:0;border-top:1px solid var(--line);background:none;color:var(--teal);font-weight:800;cursor:pointer}

/* My tasks */
.mine-tools{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.mine-tools .btn{flex:1 1 auto}
.mine-note{color:var(--muted);font-size:14px;margin:6px 2px 0}

/* bottom bar — the one yellow moment */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + var(--safe-b));
  background:rgba(34,26,14,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-strong)}
.bar-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px}
.bar-txt{flex:1;min-width:0;line-height:1.2}
.bar-txt b{font-size:20px;font-weight:900}
.bar-txt small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .btn.primary{min-height:50px;padding:0 22px;font-size:16px}

/* sheet */
.scrim{position:fixed;inset:0;z-index:50;background:rgba(10,8,4,.66)}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:92vh;display:flex;flex-direction:column;
  background:var(--ink-soft);border:1px solid var(--line-strong);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:var(--shadow-2);
  max-width:620px;margin:0 auto}
@media (prefers-reduced-motion:no-preference){.sheet{animation:up .22s cubic-bezier(.2,.7,.2,1)}}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:22px 22px 0 0;
  background:linear-gradient(90deg,var(--yellow),var(--teal),var(--yellow))}
.grab{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:12px auto 0}
.sheet-h{display:flex;align-items:center;gap:10px;padding:10px 16px 6px}
.sheet-h h2{flex:1;margin:0;font-size:20px;font-weight:900;letter-spacing:-.4px}
.sheet-b{overflow-y:auto;padding:6px 16px calc(20px + var(--safe-b));-webkit-overflow-scrolling:touch}
.lede{color:var(--soft);margin:0 0 16px;font-size:15px}
.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;margin-bottom:10px;border-radius:var(--r-xl);
  border:1px solid var(--line);background:var(--surface-2);cursor:pointer}
.choice:hover{border-color:var(--line-strong)}
.choice .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--cyan-tint-2);color:var(--teal);flex:none}
.choice b{display:block;font-size:16px}
.choice small{display:block;color:var(--muted);font-size:14px}
.field{margin-bottom:14px}
.field label,.lab{display:block;font:600 11px/1 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 7px 2px}
.in{width:100%;min-height:52px;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(0,0,0,.22);
  color:var(--white);font:700 17px Manrope,sans-serif;padding:0 14px}
.in::placeholder{color:var(--faint);font-weight:600}
.in:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,225,0,.18)}
.in.bad{border-color:var(--coral)}
.phone{display:flex;align-items:stretch;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(0,0,0,.22);overflow:hidden}
.phone:focus-within{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,225,0,.18)}
.phone span{display:grid;place-items:center;padding:0 12px;font-weight:800;color:var(--muted);border-right:1px solid var(--line)}
.phone .in{border:0;background:none;box-shadow:none;border-radius:0}
.code{letter-spacing:10px;text-align:center;font-size:26px;font-family:var(--mono)}
.err{color:var(--coral);font-size:14px;font-weight:700;margin:6px 2px 0}
.hint{color:var(--muted);font-size:13px;margin:6px 2px 0}
.row2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:var(--r-md)}
.seg button{min-height:44px;border:0;border-radius:9px;background:none;font-weight:800;font-size:14px;cursor:pointer;color:var(--muted);padding:0 6px}
.seg button[aria-pressed="true"]{background:var(--cyan-tint-2);color:var(--white);box-shadow:inset 0 0 0 1px var(--teal)}
.langs{display:flex;flex-wrap:wrap;gap:8px}
.langs .chip{min-height:44px;font-size:15px}
.recent{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.recent button{min-height:34px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);font-weight:700;font-size:13px;padding:0 12px;cursor:pointer;color:var(--soft)}
.preview{white-space:pre-wrap;word-break:break-word;background:#0B1F1C;border:1px solid rgba(78,212,200,.25);border-radius:12px 12px 12px 4px;
  padding:12px 14px;font-size:14px;line-height:1.45;color:var(--white);max-height:260px;overflow:auto}
.preview b{font-weight:800}
details.pv summary{cursor:pointer;color:var(--teal);font-weight:800;padding:6px 2px 10px;list-style:none}
details.pv summary::-webkit-details-marker{display:none}
.done{text-align:center;padding:10px 4px 6px}
.done .big{width:64px;height:64px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:var(--cyan-tint-2);color:var(--teal)}
.done .big .ico{width:30px;height:30px;stroke-width:2.5}
.done h3{margin:0 0 6px;font-size:22px;font-weight:900;letter-spacing:-.4px}
.done p{color:var(--soft);margin:0 0 18px}
.stack{display:grid;gap:10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 16px;font-size:15px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:700}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;margin-bottom:14px}
.switch b{display:block}
.switch small{color:var(--muted)}
.tg{width:52px;height:30px;border-radius:15px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;flex:none;transition:background .18s ease}
.tg::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform .18s ease,background .18s ease}
.switch[aria-checked="true"] .tg{background:var(--teal);border-color:var(--teal)}
.switch[aria-checked="true"] .tg::after{transform:translateX(22px);background:var(--ink)}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));transform:translate(-50%,20px);z-index:70;opacity:0;pointer-events:none;
  background:var(--white);color:var(--ink);font-weight:800;font-size:15px;padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--shadow-2);
  transition:opacity .18s ease,transform .18s ease;max-width:calc(100vw - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

.foot{text-align:center;color:var(--muted);font-size:13px;padding:24px 16px 120px;border-top:1px solid var(--line)}
.foot a{color:var(--muted)}

@media (min-width:700px){
  .hero{padding-top:36px}
  .wrap{padding-bottom:160px}
  .filters{margin:0;border:1px solid var(--line);border-radius:var(--r-xl);top:64px}
  .chips{margin:0;padding-left:0;padding-right:0}
  .sheet{bottom:auto;top:50%;transform:translateY(-50%);border-radius:22px;border-bottom:1px solid var(--line-strong)}
  @media (prefers-reduced-motion:no-preference){.sheet{animation:none}}
  .grab{display:none}
}
