:root{--ink:#111a20;--ink2:#26333a;--text:#3f4b51;--muted:#69747a;--line:#d5d1c9;--paper:#fffefa;--canvas:#f2f0ea;--bronze:#9a7135;--bronze2:#765322;--green:#28624e;--danger:#9b3f38;font-family:Inter,Aptos,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button,a{transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}button:focus-visible,a:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}a{color:var(--bronze2);text-decoration:none}a:hover{color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:7px;color:var(--ink);font:500 clamp(30px,3vw,38px)/1.08 Georgia,serif;letter-spacing:-.035em}h2{color:var(--ink);font-size:16px;letter-spacing:-.012em}address{color:var(--muted);font-style:normal;line-height:1.6}::selection{background:#f2e8d5}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:5;height:100vh;display:flex;flex-direction:column;padding:25px 17px 18px;color:#dce1df;background:var(--ink);border-right:1px solid #253239}.brand{display:flex;align-items:center;gap:12px;padding:0 9px;color:#fff;font-size:16px}.brand>span:last-child{display:grid}.brand strong{font-weight:690}.brand small{margin-top:1px;color:#87949a;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:#f8f2e7;background:#26343b;border:1px solid #405057;border-radius:7px;font:18px Georgia,serif}.sidebar nav{display:grid;gap:3px;margin-top:38px}.nav-label{margin:17px 11px 7px;color:#68777e;font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.nav-label:first-child{margin-top:0}.sidebar nav a{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 11px;color:#aeb8bc;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:550}.sidebar nav a:hover{color:#fff;background:#1b282f}.sidebar nav a.active{color:#fff;background:#243239;border-color:#34444c;box-shadow:inset 2px 0 var(--bronze)}.nav-icon{width:18px;color:#7f8d93;font-size:15px;text-align:center}.sidebar nav a.active .nav-icon{color:#d4b375}.security-note{display:flex;gap:9px;align-items:flex-start;margin-top:auto;padding:13px 10px;background:#172329;border:1px solid #2b3940;border-radius:7px}.security-note>span{width:7px;height:7px;margin-top:5px;background:#6da98d;border-radius:50%;box-shadow:0 0 0 3px #6da98d22}.security-note p{display:grid;margin:0}.security-note strong{color:#cbd4d1;font-size:10px}.security-note small{color:#77868c;font-size:9px}.user{display:flex;gap:10px;align-items:center;margin-top:11px;padding:15px 7px 0;border-top:1px solid #2a383f;font-size:11px}.user strong{display:block;max-width:145px;overflow:hidden;color:#d9dfdc;text-overflow:ellipsis;white-space:nowrap}.user button{padding:2px 0;color:#7f8d93;background:none;border:0;font-size:10px;cursor:pointer}.avatar{width:31px;height:31px;display:grid;place-items:center;color:var(--ink);background:#d9c399;border-radius:50%;font:700 14px Georgia,serif}.mobile-header{display:none}.page{width:100%;max-width:1540px;margin:auto;padding:44px 48px 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:31px;padding-bottom:23px;border-bottom:1px solid #d9d5cd}.page-heading p:not(.eyebrow){max-width:620px;margin-bottom:0;color:var(--muted)}.eyebrow{margin-bottom:8px;color:var(--bronze2);font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.heading-actions,.actions,.modal-actions,.form-actions{display:flex;align-items:center;gap:9px}.button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;color:var(--ink2);background:var(--paper);border:1px solid #c9c6bf;border-radius:6px;box-shadow:0 1px 2px #111a200d;font-size:12px;font-weight:700;cursor:pointer}.button:hover{background:#fff;border-color:#9fa3a2}.button.primary{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 2px 3px #111a201f}.button.primary:hover{background:#26353d}.button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button.small{min-height:32px;padding:0 11px;font-size:11px}.button:disabled{opacity:.48;cursor:not-allowed}.icon-button{display:grid;place-items:center;color:inherit;background:transparent;border:0;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:24px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #111a200d;overflow:hidden}.metric{position:relative;min-height:126px;padding:23px 24px;background:transparent;border-right:1px solid #dedbd4}.metric:last-child{border:0}.metric:before{position:absolute;top:0;left:24px;width:28px;height:2px;content:"";background:#aeb6b8}.metric:nth-child(2):before{background:var(--bronze)}.metric:nth-child(3):before{background:var(--green)}.metric:nth-child(4):before{background:#b78642}.metric span{display:block;margin-bottom:22px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.metric strong{color:var(--ink);font:500 27px Georgia,serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.skeleton{background:linear-gradient(90deg,#eeece6,#faf9f5,#eeece6);background-size:200%;animation:pulse 1.3s infinite}@keyframes pulse{to{background-position:-200%}}.panel,.form-section{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #111a200d}.panel-heading{min-height:58px;display:flex;justify-content:space-between;align-items:center;padding:17px 21px;border-bottom:1px solid #dedbd4}.panel-heading h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:var(--muted);background:#f6f4ef;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}th,td{padding:14px 17px;border-bottom:1px solid #e5e2dc;white-space:nowrap}td{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}td strong{color:var(--ink)}tbody tr:hover{background:#faf8f3}tbody tr:last-child td{border:0}.status{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;border-radius:0;font-size:10px;font-weight:750}.status:before{width:6px;height:6px;content:"";background:currentColor;border-radius:50%}.status[data-status=Draft]{color:#6b7376}.status[data-status=Issued]{color:#936a2e}.status[data-status=Paid]{color:var(--green)}.status[data-status=Cancelled]{color:var(--danger)}.empty{padding:66px 24px;color:var(--muted);text-align:center}.empty:before{width:38px;height:1px;display:block;margin:0 auto 20px;content:"";background:var(--bronze)}.empty h3{margin-bottom:7px;font:500 20px Georgia,serif}.filters{display:flex;align-items:end;gap:12px;padding:17px 20px;background:#f8f6f1;border-bottom:1px solid #dedbd4;border-radius:8px 8px 0 0}.search{flex:1}.filters input,.filters select{min-width:150px}label{display:grid;gap:6px;color:var(--text);font-size:10px;font-weight:750;letter-spacing:.025em}input,select,textarea{width:100%;padding:9px 10px;color:var(--ink);background:#fff;border:1px solid #c8cac7;border-radius:5px;outline:none}input:hover,select:hover,textarea:hover{border-color:#a8aeac}input:focus,select:focus,textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px #9a71351c}textarea{line-height:1.5;resize:vertical}.helper,label small{margin:7px 0 0;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0}.actions{gap:12px}.actions button{padding:0;color:var(--bronze2);background:none;border:0;font-size:11px;font-weight:650;white-space:nowrap;cursor:pointer}.actions a{font-size:11px;font-weight:700}.actions .danger-link{color:var(--danger)}.loading-line,.load-more{margin:25px}.notice{padding:12px 14px;border-radius:6px}.notice.error{color:var(--danger);background:#f8ecea}.editor-grid{display:grid;grid-template-columns:minmax(560px,1fr) minmax(440px,.86fr);gap:30px;align-items:start}.editor{display:grid;gap:17px}.form-section{padding:23px}.form-section h2{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e2dc}.form-section>label+label{margin-top:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.section-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px;padding-bottom:12px;border-bottom:1px solid #e5e2dc}.section-title h2{margin:0;padding:0;border:0}.line-items{display:grid;gap:10px}.line{display:grid;grid-template-columns:2fr repeat(4,.62fr) 28px;gap:9px;align-items:end;padding:14px;background:#f8f6f1;border:1px solid #dedbd4;border-radius:6px}.remove{height:36px;color:var(--muted);font-size:19px}.preview{position:sticky;top:28px;padding:12px;background:#e9e6de;border:1px solid #d9d4ca;border-radius:8px}.paper{min-height:680px;padding:46px;background:#fff;border:1px solid #d5d5d2;box-shadow:0 18px 50px #18232a1a,0 2px 5px #18232a0d}.invoice-head{display:flex;justify-content:space-between;gap:26px;padding-bottom:25px;border-bottom:2px solid var(--ink)}.invoice-word{display:block;margin-bottom:27px;color:var(--ink);font:500 30px Georgia,serif;letter-spacing:.08em}.invoice-head h2{font:500 17px Georgia,serif}.invoice-head dl{display:grid;grid-template-columns:auto auto;gap:7px 21px;margin:0;font-size:10px}.invoice-head dt{color:var(--muted)}.invoice-head dd{margin:0;font-weight:700;text-align:right}.bill-to{padding:24px 0}.bill-to span,.preview-block span{display:block;margin-bottom:7px;color:var(--bronze2);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.bill-to strong{display:block;margin-bottom:4px}.preview-table th,.preview-table td{padding:9px 7px;font-size:9px;white-space:normal}.preview-table th{color:#fff;background:var(--ink)}.preview-table th:not(:first-child),.preview-table td:not(:first-child){text-align:right}.preview-table th:first-child{width:52%}.totals{width:245px;display:grid;margin:19px 0 23px auto}.totals span{display:flex;justify-content:space-between;padding:7px;border-bottom:1px solid #e5e2dc;font-size:10px}.totals .grand{padding-top:12px;border-bottom:2px solid var(--ink);font:500 16px Georgia,serif}.preview-block{margin-top:15px;padding-top:17px;border-top:1px solid #dedbd4;font-size:10px}.management-grid{display:grid;grid-template-columns:minmax(290px,.68fr) minmax(520px,1.32fr);gap:20px;align-items:start}.list-panel{overflow:hidden}.entity-row{width:100%;min-height:66px;display:flex;justify-content:space-between;align-items:center;padding:15px 19px;color:var(--text);background:var(--paper);border:0;border-bottom:1px solid #e3e0d9;text-align:left;cursor:pointer}.entity-row:hover{background:#f8f6f1;box-shadow:inset 2px 0 var(--bronze)}.entity-row strong{color:var(--ink);font-size:12px}.entity-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.entity-form,.settings-form{padding:23px}.entity-form .panel-heading{margin:-23px -23px 22px}.entity-form>.button{margin-top:19px}.settings-form{max-width:860px}.settings-form>label{margin-top:17px}.settings-form .form-actions{margin-top:22px}.secret-input{display:flex}.secret-input input{border-radius:5px 0 0 5px}.secret-input button{padding:0 12px;color:var(--bronze2);background:#f6f3ed;border:1px solid #c8cac7;border-left:0;border-radius:0 5px 5px 0;font-size:10px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0c1317ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(430px,100vw - 30px);padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px #00000047}.modal h2{font:500 22px Georgia,serif}.modal p{color:var(--muted);line-height:1.6}.modal-actions{justify-content:flex-end;margin-top:22px}@media(max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.page{padding:36px 30px 65px}.editor-grid{grid-template-columns:1fr}.preview{position:static}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #dedbd4}.line{grid-template-columns:repeat(4,1fr)}.line .description{grid-column:1/-1}.management-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:250px;transition:left .15s;box-shadow:20px 0 50px #0003}.nav-open .sidebar{left:0}.mobile-header{height:58px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:#fff;background:var(--ink)}.page{padding:27px 15px 50px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px;padding-bottom:19px}.metrics{grid-template-columns:1fr}.metric{min-height:105px;border-right:0;border-bottom:1px solid #dedbd4}.filters{align-items:stretch;flex-direction:column}.filters input,.filters select{min-width:0}.form-grid{grid-template-columns:1fr}.line{grid-template-columns:1fr 1fr}.paper{padding:27px 19px}.invoice-head{flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1}th,td{padding:12px 13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.unlock-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--canvas)}.unlock-card{width:min(440px,100%);padding:39px;background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:0 24px 70px #18232a1a}.unlock-brand{display:flex;align-items:center;gap:10px;margin-bottom:47px;color:var(--ink)}.unlock-brand span{width:32px;height:32px;display:grid;place-items:center;color:#f8f2e7;background:var(--ink);border-radius:6px;font:18px Georgia,serif}.unlock-brand strong{font-size:15px}.unlock-card h1{font-size:33px}.unlock-copy{margin-bottom:27px;color:var(--muted);line-height:1.6}.unlock-card form{display:grid;gap:16px}.unlock-card input{min-height:44px}.unlock-card .button{width:100%;min-height:44px;margin-top:2px}.unlock-error{margin:-4px 0 0;padding:10px 11px;color:var(--danger);background:#f8ecea;border:1px solid #ebcac6;border-radius:5px;font-size:11px}.unlock-security{margin:25px 0 0;padding-top:19px;color:var(--muted);border-top:1px solid #e5e2dc;font-size:10px;line-height:1.55;text-align:center}@media(max-width:520px){.unlock-page{padding:14px}.unlock-card{padding:29px 23px}.unlock-brand{margin-bottom:37px}}
