:root{--bg:#0f1115;--panel:#171a21;--panel2:#1e232c;--line:#2a303b;--txt:#e7ebf2;--muted:#98a2b3;--acc:#7c9cff;--acc2:#5b7cff;--good:#5ec98a;--warn:#e6b45e;--idea:#c792ea;--goal:#64c9d6;--bad:#e06b6b}:root[data-tema=svetla]{--bg:#f4f6fb;--panel:#ffffff;--panel2:#eef1f7;--line:#dde3ee;--txt:#1a2030;--muted:#66707f;--acc:#3b5bdb;--acc2:#4263eb}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}#root{max-width:480px;margin:0 auto;position:relative;display:flex;flex-direction:column;height:100dvh;overflow:hidden}.top{padding:calc(env(safe-area-inset-top) + 14px) 20px 10px;display:flex;align-items:center;justify-content:space-between}.top h2{font-size:21px}.top .sub{color:var(--muted);font-size:12px;margin-top:2px}.icon-btn{width:38px;height:38px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.body{flex:1;overflow-y:auto;padding:6px 16px 96px;-webkit-overflow-scrolling:touch}.cal-head{display:flex;justify-content:space-between;align-items:center;margin:6px 2px 12px}.cal-head span{font-weight:600}.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;color:var(--muted);font-size:11px;text-align:center;margin-bottom:6px}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{aspect-ratio:1;border-radius:12px;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:1px solid transparent;position:relative}.day.dim{background:transparent;color:transparent;pointer-events:none}.day.today{border-color:var(--acc)}.day.sel{background:var(--acc2);color:#fff}.day .dot{width:5px;height:5px;border-radius:50%;background:var(--good);position:absolute;bottom:6px}.day.sel .dot{background:#fff}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:16px 4px 8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px}.card h3{font-size:15px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.card p{color:var(--muted);font-size:13px;line-height:1.55;white-space:pre-wrap}.meta{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.tag{font-size:11px;padding:3px 8px;border-radius:20px;background:var(--panel2);color:var(--acc);border:1px solid var(--line)}.time{font-size:11px;color:var(--muted);margin-left:auto}.mood{font-size:18px}.row-actions{display:flex;gap:14px;margin-top:10px}.row-actions button{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0}.row-actions button.del{color:var(--bad)}.pill{font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600;margin-left:auto}.pill.idea{background:#c792ea26;color:var(--idea)}.pill.goal{background:#64c9d626;color:var(--goal)}.pill.raw{background:#e6b45e26;color:var(--warn)}.pill.done{background:#5ec98a26;color:var(--good)}.progress{height:7px;border-radius:6px;background:var(--panel2);overflow:hidden;margin-top:10px}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--goal),var(--acc))}.sub-list{margin-top:10px;font-size:13px;color:var(--txt)}.sub-list label{display:flex;gap:8px;align-items:center;padding:4px 0;cursor:pointer}.sub-list input{display:none}.chk{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto}.sub-list input:checked+.chk{background:var(--good);border-color:var(--good);color:#0a0a0a}.filters{display:flex;gap:8px;margin:4px 0 12px;overflow-x:auto}.filters button{white-space:nowrap;font-size:12px;padding:6px 12px;border-radius:20px;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer}.filters button.on{background:var(--acc2);color:#fff;border-color:var(--acc2)}.empty{color:var(--muted);font-size:13px;text-align:center;padding:34px 10px;line-height:1.6}.fab{position:absolute;bottom:86px;right:18px;width:56px;height:56px;border-radius:50%;background:var(--acc2);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #5b7cff80;z-index:35;transition:transform .2s;border:none}.fab.rot{transform:rotate(45deg)}.fab-menu{position:absolute;bottom:152px;right:20px;z-index:35;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.fab-menu button{background:var(--panel);border:1px solid var(--line);color:var(--txt);padding:10px 16px;border-radius:14px;font-size:14px;cursor:pointer;box-shadow:0 6px 18px #00000059}.nav{position:absolute;bottom:0;left:0;right:0;height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--panel) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;z-index:20}.nav button{flex:1;background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.nav button .ic{font-size:19px}.nav button.on{color:var(--acc)}.sheet{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40;display:flex;align-items:flex-end}.sheet-inner{width:100%;background:var(--panel);border-radius:22px 22px 0 0;padding:18px 18px calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--line);animation:up .22s ease;max-height:90%;overflow-y:auto}@keyframes up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet h3{margin-bottom:14px}.field{margin-bottom:12px}.field label{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:12px;padding:11px;font-size:15px;font-family:inherit;resize:none}.field textarea{min-height:96px}.moods{display:flex;gap:6px}.moods span{font-size:24px;cursor:pointer;opacity:.4;transition:.15s}.moods span.on{opacity:1;transform:scale(1.12)}.btn{width:100%;background:var(--acc2);color:#fff;border:none;border-radius:14px;padding:13px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}.btn.ghost{background:var(--panel2);color:var(--muted);margin-top:8px}.btn.danger{background:#e06b6b26;color:var(--bad)}.subedit{display:flex;gap:8px;margin-bottom:8px}.subedit input{flex:1}.subedit button{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:0 12px;cursor:pointer}.lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:radial-gradient(120% 80% at 50% 0%,#1a2030,#0b0d12);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 30px;color:#e7ebf2}.lock .logo{font-size:42px;margin-bottom:8px}.lock h1{font-size:24px;margin-bottom:4px}.lock .hint{color:#98a2b3;font-size:13px;margin-bottom:26px;min-height:18px;text-align:center}.dots{display:flex;gap:11px;margin-bottom:28px;height:16px}.dots i{width:14px;height:14px;border-radius:50%;background:#1e232c;border:1px solid #2a303b;transition:.15s}.dots i.on{background:#7c9cff;border-color:#7c9cff}.dots.err i{background:#e06b6b;border-color:#e06b6b;animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:240px}.keys button{aspect-ratio:1;border-radius:50%;background:#171a21;border:1px solid #2a303b;color:#e7ebf2;font-size:22px;cursor:pointer}.keys button:active{background:#1e232c}.keys button.blank{background:none;border:none;cursor:default}.bio{margin-top:22px;color:#7c9cff;font-size:14px;background:none;border:none;cursor:pointer}.mesec-btn{background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-weight:600;font-size:14px;padding:7px 14px;border-radius:20px;cursor:pointer}.streak{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:13px;color:var(--muted);margin-bottom:10px;text-align:center}.streak b{color:var(--warn)}.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.prilozi{display:flex;gap:8px;flex-wrap:wrap}.prilog{position:relative;width:70px;height:70px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.prilog img{width:100%;height:100%;object-fit:cover}.prilog button{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:11px;cursor:pointer;line-height:1}.prilog.add{display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted);background:var(--panel2);cursor:pointer}.yearbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:12px}.yearbar span{font-size:20px;font-weight:700}.yearbar button{width:38px;height:38px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-size:18px;cursor:pointer}.year-quick{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.year-quick button{padding:6px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);cursor:pointer}.year-quick button.on{background:var(--acc2);color:#fff;border-color:var(--acc2)}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.month-grid button{padding:14px 0;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-size:14px;cursor:pointer}.month-grid button.now{border-color:var(--acc)}.month-grid button.on{background:var(--acc2);color:#fff;border-color:var(--acc2)}.pregled-btn{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--txt);padding:11px;border-radius:14px;font-size:14px;cursor:pointer;margin-bottom:10px;font-weight:600}.card.pregled .stat-row{display:flex;justify-content:space-between;text-align:center}.card.pregled .stat-row div{flex:1}.card.pregled .stat-row b{display:block;font-size:22px;color:var(--acc)}.card.pregled .stat-row span{font-size:11px;color:var(--muted)}.mini-goal{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-top:1px solid var(--line);margin-top:8px}.mini-goal b{color:var(--goal)}.backup-status{border-color:var(--acc)}.backup-status p b{color:var(--acc)}.card code{background:var(--panel2);padding:1px 5px;border-radius:5px;font-size:12px}.link-chip{font-size:11px;padding:3px 8px;border-radius:20px;background:#64c9d626;color:var(--goal);border:1px solid var(--line)}.row-actions button{white-space:nowrap}.povezano{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.pv-head{font-size:12px;color:var(--muted)}.pv-days{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pv-days span{font-size:11px;padding:2px 7px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);color:var(--muted)}.pv-idea{font-size:12px;color:var(--txt);margin-top:5px}.row-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.row-actions button{flex:1 1 auto;min-width:88px;min-height:44px;padding:10px 16px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.row-actions button:active{transform:scale(.97)}.row-actions button.del{background:#e06b6b1f;border-color:#e06b6b59;color:var(--bad)}.cal-actions{display:flex;justify-content:center;margin:2px 0 12px}.danas-btn{background:var(--panel2);border:1px solid var(--line);color:var(--acc);font-size:13px;font-weight:600;padding:8px 18px;border-radius:20px;cursor:pointer}.danas-btn:active{transform:scale(.97)}.keys button.ok{color:var(--good);font-weight:700}.keys button.ok.ready{background:var(--good);border-color:var(--good);color:#062012}.tag-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-chip{font-size:12px;padding:5px 10px;border-radius:20px;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer}.tag-chip.on{background:var(--acc2);color:#fff;border-color:var(--acc2)}.app-toast{position:absolute;left:50%;bottom:88px;transform:translate(-50%);z-index:55;background:var(--good);color:#062012;padding:11px 18px;border-radius:24px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #00000059;max-width:88%;text-align:center}.app-banner{position:absolute;top:calc(env(safe-area-inset-top) + 6px);left:12px;right:12px;z-index:58;background:var(--panel2);border:1px solid var(--acc);color:var(--txt);padding:11px 14px;border-radius:14px;font-size:13px;box-shadow:0 8px 24px #0006;display:flex;justify-content:space-between;gap:10px;align-items:center}.app-banner .x{color:var(--muted);flex:0 0 auto}
