:root{--pink-50: #fdf2f8;--pink-100: #fce7f3;--pink-200: #fbcfe8;--pink-500: #ec4899;--pink-600: #db2777;--pink-700: #be185d;--ink: #111111;--ink-soft: #1f1f1f;--ink-50: #f6f6f7;--ink-100: #eceef0;--ink-300: #cbd0d5;--ink-500: #6b7280;--ink-700: #374151;--green: #059669;--red: #dc2626;--bg: #fafafa}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:var(--pink-600);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:1rem}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:1.25rem;margin-bottom:1rem;border:1px solid var(--ink-100)}.topbar{background:var(--ink);color:#fff;padding:.75rem 1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:50;border-bottom:2px solid var(--pink-600)}.topbar .brand{font-weight:800;font-size:1.1rem;color:var(--pink-500);margin-right:auto;letter-spacing:.5px}.topbar a{color:#d1d5db;font-weight:500;padding:.4rem .8rem;border-radius:6px;font-size:.95rem}.topbar a.active{color:#fff;background:var(--pink-600)}.topbar a:hover:not(.active){color:#fff;background:var(--ink-soft);text-decoration:none}.topbar .user-info{color:#aaa;font-size:.85rem;padding:0 .5rem;white-space:nowrap}.topbar button{background:transparent;color:#d1d5db;border:1px solid #4b5563;border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-size:.9rem}.topbar button:hover{color:#fff;border-color:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--ink-100);font-size:.93rem}th{font-weight:600;color:var(--ink-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;background:var(--ink-50)}tr:hover td{background:var(--pink-50)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.kpi{background:#fff;border-radius:12px;padding:.9rem 1rem;box-shadow:0 1px 3px #0000000f;border:1px solid var(--ink-100);border-left:3px solid var(--pink-500)}.kpi .label{color:var(--ink-500);font-size:.82rem;font-weight:500}.kpi .value{font-size:1.4rem;font-weight:700;margin-top:.25rem}.kpi .value.neg{color:var(--red)}.kpi .value.pos{color:var(--green)}.btn{background:var(--pink-600);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .15s}.btn:hover{background:var(--pink-700)}.btn:disabled{background:var(--ink-300);cursor:not-allowed}.btn.secondary{background:var(--ink-100);color:var(--ink)}.btn.secondary:hover{background:var(--ink-300)}.btn.danger{background:var(--red)}.btn.danger:hover{background:#b91c1c}.btn.ghost{background:transparent;color:var(--ink-700)}.btn.ghost:hover{background:var(--ink-50)}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink-100),#fff 50%,var(--ink-50));padding:1rem}.login-form{max-width:380px;width:100%;padding:2rem 1.5rem;background:#fff;border-radius:14px;box-shadow:0 10px 40px #be185d1f;border:1px solid var(--pink-100)}.login-form h1{margin:0 0 .25rem;text-align:center;font-size:1.8rem;color:var(--pink-600);letter-spacing:1px}.login-form .sub{text-align:center;color:var(--ink-500);font-size:.9rem;margin-bottom:1.5rem}.login-form label{display:block;color:var(--ink-500);font-size:.85rem;margin-bottom:.25rem;font-weight:500}.login-form input,.login-form select{width:100%;padding:.65rem .85rem;font-size:1rem;border:1px solid var(--ink-300);border-radius:8px;margin-bottom:1rem;background:#fff}.login-form input:focus,.login-form select:focus{outline:2px solid var(--pink-200);border-color:var(--pink-500)}.login-form .error{color:var(--red);font-size:.9rem;margin-bottom:1rem}.login-form .btn{width:100%;padding:.7rem;font-size:1rem}.form-row{display:grid;grid-template-columns:1fr;gap:.6rem;margin-bottom:.75rem}.form-row.two{grid-template-columns:1fr 1fr}.form-row.three{grid-template-columns:1fr 1fr 1fr}@media (max-width: 640px){.form-row.two,.form-row.three{grid-template-columns:1fr}}.form-row label{color:var(--ink-500);font-size:.82rem;font-weight:500;display:block;margin-bottom:.2rem}.form-row input,.form-row select,.form-row textarea{width:100%;padding:.55rem .75rem;font-size:.95rem;border:1px solid var(--ink-300);border-radius:6px;background:#fff;font-family:inherit}.form-row textarea{resize:vertical;min-height:4rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--pink-200);border-color:var(--pink-500)}.status-badge{display:inline-block;padding:.15rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500}.status-badge.active{background:var(--pink-100);color:var(--pink-700)}.status-badge.done{background:#d1fae5;color:#065f46}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.hint{color:var(--ink-500);font-size:.85rem}.error-banner{background:#fee2e2;color:var(--red);padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem}.success-banner{background:#d1fae5;color:#065f46;padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem}@media (max-width: 640px){.container{padding:.75rem}.card{padding:1rem;border-radius:10px}.topbar{padding:.6rem .75rem;gap:.35rem}.topbar .brand{font-size:1rem;width:100%;margin-bottom:.25rem}.topbar a{padding:.3rem .6rem;font-size:.85rem}.topbar .user-info{display:none}table{font-size:.85rem}th,td{padding:.4rem .5rem}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.kpi{padding:.7rem .8rem}.kpi .value{font-size:1.15rem}h3{font-size:1rem}}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.bug-fab{position:fixed;right:1.25rem;bottom:1.25rem;width:52px;height:52px;border-radius:50%;border:none;background:var(--ink);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 6px 16px #00000040;z-index:100;transition:transform .15s,background .15s}.bug-fab:hover{background:var(--pink-600);transform:scale(1.08)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:200;padding:1rem}.modal{background:#fff;border-radius:14px;padding:1.5rem;max-width:520px;width:100%;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}@media (max-width: 640px){.bug-fab{right:.75rem;bottom:.75rem;width:46px;height:46px;font-size:1.25rem}.modal{padding:1.25rem;border-radius:12px}}
