/* Reminders view. Uses work.css tokens. */
@media (max-width:760px){#nav a[href="#reminders"]{display:none}}
.rem-layout{display:grid;gap:14px;max-width:820px}
.rem-layout>.panel{padding:18px 20px;border-radius:14px}
.rem-layout h2{font-size:16px;margin:0 0 10px}
.rem-status{display:grid;gap:12px}
.rem-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.rem-row p{margin:2px 0 0}
.rem-row .button{min-height:44px}
.rem-hint{grid-column:2/4;margin:0}
.rem-dot{width:12px;height:12px;border-radius:50%;background:var(--faint);align-self:start;margin-top:5px}
.rem-ok{background:var(--success)}.rem-warn{background:var(--warning)}.rem-bad{background:var(--danger)}
.rem-settings{display:grid;gap:10px}
.rem-group{display:grid;gap:10px;border-left:3px solid var(--line,#e4e0d9);padding:4px 0 4px 14px;margin-left:4px;transition:opacity .2s}
.rem-off{opacity:.45;pointer-events:none}
.rem-toggle{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;cursor:pointer;min-height:44px}
.rem-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.rem-toggle small{display:block;color:var(--muted,#5d646f);font-size:13px}
.rem-switch{width:44px;height:26px;border-radius:13px;background:var(--faint);position:relative;transition:background .2s}
.rem-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--knob);box-shadow:var(--shadow-sm);transition:transform .2s}
.rem-toggle input:checked+.rem-switch{background:var(--accent,#235347)}
.rem-toggle input:checked+.rem-switch::after{transform:translateX(18px)}
.rem-toggle input:focus-visible+.rem-switch{outline:2px solid var(--accent,#235347);outline-offset:2px}
.rem-select{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:44px;padding-left:56px}
.rem-select select{min-height:40px;border-radius:9px;border:1px solid var(--line,#e4e0d9);background:var(--surface,var(--paper,#fff));color:var(--ink,inherit);padding:0 10px;font:inherit}
.rem-actions{display:flex;justify-content:flex-end}
.rem-actions .button{min-height:44px;min-width:120px}
.rem-recent ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rem-recent li{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start;padding-bottom:10px;border-bottom:1px solid var(--line,#e4e0d9)}
.rem-recent li:last-child{border-bottom:0;padding-bottom:0}
.rem-recent p{margin:2px 0;overflow-wrap:anywhere}
.rem-kind{justify-self:start}
.rem-k-meeting_soon{background:var(--info-bg);color:var(--info)}.rem-k-task_due{background:var(--warning-bg);color:var(--warning)}.rem-k-task_overdue{background:var(--danger-bg);color:var(--danger)}
.rem-k-task_assigned{background:var(--agent-bg);color:var(--agent)}.rem-k-task_done{background:var(--success-bg);color:var(--success)}.rem-k-test{background:var(--surface-2);color:var(--muted)}
:root[data-theme="dark"] .rem-kind{filter:brightness(.85) saturate(.8)}
.rem-status .rem-row+.rem-row{border-top:1px solid var(--line,#e4e0d9);padding-top:12px}
@media (max-width:600px){.rem-layout>.panel{padding:14px 14px}.rem-row{grid-template-columns:auto 1fr}.rem-row .button{grid-column:1/3}.rem-select{padding-left:0}.rem-recent li{grid-template-columns:1fr}}
/* Notifications (2026-11-04): segmented tabs, in-app list, quiet hours, sound per client. */
.nlayout{max-width:880px}
.ntabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--hover,#efece6);border:1px solid var(--line,#e4e0d9);justify-self:start;max-width:100%;overflow-x:auto}
.ntabs .seg{min-height:40px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.ntabs .seg.on{background:var(--surface);box-shadow:var(--shadow-sm)}
.ntabs .seg:focus-visible{outline:2px solid var(--accent,#235347);outline-offset:2px}
.seg-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent,#235347);color:var(--accent-text,#fff);font-size:12px;display:inline-flex;align-items:center;justify-content:center}
#npanel{display:grid;gap:14px}
#npanel>.panel{padding:18px 20px;border-radius:14px}
.nlist-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.nlist-head p{margin:0}
.nlist ul{list-style:none;margin:0;padding:0;display:grid}
.nitem{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line,#e4e0d9)}
.nitem:last-child{border-bottom:0}
.nitem.unread .nbody b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent,#235347);margin-right:8px;vertical-align:middle}
.nbody p{margin:2px 0;overflow-wrap:anywhere}
.nbody b{overflow-wrap:anywhere}
.ntype{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted,#5d646f);padding-top:3px}
.nt-reply_now,.nt-deadline{color:var(--danger,#b4321f)}
.nt-meeting{color:var(--info)}
.nactions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nactions .button{min-height:40px}
.nempty h2{font-size:16px;margin:0 0 6px}
.nquiet{grid-template-columns:1fr 1fr}
.nquiet .rem-toggle{grid-column:1/3}
.nquiet .rem-select{padding-left:0}
.nsounds{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 18px}
.nsound{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.nsound .rem-select{padding-left:0}
.nsound .rem-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nsound .button{min-height:40px}
:root[data-theme="dark"] .nt-meeting{color:var(--info)}
@media (max-width:600px){#npanel>.panel{padding:14px}.nitem{grid-template-columns:1fr;gap:6px}.nactions{justify-content:flex-start}.nquiet{grid-template-columns:1fr}.nquiet .rem-toggle{grid-column:auto}.nsounds{grid-template-columns:1fr}.ntabs{display:flex;justify-self:stretch}.ntabs .seg{flex:1;justify-content:center;padding:0 8px}}
@media (prefers-reduced-motion:reduce){.rem-switch,.rem-switch::after,.rem-group{transition:none}}
.rem-toggle,.rem-select{font-size:14px;font-weight:400;margin:0}
.rem-toggle b{font-weight:600}
.rem-select>span{font-weight:600}
/* Alert owners (client-owners 2026-11-04) */
.nowners .nown-head,.nowners .nown-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 180px;gap:10px;align-items:center}
.nowners .nown-head{font-size:12px;font-weight:650;color:var(--muted,#5d646f);text-transform:uppercase;letter-spacing:.04em;padding:0 0 2px}
.nowners .nown-list{display:grid}
.nowners .nown-row{min-height:52px;border-top:1px solid var(--line,#e4e0d9);padding:6px 0}
.nowners .nown-row b{min-width:0;overflow-wrap:anywhere;font-weight:600}
.nowners .nown-sel{display:block;min-width:0}
.nowners .nown-cap{display:none}
.nowners .nown-sel select{width:100%;min-height:44px;border-radius:9px;border:1px solid var(--line,#e4e0d9);background:var(--surface,var(--paper,#fff));color:var(--ink,inherit);padding:0 10px;font:inherit}
.nowners .nown-sel select:focus-visible{outline:2px solid var(--accent,#235347);outline-offset:2px}
@media (max-width:600px){.nowners .nown-head{display:none}.nowners .nown-row{grid-template-columns:1fr 1fr;padding:10px 0}.nowners .nown-row b{grid-column:1/3}.nowners .nown-cap{display:block;font-size:12px;color:var(--muted,#5d646f);font-weight:600;margin:0 0 4px}}
/* >>> polish2-20261110: Needs you / Notifications tabs wrap on the phone instead of scrolling sideways <<< */
@media (max-width:760px){.nlayout>.ntabs{display:flex;flex-wrap:wrap;overflow-x:visible;max-width:100%;box-sizing:border-box}.nlayout>.ntabs .seg{flex:1 1 auto;justify-content:center;padding:0 10px}}
/* <<< polish2-20261110 */
/* >>> release-r12-20261110: Needs you never wider than the phone <<< */
@media (max-width:760px){.rem-layout,#npanel{grid-template-columns:minmax(0,1fr)}.rem-layout>*,#npanel>*,#ny-root,#ny-root .fx-wrap>*{min-width:0;max-width:100%}
.rem-layout>.ntabs{display:flex;flex-wrap:wrap;overflow-x:visible;box-sizing:border-box;justify-self:stretch}.rem-layout>.ntabs .seg{flex:1 1 auto;min-width:0;justify-content:center;padding:0 10px}
#ny-root .fx-tabs{display:flex;flex-wrap:wrap;max-width:100%;box-sizing:border-box}#ny-root .fx-tabs .seg{flex:1 1 auto;min-width:0;justify-content:center}
#ny-root .fx-find{min-width:0;max-width:100%}#ny-root .fx-find input{min-width:0;flex:1 1 auto;width:auto}#ny-root .fx-find button{flex:0 0 auto}
#ny-root .fx-controls{flex-wrap:wrap;min-width:0}}
/* <<< release-r12-20261110 */
