*{box-sizing:border-box}:root{--pink: #f8c4c4;--pink-dark: #e88b8b;--pink-bg: #fdeef0;--text: #222;--muted: #6b7280;--border: #e5e7eb;--green: #16a34a;--red: #dc2626;--amber: #d97706;--blue: #2563eb}html,body,#root{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--text);background:#fafafa}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--pink-bg)}.login-card{background:#fff;padding:32px 36px;border-radius:16px;box-shadow:0 8px 30px #00000014;width:360px}.login-card img{height:56px;display:block;margin:0 auto 12px}.login-card h1{margin:0 0 4px;text-align:center;font-size:20px}.login-card p{margin:0 0 20px;text-align:center;color:var(--muted);font-size:13px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:18px 14px;position:sticky;top:0;height:100vh}.sidebar .logo{display:flex;align-items:center;gap:8px;padding:0 6px 14px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar .logo img{height:36px}.sidebar .logo b{font-size:15px}.sidebar nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:14px;margin:2px 0}.sidebar nav a.active,.sidebar nav a:hover{background:var(--pink-bg);color:var(--pink-dark);font-weight:600}.sidebar .user{position:absolute;bottom:16px;left:14px;right:14px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}.sidebar .user button{margin-top:6px;background:none;border:1px solid var(--border);padding:4px 8px;border-radius:6px;cursor:pointer;width:100%}.content{padding:24px 32px;overflow:auto;max-width:100%}.content h1{margin:0 0 20px;font-size:22px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar input,.toolbar select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff}.toolbar .spacer{flex:1}button,.btn{padding:8px 14px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}button.primary,.btn.primary{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff}button.primary:hover{filter:brightness(1.05)}button.ghost{background:transparent}button.danger{color:var(--red);border-color:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:600}input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;background:#fff}textarea{min-height:80px;resize:vertical}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border)}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}th{background:#fafafa;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}tr:last-child td{border-bottom:none}tr:hover td{background:#fcfcfc}td.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge.active{background:#dcfce7;color:var(--green)}.badge.left{background:#fee2e2;color:var(--red)}.badge.paid{background:#dcfce7;color:var(--green)}.badge.unpaid{background:#fee2e2;color:var(--red)}.badge.partial{background:#fef3c7;color:var(--amber)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.kpi .value{font-size:26px;font-weight:700;margin-top:4px}.link{color:var(--blue);text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline}.error{background:#fee2e2;color:var(--red);padding:10px 14px;border-radius:8px;font-size:13px;margin:10px 0}.success{background:#dcfce7;color:var(--green);padding:10px 14px;border-radius:8px;font-size:13px;margin:10px 0}.invoice-wrap{max-width:680px;margin:20px auto;background:#fff;padding:40px;border:1px solid var(--border);border-radius:12px}.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.invoice-top img{height:64px}.invoice-top .biz{font-size:12px;color:var(--muted);line-height:1.6}.invoice-top .date{font-size:12px;color:var(--muted);text-align:right}.invoice-meta{margin:18px 0;font-size:13px}.invoice-meta div{margin:2px 0}.invoice-title{text-align:center;font-size:22px;font-weight:700;margin:20px 0 14px}table.invoice{border:none;border-radius:0;overflow:visible}table.invoice thead tr{background:var(--pink)}table.invoice thead th{background:var(--pink);color:#5a2a2a;font-size:12px;padding:12px;text-align:left;text-transform:none;letter-spacing:0}table.invoice tbody td{background:var(--pink-bg);padding:14px 12px;border-bottom:4px solid white;font-size:13px}table.invoice tbody tr:last-child td{border-bottom:none}table.invoice tfoot td{background:var(--pink);padding:12px;font-weight:700;font-size:13px}.invoice-foot{margin-top:32px;font-style:italic;color:#666}.invoice-no{text-align:right;font-size:12px;color:var(--muted);margin-bottom:8px}.mobile-hamburger{display:none;position:fixed;top:14px;left:14px;z-index:60;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:18px;box-shadow:0 2px 6px #0000001a}@media (max-width: 720px){.app{grid-template-columns:1fr}.mobile-hamburger{display:block}.sidebar{position:fixed;top:0;left:0;height:100vh;width:240px;transform:translate(-100%);transition:transform .2s ease;z-index:55;box-shadow:2px 0 12px #0000001a}.sidebar.open{transform:translate(0)}.content{padding:60px 16px 24px}.kpis{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}table{font-size:12px}th,td{padding:8px}.invoice-wrap{padding:20px}.invoice-top{flex-direction:column;gap:14px}.invoice-top .date{text-align:left}}@media print{.sidebar,.toolbar,.no-print,.mobile-hamburger{display:none!important}.app{display:block}.content{padding:0}.invoice-wrap{border:none;box-shadow:none;margin:0;padding:20px;max-width:100%}body{background:#fff}}
