:root{--gold: #C9A227;--gold-bright: #E6C34A;--gold-deep: #9E7B16;--ink: #0E0E0E;--ink-2: #16161A;--ink-3: #1F1F26;--paper: #FBF8F0;--line: #2A2A2A;--text: #EDE8DA;--muted: #9A958A;--danger: #E06A5A;--ok: #7fcf97;--font-head: Georgia, "Times New Roman", serif;--font-body: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--gold);text-decoration:none}.shell{display:flex;flex-direction:column;min-height:100dvh}.topnav{position:sticky;top:0;z-index:100;height:60px;display:flex;align-items:center;gap:22px;padding:0 22px;background:var(--ink-2);border-bottom:1px solid var(--line)}.topnav:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright),var(--gold-deep))}.topnav-logo{display:flex;align-items:center;flex-shrink:0}.topnav-logo img{height:30px;width:auto}.topnav-links{display:flex;align-items:center;gap:4px;flex:1}.topnav-link{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-radius:6px;text-decoration:none;position:relative;transition:color .15s,background .15s}.topnav-link:hover{color:var(--text);background:var(--ink-3)}.topnav-link--active{color:var(--gold)}.topnav-link--active:after{content:"";display:block;height:2px;background:var(--gold);position:absolute;left:12px;right:12px;bottom:2px;border-radius:1px}.topnav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-btn{width:38px;height:38px;border-radius:999px;background:none;border:1px solid var(--line);color:var(--muted);font-size:15px;cursor:pointer}.icon-btn:hover{color:var(--gold);border-color:var(--gold-deep)}.topnav-signout{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer}.topnav-signout:hover{color:var(--text);border-color:var(--border-strong, #444)}.topnav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto;min-height:44px;min-width:44px}.topnav-hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px;transition:transform .25s,opacity .25s}.topnav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.topnav-hamburger.open span:nth-child(2){opacity:0}.topnav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:150}.drawer{position:fixed;top:0;right:0;bottom:0;width:78%;max-width:300px;z-index:160;background:var(--ink-2);border-left:1px solid var(--line);padding:72px 14px 20px;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;gap:4px}.drawer.open{transform:translate(0)}.drawer-nav{display:flex;flex-direction:column;gap:4px}.drawer-link{display:block;text-align:left;width:100%;background:none;border:none;color:var(--text);font-size:16px;padding:14px 12px;border-radius:8px;text-decoration:none;cursor:pointer;min-height:48px}.drawer-link:hover{background:var(--ink-3)}.drawer-link.active{color:var(--gold);background:var(--ink-3)}.drawer-link.signout{color:var(--muted)}.drawer-divider{height:1px;background:var(--line);margin:8px 4px}.content{flex:1;width:100%;max-width:760px;margin:0 auto;padding:22px 16px 48px}@media(max-width:767px){.topnav-links,.topnav-actions{display:none}.topnav-hamburger{display:flex}.topnav{gap:12px;padding:0 16px}}h1{font-family:var(--font-head);font-weight:700;letter-spacing:.5px;font-size:24px;margin:4px 0 2px}.eyebrow{letter-spacing:3px;font-size:11px;color:var(--gold);text-transform:uppercase}.sub{color:var(--muted);margin:0 0 18px;font-size:14px}.list{display:flex;flex-direction:column;gap:10px}.item{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.item h3{margin:0 0 3px;font-size:16px;font-weight:500}.item .meta{color:var(--muted);font-size:13px}.badge{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--gold-deep);color:var(--gold);white-space:nowrap}.badge.ok{border-color:#3c7d52;color:var(--ok)}.empty{color:var(--muted);text-align:center;padding:40px 10px;border:1px dashed var(--line);border-radius:var(--radius)}form.card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:20px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;background:var(--ink-3);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px;font-size:16px;min-height:46px;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-deep)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;min-height:0}button.btn{width:100%;background:var(--gold);color:#1a1500;border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:600;min-height:50px;cursor:pointer}button.btn:active{background:var(--gold-deep)}button.btn.secondary{background:transparent;color:var(--gold);border:1px solid var(--gold-deep)}button.ghost{background:none;border:none;color:var(--gold);font-size:14px;cursor:pointer;padding:8px;min-height:40px}.error{color:var(--danger);font-size:14px;margin:8px 0}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px}.login-card .logo{display:flex;justify-content:center;margin-bottom:8px}.login-card .logo img{height:56px}.progress{margin:6px 0 2px}.progress-bar{height:8px;background:var(--ink-3);border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--gold);border-radius:999px;transition:width .4s ease}.progress-label{font-size:12px;color:var(--muted);margin-top:6px}.step{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;color:var(--text);cursor:pointer;min-height:64px}.step:disabled{cursor:default;opacity:.55}.step.done{border-color:#3c7d52}.step-check{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--ink-3);color:var(--muted);border:1px solid var(--line)}.step.done .step-check{background:#214a30;color:var(--ok);border-color:#3c7d52}.step-text{flex:1;display:flex;flex-direction:column;gap:2px}.step-title{font-size:15px;font-weight:500}.step-title em{color:var(--muted);font-style:normal;font-size:12px}.step-blurb{font-size:13px;color:var(--muted)}.step-go{color:var(--gold);font-size:22px;line-height:1}.back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:8px}.item.link{text-decoration:none;color:var(--text)}.item.link:active{border-color:var(--gold-deep)}.badge.warn{border-color:#7d6a3c;color:#d8bd6f}.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.section-head h2{font-family:var(--font-head);font-size:19px;margin:0;color:var(--text)}.share-pct{font-family:var(--font-head);font-size:18px;color:var(--gold);white-space:nowrap}.warnline{color:#d8bd6f;font-size:13px;margin-top:10px}.hint{color:var(--muted);font-size:12px;margin-top:5px}.share-row{display:grid;grid-template-columns:1fr 92px 40px;gap:8px;align-items:center;margin-bottom:10px}.share-row select,.share-row input{min-height:46px;background:var(--ink-3);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px;font-size:16px;width:100%}.share-row .rm{background:none;border:1px solid var(--line);color:var(--muted);border-radius:10px;height:46px;font-size:20px;cursor:pointer}.total-line{margin:10px 0 14px;font-size:15px;font-weight:500;padding:10px 12px;border-radius:10px;background:var(--ink-3)}.total-line.ok{color:var(--ok);border:1px solid #3c7d52}.total-line.warn{color:#d8bd6f;border:1px solid #7d6a3c}.exp-right{display:flex;align-items:center;gap:10px;flex:none}.rm.sm{width:32px;height:32px;font-size:16px;line-height:1;padding:0}.item h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runs-h2{font-family:var(--font-head);font-size:19px;margin:22px 0 10px;color:var(--text)}.run-totals{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-top:14px}.run-totals>div{display:flex;justify-content:space-between;padding:6px 0;font-size:15px;color:var(--muted)}.run-totals>div b{color:var(--text)}.run-totals .grand{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;font-size:17px}.run-totals .grand span,.run-totals .grand b{color:var(--gold);font-weight:600}.warnbox{background:#241f14;border:1px solid #7d6a3c;border-radius:var(--radius);padding:10px 14px;margin:12px 0}.invoice-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.invoice-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;min-height:64px}.invoice-lines{padding:4px 16px 14px;border-top:1px solid var(--line)}.iline{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;color:var(--muted)}.iline-desc{flex:1}.iline-amt{color:var(--text);white-space:nowrap}.iline.sub{border-top:1px dashed var(--line);color:var(--muted)}.iline.sub div:last-child{color:var(--text)}.iline.grand{border-top:1px solid var(--line);color:var(--gold);font-weight:600;font-size:15px}.iline.grand div{color:var(--gold)}.btn.sm,.btn.secondary.sm{width:auto;padding:8px 14px;min-height:40px;font-size:14px}.saved{color:var(--ok);font-size:14px;margin:8px 0}.logo-row{display:flex;align-items:center;gap:14px}.logo-prev{height:54px;max-width:150px;object-fit:contain;background:var(--ink-3);border:1px solid var(--line);border-radius:10px;padding:6px}.empty-logo{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;width:90px}textarea{resize:vertical}.group-label{display:block;font-size:13px;color:var(--gold);margin:16px 0 8px;letter-spacing:.5px}.split-box{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px;background:var(--ink-3)}.tag-override{display:inline-block;margin-left:8px;font-size:11px;color:var(--gold);border:1px solid var(--gold-deep);border-radius:999px;padding:1px 8px}.oo-line{margin-bottom:12px}.oo-line>input{width:100%;background:var(--ink-3);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px;font-size:16px;min-height:46px;margin-bottom:6px}.oo-line-2{display:grid;grid-template-columns:1fr auto 40px;gap:8px;align-items:center}.oo-line-2 input[type=number]{background:var(--ink-3);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px;font-size:16px;min-height:46px;width:100%}.vat-chk{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--muted);white-space:nowrap}.vat-chk input{width:18px;height:18px}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100}.tour-ring{position:fixed;border:2px solid var(--gold);border-radius:12px;box-shadow:0 0 0 9999px #0009;pointer-events:none;transition:all .25s ease}.tour-card{position:fixed;background:var(--ink-2);border:1px solid var(--gold-deep);border-radius:var(--radius);padding:16px;z-index:101;max-width:520px;margin:0 auto}.tour-card h3{margin:4px 0 6px;font-family:var(--font-head);color:var(--gold);font-size:17px}.tour-card p{margin:0 0 14px;font-size:14px;color:var(--text);line-height:1.5}.tour-step-no{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.tour-actions{display:flex;align-items:center;justify-content:space-between}.tour-btn{width:auto;padding:10px 18px;min-height:44px}@media(min-width:720px){h1{font-size:28px}.topbar img{height:34px}}
