
.njc-app{max-width:1200px;margin:0 auto;font-family:inherit}
.njc-guest{border:1px dashed #ddd;border-radius:14px;padding:14px;background:#fff}
.njc-title{margin:0;font-size:24px}
.njc-sub{opacity:.7;margin-top:4px}
.njc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:10px 0 12px}
.njc-actions{display:flex;gap:8px;flex-wrap:wrap}

.njc-btn{padding:8px 12px;border-radius:12px;border:1px solid #ddd;background:#111;color:#fff;cursor:pointer}
.njc-btn:hover{opacity:.92}
.njc-btn-secondary{background:#fff;color:#111}

.njc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.njc-tabs{display:flex;gap:6px;flex-wrap:wrap}
.njc-tab{padding:8px 10px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer}
.njc-tab.active{background:#111;color:#fff}
.njc-label{font-weight:700}
.njc-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;opacity:.9}
.njc-chip{padding:4px 8px;border-radius:999px;border:1px solid #eee;background:#fff}
.njc-chip.lvl1{border-color:#cfe9cf}
.njc-chip.lvl2{border-color:#cfe9cf}
.njc-chip.lvl3{border-color:#f3e7bf}
.njc-chip.lvl4{border-color:#f6d4b8}
.njc-chip.lvl5{border-color:#f2b8b8}

.njc-main{display:grid;grid-template-columns:1.1fr 0.9fr;gap:14px}
@media (max-width: 980px){.njc-main{grid-template-columns:1fr}}

.njc-calendar{border:1px solid #e7e7e7;border-radius:16px;padding:12px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.njc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;font-size:12px;opacity:.7}
.njc-weekdays span{text-align:center}
.njc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.njc-grid.is-year{grid-template-rows:repeat(7,12px);gap:4px}
.njc-day{position:relative;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#f4f4f4;min-height:52px;cursor:pointer;padding:8px;text-align:left}
.njc-grid.is-year .njc-day{min-height:12px;height:12px;border-radius:3px;padding:0}
.njc-day:hover{outline:2px solid rgba(0,0,0,.06)}
.njc-day.out{opacity:.35}
.njc-day.selected{outline:2px solid rgba(0,0,0,.18)}
.njc-num{font-weight:700;font-size:12px}

.njc-day.lvl1{background:#d8f5dc}
.njc-day.lvl2{background:#c8f0cf}
.njc-day.lvl3{background:#fff1b8}
.njc-day.lvl4{background:#ffd8b5}
.njc-day.lvl5{background:#ffc1c1}

.njc-panel{border:1px solid #e7e7e7;border-radius:16px;padding:12px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.njc-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.njc-panel-title{margin:0}
.njc-panel-mini{display:flex;align-items:center;gap:8px}
.njc-status{font-size:13px;opacity:.75}
.njc-status.is-error{opacity:1;color:#b00020}

.njc-mood{margin:10px 0}
.njc-mood-title{font-weight:700;margin-bottom:8px}
.njc-mood-pills{display:flex;flex-wrap:wrap;gap:6px}
.njc-pill{border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}
.njc-pill.selected{background:#111;color:#fff;border-color:#111}

.njc-row{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.njc-row textarea{width:100%;border:1px solid #ddd;border-radius:14px;padding:10px}

.njc-habits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
@media (max-width: 520px){.njc-habits{grid-template-columns:1fr}}
.njc-habits-col{border:1px solid #eee;border-radius:14px;padding:10px}
.njc-habits-col h4{margin:0 0 8px}
.njc-check{display:flex;align-items:center;gap:8px;margin:6px 0}

.njc-encourage{margin-top:10px;padding:10px;border-radius:14px;background:#f7f7f7;border:1px solid #eee}

.njc-savebar{margin-top:10px}
