:root{--cyan: #00BCB1;--aqua: #00776F;--aqua-2: #00BCB1;--aqua-ink: #005F59;--aqua-pale: #DDF6F4;--aqua-soft: #B4BCC3;--night: #0B0D0F;--night-2: #3E4347;--ink: #0B0D0F;--ink-2: #3A424B;--muted: #5B6470;--line: #E3E6E9;--line-2: #EEF0F2;--surface: #F4F6F7;--danger: #B42318;--danger-pale: #FDF1F0;--warn: #8A4B00;--warn-pale: #FFF1E0;--radius: 8px;--cut: 12px;--font: Inter, system-ui, -apple-system, sans-serif;--display: Oswald, Inter, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--cut-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px) );--cut-path-s: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px) )}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--aqua)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px}::selection{background:var(--cyan);color:var(--night)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--night);border-bottom:3px solid var(--cyan);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 14px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.brand img{height:60px;margin:-19px -6px -19px -8px}.brand span{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:1.5px}.topbar .spacer{flex:1}.topbar .who{font-size:13px;color:var(--aqua-soft);font-weight:600}.topnav{display:none;gap:4px}.topnav a{color:var(--aqua-soft);text-decoration:none;font-family:var(--display);font-size:14px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;padding:8px 12px}.topnav a:hover{color:#fff}.topnav a.active{color:var(--night);background:var(--cyan);clip-path:var(--cut-path-s)}.content{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:16px 16px calc(96px + var(--safe-bottom))}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--night);border-top:1px solid #1E2226;display:flex;justify-content:space-around;padding:8px 6px calc(10px + var(--safe-bottom))}.bottomnav a{flex:1;max-width:90px;color:var(--aqua-soft);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:5px 0;border-radius:12px}.bottomnav a{position:relative}.bottomnav a.active{color:var(--cyan);font-weight:700}.bottomnav a.active:before{content:"";position:absolute;top:-8px;left:50%;width:30px;margin-left:-15px;height:4px;background:var(--cyan);clip-path:polygon(0 0,calc(100% - 3px) 0,100% 100%,3px 100%)}.bottomnav svg{width:22px;height:22px}@media(min-width:900px){.topnav{display:flex}.bottomnav{display:none}.content{padding-bottom:40px}}.pagehead{display:flex;align-items:center;gap:8px;margin:0 0 14px}.pagehead h1{margin:0;font-size:20px;font-weight:700;flex:1}.back{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;clip-path:var(--cut-path-s);color:var(--ink);text-decoration:none;border:1px solid var(--line);background:#fff}.btn{--c: var(--cut);height:46px;padding:0 22px;border:none;border-radius:0;background:var(--ink);color:#fff;font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:1.6px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;white-space:nowrap;flex-shrink:0;clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)));position:relative;isolation:isolate;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--cyan)}.btn.aqua{background:var(--cyan);color:var(--night)}.btn.aqua:focus-visible{box-shadow:inset 0 0 0 3px var(--night)}.btn.danger{background:var(--danger)}.btn.ghost,.btn.danger-ghost{background:var(--edge, #C9CFD4);color:var(--ink)}.btn.danger-ghost{--edge: #E8A39C;color:var(--danger)}.btn.ghost:before,.btn.danger-ghost:before{content:"";position:absolute;inset:1.5px;z-index:-1;background:#fff;clip-path:polygon(0 0,calc(100% - var(--c) + .6px) 0,100% calc(var(--c) - .6px),100% 100%,calc(var(--c) - .6px) 100%,0 calc(100% - var(--c) + .6px))}.btn.ghost:hover:not(:disabled),.btn.danger-ghost:hover:not(:disabled){filter:none;--edge: var(--ink)}.btn.danger-ghost:hover:not(:disabled){--edge: var(--danger)}.btn.small{--c: 8px;height:36px;padding:0 14px;font-size:13px;letter-spacing:1.2px;gap:6px}.btn.block{width:100%}.btn:disabled{background:#d5dade;color:#6b747d}.btn.ghost:disabled:before,.btn.danger-ghost:disabled:before{background:#f1f3f4}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.card.soft{background:var(--surface);border-color:transparent}.section-title{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:1.6px;color:var(--ink);margin:6px 0 2px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:14px;height:6px;flex:none;background:var(--cyan);clip-path:polygon(0 0,calc(100% - 3px) 0,100% 100%,3px 100%)}h2{font-size:16px;margin:4px 0}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:0;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));background:var(--line-2);color:var(--ink-2);white-space:nowrap}.chip.cat{letter-spacing:.3px}.chip.aqua{background:var(--cyan);color:var(--night)}.chip.dark{background:var(--ink);color:#fff}.chip.warn{background:var(--warn-pale);color:var(--warn)}.chip.danger{background:var(--danger-pale);color:var(--danger)}.dots{display:flex;gap:5px}.dots span{flex:1;max-width:34px;height:8px;background:#d5dade;clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px))}.dots span.on{background:var(--cyan)}.empty{padding:18px;text-align:center;color:var(--muted);font-size:14px}.error{color:var(--danger);font-size:13px;font-weight:600}.notice{padding:10px 12px;border-radius:0;border-left:3px solid var(--cyan);background:var(--surface);font-size:13px;color:var(--ink-2)}.notice.warn{background:var(--warn-pale);color:var(--warn);border-left-color:#f0b46b}.notice.danger{background:var(--danger-pale);color:var(--danger);border-left-color:var(--danger)}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea,.input{height:46px;border:1px solid #D5DADE;border-radius:4px;padding:0 12px;font-size:15px;font-weight:500;color:var(--ink);background:#fff;width:100%}.field textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.switch input{width:22px;height:22px;accent-color:var(--ink)}.seg{display:flex;gap:3px;padding:3px;background:var(--surface);clip-path:var(--cut-path-s)}.seg button{flex:1;height:36px;border:none;background:transparent;font-weight:600;font-size:13px;color:var(--ink-2);clip-path:var(--cut-path-s)}.seg button.on{background:var(--night);color:#fff}.seg button.on:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;vertical-align:1px;background:var(--cyan);clip-path:polygon(0 0,100% 0,100% 100%)}.toggle{height:34px;padding:0 12px;border:none;background:var(--surface);font-size:12px;font-weight:600;clip-path:var(--cut-path-s);box-shadow:inset 0 0 0 1px #d5dade}.toggle.on{background:var(--cyan);color:var(--night);box-shadow:none}.toggle.bad.on{background:var(--warn-pale);color:var(--warn);box-shadow:inset 0 0 0 1.5px #f0b46b}.toggle:focus-visible,.seg button:focus-visible{outline:none;box-shadow:inset 0 0 0 2.5px var(--cyan)}.search{position:relative}.search label{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-radius:4px;background:var(--surface);border:1.5px solid transparent}.search label.on{border-color:var(--cyan)}.search input{flex:1;min-width:0;border:none;background:transparent;font-size:15px;outline:none}.dropdown{position:absolute;left:0;right:0;top:54px;z-index:15;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #14171a24;overflow:hidden}.dropdown a,.dropdown button.item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:none;border-bottom:1px solid var(--line-2);background:#fff;width:100%;text-align:left;text-decoration:none;color:var(--ink)}.avatar{width:34px;height:34px;flex:none;border-radius:17px;background:var(--aqua-pale);color:var(--aqua-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.quote-label{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:1.6px;color:var(--aqua);text-transform:uppercase}.quote{display:block;width:100%;margin:6px 0 0;padding:0 0 0 14px;border:none;border-left:3px solid var(--cyan);background:none;text-align:left;cursor:pointer}.quote-text{display:block;font-family:"Bricolage Grotesque",var(--font);font-weight:800;font-size:25px;line-height:1.15;letter-spacing:-.6px;color:var(--ink)}.quote-text:before{content:"“";color:var(--cyan);margin-right:2px}.quote-text:after{content:"”";color:var(--cyan);margin-left:1px}.quote-by{display:block;margin-top:6px;font-family:var(--display);font-size:12px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--aqua)}.quote-by:before{content:"— "}.quote:hover .quote-text{color:#000}@media(min-width:900px){.quote-text{font-size:32px}}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:700px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.actions{gap:16px}.actions .action{--c: 22px;height:132px;padding:18px 20px}.actions .action .label{font-size:18px}.actions .action svg{width:30px;height:30px}.actions .action .badge{top:16px;right:16px;font-size:13px;padding:5px 10px}}.action{--c: 14px;height:78px;color:var(--ink);padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;background:#d5dade;position:relative;isolation:isolate;clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)))}.action:before{content:"";position:absolute;inset:1px;z-index:-1;background:#fff;clip-path:polygon(0 0,calc(100% - var(--c) + .4px) 0,100% calc(var(--c) - .4px),100% 100%,calc(var(--c) - .4px) 100%,0 calc(100% - var(--c) + .4px))}.action:hover{background:var(--cyan)}.action:focus-visible{outline:none;background:var(--cyan)}.action.primary{background:var(--cyan);color:var(--night)}.action.primary:before{background:var(--cyan)}.action.primary:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:4px;background:var(--night)}.action.primary:hover{background:var(--night)}.actions.owner .action.primary{grid-column:span 2}@media(min-width:700px){.actions.owner{grid-template-columns:repeat(4,minmax(0,1fr))}}.action .label{font-size:14px;font-weight:600}.action .badge{position:absolute;top:10px;right:10px}.action.soon{color:var(--muted)}.listrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink)}.job{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);background:#fff;align-items:center}.job .bar{width:4px;align-self:stretch;border-radius:2px}.step{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}.tick{width:28px;height:28px;flex:none;border-radius:4px;border:2px solid #C9CFD4;display:flex;align-items:center;justify-content:center;background:#fff}.tick.on{border-color:var(--cyan);background:var(--cyan);color:var(--night)}.weekstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekstrip button{border:none;background:transparent;border-radius:10px;padding:5px 0;display:flex;flex-direction:column;align-items:center;gap:2px}.weekstrip button.today{background:var(--cyan);color:var(--night);clip-path:var(--cut-path-s)}.daydots{display:flex;gap:2px;height:5px}.daydots i{width:5px;height:5px;border-radius:3px}.dayrow{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #F1F3F4}.daynum{width:32px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:800}.daynum.today{background:var(--cyan);color:var(--night);border-radius:0;clip-path:var(--cut-path-s)}.calblock{display:flex;align-items:center;gap:10px;border-radius:10px;padding:8px 10px;text-decoration:none}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.month .cell{min-height:108px;border:1px solid var(--line-2);border-radius:10px;padding:5px;display:flex;flex-direction:column;gap:3px;overflow:hidden;background:#fff}.month .cell.today{border-color:var(--cyan);box-shadow:inset 0 3px 0 var(--cyan);background:#f0fbfa}.month .cell.out{background:#fafbfb;color:#9aa3ab}.month .bar{display:block;font-size:11px;font-weight:700;line-height:18px;padding:0 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.legend{display:flex;flex-wrap:wrap;gap:6px 12px}.legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ink-2)}.legend i{width:10px;height:10px;border-radius:3px}.photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media(min-width:700px){.photos{grid-template-columns:repeat(6,minmax(0,1fr))}}.photo{aspect-ratio:1;border-radius:10px;background:#dde2e6 center/cover no-repeat;position:relative;overflow:hidden;display:block}.photo .cap{position:absolute;left:4px;bottom:4px;right:4px;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.photo .state{position:absolute;top:4px;right:4px}.addphoto{aspect-ratio:1;border-radius:10px;border:1.5px dashed var(--cyan);background:#f0fbfa;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--aqua);font-size:11px;font-weight:700;cursor:pointer}.center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(var(--night) 0 220px,var(--cyan) 220px 224px,#fff 224px)}.panel{width:100%;max-width:400px;background:#fff;border-radius:0;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));padding:24px;box-shadow:0 16px 40px #14171a24}.names{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.names button{height:72px;border-radius:0;border:none;box-shadow:inset 0 0 0 1px #d5dade;clip-path:var(--cut-path);background:#fff;font-weight:700;font-size:16px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{height:64px;border-radius:0;border:none;box-shadow:inset 0 0 0 1px #d5dade;clip-path:var(--cut-path);background:#fff;font-size:24px;font-weight:700}.pindots{display:flex;gap:14px;justify-content:center;margin:10px 0 18px}.pindots i{width:16px;height:16px;border-radius:8px;border:2px solid var(--ink)}.pindots i.on{background:var(--cyan);border-color:var(--cyan)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--aqua-pale);border-top-color:var(--cyan);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.home{position:relative;z-index:1}.watermark{position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/logo-black.png) center 55% / min(85vw,160vh) auto no-repeat;opacity:.045;mix-blend-mode:multiply}@media(hover:hover){.btn:not(.aqua):not(.ghost):not(.danger-ghost):not(.danger):hover:not(:disabled){filter:none;box-shadow:inset 0 0 0 2.5px var(--cyan)}.btn.ghost:hover:not(:disabled){--edge: var(--cyan)}.btn.ghost:hover:not(:disabled):before,.btn.danger-ghost:hover:not(:disabled):before{inset:2.5px}.action:hover:before{inset:3px}.toggle:hover:not(.on),.seg button:hover:not(.on){box-shadow:inset 0 0 0 2px var(--cyan)}}.action:focus-visible:before{inset:3px}.btn.ghost:focus-visible{--edge: var(--cyan);box-shadow:none}.btn.ghost:focus-visible:before,.btn.danger-ghost:focus-visible:before{inset:2.5px}h2.caps{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:1.6px;text-transform:uppercase}.bottomnav a{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.bottomnav{padding-left:2px;padding-right:2px}.bottomnav a{font-size:10px;letter-spacing:-.1px}.bottomnav svg{width:20px;height:20px}}.action.pink{background:#f29bb2;color:var(--night)}.action.pink:before{background:#ffc4d3}.action.pink:hover,.action.pink:focus-visible{background:var(--night)}.topbar .ver{opacity:.6;font-size:11px}@media(max-width:899px){.topbar .ver{display:none}.topbar{padding-top:calc(env(safe-area-inset-top,0px) + 10px);padding-bottom:10px}}.bottomnav a,.bottomnav button{flex:1;max-width:90px;min-width:0;color:var(--aqua-soft);background:none;border:none;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:5px 0;position:relative}.bottomnav button.active{color:var(--cyan);font-weight:700}.bottomnav button.active:before{content:"";position:absolute;top:-8px;left:50%;width:30px;margin-left:-15px;height:4px;background:var(--cyan);clip-path:polygon(0 0,calc(100% - 3px) 0,100% 100%,3px 100%)}@media(max-width:480px){.bottomnav a,.bottomnav button{font-size:11px;letter-spacing:0}.bottomnav svg{width:22px;height:22px}}.sheet-scrim{position:fixed;inset:0;z-index:18;background:#0b0d0f59}.sheet{position:fixed;left:10px;right:10px;bottom:calc(70px + var(--safe-bottom));z-index:19;background:var(--night);padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));box-shadow:0 -2px 0 var(--cyan) inset}.sheet a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;color:#fff;text-decoration:none;font-family:var(--display);font-size:12px;letter-spacing:1px;text-transform:uppercase;background:#16191c;clip-path:var(--cut-path-s)}.sheet a.active{background:var(--cyan);color:var(--night)}.sheet svg{width:22px;height:22px}@media(min-width:900px){.sheet,.sheet-scrim{display:none}}.pagehead{flex-wrap:wrap;row-gap:10px}.pagehead h1{min-width:140px}.pagehead>:last-child:not(h1):not(.back){margin-left:auto}.pagehead .row{flex-wrap:wrap}@media(max-width:600px){.pagehead h1{font-size:19px}}html,body{overflow-x:hidden}.seg button.on:after{display:none}@media(max-width:600px){.quote-text{font-size:20px;line-height:1.2}}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px 14px}.facts div{display:flex;flex-direction:column;gap:1px;font-size:13px}.facts span{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}@media(max-width:600px){.btn.small{height:34px;padding:0 11px;font-size:12px;letter-spacing:1px}}html{background:var(--night);overscroll-behavior:none}body{background:transparent;overscroll-behavior:none}.app{background:#fff;min-height:100vh;min-height:100dvh}
