:root{--ink:#12211f;--muted:#6d7773;--paper:#f4f1e9;--panel:#fffdf8;--line:#deddd6;--green:#0f5d4c;--mint:#dfeee8;--gold:#c89842;--red:#9f3b31;--navy:#102825;--shadow:0 18px 60px rgba(18,33,31,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a,button{transition:.18s ease}button{cursor:pointer}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;gap:18px;color:var(--muted)}.brand-mark{width:64px;height:64px;border:1px solid #91aa9f;border-radius:50%;display:grid;place-items:center;font:600 29px Georgia,serif;color:var(--green);margin:auto}.brand-mark.small{width:39px;height:39px;font-size:18px;margin:0}.wordmark{display:flex;align-items:center;gap:12px;letter-spacing:.13em}.wordmark span,.wordmark strong{display:block}.wordmark strong{font:600 17px Georgia,serif}.wordmark span{font-size:8px;color:#8ca099;margin-top:3px}.wordmark.light .brand-mark{border-color:#61877e;color:#fff}.wordmark.light span{color:#8eaaa3}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--navy);color:#edf4f1;padding:27px 20px 20px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:4px;margin-top:52px}.sidebar nav button{border:0;background:transparent;color:#9db1ab;border-radius:8px;padding:11px 13px;display:flex;align-items:center;gap:13px;text-align:left;font-size:13px}.sidebar nav button i{font-style:normal;font-size:17px;width:20px;text-align:center}.sidebar nav button.active,.sidebar nav button:hover{background:#1b3d38;color:#fff}.side-foot{margin-top:auto;padding-top:20px;border-top:1px solid #29443f;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.side-foot .avatar{width:34px;height:34px;background:#d5c199;color:#17332e;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.side-foot span,.side-foot strong{display:block}.side-foot strong{font-size:11px}.side-foot span{font-size:9px;color:#8fa49e;text-transform:uppercase;margin-top:3px}.side-foot button{background:none;border:0;color:#8fa49e;font-size:18px}.content{grid-column:2;padding:48px 5vw 80px;max-width:1500px;width:100%}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:.18em;color:#8b7d64;margin-bottom:10px}.auth-form h2,.modal h2,.page-title h1{font:500 38px/1.05 Georgia,Times New Roman,serif;margin:0}.auth-form>p,.page-title p{color:var(--muted);font-size:13px;margin:11px 0 0}.link-button,.primary,.row-actions button,.secondary,.text-button{border-radius:7px;border:1px solid transparent;padding:10px 15px;font-size:11px;font-weight:700}.primary{background:var(--green);color:white}.primary:hover{background:#0b4a3d}.secondary{background:transparent;color:var(--ink);border-color:#cbd0cb}.secondary:hover{border-color:#82958d}.primary b{margin-left:10px}.full{width:100%;padding:13px}.link-button{display:inline-block;text-decoration:none;text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-grid article{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:21px;min-height:138px}.metric-grid small,.metric-grid span{display:block;color:var(--muted);font-size:10px}.metric-grid strong{display:block;font:500 25px Georgia,serif;margin:21px 0 7px}.metric-grid i{position:absolute;right:17px;top:17px;font-style:normal;color:#87978f;border:1px solid #dbe0dc;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.metric-grid i.up{color:var(--green);background:var(--mint);border:0}.metric-grid i.down{color:#9b6034;background:#f3e8d9;border:0}.split{display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.panel-head{padding:22px 23px 16px;border-bottom:1px solid var(--line)}.panel h2{font:500 21px Georgia,serif;margin:0}.connection-list>div,.list>div{display:flex;align-items:center;gap:13px;padding:14px 22px;border-bottom:1px solid #eceae4}.connection-list>div:last-child,.list>div:last-child{border-bottom:0}.doc-icon{width:32px;height:32px;border-radius:7px;background:#e9efec;display:grid;place-items:center;color:var(--green)}.connection-list>div>div,.list>div>div:nth-child(2){flex:1 1}.connection-list small,.connection-list strong,.list span,.list strong{display:block}.connection-list strong,.list strong{font-size:12px}.connection-list small,.list span{font-size:10px;color:var(--muted);margin-top:4px}.connection-list b{font-size:10px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:#c8c4bc}.dot.live{background:#4a987c;box-shadow:0 0 0 4px #e6f0ec}.pill{display:inline-block;border-radius:99px;padding:5px 8px;font-style:normal;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:#ece9df;color:#7a704e}.pill.good{background:#dcece5;color:#27614e}.pill.bad{background:#f1dfdc;color:#8a342d}.pill.wait{background:#eee8d6;color:#786832}.table-panel{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;text-transform:uppercase;letter-spacing:.12em;color:#8a928e;font-size:8px;padding:13px 17px;background:#f9f7f2;border-bottom:1px solid var(--line)}td{padding:16px 17px;border-bottom:1px solid #e9e7e1;font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td small,td strong{display:block}td small{font-size:9px;color:var(--muted);margin-top:4px}.right{text-align:right}.amount{color:#853a32}.amount.positive{color:var(--green)}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions a,.row-actions button{padding:6px 8px;border:1px solid #d8d9d3;background:white;color:var(--green);border-radius:5px;text-decoration:none;font-size:9px;font-weight:700}.text-button{border:0;background:none;color:var(--green);padding:4px}.empty{text-align:center;padding:54px 24px;color:var(--muted);grid-column:1/-1}.empty>span{display:grid;place-items:center;margin:auto;width:36px;height:36px;border:1px solid #d0d3cd;border-radius:50%;font-size:19px;color:var(--green)}.empty h3{font:500 19px Georgia,serif;color:var(--ink);margin:13px 0 6px}.empty p{font-size:11px;margin:0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;grid-template-columns:43px 1fr;gap:15px}.contact-avatar{width:43px;height:43px;border-radius:50%;background:#e2ebe6;color:var(--green);display:grid;place-items:center;font:600 14px Georgia,serif}.contact-card h3{margin:0;font:500 18px Georgia,serif}.contact-card p{margin:6px 0 0;color:var(--muted);font-size:10px}.contact-card footer{grid-column:1/-1;border-top:1px solid #e8e6df;padding-top:13px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px}.import-strip,.safety-note{background:#e5eee9;border:1px solid #cdded6;border-radius:10px;padding:14px 17px;display:flex;gap:12px;align-items:center;margin-bottom:16px}.import-strip>div{margin-right:auto}.import-strip span,.import-strip strong,.safety-note b,.safety-note span{display:block}.import-strip span,.safety-note span{font-size:9px;color:var(--muted);margin-top:3px}.import-strip input,.import-strip select{max-width:190px}.safety-note{align-items:flex-start}.safety-note b{font-size:11px;min-width:155px}.suggest-list{margin-top:18px}.suggest-list h3{font:500 18px Georgia,serif}.suggest-list>div{display:grid;grid-template-columns:90px 1fr 130px 100px;gap:15px;align-items:center;border-top:1px solid var(--line);padding:12px;font-size:10px}.suggest-list em{text-align:right;font-style:normal}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-card{padding:28px}.report-card h2{font-size:30px}.report-card p{color:var(--muted);font-size:11px;line-height:1.6;max-width:440px}.report-card label{max-width:240px;margin:25px 0 16px}.lock-state{border:1px solid #d8d6cf;background:#f7f5f0;padding:14px;border-radius:7px;margin:25px 0 16px;color:#756e5a;font-size:11px}.lock-state.locked{background:#ecdfdc;color:#863a33}.role-key{display:flex;gap:22px;margin:-12px 0 19px;font-size:9px;color:var(--muted)}.role-key b{color:var(--ink);margin-right:4px}.modal-backdrop{position:fixed;inset:0;background:rgba(7,24,21,.56);display:grid;place-items:center;padding:20px;z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--panel);width:min(560px,100%);max-height:92vh;overflow:auto;border-radius:12px;box-shadow:var(--shadow);padding:25px}.modal.wide{width:min(860px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.modal h2{font-size:27px}.icon-button{background:none;border:0;font-size:22px;color:#7e8883}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.one{grid-template-columns:1fr}.form-grid .span{grid-column:1/-1}label,label>span{display:block}label>span{text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:800;color:#777f7a;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #cfd3ce;background:#fff;border-radius:6px;padding:10px 11px;color:var(--ink);font-size:11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#558777;box-shadow:0 0 0 3px rgba(15,93,76,.09)}.line-editor{margin-top:23px;border-top:1px solid var(--line);padding-top:17px}.line-head,.line-row{display:grid;grid-template-columns:1fr 70px 110px 75px 28px;gap:8px;align-items:center}.line-head{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:0 3px 7px}.line-row{margin-bottom:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.toast{position:fixed;right:28px;top:22px;z-index:30;padding:12px 16px;border-radius:7px;font-size:11px;box-shadow:var(--shadow);max-width:420px}.toast.success{background:#173b34;color:#fff}.toast.error{background:#8d3c34;color:#fff}.busy-line{position:fixed;z-index:100;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:busy 1s infinite}@keyframes busy{0%{transform:translateX(-60%)}to{transform:translateX(60%)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.auth-intro{background:var(--navy);color:#eef5f2;padding:44px 7vw;display:flex;flex-direction:column;justify-content:space-between}.auth-intro h1{font:500 clamp(43px,5vw,70px)/1.03 Georgia,serif;max-width:720px;margin:14px 0 24px}.auth-intro p{max-width:590px;color:#afc1bb;font-size:14px;line-height:1.75}.auth-intro footer{font-size:9px;color:#78938b;letter-spacing:.08em}.auth-card{background:var(--paper);display:grid;place-items:center;padding:40px}.auth-form{width:min(390px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:38px;box-shadow:var(--shadow)}.auth-form h2{font-size:31px}.auth-form form{display:grid;gap:17px;margin-top:28px}.form-error{color:var(--red);background:#f5e4e1;border-radius:5px;padding:9px;font-size:10px;margin:0}@media(max-width:1050px){.contact-grid,.metric-grid{grid-template-columns:1fr 1fr}.import-strip{flex-wrap:wrap}.import-strip>div{width:100%}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:auto;padding:16px}.sidebar nav{display:flex;overflow:auto;margin-top:18px}.sidebar nav button{white-space:nowrap}.side-foot{display:none}.content{padding:30px 16px 70px}.page-title{align-items:flex-start;flex-direction:column}.page-title h1{font-size:32px}.auth-page,.contact-grid,.metric-grid,.report-grid,.split{grid-template-columns:1fr}.auth-intro{min-height:44vh;padding:28px}.auth-intro h1{font-size:38px}.auth-card{padding:24px}.form-grid{grid-template-columns:1fr}.form-grid .span{grid-column:auto}.line-head{display:none}.line-row{grid-template-columns:1fr 65px}.line-row input:first-child{grid-column:1/-1}.role-key{flex-wrap:wrap}.suggest-list>div{grid-template-columns:1fr 1fr}.table-panel{margin-right:-16px;border-radius:10px 0 0 10px}}