@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");:root{--primary:#55d07a;--primary-dark:#3db862;--primary-light:#e8f9ed;--sidebar:#353242;--sidebar-hover:#454254;--sidebar-active-bg:rgba(85,208,122,0.12);--sidebar-text:#c8c7d4;--sidebar-text-muted:#9a99aa;--bg:#f4faf5;--card:#ffffff;--text:#353242;--muted:#7c7b8e;--accent:#fa8669;--accent-hover:#e87052;--green:#55d07a;--yellow:#e8b84a;--red:#e85555;--gray:#a8a7b8;--border:#e5ebe6;--login-bg:#e8ece9;--table-head:#f0f7f2;--blue:var(--primary)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--primary-dark);text-decoration:none}a:hover{color:var(--accent)}.btn,button{background:linear-gradient(180deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;border:none;border-radius:6px;padding:.6rem 1.25rem;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:filter .15s ease,box-shadow .15s ease}.btn:hover:not(:disabled),button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 12px rgba(85,208,122,.35)}button:disabled{opacity:.6;cursor:not-allowed}.btn.secondary,button.secondary{background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.secondary:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--primary-light);color:var(--primary-dark);border-color:var(--primary);filter:none;box-shadow:none}.sidebar .btn.secondary,.sidebar button.secondary{background:transparent;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.15)}.sidebar .btn.secondary:hover:not(:disabled),.sidebar button.secondary:hover:not(:disabled){background:var(--sidebar-hover);color:#fff;border-color:rgba(255,255,255,.25)}input,select,textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:6px;font:inherit;background:var(--card);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(85,208,122,.2)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px rgba(53,50,66,.06)}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--sidebar);color:var(--sidebar-text);padding:1.5rem 1rem;display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem}.sidebar-brand img{width:36px;height:36px;border-radius:8px}.sidebar-brand h1{font-size:1.15rem;font-weight:700;margin:0;color:#fff;letter-spacing:.02em}.sidebar-user{font-size:.82rem;color:var(--sidebar-text-muted);margin:0 0 1.25rem .35rem}.sidebar nav{flex:1 1}.sidebar nav a{display:block;color:var(--sidebar-text);padding:.55rem .85rem;border-radius:6px;margin-bottom:.15rem;font-size:.88rem;font-weight:500;border-left:3px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar nav a:hover{background:var(--sidebar-hover);color:#fff}.sidebar nav a.active{background:var(--sidebar-active-bg);color:var(--primary);border-left-color:var(--primary)}.sidebar-logout{margin-top:auto;padding-top:1rem}.main{flex:1 1;padding:1.75rem 2rem;min-width:0}.main h2{margin-top:0;font-weight:700;color:var(--text)}.grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text)}.stat-label{color:var(--muted);font-size:.88rem}table{width:100%;border-collapse:collapse;background:var(--card);border-radius:10px;overflow:hidden;border:1px solid var(--border)}td,th{padding:.75rem 1rem;border-bottom:1px solid var(--border);text-align:left}th{background:var(--table-head);font-size:.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(85,208,122,.04)}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.badge.green{background:var(--primary-light);color:var(--primary-dark)}.badge.red{background:#fde8e8;color:var(--red)}.badge.yellow{background:#fef6e0;color:#b8860b}.badge.blue{background:var(--primary-light);color:var(--primary-dark)}.form{display:grid;grid-gap:.85rem;gap:.85rem;max-width:480px}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--login-bg);padding:1.5rem}.login-box{width:min(420px,92vw);background:var(--card);border-radius:10px;padding:2.5rem 2.25rem;box-shadow:0 8px 32px rgba(53,50,66,.1);border:1px solid var(--border)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.login-logo img{width:64px;height:64px;border-radius:12px}.login-logo span{font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:.03em}.login-title{text-align:center;font-size:1.1rem;font-weight:600;color:var(--muted);margin:0 0 1.75rem;text-transform:uppercase;letter-spacing:.08em}.login-form{display:grid;grid-gap:1.1rem;gap:1.1rem;max-width:none}.login-form label{display:grid;grid-gap:.4rem;gap:.4rem}.login-form label span{font-size:.82rem;font-weight:500;color:var(--muted)}.btn-login{width:100%;margin-top:.5rem;padding:.85rem;font-size:.95rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:6px}.login-switch{margin-top:1.25rem;text-align:center}.login-switch button.secondary{background:transparent;color:var(--muted);border:none;font-size:.85rem;font-weight:500;padding:.4rem;box-shadow:none}.login-switch button.secondary:hover{color:var(--accent);background:transparent}.login-error{color:var(--red);margin:0;font-size:.85rem;text-align:center}