.nr-shell{font:14px/1.5 system-ui,sans-serif;color:#29332e}.nr-shell [hidden]{display:none!important}.nr-shell button,.nr-shell input,.nr-shell select,.nr-shell textarea{font:inherit}.nr-shell button,.nr-shell a.nr-button{border:1px solid #dce5df;border-radius:9px;padding:7px 11px;background:#fff;color:#244d38;cursor:pointer;text-decoration:none}.nr-shell button:disabled{opacity:.5;cursor:wait}.nr-tabs,.nr-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0}.nr-tabs button.is-active{background:#e4f5e8;border-color:#81b993}.nr-toolbar h3{margin:0;flex:1}.nr-notice{color:#6b7470;font-size:12px}.nr-list{display:grid;gap:8px}.nr-row{padding:12px;border:1px solid #e0e8e2;background:#fff;border-radius:12px}.nr-row-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.nr-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.nr-meta{color:#6b7470;font-size:12px}.nr-actions{display:flex;gap:6px;margin-top:8px}.nr-modal{position:fixed;inset:0;background:#0007;z-index:15000;display:flex;align-items:center;justify-content:center;padding:14px}.nr-modal form{width:min(480px,100%);max-height:85vh;overflow:auto;background:white;border-radius:16px;padding:20px;display:grid;gap:12px}.nr-modal label{display:grid;gap:4px}.nr-modal input,.nr-modal textarea,.nr-modal select{box-sizing:border-box;width:100%;border:1px solid #ccd9cf;border-radius:8px;padding:9px}.nr-error{color:#ad3131}.nr-shell .nr-reason{border-left:4px solid #a48bc7}.nr-shell .nr-reason[data-reason="편식"]{border-color:#70ae80}.nr-shell .nr-reason[data-reason="저체중"]{border-color:#77a6df}.nr-shell .nr-reason[data-reason="비만"]{border-color:#d891b0}.nr-shell .nr-reason[data-reason="알레르기"]{border-color:#e5c44d}.nr-widget{margin:0;background:#f5f8f4;padding:14px;box-sizing:border-box;min-width:300px}.nr-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:12px}.nr-calendar span{text-align:center;color:#758078}.nr-calendar button{padding:6px 0;min-height:42px;position:relative}.nr-calendar button.selected{background:#def1e4;border-color:#76ac86}.nr-calendar button.has-event:after{content:'•';display:block;color:#5c976c;font-size:12px;line-height:7px}.nr-widget h2{font-size:18px;margin:0}.nr-widget .nr-list{margin-top:8px}.nr-widget #nr-status{min-height:18px}.nr-widget .nr-task{display:flex;gap:8px;align-items:start}.nr-widget .nr-task span{overflow-wrap:anywhere}.nr-widget .nr-retry{margin-bottom:8px}@media(max-width:480px){.nr-modal form{padding:15px}.nr-row{padding:10px}}
#view-work-check #work-check-layout[hidden],#view-work-check .work-check-layout-actions[hidden]{display:none!important}

/* Desktop widget: compact month grid and a separately scrolling agenda. */
.nr-widget{--nr-blue:#1a73e8;--nr-line:#e8ecf2;--nr-muted:#808894;background:#f5f7fb;color:#263244;padding:16px;font-size:13px;min-width:300px;height:100vh;min-height:500px;display:flex;flex-direction:column;overflow:hidden}
.nr-widget *{box-sizing:border-box}
.nr-widget .nr-widget-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 14px;flex:none}
.nr-widget .nr-widget-header{-webkit-app-region:drag;cursor:move;user-select:none}
.nr-widget button,.nr-widget a,.nr-widget input,.nr-widget select,.nr-widget textarea,.nr-widget summary{-webkit-app-region:no-drag}
.nr-widget .nr-brand{display:flex;align-items:center;gap:10px}
.nr-widget .nr-brand-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f0fe;color:var(--nr-blue);font-size:24px}
.nr-widget h2{font-size:17px;font-weight:650;letter-spacing:-.6px}
.nr-widget .nr-brand-caption{font-size:11px;color:var(--nr-muted)}
.nr-widget button,.nr-widget a.nr-button{color:#526075;border:1px solid var(--nr-line);border-radius:9px;padding:6px 10px;font-size:12px;transition:background .15s,border-color .15s}
.nr-widget button:hover,.nr-widget a.nr-button:hover{background:#eef3fc;border-color:#c4d8f7}
.nr-widget button:focus-visible,.nr-widget a:focus-visible{outline:2px solid var(--nr-blue);outline-offset:2px}
.nr-widget .nr-open{white-space:nowrap;background:transparent;font-size:11px}
.nr-widget .nr-tabs{background:#e9edf5;border-radius:11px;padding:4px;margin:0;gap:3px;flex-wrap:nowrap;flex:none}
.nr-widget .nr-tabs button{flex:1;border:0;background:transparent;border-radius:8px;padding:7px 0;font-size:12px}
.nr-widget .nr-tabs button.is-active{color:var(--nr-blue);background:white;box-shadow:0 1px 5px #243b5820;font-weight:600}
.nr-widget .nr-sync{display:flex;align-items:center;gap:8px;padding:6px 3px;min-height:32px;flex:none}
.nr-widget #nr-status{flex:1;font-size:10px;color:var(--nr-muted);min-height:0}
.nr-widget #nr-status.nr-error{color:#b33e47}
.nr-widget .nr-retry{margin:0;border:0;background:transparent;font-size:19px;padding:0 6px;line-height:24px}
.nr-widget #nr-calendar-section{display:flex;flex-direction:column;flex:1;min-height:0;background:white;border:1px solid var(--nr-line);border-radius:16px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d5dce8 transparent;box-shadow:0 5px 20px #263c5b06}
.nr-widget .nr-monthbar{display:flex;align-items:center;gap:5px;padding:14px 14px 8px;flex:none}
.nr-widget .nr-monthbar h3{flex:1;margin:0;font-size:19px;font-weight:600;letter-spacing:-.6px}
.nr-widget .nr-monthbar #nr-prev,.nr-widget .nr-monthbar #nr-next{border:0;font-size:22px;line-height:24px;width:30px;padding:0;background:transparent}
.nr-widget .nr-monthbar #nr-today{padding:4px 10px;border-radius:7px}
.nr-widget .nr-legend{display:flex;gap:12px;padding:0 15px 10px;color:#808894;font-size:10px;flex:none}
.nr-widget .nr-legend span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;background:#1a73e8}
.nr-widget .nr-legend [data-kind="education"]:before{background:#20a67c}
.nr-widget .nr-legend [data-kind="counsel"]:before{background:#a270cf}
.nr-widget .nr-calendar{gap:0;margin:0 10px 10px;flex:none}
.nr-widget .nr-calendar .nr-weekday{font-size:10px;text-align:center;padding:4px 0 8px;color:#8b93a1}
.nr-widget .nr-calendar .nr-weekend{color:#d27379}
.nr-widget .nr-calendar button.nr-day{display:flex;flex-direction:column;align-items:stretch;gap:2px;height:65px;min-height:0;padding:3px;border:0;border-top:1px solid #f0f2f6;background:#fff;border-radius:0;text-align:left;overflow:hidden;color:#4c5769}
.nr-widget .nr-calendar button.nr-day.selected{background:#f1f6ff;border-radius:8px;box-shadow:inset 0 0 0 1px #91b7f2}
.nr-widget .nr-calendar button.nr-day:hover{background:#f5f8fd}
.nr-widget .nr-calendar .nr-day-number{width:23px;height:23px;line-height:23px;align-self:center;padding:0;color:inherit;font-size:11px;border-radius:50%}
.nr-widget .nr-calendar .nr-day.is-today .nr-day-number{color:white;background:var(--nr-blue);font-weight:600}
.nr-widget .nr-calendar .nr-day.is-outside{color:#c3c8d1;background:#fafbfd}
.nr-widget .nr-calendar button.has-event:after{display:none}
.nr-widget .nr-calendar .nr-event{display:block;flex:none;width:100%;font-size:9px;line-height:14px;text-align:left;padding:0 3px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e8f0fe;color:#3171c5}
.nr-widget .nr-calendar .nr-event[data-kind="education"]{background:#e5f5ee;color:#21866a}
.nr-widget .nr-calendar .nr-event[data-kind="counsel"]{background:#f3ebfa;color:#8c5bb2}
.nr-widget .nr-calendar .nr-event-more{font-size:9px;color:#8993a4;text-align:left;line-height:12px;padding:0 3px}
.nr-widget .nr-agenda{display:flex;flex-direction:column;flex:none;min-height:90px;border-top:1px solid var(--nr-line);padding:12px 14px 10px}
.nr-widget .nr-agenda-heading{display:flex;align-items:center;gap:8px;flex:none}
.nr-widget .nr-agenda-heading h3{font-size:13px;font-weight:600;margin:0;flex:1}
.nr-widget #nr-count{font-size:10px;color:#8c95a4}
.nr-widget .nr-list{gap:6px;margin-top:9px;overflow-y:visible;min-height:0}
.nr-widget .nr-row{padding:9px 10px;border:0;border-radius:8px;background:#f7f9fc;flex:none}
.nr-widget .nr-row-title{border:0;background:transparent;padding:0;color:#35445a;font-size:12px;font-weight:500}
.nr-widget .nr-row-title:hover{background:transparent}
.nr-widget .nr-meta{font-size:10px;color:#929aa7;margin-top:3px}
.nr-widget .nr-actions{margin-top:5px}
.nr-widget .nr-actions a.nr-button{font-size:10px;padding:2px 6px;background:transparent;border:0;color:var(--nr-blue)}
.nr-widget .nr-task{align-items:center;gap:8px;font-size:12px}
.nr-widget .nr-task input{accent-color:var(--nr-blue);width:14px;height:14px;margin:0;flex:none}
.nr-widget .nr-task:has(input:checked) span{color:#9aa3b0;text-decoration:line-through}
.nr-widget .nr-task span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr-widget .nr-empty{padding:10px 0;color:#9aa3b0;font-size:11px;text-align:center}
.nr-widget #nr-panel{flex:1;min-height:0;overflow:auto;background:#fff;border:1px solid var(--nr-line);border-radius:16px;padding:12px}
.nr-widget #nr-panel h3{font-size:14px}
.nr-widget #nr-panel .nr-toolbar{margin:0 0 10px}
.nr-widget .nr-notice{font-size:9px;text-align:center;color:#9aa3b0;margin:9px 0 0;flex:none}
@media(max-height:650px){.nr-widget{padding:10px}.nr-widget .nr-calendar button.nr-day{height:52px}.nr-widget .nr-widget-header{padding-bottom:9px}.nr-widget .nr-calendar .nr-event{line-height:11px;font-size:8px}.nr-widget .nr-monthbar{padding-top:9px}}
@media(max-width:360px){.nr-widget{padding:8px}.nr-widget .nr-brand-caption{display:none}.nr-widget .nr-open{font-size:10px;padding:5px 7px}.nr-widget .nr-monthbar h3{font-size:17px}.nr-widget .nr-calendar button.nr-day{padding:2px}.nr-widget .nr-calendar .nr-event{font-size:8px}}

@media(max-height:500px){.nr-widget{overflow-y:auto}.nr-widget #nr-calendar-section{flex:none;min-height:430px}.nr-widget #nr-panel{flex:none;max-height:none}}

/* Widget-only display range popover; does not alter the hub's task settings. */
.nr-widget .nr-sync{position:relative;gap:9px}
.nr-widget .nr-display-settings{flex:none;font-size:11px}
.nr-widget .nr-display-settings summary{cursor:pointer;list-style:none;color:#52749f;border:1px solid #dce5f2;border-radius:7px;padding:4px 8px;background:white;user-select:none}
.nr-widget .nr-display-settings summary::-webkit-details-marker{display:none}
.nr-widget .nr-display-settings summary:focus-visible{outline:2px solid var(--nr-blue);outline-offset:2px}
.nr-widget .nr-display-settings[open] summary{background:#e8f0fe;color:var(--nr-blue)}
.nr-widget .nr-settings-popover{position:absolute;top:35px;left:0;z-index:30;width:min(270px,100%);padding:14px;border:1px solid #e0e6f0;border-radius:12px;background:white;box-shadow:0 10px 35px #20375b24;color:#526075;max-height:calc(100vh - 175px);overflow-y:auto}
.nr-widget .nr-settings-popover strong{font-size:13px;color:#35445a}
.nr-widget .nr-settings-popover p{font-size:10px;color:#8993a4;margin:4px 0 10px}
.nr-widget .nr-settings-popover label{display:flex;align-items:center;gap:9px;min-height:33px;cursor:pointer;font-size:12px}
.nr-widget .nr-settings-popover input{accent-color:var(--nr-blue);width:14px;height:14px;margin:0}
.nr-widget .nr-settings-popover .nr-settings-done{border-top:1px solid var(--nr-line);margin-top:7px;padding-top:7px}
.nr-widget .nr-settings-actions{display:flex;justify-content:space-between;gap:8px;margin:10px 0 7px}
.nr-widget .nr-settings-popover small{font-size:9px;color:#9aa3b0}
