:root{
  --bg:#f3f0fb; --card:#fff; --ink:#2d2b3a; --muted:#8b8799;
  --pink:#ff7eb6; --purple:#9b6dff; --blue:#2f9be0; --green:#2fb673; --gold:#ffb02e;
  --shadow:0 8px 24px rgba(120,80,180,.12); --radius:18px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);
  background:linear-gradient(160deg,#f6f1ff,#eaf3ff);min-height:100vh}
.loading{padding:60px;text-align:center;color:var(--muted)}
.wrap{max-width:620px;margin:0 auto;padding:14px 14px 60px}
h1{font-size:1.5rem;margin:8px 0}
h2{font-size:1.12rem;margin:0 0 6px}
.muted{color:var(--muted);font-size:.85rem}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
button{font-family:inherit}
.btn{border:none;border-radius:14px;padding:11px 16px;font-size:.95rem;font-weight:700;cursor:pointer;
  background:var(--purple);color:#fff;transition:.12s}
.btn:active{transform:scale(.98)}
.btn.sec{background:#ece7f7;color:var(--ink)}
.btn.green{background:var(--green)} .btn.red{background:#ef5a6a} .btn.sm{padding:7px 11px;font-size:.82rem;border-radius:10px}
.row{display:flex;gap:10px;align-items:center}
.spread{justify-content:space-between}
.center{justify-content:center}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.pill{padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:700;background:#ece7f7;color:var(--purple)}

/* login */
.profiles{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px}
.profile{flex:1;min-width:120px;background:var(--card);border:none;border-radius:var(--radius);box-shadow:var(--shadow);
  padding:18px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}
.profile .av{font-size:2.2rem;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.profile .nm{font-weight:800}
.pinpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:240px;margin:14px auto}
.pinpad button{padding:16px;font-size:1.3rem;border-radius:14px;border:none;background:#ece7f7;font-weight:800;cursor:pointer}
.pindots{text-align:center;font-size:1.8rem;letter-spacing:8px;height:30px}
input[type=text],input[type=password],input[type=number],select{
  width:100%;padding:10px;border:1px solid #ddd;border-radius:12px;font-size:1rem;font-family:inherit}

/* summary */
.summary{display:flex;gap:12px;margin-bottom:14px}
.summary .box{flex:1;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;text-align:center}
.summary .num{font-size:1.7rem;font-weight:800;line-height:1}
.summary .time .num{color:var(--blue)} .summary .money .num{color:var(--green)}
.summary .lbl{font-size:.74rem;color:var(--muted);margin-top:4px}

/* items */
.item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:#f7f5fb;margin-bottom:8px;cursor:pointer;user-select:none}
.item .check{width:26px;height:26px;border-radius:50%;border:2.5px solid #cfc8e0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}
.item .txt{flex:1}.item .txt small{display:block;color:var(--muted);font-size:.78rem}
.item .tag{font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.tag.time{background:#e3f2ff;color:#1c84d6}.tag.money{background:#e2f8ee;color:#1aa564}
.tag.pending{background:#fff4e0;color:#b06a00}.tag.rejected{background:#ffe3e6;color:#c0394a}
.item.done{background:#eef9f2}.item.done .txt b{text-decoration:line-through;color:var(--muted)}
.item.done .check{background:var(--green);border-color:var(--green)}
.item.locked{opacity:.5}
.lock-note{font-size:.82rem;background:#fff4e0;color:#b06a00;border-radius:12px;padding:9px 11px;margin-bottom:10px}
.notyet{font-size:.72rem;color:var(--muted)}

/* boredom */
.boredom{background:linear-gradient(135deg,#9b6dff,#2f9be0);color:#fff;text-align:center}
.boredom h2{color:#fff}
.boredom .res{font-size:1.1rem;font-weight:700;min-height:50px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.15);border-radius:14px;margin:10px 0;padding:8px}
.boredom .btn{background:#fff;color:var(--purple)}

/* progress */
.bar{height:18px;background:#ece7f7;border-radius:20px;overflow:hidden}
.bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:20px}
.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.tabs button{flex:1;min-width:90px;padding:9px;border:none;border-radius:12px;background:#ece7f7;font-weight:700;cursor:pointer;color:var(--ink)}
.tabs button.active{background:var(--purple);color:#fff}
.stat{display:flex;gap:12px;margin-bottom:10px}
.stat .box{flex:1;background:#f7f5fb;border-radius:14px;padding:12px;text-align:center}
.stat .box .n{font-size:1.5rem;font-weight:800}
.tpl{border:1px solid #eee;border-radius:12px;padding:10px;margin-bottom:8px}
.field{margin-bottom:10px}.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:4px}
.err{background:#ffe3e6;color:#c0394a;padding:8px 10px;border-radius:10px;font-size:.85rem;margin-bottom:10px}
.ok{background:#e2f8ee;color:#1aa564;padding:8px 10px;border-radius:10px;font-size:.85rem;margin-bottom:10px}

/* laimes rats */
.wheelWrap{position:relative;width:240px;max-width:80vw;margin:6px auto 4px}
.wheelSvg{width:100%;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));transform:rotate(0deg)}
.wheelPointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:1.6rem;text-shadow:0 2px 4px rgba(0,0,0,.4)}
.boredom .btn{background:#fff;color:var(--purple)}
.boredom .btn:disabled{opacity:.6}

/* nedēļas skats */
.wday{border-left:5px solid #ece7f7;background:#f7f5fb;border-radius:12px;padding:10px 12px;margin-bottom:8px}
.wday.today{border-left-color:var(--purple);background:#f1ebff}
.chip{display:inline-block;background:#e2f8ee;color:#1aa564;border-radius:14px;padding:3px 9px;font-size:.78rem;margin:2px 2px 0 0}
.chip.p{background:#fff4e0;color:#b06a00}

/* laimes rata teksta kontrasts uz krāsainā fona */
.boredom .muted, .boredom #wheelInfo{color:rgba(255,255,255,.9)}
.boredom .res{color:#fff}
