:root{color-scheme:light dark;--bg:#FAF8F4;--surface:#FFFFFF;--sunken:#F3F0E9;--line:#E7E2D9;--line-strong:#D6CFC2;--ink:#1B1B18;--muted:#5A544A;--faint:#746B5D;--accent:#2B4570;--accent-press:#22385C;--accent-soft:#DCE4F0;--accent-ink:#2B4570;--navy:#17233B;--on-navy:#ECF1F8;--on-navy-muted:#A9B6CC;--good:#3F6B4C;--good-ink:#3F6B4C;--good-soft:#E4EEE6;--warn:#8C5E16;--warn-soft:#F5EAD5;--bad:#A13A33;--bad-soft:#F5E1DF;--plum:#6A44B0;--plum-soft:#F0EAFC;--radius:14px;--toast-bg:#1B1B18;--shadow:0 1px 2px rgba(23,35,59,.06),0 4px 10px -6px rgba(23,35,59,.12);--serif:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10151E;--surface:#171E2A;--sunken:#0B1017;--line:#2C3647;--line-strong:#3A4558;--ink:#F2EEE6;--muted:#BDB6A9;--faint:#968F83;--accent:#3B5B8E;--accent-press:#34507D;--accent-soft:#1D2B42;--accent-ink:#9DB8E3;--navy:#0B1220;--on-navy:#ECF1F8;--on-navy-muted:#98A7C0;--good:#2F6B45;--good-ink:#7FBF94;--good-soft:#16291E;--warn:#E0B062;--warn-soft:#33260F;--bad:#F08A80;--bad-soft:#3A1A18;--plum:#C3A6F2;--plum-soft:#2A1F3F;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 14px -8px rgba(0,0,0,.6);--toast-bg:#2C3647}}:root[data-theme=dark]{--bg:#10151E;--surface:#171E2A;--sunken:#0B1017;--line:#2C3647;--line-strong:#3A4558;--ink:#F2EEE6;--muted:#BDB6A9;--faint:#968F83;--accent:#3B5B8E;--accent-press:#34507D;--accent-soft:#1D2B42;--accent-ink:#9DB8E3;--navy:#0B1220;--on-navy:#ECF1F8;--on-navy-muted:#98A7C0;--good:#2F6B45;--good-ink:#7FBF94;--good-soft:#16291E;--warn:#E0B062;--warn-soft:#33260F;--bad:#F08A80;--bad-soft:#3A1A18;--plum:#C3A6F2;--plum-soft:#2A1F3F;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 14px -8px rgba(0,0,0,.6);--toast-bg:#2C3647;color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{scrollbar-gutter:stable}html:has(.markup,.viewer){scrollbar-gutter:auto}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--navy);color:var(--on-navy);display:flex;flex-direction:column;padding:22px 12px 14px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px;text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--accent);display:grid;place-items:center;color:#fff;flex:none}.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;color:#fff;line-height:1}.brand-org{font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.brand-org,.nav-label{color:var(--on-navy-muted)}.nav-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:14px 12px 6px}.nav a{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:10px;color:var(--on-navy-muted);text-decoration:none;font-size:14px;position:relative}.nav a:hover{color:#fff;background:rgba(255,255,255,.05)}.nav a.on{color:#fff;background:rgba(255,255,255,.09)}.nav a.on:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav svg{width:18px;height:18px;flex:none}.side-foot{margin-top:auto;padding:12px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;align-items:center;gap:10px}.side-foot .who{min-width:0;flex:1 1}.side-foot .name{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot .role{text-transform:capitalize}.side-foot .role,.side-foot button{color:var(--on-navy-muted);font-size:12px}.side-foot button{background:none;border:0;cursor:pointer;padding:4px}.side-foot button:hover{color:#fff}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:600;flex:none;text-decoration:none}.nav-group{display:contents}.side .nav{overflow-y:auto;min-height:0}.main{min-width:0}.page{max-width:1180px;margin:0 auto;padding:32px 32px 64px}.menu-btn,.menu-scrim{display:none}@media (max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:56px;flex-direction:row;align-items:center;padding:0 10px 0 14px;gap:6px}.brand{padding:0}.brand-mark{width:30px;height:30px;border-radius:9px}.brand-org,.side .nav,.side-foot .who{display:none}.side.menu-open .nav{display:flex;flex-direction:column;position:absolute;top:56px;left:0;right:0;max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;background:var(--navy);padding:4px 12px 18px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px -12px rgba(5,8,14,.5);animation:fade .12s ease-out}.nav a{height:44px;font-size:15px}.side-foot{margin:0 0 0 auto;padding:0;background:none;gap:2px}.side-foot button{width:40px;height:40px}.menu-btn,.side-foot button{display:grid;place-items:center}.menu-btn{width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;flex:none}.menu-btn:hover{background:rgba(255,255,255,.12)}.menu-scrim{display:block;position:fixed;inset:56px 0 0;z-index:35;background:rgba(5,8,14,.45);animation:fade .12s ease-out}.page{padding:20px 16px 48px}}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}.title{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.12;letter-spacing:-.015em;margin:0}.sub{margin:6px 0 0;font-size:15px}.back,.sub{color:var(--muted)}.back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:13px;margin-bottom:14px}.back:hover{color:var(--ink)}.section-title{font-family:var(--serif);font-weight:650;font-size:20px;margin:0;letter-spacing:-.01em}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-foot{padding:14px 20px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--sunken) 55%,var(--surface));border-radius:0 0 var(--radius) var(--radius);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:20px}.row{gap:10px}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:12px}.two{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1100px){.two{grid-template-columns:minmax(0,1fr)}}.stack>*,.two>*{min-width:0}.divider{border:0;border-top:1px solid var(--line);margin:16px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,filter .15s,transform .05s}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.btn svg{width:16px;height:16px}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-press)}.btn.success{background:var(--good);color:#fff}.btn.success:hover:not(:disabled){filter:brightness(1.08)}.btn.secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn.secondary:hover:not(:disabled){background:var(--sunken)}.btn.ghost{background:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.btn.danger{background:var(--surface);border-color:color-mix(in srgb,var(--bad) 40%,var(--line));color:var(--bad)}.btn.danger:hover:not(:disabled){background:var(--bad-soft)}.btn.sm{padding:0 12px;font-size:13px}.btn.sm,.icon-btn{height:32px;border-radius:8px}.icon-btn{width:32px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:600;color:var(--muted)}.field .hint{font-size:12px;color:var(--faint);font-weight:400}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.45}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23968F83' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:34px;cursor:pointer}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.input:disabled,.select:disabled{background:var(--sunken)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-grid .full{grid-column:1/-1}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px}.check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent)}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.pill.good{background:var(--good-soft);color:var(--good-ink)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.plum{background:var(--plum-soft);color:var(--plum)}.pill.neutral{background:var(--sunken);color:var(--muted)}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--accent-soft);color:var(--ink);font-size:14px}.notice.good{background:var(--good-soft)}.notice.warn{background:var(--warn-soft)}.notice.bad{background:var(--bad-soft)}.notice svg{width:18px;height:18px;flex:none;margin-top:1px}.error-text{color:var(--bad);font-size:13px;margin:0}.empty{text-align:center;padding:44px 20px;color:var(--muted)}.empty h3{font-family:var(--serif);font-size:19px;color:var(--ink);margin:10px 0 6px}.empty p{margin:0 auto;max-width:380px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}.loading{gap:10px;color:var(--muted);padding:40px 0;justify-content:center}.loading,.toolbar{display:flex;align-items:center}.toolbar{gap:12px;flex-wrap:wrap;margin-bottom:20px}.search{position:relative;flex:1 1 320px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--faint)}.search .input{height:44px;padding-left:42px;font-size:15px;border-radius:12px}.seg{padding:3px;gap:2px;border-radius:12px;background:var(--sunken);border:1px solid var(--line);min-height:44px}.seg,.seg button{display:inline-flex}.seg button{flex:1 1;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-height:36px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(15,27,45,.12)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.pcard{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px;text-decoration:none;transition:border-color .15s}.pcard:after{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 14px 34px -18px rgba(15,27,45,.35);opacity:0;transition:opacity .15s;pointer-events:none}@media (hover:hover){.pcard:hover{border-color:var(--line-strong)}.pcard:hover:after{opacity:1}}.pcard .name{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.2}.pcard .meta{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard .foot{display:flex;justify-content:space-between;color:var(--faint);font-size:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.photo{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--sunken);cursor:zoom-in;border:0;padding:0}.photo,.photo img{display:block;width:100%}.photo img{height:100%;object-fit:cover}.photo:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--accent);opacity:0;transition:opacity .12s;pointer-events:none}@media (hover:hover){.photo:hover:after{opacity:1}}.photo:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.photo .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 6px;color:#fff;font-size:11px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list{list-style:none;margin:0;padding:0}.list>li{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 20px;border-top:1px solid var(--line)}.list>li:first-child{border-top:0}.list .grow{flex:1 1 12rem;min-width:0}.list>li:not(.pay-row):not(.trash-row)>.grow+*{margin-left:auto}.list .t{font-weight:600;overflow-wrap:anywhere}.list .actions{display:flex;align-items:center;gap:8px;flex:none}.pdf{width:36px;height:44px;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:800;background:var(--bad-soft);color:var(--bad);flex:none}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 12px}.table td{padding:8px 12px;border-top:1px solid var(--line);vertical-align:middle}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.stage{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px}.stage .seg-bar{height:6px;border-radius:3px;background:var(--line)}.stage .seg-bar.done{background:var(--good)}.stage .seg-bar.cur{background:var(--accent)}.stage.compact .seg-bar{height:4px}.stage-labels{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px;margin-top:8px;font-size:12px;font-weight:500;color:var(--faint)}.stage-labels .done{color:var(--ink)}.stage-labels .cur{color:var(--accent-ink);font-weight:700}.stage-caption{font-size:12px;color:var(--muted);margin-top:6px}.backdrop{position:fixed;inset:0;z-index:60;background:rgba(6,10,18,.55);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade .15s ease-out}.modal{width:100%;max-width:560px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overscroll-behavior:contain;overflow-y:auto;background:var(--surface);border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);animation:rise .2s cubic-bezier(.2,.7,.2,1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.modal>.modal-head{top:0;background:var(--surface);border-radius:18px 18px 0 0}.modal>.modal-foot,.modal>.modal-head{position:-webkit-sticky;position:sticky;z-index:2}.modal>.modal-foot{bottom:0}.modal-head>div{min-width:0}.modal-head h2{overflow-wrap:anywhere;font-family:var(--serif);font-size:21px;margin:0}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px}.modal-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;background:color-mix(in srgb,var(--sunken) 55%,var(--surface));border-radius:0 0 18px 18px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.4;transform:translateY(8px)}}.toasts{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{background:var(--toast-bg);color:#fff;padding:10px 14px;border-radius:12px;font-size:14px;box-shadow:0 16px 40px -16px rgba(0,0,0,.5);max-width:380px;animation:rise .2s ease-out}.toast.bad{background:#5B1A16}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.plan{padding:20px;display:flex;flex-direction:column;gap:10px}.plan.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.plan .price{font-family:var(--serif);font-size:26px;font-weight:600}.plan ul{margin:0;padding-left:18px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--sunken);border:1px solid var(--line);border-radius:8px;padding:8px 10px;word-break:break-all}.logo-preview{width:88px;height:88px;border-radius:14px;border:1px solid var(--line);background:var(--sunken) center/contain no-repeat;display:grid;place-items:center;color:var(--faint);font-size:12px}.viewer{position:fixed;inset:0;z-index:70;background:#000;animation:fade .12s ease-out;overflow:hidden}.viewer-top{position:absolute;top:0;left:0;right:0;z-index:2;height:76px;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;padding:14px 18px 0;color:#fff;pointer-events:none;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,0));transition:opacity .25s ease}.viewer-top>*{pointer-events:auto}.viewer-count{font-size:13px;font-weight:600}.viewer-btn{width:40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.viewer-btn:hover{background:rgba(255,255,255,.18)}.viewer-stage{position:absolute;inset:0}.viewer-fill .viewer-media{object-fit:cover}.viewer-calm{cursor:none}.viewer-calm .viewer-cap,.viewer-calm .viewer-nav,.viewer-calm .viewer-top{opacity:0;pointer-events:none}.viewer-calm .viewer-top *{pointer-events:none}.viewer-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .22s cubic-bezier(.2,.8,.2,1);touch-action:pinch-zoom;-moz-user-select:none;user-select:none;-webkit-user-select:none}.viewer-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(0,0,0,.4);color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.viewer-nav:hover{background:rgba(0,0,0,.6)}.viewer-nav.prev{left:14px}.viewer-nav.next{right:14px}.viewer-nav.next svg{transform:scaleX(-1)}.viewer-btn:focus-visible,.viewer-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.viewer-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;box-sizing:border-box;display:flex;flex-wrap:wrap;align-content:flex-end;gap:4px 14px;justify-content:center;padding:36px 18px 16px;color:#fff;font-size:13px;text-align:center;pointer-events:none;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.55));transition:opacity .25s ease}.viewer-nav{transition:opacity .25s ease,background .15s ease}.viewer-cap .faint{color:rgba(255,255,255,.78)}.viewer-hint{display:none}@media (max-width:640px),(pointer:coarse){.viewer-top{height:auto;padding:max(12px,env(safe-area-inset-top)) 14px 24px}.viewer-fs,.viewer-nav{display:none}.viewer-cap{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:3px;padding:36px 20px max(14px,env(safe-area-inset-bottom));font-size:14px;line-height:1.4}.viewer-hint{display:block;margin-top:8px;font-size:12px;letter-spacing:.02em;color:rgba(255,255,255,.7)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.doc-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.doc-ic svg{width:17px;height:17px}.ai-doc{display:flex;flex-direction:column;gap:18px}.ai-summary{margin:0;padding:14px 16px;border-radius:12px;background:var(--accent-soft);font-size:14.5px}.ai-sec h3{font-family:var(--serif);font-size:18px;font-weight:600}.ai-sec h3,.ai-sec p{margin:0 0 8px}.ai-bullets{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.ai-bullets li::marker{color:var(--accent-ink)}.ai-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ai-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px}.ai-type{text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:4px}.ai-type b{font-size:14px}.ai-type span{font-size:12px;color:var(--muted)}.ai-type.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.ai-type:focus-visible,.pick:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:6px;gap:6px;max-height:260px;overflow-y:auto;padding:2px}.pick{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--sunken)}.pick img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}.pick.on img{opacity:.72}.pick .tick{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;border:1.5px solid #fff;background:rgba(0,0,0,.25);display:grid;place-items:center;color:#fff}.pick.on .tick{background:var(--accent);border-color:var(--accent)}.legal-page{min-height:100vh;background:var(--surface)}.legal-top{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,40px);background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line)}.legal-top nav a:not(.btn){color:var(--muted);text-decoration:none;font-size:14px;font-weight:500}.legal-top nav a:not(.btn):hover{color:var(--ink)}.legal-doc{max-width:720px;margin:0 auto;padding:40px 20px 80px;font-size:15px;line-height:1.65}.legal-doc h2{font-family:var(--serif);font-size:20px;font-weight:600;margin:34px 0 8px;letter-spacing:-.01em}.legal-doc p{margin:0 0 12px;color:var(--ink)}.legal-doc ul{margin:0 0 12px;padding-left:22px}.legal-doc li{margin:4px 0}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;border:1.5px dashed var(--line-strong);border-radius:14px;background:var(--sunken);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone.on,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.dz-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow)}.up-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.up-list li{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:10px}.up-list .grow{display:flex;flex-direction:column}.up-thumb{width:38px;height:38px;border-radius:7px;overflow:hidden;background:var(--sunken);display:grid;place-items:center;color:var(--faint);flex:none}.up-thumb img{width:100%;height:100%;object-fit:cover}.up-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;text-transform:capitalize}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.title-star{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.star-btn{width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--faint);display:inline-grid;place-items:center;cursor:pointer;flex:none;transition:color .12s,background .12s}.star-btn:hover{background:var(--sunken);color:var(--warn)}.star-btn.on{color:#E0A21C}.star-btn.on svg{fill:#F2B544}.star-btn.sm{width:30px;height:30px;margin:-4px -6px 0 0}.star-btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.team-av{background:var(--accent-soft);color:var(--accent-ink)}.invite-code{font-size:26px;font-weight:700;letter-spacing:.18em;padding:14px 16px;border-radius:12px;background:var(--sunken);border:1px dashed var(--line-strong);text-align:center}.role-pick{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:460px){.stats{gap:10px}.stat{padding:14px}.stat-value{font-size:28px}}.stat{padding:18px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stat-value{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.1;min-height:38px;display:flex;align-items:center}.activity-thumb{width:64px;flex:none;aspect-ratio:4/3}.settings{max-width:720px}.toggle-row{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-top:1px solid var(--line)}.toggle-row:first-of-type{border-top:0}.toggle-row .grow{flex:1 1;min-width:0}.toggle-row .t{font-weight:600}.switch{position:relative;width:42px;height:24px;flex:none;margin-top:2px}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:999px;background:var(--line-strong);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translateX(18px)}.switch input:focus-visible+span{outline:2px solid var(--accent-ink);outline-offset:2px}.switch input:disabled+span{opacity:.5}.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px}.danger-zone{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.pay-card{container-type:inline-size}.pay-form{display:grid;grid-template-columns:170px minmax(0,1fr);grid-gap:10px;gap:10px}@container (max-width: 520px){.pay-form{grid-template-columns:minmax(0,1fr)}}.money-input{position:relative;display:block}.money-input>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);font-weight:600;pointer-events:none}.money-input .input{padding-left:26px;width:100%}.pay-desc{font-weight:500;color:var(--muted);margin-left:6px}.pay-row .grow .t{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}.pay-row .pay-desc{margin-left:0}@container (max-width: 520px){.pay-row{flex-wrap:wrap;row-gap:8px}.pay-row .grow{flex-basis:100%}}.collect-tabs{display:flex;width:100%}.collect-tabs button{flex:1 1;white-space:nowrap;padding:0 8px}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 0 2px}.qr{width:240px;height:240px;padding:12px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);image-rendering:pixelated}.qr-loading{display:grid;place-items:center}.qr-cap{margin:0;color:var(--muted);font-size:14px;text-align:center;max-width:34ch;text-wrap:balance}.waiting{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--warn)}.pulse{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.pay-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.pay-methods button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px}.pay-methods button svg{width:20px;height:20px}.pay-methods button b{color:var(--ink);font-weight:600}.pay-methods button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent) inset}.pay-methods button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.btn.is-disabled{opacity:.5;pointer-events:none}.collect-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-top:26px;padding-bottom:24px}.done-badge{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--sunken);color:var(--muted);animation:pop .32s cubic-bezier(.2,.9,.3,1.3)}.done-badge.good{background:var(--good-soft);color:var(--good-ink)}@keyframes pop{0%{transform:scale(.6);opacity:0}}@media (prefers-reduced-motion:reduce){.done-badge{animation:none}}.done-amount{font-family:var(--serif);font-size:38px;font-weight:600;letter-spacing:-.02em;margin:6px 0 0}.addr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px;gap:10px}.addr-grid .span-2{grid-column:span 2}.addr-pair{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:10px;gap:10px}@media (max-width:560px){.addr-grid{grid-template-columns:minmax(0,1fr)}.addr-grid .span-2{grid-column:auto}.backdrop{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.modal{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.modal-head{padding:16px 16px 12px}.modal>.modal-head{border-radius:16px 16px 0 0}.modal-body{padding:16px}.modal-foot{padding:12px 16px;border-radius:0 0 16px 16px}.modal>.modal-foot .btn{flex:1 1 auto}}.collect-tabs[hidden]{display:none}.card-frame-wrap{margin:0 -4px}.card-frame{display:block;width:100%;height:540px;border:0;background:transparent}@media (max-width:560px){.card-frame{height:600px}}.viewer-action{height:40px;padding:0 14px;border-radius:20px;border:0;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);color:#fff;font:600 13px/1 var(--sans,inherit);cursor:pointer}.viewer-action:hover{background:rgba(255,255,255,.18)}.viewer-action.danger:hover{background:rgba(220,60,50,.35)}.viewer-action:disabled{opacity:.5;cursor:default}.viewer-action svg{width:16px;height:16px}@media (max-width:640px),(pointer:coarse){.viewer-action span{display:none}.viewer-action{width:40px;padding:0;justify-content:center}}.trash-row .pill{flex:none}@media (max-width:640px){.trash-row{flex-wrap:wrap}.trash-row .grow{flex-basis:calc(100% - 52px)}}.trash-left{position:absolute;top:6px;left:6px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:rgba(10,15,25,.62)}.trash-left.urgent{background:rgba(180,35,24,.85)}.link-url{margin:6px 0 2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--accent-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list>li.link-off{background:var(--bg)}.list>li.link-off .link-url{color:var(--faint);text-decoration:line-through}.ai-edit{gap:14px}.ai-edit,.ai-edit-sec{display:flex;flex-direction:column}.ai-edit-sec{gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.ai-edit-head{display:flex;align-items:center;gap:4px}.ai-edit-head .icon-btn:disabled{opacity:.35;cursor:default;background:transparent}.ai-edit-heading{flex:1 1;min-width:0;font-family:var(--serif);font-size:16px;font-weight:600}.ai-edit-group{display:flex;flex-direction:column;gap:6px}.ai-edit-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.ai-edit-row{display:flex;align-items:center;gap:8px}.ai-edit-row .input{flex:1 1;min-width:0;height:36px}.ai-edit-row input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:var(--accent)}.ai-edit-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;margin:0 5px}.ai-edit-add{align-self:flex-start}.ai-edit-photos{display:flex;flex-wrap:wrap;gap:6px}.ai-edit-photo{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;background:var(--sunken);flex:none}.ai-edit-photo img{width:100%;height:100%;object-fit:cover;display:block}.ai-edit-photo button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;cursor:pointer}.ai-edit-photo.add{border:1.5px dashed var(--line-strong);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.ai-edit-photo.add.on,.ai-edit-photo.add:hover{border-color:var(--accent);color:var(--accent-ink)}.ai-edit-photo.add svg{width:18px;height:18px}@media (max-width:560px){.ai-edit-sec{padding:12px}.ai-edit-photo{width:64px;height:64px}}@media (pointer:coarse){.icon-btn{width:44px;height:44px}.input,.select,.textarea{font-size:16px}.ai-edit-photo button{width:28px;height:28px}}.collapse-toggle{display:flex;align-items:center;gap:10px;flex:1 1;min-width:0;padding:4px 0;margin:-4px 0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:8px}.collapse-toggle:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}.collapse-sub{display:block;margin-top:2px}.collapse-chev{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--muted);transition:transform .18s,background .15s;flex:none}.collapse-toggle:hover .collapse-chev{background:var(--sunken);color:var(--ink)}.collapse-chev.open{transform:rotate(180deg)}.card.is-collapsed>.card-head{border-bottom:0}.theme-switch{display:flex;gap:2px;padding:3px;border-radius:10px}.theme-switch button{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 8px;border:0;border-radius:8px;background:transparent;font-size:13px;font-weight:600;cursor:pointer}.theme-switch button svg{width:15px;height:15px;flex:none}.theme-switch button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}.theme-switch--side{margin:2px 4px 0;background:rgba(255,255,255,.06)}.theme-switch--side button{color:var(--on-navy-muted)}.theme-switch--side button:hover{color:#fff}.theme-switch--side button.on{background:rgba(255,255,255,.14);color:#fff}.theme-switch--page{background:var(--sunken);border:1px solid var(--line);max-width:420px}.theme-switch--page button{color:var(--muted);min-height:40px;font-size:14px}.theme-switch--page button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}@media (pointer:coarse){.theme-switch button{min-height:44px}}@media (max-width:640px){.toolbar .search,.toolbar .seg{flex:1 1 100%}}.btn.lg{height:44px;padding:0 20px;font-size:15px;border-radius:12px}.btn.lg svg{width:18px;height:18px}.seg button svg{width:15px;height:15px;flex:none}.collapse-toggle .grow{flex:1 1}.theme-switch--side{margin:2px 0 0}.theme-switch--side button{gap:4px;padding:0 4px;font-size:12px}.theme-switch--side button svg{width:14px;height:14px}.invoice-create{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:16px 20px;border-top:1px solid var(--line)}.invoice-create-total{display:flex;flex-direction:column;gap:2px}.invoice-create-amount{font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.01em}.invoice-create-btn{min-width:200px;justify-content:center}.invoice-create-hint{flex-basis:100%;margin:0;text-align:right}.invoice-create-done{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.invoice-create-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--good-soft);color:var(--good-ink);flex:none}@media (max-width:560px){.invoice-create{flex-direction:column;align-items:stretch}.invoice-create-total{flex-direction:row;align-items:baseline;justify-content:space-between}.invoice-create-btn{width:100%}.invoice-create-hint{text-align:center}.invoice-create-done{justify-content:flex-start}}.markup{position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto 1fr auto;background:#000;color:#fff;animation:fade .12s ease-out}.markup-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px}.markup-top-end{display:flex;justify-content:flex-end}.markup-seg{display:inline-flex;padding:3px;gap:2px;border-radius:12px;background:rgba(255,255,255,.12)}.markup-seg button{min-height:38px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.82);font:600 14px/1 var(--sans,inherit);display:inline-flex;align-items:center;gap:7px;cursor:pointer}.markup-seg button.on{background:#fff;color:#0B1220}.markup-seg button:focus-visible{outline:2px solid #fff;outline-offset:2px}.markup-save{height:36px;padding:0 16px;gap:6px;border-radius:18px;font-size:15px;font-weight:600;white-space:nowrap}.markup-save .spinner{width:14px;height:14px}.markup-stage{position:relative;min-height:0;overflow:hidden}.markup-img{position:absolute;-moz-user-select:none;user-select:none;-webkit-user-select:none;pointer-events:none}.markup-canvas{position:absolute;touch-action:none;cursor:crosshair}.markup-loading{position:absolute;left:50%;top:50%;margin:-9px 0 0 -9px}.markup-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;padding:12px 16px max(14px,env(safe-area-inset-bottom))}.markup-swatches{display:flex;gap:10px}.markup-swatch{width:44px;height:44px;border-radius:50%;border:0;padding:0;cursor:pointer;background:transparent;display:grid;place-items:center}.markup-swatch:before{content:"";width:28px;height:28px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .12s ease}.markup-swatch.on:before{transform:scale(1.12);box-shadow:0 0 0 3px #000,0 0 0 5px #fff}.markup-swatch:focus-visible{outline:2px solid #fff;outline-offset:1px}.markup-tool-actions{display:flex;gap:8px}.markup-hint{flex-basis:100%;margin:0;text-align:center;font-size:13px;color:rgba(255,255,255,.7)}.markup-comments{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-row:2/4}.markup-comments-photo{min-height:0;display:flex;align-items:center;justify-content:center}.markup-comments-photo img,.markup-comments-photo video{width:100%;height:100%;object-fit:contain}.markup-thread{min-height:0;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-left:1px solid var(--line)}.markup-thread-head{display:flex;flex-direction:column;gap:2px;padding:16px 20px 12px;border-bottom:1px solid var(--line)}.markup-thread-list{list-style:none;margin:0;padding:12px 20px;flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.markup-comment{display:flex;flex-direction:column;gap:4px}.markup-comment-by{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.markup-comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.markup-comment.mine .markup-comment-body{color:var(--ink)}.markup-compose{display:flex;flex-direction:column;gap:10px;padding:14px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.markup-compose .textarea{min-height:64px;resize:vertical}@media (min-width:761px){.markup--comments{grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:auto minmax(0,1fr)}.markup--comments .markup-top{grid-column:1;grid-row:1}.markup--comments .markup-comments{display:contents}.markup--comments .markup-comments-photo{grid-column:1;grid-row:2}.markup--comments .markup-thread{grid-column:2;grid-row:1/3}.markup--comments .markup-thread-head{min-height:64px;box-sizing:border-box;justify-content:center}}@media (max-width:760px){.markup-top{grid-template-columns:auto 1fr auto;gap:8px;padding-left:10px;padding-right:10px}.markup-seg{justify-self:center}.markup-seg button{padding:0 11px;font-size:13px}.markup-save{padding:0 14px}.markup-swatches{gap:2px}.markup-tools{column-gap:10px}.markup-comments{grid-template-columns:1fr;grid-template-rows:minmax(160px,38vh) minmax(0,1fr)}.markup-thread{border-left:0;border-top:1px solid var(--line)}}.notfound{max-width:520px;margin:0 auto;padding:18vh 20px 40px;text-align:center}.notfound .title{font-size:28px;line-height:34px;margin:6px 0 10px}