@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{--ink:#20252a;--muted:#7d858c;--line:#e5e9ec;--panel:#fff;--bg:#f8fafb;--teal:#25c7b4;--teal-soft:#e9fbf8;--amber:#f4bd55;--red:#e56c73}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:13px}
a{color:inherit}.app-shell{min-height:100vh;display:flex}
.sidebar{width:220px;min-width:220px;background:#fff;border-right:1px solid var(--line);min-height:100vh;padding:25px 14px 18px;display:flex;flex-direction:column}
.brand{height:43px;display:flex;align-items:center;gap:8px;font-size:21px;font-weight:800;color:#2aaf9f;padding:0 10px}
.brand>div:last-child span{font-weight:500}
.brand-mark{width:23px;height:23px;position:relative;display:flex;gap:2px;align-items:flex-end}
.brand-mark span{display:block;width:6px;border-radius:7px;background:#2cc9b4}.brand-mark span:nth-child(1){height:13px}.brand-mark span:nth-child(2){height:20px}.brand-mark span:nth-child(3){height:16px}
.sidebar-user{margin:22px 8px 20px;padding:11px 10px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:9px}
.avatar{width:31px;height:31px;border-radius:50%;background:#eef1f4;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#606870}
.sidebar-user strong{display:block;font-size:11px}.sidebar-user small{display:block;color:#9aa1a7;font-size:9px;margin-top:2px}
.nav-label,.nav-group-title{font-size:9px;letter-spacing:.1em;color:#a0a6ab;font-weight:700;padding:0 11px 8px}
.nav-group-title{margin-top:20px}
.sidebar-nav{display:flex;flex-direction:column;gap:3px}
.sidebar-nav a{display:flex;align-items:center;gap:11px;text-decoration:none;color:#71787e;padding:9px 11px;border-radius:7px;font-weight:500}
.sidebar-nav a:hover{background:#f6f8f9;color:#333}.sidebar-nav a.active{background:var(--teal-soft);color:#16ad9d;box-shadow:inset 0 0 0 1px #c9f0ea;font-weight:600}
.nav-icon{width:16px;text-align:center;font-size:15px;line-height:1;color:inherit}.sidebar-bottom{margin-top:auto;padding:0 11px}.sidebar-bottom a{text-decoration:none;color:#777;display:flex;gap:11px;align-items:center;font-weight:600}

.main-content{flex:1;min-width:0;padding:27px 42px 55px;max-width:1700px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.eyebrow{font-size:9px;letter-spacing:.12em;color:#a1a7ac;font-weight:700;margin-bottom:4px}.page-title{font-size:24px;line-height:1.15;font-weight:700;margin:0;color:#282e33}.page-subtitle{font-size:11px;color:#8a9298;margin:6px 0 0}
.top-actions{display:flex;align-items:center;gap:10px}.search-box{height:34px;width:185px;border:1px solid var(--line);border-radius:7px;background:#fff;display:flex;align-items:center;padding:0 9px}.search-box span{font-size:19px;color:#969da3;transform:rotate(-20deg);margin-right:7px}.search-box input{border:0;outline:0;width:100%;font-size:11px;background:transparent}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:7px;padding:9px 14px;border:1px solid transparent;font-size:11px;font-weight:600;cursor:pointer}.btn-primary{background:#1f282d;color:#fff}.btn-primary:hover{background:#111;color:#fff}.btn-secondary{background:#fff;border-color:#d7dce0;color:#5e666c}.profile-chip{display:flex;align-items:center;gap:7px;padding-left:4px;font-size:10px;font-weight:600}.profile-chip .avatar{width:29px;height:29px}
.alert{font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:13px;margin-bottom:22px}.stat-card{text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;min-height:82px;padding:16px;display:flex;align-items:center;gap:13px;transition:.15s}.stat-card:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(30,40,45,.05)}.stat-card span{display:block;color:#8a9197;font-size:10px;margin-bottom:5px}.stat-card strong{font-size:21px;line-height:1}.stat-icon{width:38px;height:38px;border-radius:10px;background:#f1f4f6;display:flex;align-items:center;justify-content:center;color:#6e767d;font-size:17px}.stat-icon.teal{background:#e8faf7;color:#19b6a4}.stat-icon.amber{background:#fff7e7;color:#d79b35}.stat-icon.red{background:#fff0f1;color:#dc6a72}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:15px}.filter-tabs{display:flex;gap:18px}.filter-tabs a{padding:9px 1px 10px;text-decoration:none;color:#90979d;font-size:10px;font-weight:600;border-bottom:2px solid transparent}.filter-tabs a.active{color:#262c31;border-bottom-color:#20bba9}.project-count{font-size:10px;color:#a0a6ab}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:14px;max-width:1100px}.modern-card{border:1px solid var(--line);border-radius:11px;background:#fff;min-height:265px;overflow:hidden}.card-main-link{display:block;text-decoration:none;padding:16px;height:100%}.card-top{display:flex;justify-content:space-between;align-items:center}.project-avatar{width:34px;height:34px;border-radius:9px;background:#eef3f4;color:#647177;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:12px}.modern-card h2{font-size:14px;margin:13px 0 5px;font-weight:700;color:#2a3035}.project-description{font-size:10px;color:#91989d;line-height:1.5;min-height:30px;margin:0 0 14px}.status-pill{font-size:8px;padding:5px 8px;border-radius:20px;font-weight:700}.status-in-progress{background:#e8faf7;color:#18aa9b}.status-pending{background:#fff6e6;color:#cc9335}.status-completed{background:#edf2f5;color:#5d6970}.status-overdue{background:#fff0f1;color:#d35e67}
.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #f0f2f3;padding-top:12px}.project-meta span,.progress-label span{display:block;font-size:8px;color:#9ba2a7;margin-bottom:4px}.project-meta strong,.progress-label strong{font-size:10px;color:#42494e}.progress-label{display:flex;justify-content:space-between;margin-top:13px}.progress-track{height:4px;background:#edf0f1;border-radius:9px;overflow:hidden;margin-top:5px}.progress-track span{display:block;height:100%;background:#28c3b2;border-radius:9px}.card-footer{display:flex;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid #f0f2f3;color:#a0a6ab;font-size:8px}.card-footer span:last-child{color:#6d767c;font-weight:600}
.empty-state{grid-column:1/-1;border:1px dashed #cfd5d9;border-radius:10px;background:#fff;padding:50px;text-align:center;color:#8a9298;display:flex;flex-direction:column;gap:7px}.empty-state strong{font-size:14px;color:#4d555b}
.form-card{max-width:920px;border:1px solid var(--line);border-radius:11px;padding:25px;background:#fff}.modern-form .form-label{font-size:10px;color:#6d767c;font-weight:600;margin-bottom:7px}.form-control,.form-select{border-color:#d9dee1;border-radius:6px;font-size:12px;padding:9px 11px}.form-control:focus,.form-select:focus{border-color:#9dcfc8;box-shadow:0 0 0 .15rem rgba(37,199,180,.12)}.form-actions{display:flex;gap:8px;margin-top:24px}.small-link{font-size:10px;color:#8d959a;margin-bottom:6px}.small-link a{text-decoration:none}.narrow-page{max-width:1300px}
.payment-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:1100px}.payment-columns section{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.payment-columns section+section{border-left:1px solid var(--line);padding-left:15px}.section-title-row{display:flex;align-items:center;justify-content:space-between;min-height:38px}.section-title-row h2{margin:0;font-size:14px;font-weight:700}.plus-circle{text-decoration:none;font-size:21px;color:#333}.table-wrap{overflow-x:auto}.payment-table,.bank-table{margin:0;border:1px solid #e1e5e7;font-size:10px}.payment-table th,.payment-table td,.bank-table th,.bank-table td{border:1px solid #e1e5e7;vertical-align:middle;padding:7px 8px}.payment-table thead th,.bank-table thead th{background:#f7f9fa;font-weight:600}.actions{white-space:nowrap;text-align:center}.actions a{text-decoration:none;font-size:15px;margin:0 3px}.danger-link{color:#777}.total-box{font-size:12px;font-weight:700;color:#555;padding:12px 3px 0}.project-note{max-width:1100px;margin-top:15px;color:#727a80;font-size:11px}.bank-tabs{display:flex;gap:15px;margin-top:10px}.bank-tabs a{text-decoration:none;color:#777;padding-bottom:5px;border-bottom:2px solid transparent}.bank-tabs a.active{color:#222;border-bottom-color:#20bba9;font-weight:600}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f8f9}.login-card{width:390px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 14px 40px rgba(30,40,45,.05)}.login-card h1{margin:0;font-size:25px;color:#252c31}.login-subtitle{color:#8b9398;margin:8px 0 28px;font-size:12px}.login-card .form-label{font-size:10px;font-weight:600;color:#6c747a}.login-card .form-control{height:42px}.login-card .btn-dark{border-radius:7px;background:#20282d;border-color:#20282d}

@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.top-actions .profile-chip{display:none}}
@media(max-width:850px){.sidebar{width:185px;min-width:185px;padding-left:10px;padding-right:10px}.main-content{padding:22px 20px}.topbar{flex-direction:column}.top-actions{width:100%}.search-box{flex:1}.payment-columns{grid-template-columns:1fr}.payment-columns section+section{padding-left:15px;border-left:1px solid var(--line)}}
@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;min-width:0;min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px}.sidebar-user{margin:12px 4px}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-nav a{padding:7px 9px}.nav-group-title{display:none}.sidebar-bottom{margin-top:12px}.stats-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.main-content{padding:18px 14px}.filter-tabs{gap:10px;overflow:auto}.top-actions{flex-wrap:wrap}.search-box{width:100%}}

/* Project table */
.project-list-table-wrap { overflow-x: auto; }
.project-list-table { min-width: 980px; }
.project-list-table thead th, .amount-table thead th {
    background: #f7f8fa;
    color: #6b7280;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    padding: 14px 16px;
}
.project-list-table tbody td, .amount-table tbody td { padding: 16px; border-bottom: 1px solid #eef0f3; }
.project-row { cursor: pointer; transition: background .15s ease; }
.project-row:hover { background: #fafafa; }
.project-row td:first-child { color: #111827; }
.empty-table { text-align:center; padding:45px 20px !important; color:#777; }

/* Project details */
.project-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.project-info-grid span { display:block; font-size:12px; color:#7b8190; margin-bottom:4px; }
.project-info-grid strong { display:block; color:#17191d; }
.project-description-note { margin-top:22px; padding-top:18px; border-top:1px solid #e9ebef; }

/* Amounts to be paid */
.amount-summary-card { display:flex; align-items:center; justify-content:space-between; gap:20px; background:#17191d; color:#fff; border-radius:18px; padding:24px 28px; margin-bottom:22px; }
.amount-summary-card span { display:block; opacity:.72; font-size:13px; margin-bottom:5px; }
.amount-summary-card strong { font-size:30px; letter-spacing:-.02em; }
.summary-note { font-size:13px; opacity:.75; }
.amount-table-wrap { overflow-x:auto; }
.amount-table { min-width:850px; }
.amount-table tfoot th { background:#f7f8fa; padding:16px; border-top:2px solid #dee2e6; }
.table-project-link { display:block; color:#17191d; text-decoration:none; font-weight:600; }
.table-project-link:hover { text-decoration:underline; }
.amount-table td small { color:#8a909a; display:block; margin-top:3px; }

@media (max-width: 900px) {
    .project-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .project-info-grid { grid-template-columns:1fr; }
    .amount-summary-card { align-items:flex-start; flex-direction:column; }
}

/* Dashboard and finance additions */
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 24px}
.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px}
.dashboard-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.dashboard-card-head h2,.dashboard-section-title h2{font-size:14px;margin:0;font-weight:700}
.dashboard-card-head a{font-size:10px;color:#6d767c;text-decoration:none}
.dashboard-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dashboard-finance-grid div{border-top:1px solid #eef0f2;padding-top:10px}
.dashboard-finance-grid span{display:block;font-size:9px;color:#92999f;margin-bottom:5px}
.dashboard-finance-grid strong{font-size:15px}
.dashboard-section-title{margin-top:5px}
.dashboard-section-title .btn-secondary{font-size:10px;padding:7px 11px}
.bank-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}
.bank-summary-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.bank-summary-card span{display:block;color:#8a9197;font-size:10px;margin-bottom:6px}
.bank-summary-card strong{font-size:20px}
.transfer-type,.note-status{display:inline-block;padding:5px 8px;border-radius:20px;font-size:8px;font-weight:700}
.transfer-inward,.note-done{background:#e8faf7;color:#18aa9b}
.transfer-outward,.note-pending{background:#fff6e6;color:#c78e2f}
.form-help{font-size:10px;color:#8a9298;margin:-8px 0 18px}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.bank-summary-grid{grid-template-columns:1fr}.dashboard-finance-grid{grid-template-columns:1fr 1fr}}

/* Payment tabs */
.payment-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;max-width:1100px}
.payment-tab{appearance:none;border:1px solid transparent;background:transparent;color:#7b8389;font-size:12px;font-weight:600;padding:11px 18px;margin-bottom:-1px;border-radius:8px 8px 0 0;cursor:pointer}
.payment-tab:hover{color:#24292d;background:#f7f9fa}
.payment-tab.active{color:#202529;background:#fff;border-color:var(--line);border-bottom-color:#fff}
.payment-tab-panel{max-width:1100px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}
.payment-tab-panel[hidden]{display:none!important}
.project-pdf-link{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid #d8dde1;border-radius:6px;color:#333;text-decoration:none;font-size:10px;font-weight:700;background:#fff}
.project-pdf-link:hover{background:#f5f6f7}
@media(max-width:650px){.payment-tabs{overflow-x:auto}.payment-tab{white-space:nowrap}.payment-tab-panel{padding:10px}}


/* Project list download */
.project-toolbar-actions{display:flex;align-items:center;gap:12px}
.download-table-btn{padding:7px 11px;font-size:10px;white-space:nowrap}
@media(max-width:650px){.project-toolbar{align-items:flex-start;gap:10px;flex-direction:column}.project-toolbar-actions{width:100%;justify-content:space-between}.download-table-btn{padding:7px 10px}}
