:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#14283e;background:#edf2f7;font-synthesis:none;--navy:#0c2239;--green:#087c4d;--line:#dbe4ee;--muted:#5b6d80}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid #cddae5;background:#fff;color:#24425b;border-radius:8px;padding:9px 14px;font-weight:600;white-space:nowrap}button:hover{background:#f1f6f8;border-color:#93afbf}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:#06653e}button.danger{color:#b03235;border-color:#eccacc}button.small{padding:6px 10px;font-size:12px}button:disabled{opacity:.5;cursor:default}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{border:1px solid #c8d6e3;border-radius:7px;padding:10px 12px;background:white;color:#14283e;min-width:0}input:focus,textarea:focus,select:focus{border-color:var(--green)}textarea{resize:vertical;min-height:90px}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;cursor:pointer}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}label.check{flex-direction:row;align-items:center;font-size:14px}.topbar{height:72px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:fixed;inset:0 0 auto;z-index:20;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;font-size:23px;font-weight:800;color:white;letter-spacing:-.8px}.brand:hover{text-decoration:none}.brand span{color:#63d19c}.brand i{height:24px;width:2px;background:#25b678;margin:0 13px}.brand strong{font-size:17px;letter-spacing:-.3px;font-weight:600}.top-right{display:flex;align-items:center;gap:8px}.local-label{font-size:11px;color:#a1c4ba;margin-right:12px}.quiet{background:transparent;border-color:#ffffff30;color:#e6eff6;font-size:12px}.quiet:hover{background:#ffffff12;color:#fff}.sidebar{position:fixed;left:0;top:72px;bottom:0;width:230px;background:linear-gradient(150deg,#102b46,#081a2d);color:#dce7ef;padding:30px 14px;display:flex;flex-direction:column}.sidebar-label{font-size:9px;letter-spacing:1.4px;color:#7e9aaf;padding:0 12px;margin-bottom:20px}nav{display:grid;gap:8px}nav a{color:#c9d7e4;padding:13px 12px;border-radius:8px;display:flex;align-items:center;font-weight:500;font-size:13px}nav a:hover{text-decoration:none;background:#ffffff0b}nav a.active{background:linear-gradient(90deg,#138c5d,#096640);color:white;box-shadow:0 5px 14px #0002}nav a span{font-size:21px;line-height:20px;width:31px}nav b{font-size:10px;background:#ffffff20;border-radius:12px;padding:3px 6px;margin-left:auto}nav b:empty{display:none}.side-bottom{margin-top:auto;padding:20px 12px 0}.leaf{width:35px;height:35px;border-radius:10px;background:#1e9e6920;color:#65d6a0;font-size:26px;text-align:center;margin-bottom:16px}.side-bottom strong{font-size:12px}.side-bottom p{font-size:12px;color:#8da6bb;line-height:1.6}.side-bottom>span{display:block;font-size:10px;color:#6e899f;margin-top:24px}main{margin:72px 0 0 230px;padding:34px 36px;max-width:2000px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}h1{font-size:27px;margin:4px 0 8px;letter-spacing:-.8px;line-height:1.25}h2{font-size:16px;margin:0;letter-spacing:-.2px}h3{font-size:14px;margin:0 0 14px}p{line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--green);text-transform:uppercase}.subtitle{color:var(--muted);margin:0;font-size:13px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 4px #15395404;padding:19px 20px;display:flex;align-items:center;gap:15px;min-height:95px}.stat .stat-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--green);background:#edf8f2;border-radius:10px;font-size:23px}.stat .value{display:block;font-size:26px;font-weight:750;letter-spacing:-.7px;margin-top:5px}.stat .value.money{font-size:22px}.stat .label{color:var(--muted);font-size:12px}.stat small{color:var(--muted);font-size:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 5px #15395404;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:19px 21px;border-bottom:1px solid #e7edf3}.panel-head .count{font-size:11px;background:#edf4f8;border-radius:20px;padding:4px 10px;color:#547086}.panel-body{padding:21px}.filters{display:flex;gap:10px;align-items:center;padding:18px 20px;background:#fff;flex-wrap:wrap}.filters input[type=search]{flex:1;min-width:190px}.filters select{font-size:12px;padding:10px;max-width:230px}.table-scroll{overflow:auto;max-height:calc(100vh - 430px);min-height:180px;scrollbar-width:auto;scrollbar-color:#6e91a8 #e9eff4}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:#e8eef3;border-radius:10px}::-webkit-scrollbar-thumb{background:#7897ac;border:3px solid #e8eef3;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#edf3f8;color:#51687c;text-align:left;font-weight:600;font-size:11px;position:sticky;top:0;z-index:2;white-space:nowrap}th,td{padding:15px 14px;border-bottom:1px solid #e6edf3}td{vertical-align:middle}tbody tr:hover{background:#f7fafb}tbody tr.selected{background:#edf8f2}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.client-name{font-weight:650;color:#172f46;display:block;max-width:310px;line-height:1.5}.client-code{display:block;font-size:10px;color:#748797;margin-top:3px}.link-button{border:0;padding:0;color:var(--green);background:transparent;text-align:left;font-weight:600;white-space:normal}.link-button:hover{background:transparent;text-decoration:underline}.muted{color:var(--muted)}.caption{font-size:11px;color:var(--muted);padding:13px 20px;background:#fafcfe;border-top:1px solid var(--line)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;border-radius:5px;background:#edf3f7;color:#536d82;padding:5px 8px;white-space:nowrap;font-weight:600}.chip.green{background:#dff3e7;color:#11663c}.chip.orange{background:#fff0db;color:#945708}.chip.red{background:#fde8e8;color:#a22d35}.empty{text-align:center;padding:45px 22px;color:var(--muted)}.empty h2{color:#203e55;margin:15px 0 10px}.empty .empty-icon{font-size:38px;color:#16865a}.empty p{max-width:580px;margin:12px auto 22px}.welcome{padding:48px 30px}.welcome-steps{display:flex;justify-content:center;gap:28px;margin-top:30px;font-size:12px}.welcome-steps b{background:#edf7f1;color:#147b50;border-radius:50%;padding:5px 8px;margin-right:7px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.field-note{font-size:11px;color:var(--muted);font-weight:400}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--muted);padding:12px 5px}.tabs button.active{border-bottom-color:var(--green);color:#0b7347}.history-table .description{max-width:460px;white-space:pre-wrap;line-height:1.55}.contact-card{border:1px solid var(--line);padding:16px;border-radius:9px;margin-bottom:12px}.contact-card:last-child{margin-bottom:0}.contact-card p{font-size:12px;margin:7px 0;color:var(--muted)}.contact-card .button-row{margin-top:12px}.material-list{display:flex;gap:8px;flex-wrap:wrap}.month-bars{display:flex;align-items:flex-end;gap:8px;height:110px;margin:24px 0 3px}.month-bar{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.month-bar i{display:block;background:#31966e;border-radius:4px 4px 0 0;min-height:2px}.month-bar span{font-size:9px;color:var(--muted)}.month-bar b{font-size:9px;font-weight:500;color:#4b687b}.note{padding:13px 16px;background:#f0f6fa;color:#46647a;border-radius:8px;font-size:12px;line-height:1.6;margin:16px 0}.note.warning{background:#fff5e5;color:#855921}.opportunity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding:20px}.opportunity-card{border:1px solid var(--line);border-top:3px solid #31966e;border-radius:9px;padding:19px}.opportunity-card h3{font-size:15px;margin:13px 0 8px}.opportunity-card p{font-size:12px;color:var(--muted);margin:7px 0}.opportunity-value{font-size:22px;font-weight:700;margin:18px 0}.overdue{color:#a63237;font-weight:600}.activity-list{padding:0;list-style:none;margin:0}.activity-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.activity-list li:first-child{padding-top:0}.activity-list small{color:var(--muted);display:block}.action-state{display:flex;gap:5px}.notice-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#e1f0e9;border:1px solid #c5e3d4;border-radius:9px;padding:13px 17px;margin-bottom:18px;font-size:12px;color:#226247}.list-footer{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}dialog{border:1px solid #cddce6;border-radius:14px;padding:0;width:min(720px,calc(100vw - 36px));max-height:90vh;box-shadow:0 20px 70px #071f3d44;color:#14283e}dialog::backdrop{background:#081d34a8;backdrop-filter:blur(3px)}.modal-head{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head button{border:0;font-size:20px;padding:0 6px}.modal-body{padding:24px 25px;max-height:65vh;overflow:auto}.modal-foot{padding:17px 25px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:#fafcfe}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border-radius:9px;padding:13px 20px;background:#103b2c;color:white;box-shadow:0 4px 20px #001b2440;z-index:100;display:none;max-width:90vw;font-size:13px}#toast.error{background:#832e35}.mobile-only{display:none}.print-only{display:none}
@media(min-width:1550px){main{padding:40px 50px}.table-scroll{max-height:calc(100vh - 450px)}}@media(max-width:1100px){.sidebar{width:195px}.sidebar-label{font-size:8px}main{margin-left:195px;padding:26px 22px}.stat{padding:15px;gap:9px}.stat .value{font-size:23px}.stat .value.money{font-size:18px}.stat-icon{display:none!important}.detail-grid{grid-template-columns:1fr}.stats{gap:10px}.local-label{display:none}}@media(max-width:750px){.topbar{height:62px;padding:0 15px}.brand{font-size:20px}.brand strong{font-size:14px}.top-right{gap:4px}.top-right button{font-size:10px;padding:7px}.sidebar{top:62px;bottom:auto;width:100%;height:58px;padding:6px 8px;z-index:18}.sidebar-label,.side-bottom{display:none}nav{display:flex;gap:4px;justify-content:space-between}nav a{padding:9px 6px;font-size:10px;justify-content:center;flex:1;white-space:nowrap}nav a span{font-size:16px;width:22px}nav b{display:none}main{margin:120px 0 0;padding:22px 14px}.page-heading{align-items:flex-start;flex-wrap:wrap}h1{font-size:23px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:85px}.stat .value.money{font-size:20px}.filters{padding:14px;gap:8px}.filters select{flex:1;max-width:none;width:120px}.table-scroll{max-height:60vh}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.welcome{padding:25px 18px}.welcome-steps{flex-direction:column;gap:18px}.panel-head,.panel-body{padding:16px}.modal-body{padding:20px}.opportunity-grid{padding:14px}.topbar .brand i{margin:0 7px}.notice-bar{align-items:flex-start}.page-heading .button-row{width:100%}.history-table .description{min-width:240px}.list-footer{gap:12px;flex-wrap:wrap}}
@media print{.topbar,.sidebar,.filters,.button-row,button,.tabs,.notice-bar{display:none!important}main{margin:0;padding:0}.table-scroll{max-height:none;overflow:visible}.panel{box-shadow:none;break-inside:avoid}.stats{grid-template-columns:repeat(4,1fr)}body{background:white}.detail-grid{display:block}.panel{margin-bottom:15px}th{position:static}.print-only{display:block}}
