@import"https://fonts.googleapis.com/css2?family=Kalam:wght@400;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap";:root{--paper: #faf7f0;--paper-line: #d7e3ef;--margin-red: #e05a4d;--ink: #1c2536;--ink-soft: #55607a;--ink-blue: #2f4bd8;--ink-blue-deep: #1f36a8;--highlight: #ffe27a;--prio-hoch: #e0463a;--prio-mittel: #e0932f;--prio-niedrig: #4a9d6b;--status-offen: #8a94ad;--status-arbeit: #2f4bd8;--status-erledigt: #4a9d6b;--surface: #ffffff;--border: #e4ddd0;--shadow: 0 1px 2px rgba(28, 37, 54, .06), 0 8px 24px rgba(28, 37, 54, .06);--radius: 10px;--font-display: "Fraunces", Georgia, serif;--font-hand: "Kalam", cursive;--font-body: "Inter", system-ui, sans-serif}:root[data-theme=dark]{--paper: #14161d;--paper-line: #262b38;--margin-red: #c9584d;--ink: #e8ebf2;--ink-soft: #9aa3ba;--ink-blue: #7d92ff;--ink-blue-deep: #97a8ff;--highlight: #b9a24a;--surface: #1b1e28;--border: #2b303e;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--paper-line) 31px,var(--paper-line) 32px);line-height:1.5;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:var(--ink-blue)}.wordmark{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--ink);display:inline-flex;align-items:baseline;gap:.12em}.wordmark .nex{color:var(--ink)}.wordmark .notes{font-family:var(--font-hand);font-weight:700;color:var(--ink-blue)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;transition:transform .06s ease,box-shadow .15s ease,background .15s ease}.btn:hover{box-shadow:var(--shadow)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink-blue);border-color:var(--ink-blue);color:#fff}.btn-primary:hover{background:var(--ink-blue-deep)}.btn-ghost{background:transparent;border-color:transparent}.btn-danger{color:var(--prio-hoch);border-color:transparent;background:transparent}.btn-sm{padding:.3rem .55rem;font-size:.8rem}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink-blue);outline-offset:2px}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.input,.select,.textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:.95rem}.textarea{min-height:130px;resize:vertical;line-height:1.6}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--ink-blue);outline-offset:1px;border-color:var(--ink-blue)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar .wordmark{font-size:1.35rem}.tabs{display:flex;gap:.25rem;flex-wrap:wrap}.tab{border:none;background:transparent;color:var(--ink-soft);padding:.45rem .75rem;border-radius:8px;font-weight:600;font-size:.9rem}.tab.active{color:var(--ink-blue);background:color-mix(in srgb,var(--ink-blue) 12%,transparent)}.tab:hover{color:var(--ink)}.container{width:100%;max-width:1100px;margin:0 auto;padding:1.25rem;flex:1}.sheet{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1rem 1rem 1.4rem;overflow:hidden}.sheet:before{content:"";position:absolute;left:.9rem;top:0;bottom:0;width:1.5px;background:var(--margin-red);opacity:.55}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2rem 1.75rem;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;left:1.4rem;top:0;bottom:0;width:1.5px;background:var(--margin-red);opacity:.5}.auth-card .wordmark{font-size:1.9rem}.auth-sub{color:var(--ink-soft);font-size:.9rem;margin:.35rem 0 1.5rem}.auth-switch{text-align:center;margin-top:1.1rem;font-size:.88rem;color:var(--ink-soft)}.auth-switch button{border:none;background:none;color:var(--ink-blue);font-weight:700;cursor:pointer}.error-banner{background:color-mix(in srgb,var(--prio-hoch) 12%,transparent);border:1px solid color-mix(in srgb,var(--prio-hoch) 40%,transparent);color:var(--prio-hoch);padding:.6rem .75rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.spiral{display:flex;gap:.85rem;justify-content:center;margin-bottom:1.2rem}.spiral span{width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--border);box-shadow:inset 0 -2px 2px #00000014}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.5rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.stat .num{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1}.stat .lbl{color:var(--ink-soft);font-size:.8rem;margin-top:.35rem;font-weight:600}.stat.overdue .num{color:var(--prio-hoch)}.stat.duesoon .num{color:var(--prio-mittel)}.stat.done .num{color:var(--status-erledigt)}.section-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin:1.5rem 0 .85rem}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1.1rem}.toolbar .search{flex:1 1 200px;min-width:160px}.toolbar .select{width:auto;flex:0 0 auto;padding:.5rem .6rem;font-size:.85rem}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.note-card{display:flex;flex-direction:column;gap:.55rem}.note-card.is-done{opacity:.62}.note-head{display:flex;align-items:flex-start;gap:.5rem}.note-title{font-weight:700;font-size:1rem;margin:0;flex:1;word-break:break-word}.note-card.is-done .note-title{text-decoration:line-through}.note-body{font-size:.88rem;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;max-height:5.5em;overflow:hidden}.note-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:auto}.chip{font-size:.72rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;display:inline-flex;align-items:center;gap:.3rem}.chip-cat{color:#fff}.chip-prio-hoch{background:color-mix(in srgb,var(--prio-hoch) 16%,transparent);color:var(--prio-hoch)}.chip-prio-mittel{background:color-mix(in srgb,var(--prio-mittel) 18%,transparent);color:var(--prio-mittel)}.chip-prio-niedrig{background:color-mix(in srgb,var(--prio-niedrig) 16%,transparent);color:var(--prio-niedrig)}.chip-due{background:color-mix(in srgb,var(--ink-blue) 12%,transparent);color:var(--ink-blue)}.chip-due.overdue{background:color-mix(in srgb,var(--prio-hoch) 14%,transparent);color:var(--prio-hoch)}.check{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);background:var(--surface);display:grid;place-items:center;flex:0 0 auto;color:#fff;transition:background .12s ease,border-color .12s ease}.check.on{background:var(--status-erledigt);border-color:var(--status-erledigt)}.pin-btn{border:none;background:none;font-size:1rem;line-height:1;padding:.1rem;color:var(--ink-soft)}.pin-btn.on{color:var(--prio-mittel)}.note-actions{display:flex;gap:.2rem}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}.board-col{background:color-mix(in srgb,var(--surface) 60%,var(--paper));border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.board-col h3{margin:0 0 .75rem;font-size:.9rem;display:flex;align-items:center;gap:.4rem}.board-col .count{color:var(--ink-soft);font-weight:600}.board-col .col-notes{display:flex;flex-direction:column;gap:.6rem}.board-col.drop-hover{outline:2px dashed var(--ink-blue);outline-offset:-4px}.mini-note{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;box-shadow:var(--shadow);cursor:grab}.mini-note h4{margin:0 0 .3rem;font-size:.9rem}.mini-note .mini-meta{display:flex;gap:.35rem;flex-wrap:wrap}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.cal-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.75rem;font-weight:700;color:var(--ink-soft);padding:.3rem 0}.cal-cell{min-height:82px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.3rem;font-size:.75rem;overflow:hidden}.cal-cell.other{opacity:.4}.cal-cell.today{border-color:var(--ink-blue);box-shadow:inset 0 0 0 1px var(--ink-blue)}.cal-daynum{font-weight:700;color:var(--ink-soft)}.cal-event{margin-top:2px;padding:1px 4px;border-radius:4px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cat-row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.cat-swatch{width:18px;height:18px;border-radius:5px;flex:0 0 auto}.cat-row .cat-name{flex:1;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142073;display:grid;place-items:center;padding:1rem;z-index:50}.modal{width:100%;max-width:520px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:1.4rem;max-height:90vh;overflow-y:auto;position:relative}.modal h2{font-family:var(--font-display);font-weight:600;margin:0 0 1rem;font-size:1.3rem}.modal-row{display:flex;gap:.6rem}.modal-row .field{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.empty{text-align:center;color:var(--ink-soft);padding:3rem 1rem;font-family:var(--font-hand);font-size:1.15rem}.row{display:flex;align-items:center;gap:.6rem}.spacer{flex:1}.icon-btn{border:none;background:transparent;color:var(--ink-soft);padding:.35rem;border-radius:7px;display:grid;place-items:center}.icon-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.fab-hint{color:var(--ink-soft);font-size:.8rem}@media(max-width:720px){.board{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.cal-cell{min-height:58px}.container{padding:1rem .85rem}}
