:root{--sidebar-width:220px;--color-bg:#f8f9fa;--color-sidebar:#1a1f2e;--color-sidebar-hover:#252b3d;--color-sidebar-active:#2d6a4f;--color-text:#212529;--color-text-muted:#6c757d;--color-text-light:#adb5bd;--color-white:#fff;--color-primary:#2d6a4f;--color-primary-light:#40916c;--color-border:#dee2e6;--color-danger:#dc3545;--color-warning:#ffc107;--color-success:#198754;--radius:6px;--shadow-sm:0 1px 3px #00000014}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text);background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar);color:var(--color-white);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:20px 16px}.logo{letter-spacing:2px;color:var(--color-white);font-size:18px;font-weight:700}.logo-sub{color:var(--color-text-light);letter-spacing:.5px;margin-top:2px;font-size:11px;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:4px 8px;display:flex;overflow-y:auto}.nav-section-header{letter-spacing:.5px;color:#666;padding:16px 0 4px 16px;font-size:10px;font-weight:600}.nav-link{color:var(--color-text-light);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{background:var(--color-sidebar-hover);color:var(--color-white)}.nav-link-active{background:var(--color-sidebar-active);color:var(--color-white);font-weight:500}.nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-footer{border-top:1px solid #ffffff1a;padding:12px 16px}.version{color:var(--color-text-light);font-size:11px}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:24px 32px}.page-header{margin-bottom:24px}.page-header h2{color:var(--color-text);font-size:22px;font-weight:600}.page-header p{color:var(--color-text-muted);margin-top:4px;font-size:14px}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:2px solid var(--color-border);padding:10px 12px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);padding:10px 12px}.data-table tr:hover{background:#f1f3f5}.badge{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-active{color:#087f23;background:#d3f9d8}.badge-inactive{color:#6c757d;background:#f1f3f5}.badge-proposed{color:#1971c2;background:#e7f5ff}.badge-contracted{color:#e67700;background:#fff3bf}.badge-signed{color:#087f23;background:#d3f9d8}.badge-completed{color:#6c757d;background:#f1f3f5}.badge-canceled{color:#c92a2a;background:#ffe3e3}
