:root{--ink:#172c3c;--muted:#71808b;--line:#e1e8eb;--bg:#f5f7f9;--teal:#167264;--nav:#142c39}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",Arial,sans-serif;font-size:14px;line-height:1.6}a{color:var(--teal);text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.7px;margin-bottom:8px;line-height:1.4}h2{font-size:18px;line-height:1.4;margin-bottom:6px}h3{font-size:16px}p{color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--nav);color:#ecf5f4;padding:32px 20px;display:flex;flex-direction:column}.brand{color:white;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;letter-spacing:-.3px}.brand small{display:block;color:#9ab2bb;font-size:11px;letter-spacing:1px;font-weight:400;margin-top:4px}.brand-symbol{font-size:27px;background:#cff1de;color:#153d37;width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}.nav-label{font-size:10px;letter-spacing:2px;color:#7897a3;margin:45px 14px 13px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 14px;border-radius:7px;color:#b6c9cf;display:flex;align-items:center;gap:15px;font-size:14px}.sidebar nav a span{width:18px;font-size:20px;line-height:1;color:#86a8b2}.sidebar nav a.active,.sidebar nav a:hover{background:#27434e;color:white;text-decoration:none}.sidebar nav a.active{border-left:3px solid #a3e7c9;padding-left:11px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid #344b56;padding-top:20px;font-size:13px}.sidebar-bottom small{display:block;font-size:10px;color:#8fabba}.avatar{border-radius:50%;width:32px;height:32px;background:#3a5965;display:grid;place-items:center}.signout{border:0;background:none;color:#bfd4dc;font-size:23px}.workspace{margin-left:236px;padding:0 38px 50px;max-width:1800px}.topline{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:12px;color:#72838d;margin-bottom:33px}.topline b{margin:0 12px;color:#bec8cf}.private-badge{background:#e6f2ec;border:1px solid #d9e9e0;color:#386659;padding:4px 10px;border-radius:20px;font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading p{margin:0;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7f969c;margin-bottom:9px;font-weight:700}.button{border:1px solid #d6e0e4;background:white;color:#375360;border-radius:7px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.5;white-space:nowrap;font-weight:600}.button:hover{background:#eef3f4;text-decoration:none}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 3px 7px #183f3410}.button.primary:hover{background:#115c50}.button.danger{color:#a63535;border-color:#e5c7c7}.button.small{padding:6px 10px;font-size:12px}.button.wide{width:100%}.filterbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:24px}.filterbar label{flex:1;min-width:125px;font-size:11px;color:#667d86;gap:5px}.filterbar input,.filterbar select{height:36px;font-size:12px}.filterbar button{height:36px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:26px}.metrics article{border:1px solid var(--line);border-radius:10px;background:#fff;padding:23px 21px}.metrics article>span{display:flex;align-items:center;justify-content:space-between;color:#607680;font-size:12px;gap:8px}.metrics small{font-size:10px;border:1px solid #dbe4e7;padding:1px 6px;border-radius:4px;color:#91a1a9}.metrics strong{display:block;font-size:30px;letter-spacing:-1px;font-weight:650;margin:14px 0}.metrics p{font-size:10px;margin:0;display:flex;flex-wrap:wrap;gap:4px 10px}.metrics em{font-style:normal}.metrics article.highlight{background:#eaf4ee;border-color:#d5e7db}.metrics .highlight strong{color:#176752}.panel{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;overflow:hidden}.panel-head{padding:23px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.panel-head p{font-size:12px;margin:0}.panel-head a{font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:500;color:#7c8e98;background:#fbfcfd;padding:13px 20px;font-size:11px;white-space:nowrap}td{padding:17px 20px;border-top:1px solid #edf0f2;vertical-align:middle}td small{display:block;color:#81919a;font-size:11px;margin-top:4px}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.emphasis{color:var(--teal);font-weight:650}.empty{text-align:center;padding:55px 20px!important;color:#738995}.empty span{font-size:17px;color:#425d6c}.empty p{font-size:13px;margin:10px auto 20px;max-width:400px}.helper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.helper-grid a{padding:23px;border:1px solid var(--line);border-radius:9px;background:white}.helper-grid b{font-size:14px;color:#375464}.helper-grid p{font-size:12px;margin:8px 0 0}.onboarding{border:1px solid #d1e4d9;background:#eef7f1;padding:22px 25px;border-radius:9px;margin-bottom:22px;display:flex;align-items:center;gap:20px;justify-content:space-between}.onboarding p{margin:0;font-size:12px}.onboarding h2{font-size:17px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#4f6876;margin-bottom:0}input,select,textarea{border:1px solid #d7e1e6;border-radius:6px;padding:10px 12px;background:#fff;color:#233e4b;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #81bcb0;outline-offset:1px}textarea{min-height:105px;resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal)}input[type=file]{padding:10px;font-size:12px}input[type=password]{letter-spacing:1px}.form-panel{padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}.form-panel .actions{margin-top:25px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.actions form{display:inline-block;margin:0}.narrow{max-width:650px}.narrow label{margin-bottom:20px}.field-help{font-size:12px;color:#8b9aa2}.notice{border:1px solid #cbe5d3;background:#edf7ef;color:#37694b;padding:12px 17px;border-radius:7px;margin:16px 0}.notice.error{border-color:#efcece;background:#fff1f1;color:#9e3c3c}.guest{min-height:100vh;padding:70px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#e0ece9,transparent 60%)}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e0e8e9;border-radius:18px;padding:42px;box-shadow:0 15px 80px #263d4312}.login-card .brand-symbol{margin-bottom:23px}.login-card label{margin:17px 0}.login-card button{margin-top:10px}.login-card small{display:block;font-size:11px;color:#8a9b9f;margin-top:24px}.status{display:inline-block;border-radius:5px;background:#edf1f4;color:#788b95;font-size:11px;padding:3px 8px;white-space:nowrap}.status.green{background:#e4f3eb;color:#288362}.status.red{background:#fbecec;color:#b25555}.muted{color:var(--muted)}.badge-kind{font-size:11px;color:#297a68}.badge-kind.payable{color:#ad8150}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.profile-card{padding:26px}.profile-card h2{font-size:20px}.profile-card p{white-space:pre-line;overflow-wrap:anywhere;font-size:13px}.profile-images{display:flex;gap:20px;margin:15px 0}.profile-images img{max-width:130px;max-height:85px;object-fit:contain}.kvs{display:grid;grid-template-columns:160px 1fr;gap:14px;margin:0}.kvs dt{color:#8b9aa3}.kvs dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.detail-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.detail-columns .panel{padding:25px}.detail-columns form label{margin-bottom:15px}.document{background:white;max-width:850px;padding:50px;margin:25px auto;border:1px solid #dce4e8;box-shadow:0 5px 15px #20384908}.doc-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:35px}.doc-logo{max-width:150px;max-height:65px;object-fit:contain;margin-bottom:12px}.doc-top h1{font-size:34px;letter-spacing:2px;font-weight:500}.doc-top h2{font-size:20px}.doc-top p,.doc-address{white-space:pre-line;font-size:13px;line-height:1.8}.doc-meta{text-align:right;font-size:12px;white-space:nowrap}.doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}.doc-label{font-size:10px;color:#90a0aa;letter-spacing:1px;margin-bottom:8px}.document th{background:#18394a;color:white}.document td{font-size:12px;padding:15px 12px}.document td.desc{white-space:pre-line}.doc-total{text-align:right;font-size:23px;color:var(--teal);margin:24px 0}.bank{white-space:pre-line;font-size:12px;line-height:1.8;padding-top:20px;border-top:1px solid var(--line)}.doc-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.doc-stamp{width:125px;max-height:125px;object-fit:contain}.doc-footer{font-size:10px;text-align:center;color:#a1adb4;margin-top:35px}.warning{background:#fff9eb;border:1px solid #ecdfb8;border-radius:8px;padding:15px 20px;color:#8d7845;font-size:13px;margin-bottom:20px}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:8px}.tiny{font-size:11px}.error-page{padding:45px;margin:40px}.button[disabled]{opacity:.5;cursor:not-allowed}.wrap-text{max-width:300px;overflow-wrap:anywhere}.pre{white-space:pre-line}.details-upload{padding:24px}.details-upload summary{cursor:pointer;font-weight:600;font-size:16px}.details-upload[open] summary{margin-bottom:25px}.section-title{margin:20px 0 15px}.storage{font-size:28px;font-weight:600}.footer-note{font-size:12px;color:#8a9ca6;margin-top:15px}:focus-visible{outline:2px solid #5aaa96;outline-offset:3px}
@media(min-width:1600px){.workspace{padding-left:55px;padding-right:55px}.metrics strong{font-size:36px}}@media(max-width:1150px){.sidebar{width:210px;padding:25px 16px}.workspace{margin-left:210px;padding:0 24px 40px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics strong{font-size:28px}.helper-grid{grid-template-columns:1fr}.brand{font-size:16px}.brand small{font-size:10px}.detail-columns{grid-template-columns:1fr}}@media(max-width:750px){.sidebar{position:static;width:100%;padding:16px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px;margin-top:15px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:8px 12px}.sidebar nav a span{display:none}.sidebar nav a.active{border-left:0;padding-left:12px}.workspace{margin:0;padding:0 16px 30px}.topline{height:54px;margin-bottom:24px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.button{padding:9px 12px}.metrics{gap:10px}.metrics article{padding:17px}.metrics strong{font-size:25px}.metrics article>span{font-size:11px}.metrics p{font-size:10px}.form-grid,.cards,.doc-parties{grid-template-columns:1fr}.filterbar{gap:10px;padding:14px}.filterbar label{min-width:40%}.panel-head{padding:18px;align-items:flex-start}.onboarding{display:block}.onboarding .button{margin-top:15px}.document{padding:25px 20px;overflow:auto}.doc-top{display:block}.doc-meta{text-align:left;margin-top:20px}.kvs{grid-template-columns:100px 1fr}.login-card{padding:30px}.doc-stamp{max-width:90px}.form-panel{padding:20px}}@media print{.sidebar,.topline,.page-heading,.notice,.no-print,.filterbar{display:none!important}.workspace{margin:0;padding:0;background:white}.document{box-shadow:none;border:0;padding:10mm;margin:0;max-width:none}.document thead{display:table-header-group}.document tr{break-inside:avoid}.document .doc-bottom{break-inside:avoid}.doc-total{break-inside:avoid}body{background:white}a{color:inherit} @page{size:A4;margin:10mm}}
.tabs{margin-bottom:20px;flex-wrap:wrap}.sidebar nav a{padding-top:10px;padding-bottom:10px}.sidebar{overflow-y:auto}#stamp-stage{position:relative;max-width:850px;margin:20px auto;background:#edf1f3;line-height:0;touch-action:none}#pdf-page{width:100%;display:block}#stamp-overlay{position:absolute;cursor:move;touch-action:none;outline:1px dashed #167264;max-width:none}#stamp-overlay:focus{outline:2px solid #167264}#stamp-stage.loading{opacity:.4;pointer-events:none}
