@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Montserrat:wght@400;500;700&family=Ephesis&display=swap";:root{--ink:#1c1b1a;--white:#fff;--umber:#615542;--sand:#dbd5c4;--stone:#c2bba9;--veil-dark:#1c1b1a33;--veil-soft:#1c1b1a14;--paper:#fbfaf7;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Montserrat", -apple-system, sans-serif;--script:"Ephesis", cursive;--ease:.5s ease}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;font-weight:400;line-height:1.5}#root{min-height:100dvh}h1,h2,h3{margin:0 0 .5rem;font-weight:300}h1{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.02em;font-size:2.2rem;line-height:1.05}h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.01em;font-size:1.45rem;line-height:1.1}h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--ink);font-size:.72rem;font-weight:700}p{margin:0 0 .75rem}a{color:var(--umber)}.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--umber);margin-bottom:6px;font-size:.7rem;display:block}.script{font-family:var(--script);color:var(--umber);font-size:1.7rem;line-height:1}.container{max-width:920px;margin:0 auto;padding:24px 20px 80px}.topbar{z-index:30;background:var(--paper);border-bottom:1px solid var(--ink);align-items:center;gap:20px;min-height:56px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .brand{font-family:var(--serif);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);white-space:nowrap;align-items:center;font-size:1.15rem;text-decoration:none;display:flex}.topbar .brand img{width:auto;height:24px;display:block}.topbar .spacer{flex:1}.topbar nav{gap:4px;display:flex;overflow-x:auto}.topbar nav a{text-transform:uppercase;letter-spacing:.12em;color:var(--ink);transition:border-color var(--ease), color var(--ease);white-space:nowrap;border-bottom:2px solid #0000;padding:19px 12px 17px;font-size:.7rem;text-decoration:none}.topbar nav a.active{border-bottom-color:var(--umber);color:var(--umber)}.topbar nav a:hover{color:var(--umber)}.badge{vertical-align:1px;background:var(--umber);min-width:16px;height:16px;color:var(--white);letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;margin-left:6px;padding:0 4px;font-size:.6rem;font-weight:700;display:inline-flex}@media (width<=640px){.topbar{flex-wrap:wrap;gap:6px;min-height:0;padding:10px 14px}.topbar .brand{font-size:1rem}.topbar button{white-space:nowrap;min-height:0;padding:6px 10px}.topbar nav{order:3;justify-content:center;width:100%}.topbar nav a{padding:8px 10px 6px}}.card{background:var(--white);border:1px solid var(--veil-dark);border-radius:0;margin-bottom:18px;padding:22px}.card.tight{padding:14px 16px}.card.sand{background:var(--sand);border-color:#0000}.stack>*+*{margin-top:10px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row .grow{flex:1}.muted{color:#1c1b1a9e;font-size:.86rem}.small{font-size:.78rem}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.rule{border:none;border-top:1px solid var(--veil-dark);margin:16px 0}button,.btn{appearance:none;font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border:1px solid var(--ink);cursor:pointer;min-height:40px;transition:background var(--ease), color var(--ease), border-color var(--ease);background:0 0;border-radius:0;padding:11px 20px;font-size:.7rem;font-weight:400}button:hover,.btn:hover{background:var(--ink);color:var(--white)}button:disabled{opacity:.4;cursor:default;color:var(--ink);background:0 0}button.primary,.btn.primary{background:var(--ink);color:var(--white)}button.primary:hover{color:var(--ink);background:0 0}button.accent{background:var(--umber);border-color:var(--umber);color:var(--white)}button.accent:hover{color:var(--umber);background:0 0}button.ghost{color:var(--umber);text-underline-offset:4px;border-color:#0000;min-height:0;padding:6px 8px;text-decoration:underline;text-decoration-thickness:1px}button.ghost:hover{color:var(--ink);background:0 0}button.sm{min-height:0;padding:7px 12px;font-size:.64rem}input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=number],textarea,select{border:1px solid var(--veil-dark);background:var(--white);width:100%;color:var(--ink);font-size:.95rem;font-family:var(--sans);transition:border-color var(--ease);border-radius:0;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--ink);outline:none}textarea{resize:vertical;min-height:84px}label.field{margin-bottom:12px;display:block}label.field>span{text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;font-size:.66rem;font-weight:700;display:block}.chip{border:1px solid var(--veil-dark);text-transform:uppercase;letter-spacing:.12em;color:#1c1b1a9e;white-space:nowrap;background:0 0;border-radius:0;padding:3px 10px;font-size:.62rem;font-weight:700;display:inline-block}.chip.open,.chip.sent{border-color:var(--umber);color:var(--umber)}.chip.approved,.chip.done,.chip.paid{background:var(--ink);border-color:var(--ink);color:var(--white)}.chip.doing{background:var(--sand);border-color:var(--sand);color:var(--ink)}.chip.draft{border-style:dashed}.chip.overdue{background:var(--umber);border-color:var(--umber);color:var(--white)}.error{background:var(--white);color:var(--umber);border:1px solid var(--umber);border-radius:0;padding:10px 12px;font-size:.85rem}.notice{background:var(--sand);color:var(--ink);border:none;border-radius:0;padding:12px 14px;font-size:.85rem}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--veil-soft);align-items:flex-start;gap:14px;padding:13px 0;display:flex}.timeline li:last-child{border-bottom:none}.timeline .dot{border:1px solid var(--veil-dark);background:var(--white);width:20px;height:20px;color:var(--white);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:11px;display:flex}.timeline .dot.done{background:var(--ink);border-color:var(--ink)}.timeline .dot.doing{background:var(--umber);border-color:var(--umber)}.timeline .title{font-size:.95rem;font-weight:500}.timeline .done .title{color:#1c1b1a73;text-decoration:line-through}.dropzone{border:1px dashed var(--veil-dark);text-align:center;color:#1c1b1a8c;text-transform:uppercase;letter-spacing:.12em;background:var(--white);cursor:pointer;transition:border-color var(--ease), background var(--ease);border-radius:0;padding:26px;font-size:.7rem}.dropzone.drag{border-color:var(--umber);background:var(--sand);color:var(--umber)}.filelist{margin:0;padding:0;list-style:none}.filelist li{border-bottom:1px solid var(--veil-soft);align-items:center;gap:10px;padding:10px 0;display:flex}.filelist li:last-child{border-bottom:none}.thread{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.bubble{background:var(--white);border:1px solid var(--veil-dark);white-space:pre-wrap;word-break:break-word;border-radius:0;max-width:85%;padding:10px 14px;font-size:.92rem}.bubble.mine{background:var(--ink);color:var(--white);border-color:var(--ink);align-self:flex-end}.bubble .meta{text-transform:uppercase;letter-spacing:.1em;opacity:.55;margin-top:5px;font-size:.62rem}.tabs{border-bottom:1px solid var(--veil-dark);gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs button{letter-spacing:.12em;color:#1c1b1a80;white-space:nowrap;min-height:0;transition:color var(--ease), border-color var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:11px 13px;font-size:.66rem;font-weight:700}.tabs button:hover{color:var(--ink);background:0 0}.tabs button.active{color:var(--ink);border-bottom-color:var(--umber)}.ledger{margin:0;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--veil-soft);align-items:baseline;gap:12px;padding:13px 0;display:flex}.ledger li:last-child{border-bottom:none}.ledger .what{flex:1;min-width:0;font-size:.95rem}.ledger .who{text-transform:uppercase;letter-spacing:.1em;color:#1c1b1a8c;font-size:.7rem}.ledger .amount{font-family:var(--serif);font-size:1.25rem}.reviewer{flex-direction:column;height:100dvh;display:flex}.reviewer-bar{background:var(--ink);color:var(--white);z-index:40;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.reviewer-bar .title{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;font-size:1rem}.reviewer-bar .sub{text-transform:uppercase;letter-spacing:.12em;opacity:.65;width:100%;font-size:.62rem}.reviewer-bar button{color:var(--white);border-color:#fff6}.reviewer-bar button:hover{background:var(--white);color:var(--ink)}.reviewer-frame-wrap{background:var(--white);flex:1;position:relative}.reviewer-frame-wrap iframe{border:none;width:100%;height:100%;display:block}.mode-banner{background:var(--umber);color:var(--white);text-transform:uppercase;letter-spacing:.12em;z-index:10;pointer-events:none;white-space:nowrap;border-radius:0;padding:7px 16px;font-size:.66rem;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%)}.overlay{z-index:100;background:#1c1b1a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border:1px solid var(--ink);border-radius:0;width:100%;max-width:520px;max-height:85dvh;padding:22px;overflow-y:auto}@media (width>=600px){.overlay{align-items:center}}.pinlist{margin:0;padding:0;list-style:none}.pinlist li{border-bottom:1px solid var(--veil-soft);padding:12px 0}.pinlist li:last-child{border-bottom:none}.pin-num{background:var(--umber);width:20px;height:20px;color:var(--white);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:8px;font-size:.66rem;font-weight:700;display:inline-flex}.grid2{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=700px){.grid2{grid-template-columns:1fr 1fr}}.list-item{border-bottom:1px solid var(--veil-soft);color:var(--ink);transition:background var(--ease);align-items:center;gap:12px;padding:14px 2px;text-decoration:none;display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:#dbd5c440}.list-item .grow{flex:1;min-width:0}.list-item .name{font-family:var(--serif);letter-spacing:.01em;font-size:1.15rem}.login-wrap{background:var(--sand);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-box{background:var(--paper);border:1px solid var(--ink);width:100%;max-width:400px;padding:34px 30px}.login-box h1{text-align:center;font-size:1.8rem}.login-box .script{text-align:center;margin-bottom:18px;display:block}.preview-banner{background:var(--umber);color:var(--white);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:10px;padding:8px 14px;font-size:.66rem;font-weight:700;display:flex}.preview-banner a{color:var(--white)}
