@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ph-vn-65jA92mZ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ph-lat-B7HHA2Vw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(/assets/ns-vn-Bakgl0hx.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(/assets/ns-lat-D33Im7Cz.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}:root{--paper: #fcfcf9;--grid: #e9eff6;--ink: #29323e;--pen: #2e4fa3;--red: #d94f43;--muted: #8c96a4;--faint: #b9c2ce;--cover: #24444e;--hl: #ffe9a3;--line: #3a4553;--ok: #4e8a5d;--warn: #b8730e;--paper-2: rgba(255, 255, 255, .55);--cell: 22px;--margin-x: 94px;--pad-l: 128px;--sidebar-w: 238px}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Nunito Sans,system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--pen)}a:hover{color:#24408a}button{font-family:inherit}.hand{font-family:Patrick Hand,cursive;font-weight:400}.app{display:flex;height:100vh;height:100dvh;max-width:100vw;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:none;background:var(--cover);display:flex;flex-direction:column;padding:24px 18px;gap:24px;overflow-y:auto;box-sizing:border-box}.nav-group{display:flex;flex-direction:column;gap:6px}.nav{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:8px 12px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;color:#fcfcf9c7;transition:background .12s}.nav:hover{background:#fcfcf91a}.nav__label{font:600 13.5px Nunito Sans,sans-serif}.nav--primary .nav__label{font-weight:800}.nav__count{font:600 12px Nunito Sans,sans-serif;color:#fcfcf973}.nav[aria-current=true]{background:var(--paper);color:var(--ink)}.nav[aria-current=true] .nav__label{color:var(--ink)}.nav[aria-current=true] .nav__count{color:var(--red)}.nav__dot{width:8px;height:8px;border-radius:99px}.sb-rule{height:1px;background:#fcfcf924;margin:5px 12px}.sb-cap{font:800 10px Nunito Sans,sans-serif;letter-spacing:.13em;color:#fcfcf980;padding:0 12px;margin-bottom:4px}.rail{display:flex;flex-direction:column;gap:4px}.rail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-radius:7px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .12s}.rail-row:hover{background:#fcfcf914}.rail-row[aria-pressed=true]{background:#fcfcf924}.rail-row__l{display:inline-flex;align-items:center;gap:8px}.rail-row__name{font:600 12.5px Nunito Sans,sans-serif;color:#fcfcf9d9}.rail-row--all .rail-row__name{font-weight:700;color:#fcfcf9eb}.rail-row__count{font:600 11.5px Nunito Sans,sans-serif;color:#fcfcf973}.label-card{background:#fdfdfb;border-radius:6px;padding:5px;flex:none}.label-card__in{border:1.5px solid var(--red);border-radius:4px;padding:12px 12px 10px}.label-card__title{font:800 11.5px Nunito Sans,sans-serif;letter-spacing:.16em;color:var(--red);text-align:center}.label-card__rule{height:1px;background:#d94f4359;margin:9px 6px}.label-card__row{display:flex;align-items:baseline;gap:8px;padding:2px 4px}.label-card__row b{font:700 10.5px Nunito Sans,sans-serif;color:var(--muted)}.label-card__row span{flex:1;font:400 16px Patrick Hand,cursive;color:var(--pen);border-bottom:1px dotted var(--faint);line-height:1.25}.add-btn{border:1.5px dashed rgba(252,252,249,.4);border-radius:8px;padding:8px 12px;text-align:center;font:700 12.5px Nunito Sans,sans-serif;color:#fcfcf9d9;cursor:pointer;background:transparent;width:100%;transition:.12s}.add-btn:hover{border-color:#fcfcf9b3;background:#fcfcf90f}.paper{flex:1;min-width:0;min-height:0;overflow-y:auto;background:var(--paper)}.backup{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.backup__link{border:none;background:transparent;color:#fcfcf999;font:400 12.5px Patrick Hand,cursive;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.backup__link:hover{color:#fcfcf9e6}.backup__sep{color:#fcfcf94d;font-size:11px}.sheet{position:relative;min-height:100%;box-sizing:border-box;background-size:var(--cell) var(--cell)}.sheet--grid{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px)}.sheet__margin{position:absolute;top:0;bottom:0;left:var(--margin-x);width:1.5px;background:#d94f438c;pointer-events:none}.view{position:relative;padding:32px 52px 28px var(--pad-l);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;box-sizing:border-box}.view__head{text-align:center}.view__title{font:400 26px Patrick Hand,cursive;color:var(--pen)}.view__meta{font:700 10.5px Nunito Sans,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}.focus{margin-top:30px}.focus__cap{font:800 10.5px Nunito Sans,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.focus__row{display:flex;align-items:center;gap:14px;margin-top:8px}.hl-text{display:inline-block;background:linear-gradient(104deg,rgba(255,233,163,0) 1%,var(--hl) 4%,var(--hl) 96%,rgba(255,233,163,0) 99%);padding:3px 16px;transform:rotate(-.35deg);font:400 21.5px Patrick Hand,cursive;color:var(--pen);border:none;cursor:text;max-width:100%}.focus__input{font:400 21.5px Patrick Hand,cursive;color:var(--pen);border:none;border-bottom:1.5px dotted var(--faint);background:transparent;padding:2px 6px;min-width:280px;outline:none}.focus__input:focus{border-bottom-color:var(--pen)}.hl-text:focus-visible{outline:2px solid var(--pen);outline-offset:2px;border-radius:2px}.icon-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;padding:2px}.icon-btn:hover{color:var(--pen)}.grp{display:flex;align-items:center;gap:9px;height:22px;margin-top:22px}.grp:first-child{margin-top:0}.grp__label{font:800 11px Nunito Sans,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.grp__label--red{color:var(--red)}.grp__pill{font:800 11px Nunito Sans,sans-serif;color:#5c6674;background:#29323e14;padding:0 8px;border-radius:999px;line-height:18px}.grp__pill--red{color:var(--red);background:#d94f431a}.row{position:relative;display:flex;align-items:center;gap:13px;min-height:44px}.row__mark{position:absolute;left:-56px;width:40px;text-align:center;font:400 20px Patrick Hand,cursive;color:var(--red)}.check{width:17px;height:17px;border:1.7px solid var(--line);flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;padding:0;transition:border-color .12s}.check:hover{border-color:var(--pen)}.check__tick{font:400 16px Patrick Hand,cursive;line-height:1}.row__title{font:400 15px Nunito Sans,sans-serif;color:var(--ink);border:none;background:transparent;padding:0;cursor:text;min-width:0}.row__title--done{color:#9aa3af;text-decoration:line-through}.row__title:focus{outline:2px solid rgba(46,79,163,.4);outline-offset:2px;border-radius:3px}.row__dom{display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap}.row__dom-dot{width:7px;height:7px;border-radius:99px}.row__dom-txt{font:700 11px Nunito Sans,sans-serif;color:var(--muted)}.row__spacer{flex:1}.row__due{font:600 12.5px Nunito Sans,sans-serif;color:var(--muted);flex:none;white-space:nowrap;margin-left:8px}.row__due--over{font-weight:700;color:var(--red);text-decoration:underline wavy rgba(217,79,67,.55);text-underline-offset:4px}.row__due--done{color:var(--faint)}.row__del{border:none;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:4px;flex:none;opacity:0;transition:opacity .12s,color .12s}.row:hover .row__del{opacity:1}.row__del:hover{color:var(--red)}.blank-line{height:44px;display:flex;align-items:center}.blank-line .hand{font-size:18px;color:var(--muted)}.teaser{height:22px;display:flex;align-items:center;margin-top:11px}.teaser .hand{font-size:14px;color:var(--muted)}.link-hand{font:400 14px Patrick Hand,cursive;color:var(--pen);text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;background:none;border:none;margin-left:5px}.proj{padding:6px 0 16px}.proj__top{display:flex;align-items:baseline;gap:12px;min-height:22px}.proj__dot{width:9px;height:9px;border-radius:99px;flex:none;transform:translateY(-1px)}.proj__name{font:800 15.5px Nunito Sans,sans-serif;color:var(--ink)}.proj__status{font:400 16px Patrick Hand,cursive}.proj__prog{font:400 16px Patrick Hand,cursive;color:var(--muted)}.proj__note{font:400 13px Nunito Sans,sans-serif;color:var(--muted);margin:4px 0 0 21px;min-height:22px;display:flex;align-items:center}.clinic-bar{position:relative;display:flex;align-items:center;gap:16px;margin-top:24px;min-height:24px}.clinic-bar__mark{position:absolute;left:-56px;width:40px;text-align:center;font:400 20px Patrick Hand,cursive;color:var(--red)}.clinic-bar__comment{font:400 18px Patrick Hand,cursive;color:var(--red)}.clinic-bar__ok{font:400 18px Patrick Hand,cursive;color:var(--ok)}.refresh{flex:none;border:1.5px dashed var(--faint);border-radius:8px;padding:6px 13px;font:700 12px Nunito Sans,sans-serif;color:var(--pen);cursor:pointer;background:transparent}.refresh:hover{border-color:var(--pen);background:#2e4fa30d}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;margin-top:22px}.tile{min-width:0;border:1.5px solid #d9e0ea;background:var(--paper-2);padding:14px 16px;display:flex;flex-direction:column;gap:5px;min-height:132px;box-sizing:border-box}.tile__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tile__label{font:800 10px Nunito Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tile__src{flex:none;font:700 10px Nunito Sans,sans-serif;color:var(--pen);text-decoration:underline dotted;text-underline-offset:3px;white-space:nowrap}.tile__val-row{display:flex;align-items:baseline;gap:6px;margin-top:2px}.tile__val{font:800 29px/1 Nunito Sans,sans-serif;color:var(--ink)}.tile__unit{font:700 13px Nunito Sans,sans-serif;color:var(--muted)}.tile__ref{font:400 12px/1.45 Nunito Sans,sans-serif;color:var(--muted)}.tile__foot{margin-top:auto;padding-top:4px}.tile__status{font:400 17px Patrick Hand,cursive}.tile__status--act{text-decoration:underline wavy rgba(217,79,67,.55);text-underline-offset:4px}.clinic-note{margin-top:18px;font:400 12px Nunito Sans,sans-serif;color:var(--faint)}.index{margin-top:auto;padding-top:26px}.index__cap{font:800 10.5px Nunito Sans,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);height:22px;display:flex;align-items:center}.index__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:6px}.index__col{display:flex;flex-direction:column;gap:6px}.index__col-head{display:flex;align-items:center;gap:7px;height:22px}.index__col-dot{width:7px;height:7px;border-radius:99px}.index__col-name{font:800 11px Nunito Sans,sans-serif;letter-spacing:.07em;color:var(--ink)}.index__link{font:600 13px Nunito Sans,sans-serif;color:var(--pen);text-decoration:underline dotted rgba(46,79,163,.45);text-underline-offset:3px}.index__link:hover{text-decoration-style:solid}.pageno{text-align:center;font:400 13.5px Patrick Hand,cursive;color:var(--muted);margin-top:22px}.section-gap{margin-top:32px}.composer{margin:2px 0 6px}.composer__line{display:flex;align-items:center;gap:13px;min-height:44px}.composer__check{width:17px;height:17px;border:1.7px solid var(--faint);border-radius:255px 15px 225px/15px 225px 15px 255px;transform:rotate(-1deg);flex:none}.composer__input{flex:1;min-width:0;border:none;border-bottom:1.5px dotted var(--faint);background:transparent;font:400 15px Nunito Sans,sans-serif;color:var(--ink);padding:2px 4px;outline:none}.composer__input:focus{border-bottom-color:var(--pen)}.composer__input::placeholder{font-family:Patrick Hand,cursive;font-size:16px;color:var(--faint)}.chips-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:4px 0 4px 30px}.chips-row__cap{font:800 9.5px Nunito Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:2px;flex:none}.chip-pick{display:inline-flex;align-items:center;gap:5px;border:1.2px solid #d7dee7;border-radius:999px;background:transparent;padding:4px 10px;font:700 11.5px Nunito Sans,sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color .12s,background .12s}.chip-pick:hover{border-color:var(--muted)}.chip-pick[aria-pressed=true]{border-color:var(--pen);background:#2e4fa312}.chip-pick__dot{width:7px;height:7px;border-radius:99px}.chip-pick--ghost{border-style:dashed;color:var(--muted)}.chips-row select,.chips-row input[type=date],.chips-row input[type=time]{border:1.2px solid #d7dee7;border-radius:999px;background:transparent;padding:3px 8px;font:700 11.5px Nunito Sans,sans-serif;color:var(--ink);max-width:130px}.chips-row select:focus,.chips-row input:focus{border-color:var(--pen);outline:none}.composer__actions{display:flex;gap:10px;align-items:center;padding-left:30px;min-height:22px}.btn-pen{border:none;background:transparent;font:400 15px Patrick Hand,cursive;color:var(--pen);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;padding:2px 4px}.btn-pen:hover{text-decoration-style:solid}.btn-quiet{border:none;background:transparent;font:400 14px Patrick Hand,cursive;color:var(--muted);cursor:pointer;padding:2px 4px}.btn-quiet:hover{color:var(--ink)}.btn-quiet--danger:hover{color:var(--red)}.row--editing{border-left:2px dotted rgba(46,79,163,.35);margin-left:-10px;padding-left:8px}.pop-wrap{position:relative;display:inline-flex}.popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;background:#fdfdfb;border:1.5px solid var(--line);border-radius:11px 14px 9px 13px;box-shadow:0 4px 18px #29323e24;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:210px}.popover .chips-row{padding-left:0}.proj__head{cursor:pointer;border-radius:6px}.proj__head:hover .proj__name{color:var(--pen)}.proj--open{border-left:2px dotted rgba(140,150,164,.45);margin-left:-12px;padding-left:10px}.proj__kids{margin:2px 0 4px 21px}.proj__kids .row{min-height:40px}.proj__addkid{display:flex;align-items:center;gap:10px;min-height:34px;border:none;background:transparent;cursor:pointer;font:400 15px Patrick Hand,cursive;color:var(--pen);text-decoration:underline dotted rgba(46,79,163,.5);text-underline-offset:4px;padding:0}.proj__addkid:hover{text-decoration-style:solid}.invite{display:flex;align-items:center;gap:13px;min-height:44px;border:none;background:transparent;cursor:pointer;padding:0;text-align:left}.invite__ghost{width:9px;height:9px;border:1.5px solid var(--faint);border-radius:99px;flex:none}.invite__text{font:400 19px Patrick Hand,cursive;color:var(--pen);text-decoration:underline dotted rgba(46,79,163,.5);text-underline-offset:5px}.invite:hover .invite__text{text-decoration-style:solid}.invite__hint{font:400 14px Patrick Hand,cursive;color:var(--muted)}.grp--sub .grp__label{color:var(--muted);letter-spacing:.1em}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#29323e59;z-index:40}.sheet-modal{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--paper);border-radius:16px 16px 0 0;box-shadow:0 -6px 30px #29323e40;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));animation:sheet-up .18s ease-out}@keyframes sheet-up{0%{transform:translateY(30%);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-modal .composer__line{min-height:48px}.sheet-modal .chips-row{padding-left:0;min-height:44px}.sheet-modal .chip-pick{padding:10px 13px}.sheet-modal .composer__actions{padding-left:0;min-height:44px}.sheet-modal .btn-pen{font-size:17px;padding:8px 6px}.sheet-modal__grab{width:36px;height:4px;border-radius:99px;background:#d7dee7;margin:0 auto 12px}.topbar,.tabbar,.chips{display:none}@media (max-width: 760px){:root{--margin-x: 36px;--pad-l: 52px}.sidebar{display:none}.app{flex-direction:column}.topbar{flex:none;display:flex;align-items:center;gap:10px;background:var(--cover);padding:10px 14px}.topbar__badge{background:#fdfdfb;border-radius:4px;padding:3px 8px;display:flex;align-items:baseline;gap:6px;border:1px solid var(--red)}.topbar__badge b{font:800 9px Nunito Sans,sans-serif;letter-spacing:.12em;color:var(--red)}.topbar__badge span{font:400 12.5px Patrick Hand,cursive;color:var(--pen)}.topbar__spacer{flex:1}.topbar__add{width:40px;height:40px;border:1.5px dashed rgba(252,252,249,.55);border-radius:10px;background:transparent;color:#fcfcf9e6;font:700 19px Nunito Sans,sans-serif;cursor:pointer}.chips{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:var(--paper);border-bottom:1px solid #edf1f5;flex:none}.chip{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border-radius:999px;border:1.2px solid #d7dee7;background:transparent;white-space:nowrap;cursor:pointer;font:700 12px Nunito Sans,sans-serif;color:var(--ink)}.chip[aria-pressed=true]{border-color:var(--pen);background:#2e4fa312}.chip__dot{width:7px;height:7px;border-radius:99px}.tabbar{display:flex;flex:none;background:var(--cover);padding:6px 10px 10px}.tab{flex:1;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:9px;cursor:pointer;background:transparent;border:none;color:#fcfcf9c7}.tab[aria-current=true]{background:var(--paper);color:var(--ink)}.tab__label{font:800 12.5px Nunito Sans,sans-serif}.tab__count{font:700 10.5px Nunito Sans,sans-serif;color:#fcfcf973}.tab[aria-current=true] .tab__count{color:var(--red)}.view{padding:24px 16px 28px var(--pad-l);min-height:0}.index__grid{grid-template-columns:1fr 1fr;gap:16px}.row__mark{left:-44px;width:32px;font-size:17px}.sheet{overflow-x:hidden}.view__title{font-size:21px;overflow-wrap:anywhere}.focus__row{display:block}.hl-text{display:inline;padding:2px 10px;font-size:18px;line-height:1.7;-webkit-box-decoration-break:clone;box-decoration-break:clone}.row{align-items:flex-start}.row .check{margin-top:2px}.row__title{flex:1 1 0;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:20px;text-align:left;padding-top:2px}.row__spacer{display:none}.row__dom{align-self:flex-start;padding-top:4px}.row__due{align-self:flex-start;padding-top:4px;white-space:nowrap}.row__del{display:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.syncbadge{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;cursor:pointer;padding:6px 10px;border-radius:8px;text-align:left}.syncbadge:hover{background:#fcfcf914}.syncbadge__txt{font:600 12.5px Nunito Sans,sans-serif;color:var(--ink)}.sidebar .syncbadge__txt{color:#fcfcf9b8}.syncbadge--compact{width:auto;padding:7px}.syncbadge--compact:hover{background:#29323e0f}.syncdot{width:9px;height:9px;border-radius:99px;flex:none;background:var(--faint)}.syncdot--off{background:var(--faint)}.syncdot--idle{background:var(--ok)}.syncdot--syncing{background:#6f8fe0;animation:sync-pulse 1s ease-in-out infinite}.syncdot--offline{background:var(--muted)}.syncdot--error{background:var(--red)}.syncdot--needsAuth{background:var(--warn)}@keyframes sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.42;transform:scale(.8)}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#24444e57;z-index:60}.modal{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));max-height:min(86vh,720px);overflow-y:auto;background:var(--paper);border-radius:14px;border:1px solid #e4e9f0;box-shadow:0 24px 60px #24444e47}.sheet-modal--tall{max-height:88vh;overflow-y:auto}.syncpanel{padding:18px 20px 22px}.sheet-modal .syncpanel{padding:2px 2px 16px}.syncpanel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.syncpanel__title{font:800 17px Nunito Sans,sans-serif;color:var(--ink);margin:0}.syncpanel__x{border:none;background:transparent;color:var(--muted);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:6px}.syncpanel__x:hover{background:#eef2f7;color:var(--ink)}.syncpanel__body{display:flex;flex-direction:column;gap:16px}.syncpanel__lead{font-size:15px;line-height:1.55;color:#3f4a58;margin:4px 0 2px}.syncfield{display:flex;flex-direction:column;gap:7px}.syncfield__cap{font:700 11px Nunito Sans,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.syncfield__in{border:1px solid #d7dee7;border-radius:9px;padding:10px 12px;font:400 15px Nunito Sans,sans-serif;color:var(--ink);background:#fff;width:100%}.syncfield__in:focus{border-color:var(--pen);outline:none}.syncfield__in--code{font:700 18px ui-monospace,monospace;letter-spacing:.14em;text-align:center}.syncrow{display:flex;gap:10px;align-items:center}.syncrow .btn-pen{white-space:nowrap;font-size:16px}.btn-pen:disabled{color:var(--faint);cursor:default;text-decoration:none}.linky{border:none;background:transparent;font:600 13px Nunito Sans,sans-serif;color:var(--pen);cursor:pointer;padding:2px;text-decoration:underline dotted;text-underline-offset:2px}.linky:hover{text-decoration-style:solid}.linky--warn{color:var(--red)}.syncerr{font:600 13.5px Nunito Sans,sans-serif;color:var(--red);background:#fdeceb;border:1px solid #f4cfcb;border-radius:8px;padding:9px 12px}.btn-install{border:1px dashed var(--pen);background:#f2f5fc;color:var(--pen);border-radius:10px;padding:11px 14px;font:700 14px Nunito Sans,sans-serif;cursor:pointer;text-align:left}.btn-install:hover{background:#e9effb}.syncpanel__ios{font-size:14px;color:#3f4a58;line-height:1.5}.mono{font-family:ui-monospace,monospace}.syncstatus-line{display:flex;align-items:center;gap:9px;padding:11px 12px;background:#f4f7fa;border-radius:10px}.syncstatus-line__txt{flex:1;font:600 13.5px Nunito Sans,sans-serif;color:var(--ink);min-width:0}.invitebox{border:1.5px dashed var(--pen);border-radius:12px;padding:14px;text-align:center;background:#f7f9fd}.invitebox__code{font-size:34px;letter-spacing:.18em;color:var(--pen);line-height:1.1;word-break:break-all}.invitebox__meta{font:600 12.5px Nunito Sans,sans-serif;color:var(--muted);margin-top:8px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.devlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.devrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px dotted #dbe2ea}.devrow:last-child{border-bottom:none}.devrow--off{opacity:.55}.devrow--empty{justify-content:flex-start;color:var(--muted);font-size:14px}.devrow__l{display:flex;align-items:center;gap:8px;min-width:0}.devrow__name{font:700 14px Nunito Sans,sans-serif;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devrow__self{font:700 10px Nunito Sans,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--pen);background:#e9effb;padding:2px 6px;border-radius:99px;flex:none}.devrow__revoked{font:700 10px Nunito Sans,sans-serif;color:var(--red);flex:none}.devrow__r{display:flex;align-items:center;gap:12px;flex:none}.devrow__seen{font:400 12px Nunito Sans,sans-serif;color:var(--muted)}.syncpanel__unpair{align-self:flex-start;margin-top:2px}.pwa-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:14px;background:var(--cover);color:#fcfcf9;padding:11px 16px;border-radius:11px;box-shadow:0 12px 30px #24444e4d;font:600 13.5px Nunito Sans,sans-serif;max-width:calc(100vw - 24px)}.pwa-toast__btn{border:none;background:#fcfcf9;color:var(--cover);font:800 13px Nunito Sans,sans-serif;border-radius:7px;padding:6px 12px;cursor:pointer;flex:none}.pwa-toast--ok{background:var(--ok)}@media (max-width: 760px){.pwa-toast{bottom:calc(66px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion: reduce){.syncdot--syncing{animation:none}}
