:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f5f7fb}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#2563eb;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:248px;background:#0f172a;color:#cbd5e1;position:fixed;inset:0 auto 0 0;padding:22px 14px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-icon{width:40px;height:40px;border-radius:12px;background:#2563eb;display:grid;place-items:center;color:#fff}.brand-icon.large{width:52px;height:52px;border-radius:15px}.brand b{display:block;color:#fff;font-size:14px}.brand span,.user span{display:block;font-size:11px;color:#64748b;margin-top:2px}nav{display:flex;flex-direction:column;gap:6px;height:100%}nav button{border:0;background:transparent;color:#94a3b8;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;text-align:left}nav button svg{width:19px}nav button.active,nav button:hover:not(:disabled){background:#1e293b;color:#fff}nav button:disabled{opacity:.4;cursor:not-allowed}.nav-spacer{flex:1}.user{display:flex;gap:10px;align-items:center;border-top:1px solid #1e293b;padding:18px 8px 0}.user b{font-size:10px;color:#fff;max-width:135px;overflow:hidden;text-overflow:ellipsis;display:block}.user-text{min-width:0;flex:1}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#334155;color:#fff;font-size:11px;flex:0 0 auto}.logout{border:0;background:transparent;color:#64748b;padding:5px}.logout:hover{color:#fff}main{margin-left:248px;width:calc(100% - 248px)}.content{padding:38px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.page-head h1,.hero h1{margin:0;font-size:26px;letter-spacing:-.5px}.page-head p,.hero p,.panel-head p{color:#64748b;margin:6px 0 0;font-size:13px}.primary,.secondary,.ghost{border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;padding:10px 14px}.primary{background:#2563eb;color:#fff}.primary:hover{background:#1d4ed8}.primary:disabled{opacity:.65;cursor:not-allowed}.secondary{background:#eff6ff;color:#1d4ed8}.ghost{background:#f1f5f9;color:#475569}.wide{width:100%;padding:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metrics.five{grid-template-columns:repeat(5,1fr)}.metric-card,.panel,.search-card,.work-card,.hero,.company-card{background:#fff;border:1px solid #e8edf4;border-radius:16px;box-shadow:0 2px 8px #0f172a06}.metric-card{padding:18px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:12px;font-weight:700}.metric-card strong{display:block;margin-top:14px;font-size:20px;letter-spacing:-.4px}.icon-box{width:36px;height:36px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center;color:#334155}.panel{padding:20px;margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.panel h2{font-size:15px;margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:11px;border-bottom:1px solid #e9eef5}td{font-size:13px;padding:14px 11px;border-bottom:1px solid #f0f3f7;vertical-align:middle}td small{display:block;color:#94a3b8;margin-top:4px}.clickable:hover{background:#f8fafc}.clickable{cursor:pointer}.pill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;white-space:nowrap}.pill.ok{background:#ecfdf5;color:#15803d}.pill.info{background:#eff6ff;color:#1d4ed8}.pill.danger{background:#fef2f2;color:#b91c1c}.pill.muted{background:#f1f5f9;color:#475569}.pill.warning{background:#fffbeb;color:#b45309}.progress{width:100px;height:6px;border-radius:999px;background:#e9eef5;overflow:hidden;display:inline-block;margin-right:8px}.progress span{display:block;height:100%;background:#2563eb;border-radius:inherit}.progress.large{width:100%;height:9px}.big-pct{font-size:28px;color:#2563eb}.search-card{height:54px;padding:0 18px;display:flex;align-items:center;gap:12px;margin-bottom:18px}.search-card svg{color:#94a3b8}.search-card input{border:0;outline:0;width:100%;font-size:14px;background:transparent}.cards-list{display:flex;flex-direction:column;gap:10px}.work-card{width:100%;padding:16px;display:flex;text-align:left;align-items:center;gap:15px}.work-card:hover{border-color:#cbd5e1}.company-avatar,.company-logo{background:#eaf1ff;color:#1d4ed8;font-weight:800;display:grid;place-items:center}.company-avatar{width:45px;height:45px;border-radius:12px;flex:0 0 auto}.large-avatar{width:54px;height:54px}.work-main{flex:1}.work-title{display:flex;gap:10px;align-items:center}.work-title h3{font-size:14px;margin:0}.work-main p{font-size:12px;color:#64748b;margin:5px 0 3px}.work-main small{font-size:10px;color:#94a3b8}.work-value{text-align:right;min-width:150px}.work-value b{display:block;font-size:13px}.work-value span{display:block;color:#64748b;font-size:11px;margin-top:4px}.back{border:0;background:transparent;color:#64748b;padding:0;margin-bottom:18px}.hero{padding:22px;display:flex;align-items:center;gap:18px;margin-bottom:20px}.company-logo{width:74px;height:74px;border-radius:18px;font-size:20px}.hero-main{flex:1}.hero-status{display:flex;gap:10px;align-items:center;margin-bottom:8px}.hero-status>span:last-child{font-size:11px;color:#94a3b8}.hero h1{font-size:23px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.last-measure{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.last-measure strong{font-size:22px}.last-measure>span:last-child{font-size:12px;color:#64748b}.dim{color:#cbd5e1}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.company-card{display:flex;align-items:center;gap:14px;padding:18px}.company-card img{width:58px;height:58px;border-radius:12px;object-fit:contain;border:1px solid #eef2f7}.company-card h3{margin:0;font-size:14px}.company-card p{margin:5px 0;color:#64748b;font-size:12px}.company-card small{color:#94a3b8}.empty{text-align:center;padding:46px 20px;color:#64748b}.empty.compact{padding:24px 10px}.empty svg{color:#94a3b8}.empty h3{color:#334155;font-size:15px;margin:10px 0 4px}.empty p{font-size:13px;margin:0 auto 14px;max-width:420px}.empty button{margin:auto}.mobile-top,.close-menu,.overlay{display:none}.loading-block{display:flex;align-items:center;justify-content:center;gap:12px;color:#64748b;padding:100px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:11px 13px;border-radius:10px;display:flex;align-items:center;gap:9px;font-size:12px}.alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert.success{background:#ecfdf5;color:#15803d;border:1px solid #bbf7d0}.page-alert{margin-bottom:15px}.page-alert button{margin-left:auto;border:0;background:transparent;color:inherit;display:flex;gap:5px;align-items:center;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:100;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 70px #0f172a40}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #edf1f5;position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{margin:0;font-size:18px}.icon-button{border:0;background:#f1f5f9;border-radius:9px;padding:7px;display:grid;place-items:center}.form-grid{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.form-stack label{font-size:12px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:7px}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input{border:1px solid #dce3ec;border-radius:10px;padding:10px 11px;outline:0;background:#fff;color:#0f172a}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.info-box{background:#f8fafc;border:1px solid #e2e8f0;padding:11px;border-radius:10px;color:#64748b;font-size:12px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% -20%,#dbeafe 0,#f5f7fb 42%)}.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e5eaf1;border-radius:22px;padding:28px;box-shadow:0 20px 60px #0f172a14}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.auth-brand h1{font-size:20px;margin:0}.auth-brand p{font-size:12px;color:#64748b;margin:4px 0 0}.auth-tabs{background:#f1f5f9;border-radius:11px;padding:4px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.auth-tabs button{border:0;background:transparent;border-radius:8px;padding:9px;color:#64748b;font-weight:700}.auth-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 1px 4px #0f172a14}.form-stack{display:flex;flex-direction:column;gap:15px}.auth-note{text-align:center;color:#94a3b8;font-size:11px;margin:18px 0 0}.center-screen{min-height:100vh;display:grid;place-items:center}.config-card{width:min(480px,90%);background:#fff;border:1px solid #e5eaf1;border-radius:18px;padding:28px;text-align:center}.config-card svg{color:#f59e0b}.config-card h2{font-size:18px}.config-card p{color:#64748b;font-size:13px}@media(max-width:1100px){.metrics,.metrics.five{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.company-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:.2s}.sidebar.open{transform:translate(0)}.close-menu{display:block;margin-left:auto;background:transparent;color:#94a3b8;border:0}.overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:20}main{margin-left:0;width:100%}.content{padding:20px 14px}.mobile-top{height:56px;background:#fff;border-bottom:1px solid #e8edf4;padding:0 15px;display:flex;align-items:center;gap:12px}.mobile-top button{border:0;background:transparent}.metrics,.metrics.five{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:16px}.page-head{align-items:flex-start}.work-value{display:none}.company-avatar{width:40px;height:40px}.work-title{align-items:flex-start;flex-direction:column;gap:5px}.hero{align-items:flex-start}.company-logo{width:54px;height:54px;border-radius:14px}.hero h1{font-size:19px}.company-grid,.form-grid{grid-template-columns:1fr}.full{grid-column:1}.modal-backdrop{padding:8px;place-items:end center}.modal{max-height:94vh;border-radius:18px 18px 0 0}.page-head .primary{white-space:nowrap}}@media(max-width:430px){.metrics,.metrics.five{grid-template-columns:1fr}.page-head{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.small-action{padding:7px 10px;font-size:11px;white-space:nowrap}.company-info{flex:1;min-width:0}.work-card{cursor:pointer}.company-card{position:relative}@media(max-width:760px){.small-action{padding:7px 9px}.company-card{align-items:flex-start;flex-wrap:wrap}}.company-logo-image{object-fit:contain;background:#fff;border:1px solid #eef2f7;flex:0 0 auto}.company-logo-image.card{width:58px;height:58px;border-radius:12px}.company-logo-image.hero{width:74px;height:74px;border-radius:18px}.field-help{font-size:11px;color:#94a3b8;font-weight:400;line-height:1.35}@media(max-width:760px){.company-logo-image.hero{width:54px;height:54px;border-radius:14px}}.reference-tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700;white-space:nowrap}.link-button{border:0;background:transparent;color:#2563eb;padding:0;display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12px}.link-button:hover{text-decoration:underline}.action-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.negative-value{color:#b91c1c;font-weight:700}.current-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dbe3ed;background:#f8fafc;border-radius:10px}.current-file>div:first-child{display:flex;align-items:center;gap:8px;min-width:0;color:#475569;font-size:12px}.current-file>div:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-text{color:#b91c1c}@media(max-width:760px){.current-file{align-items:flex-start;flex-direction:column}}.metrics.six{grid-template-columns:repeat(6,1fr)}.metrics.seven{grid-template-columns:repeat(7,1fr)}.report-controls{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end;margin-top:0;margin-bottom:20px}.report-controls label{font-size:12px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:7px}.report-controls select,.report-controls input{border:1px solid #dce3ec;border-radius:10px;padding:10px 11px;outline:0;background:#fff;color:#0f172a}.report-controls select:focus,.report-controls input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.report-button{height:40px}.report-metrics{grid-template-columns:repeat(4,1fr)}@media(max-width:1250px){.metrics.six,.metrics.seven{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.report-controls{grid-template-columns:1fr 1fr}.report-button{width:100%}}@media(max-width:760px){.metrics.six,.metrics.seven,.report-metrics{grid-template-columns:1fr 1fr}.report-controls{grid-template-columns:1fr}}@media(max-width:430px){.metrics.six,.metrics.seven,.report-metrics{grid-template-columns:1fr}}.positive-value{color:#15803d}.balance-card-status{margin-top:14px}.balance-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:16px;padding:18px 20px;margin:0 0 18px;border:1px solid}.balance-banner.positive{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.balance-banner.negative{background:#fef2f2;border-color:#fecaca;color:#991b1b}.balance-banner.neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569}.balance-banner>div:first-child span{display:block;font-size:11px;text-transform:uppercase;font-weight:700;opacity:.75}.balance-banner>div:first-child strong{display:block;font-size:17px;margin-top:4px}.balance-equation{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px}.balance-equation strong{font-size:18px}.cost-filter{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:0}.cost-filter label{font-size:12px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:7px;min-width:min(480px,70%)}.cost-filter select{border:1px solid #dce3ec;border-radius:10px;padding:10px 11px;background:#fff}.cost-total{text-align:right}.cost-total span{display:block;color:#64748b;font-size:11px}.cost-total b{display:block;font-size:20px;margin-top:4px}.balance-preview{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:10px 0}.balance-preview span{color:#64748b}.balance-preview b{color:#0f172a;margin-left:5px}@media(max-width:760px){.balance-banner{align-items:flex-start;flex-direction:column}.cost-filter{align-items:stretch;flex-direction:column}.cost-filter label{min-width:100%}.cost-total{text-align:left}.balance-preview{justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:6px}}.cost-nav{position:relative}.cost-nav:not(.active){color:#cbd5e1}.cost-nav:not(.active) svg{color:#60a5fa}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 22px}.cost-primary{border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;padding:10px 14px;background:#0f766e;color:#fff;cursor:pointer}.cost-primary:hover{background:#115e59}.cost-primary:disabled{opacity:.55;cursor:not-allowed}.cost-entry-panel{background:linear-gradient(135deg,#f0fdfa,#fff 68%);border:1px solid #99f6e4;border-radius:18px;padding:22px;box-shadow:0 4px 18px #0f766e12;margin-bottom:18px}.cost-entry-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.cost-entry-title h2{margin:0;font-size:17px}.cost-entry-title p{margin:4px 0 0;color:#64748b;font-size:12px}.cost-entry-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#ccfbf1;color:#0f766e}.cost-entry-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.cost-entry-form label{font-size:12px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:7px}.cost-entry-form select,.cost-entry-form input{height:41px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 11px;background:#fff;outline:0;color:#0f172a}.cost-entry-form select:focus,.cost-entry-form input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #ccfbf1}.cost-save{height:41px;white-space:nowrap}.cost-form-error{margin-top:12px}.compact-select{font-size:11px;font-weight:700;color:#64748b;display:flex;align-items:center;gap:8px}.compact-select select{border:1px solid #dce3ec;border-radius:9px;padding:8px 10px;background:#fff;min-width:260px;color:#0f172a}.cost-summary-grid{grid-template-columns:repeat(4,1fr);margin-bottom:14px}.cost-balance-equation{display:flex;align-items:center;justify-content:center;gap:18px;border-radius:12px;padding:14px;border:1px solid}.cost-balance-equation.positive{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.cost-balance-equation.negative{background:#fef2f2;border-color:#fecaca;color:#991b1b}.cost-balance-equation.neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569}.cost-balance-equation span{text-align:center}.cost-balance-equation small{display:block;font-size:9px;letter-spacing:.05em;opacity:.7}.cost-balance-equation b{display:block;font-size:16px;margin-top:3px}.cost-balance-equation strong{font-size:18px}@media(max-width:1050px){.cost-entry-form{grid-template-columns:1fr 1fr}.cost-save{width:100%}.cost-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.quick-actions>*{flex:1 1 100%}.cost-entry-form{grid-template-columns:1fr}.compact-select{align-items:stretch;flex-direction:column}.compact-select select{min-width:0;width:100%}.cost-summary-grid{grid-template-columns:1fr 1fr}.cost-balance-equation{align-items:stretch;flex-direction:column;gap:8px}.cost-balance-equation strong{transform:rotate(90deg);align-self:center}}@media(max-width:430px){.cost-summary-grid{grid-template-columns:1fr}}
