*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--teal-50:#e1f5ee;--teal-100:#9fe1cb;--teal-400:#1d9e75;--teal-600:#0f6e56;--teal-800:#085041;--gray-50:#f8f8f7;--gray-100:#f1efe8;--gray-200:#d3d1c7;--gray-400:#888780;--gray-700:#444441;--gray-900:#1a1a19;--red-50:#fcebeb;--red-400:#e24b4a;--red-600:#a32d2d;--amber-50:#faeeda;--amber-400:#ef9f27;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--sidebar-width:240px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6;color:var(--gray-900);background:var(--gray-100);min-height:100vh;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:var(--radius-md);border:none;background:var(--teal-600);color:#fff;font-size:14px;font-weight:500;transition:background .15s,transform .1s;min-height:44px;touch-action:manipulation;text-decoration:none}.btn-primary:hover{background:var(--teal-800)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-size:14px;transition:border-color .15s,background .15s;min-height:44px;touch-action:manipulation;text-decoration:none}.btn-secondary:hover{border-color:var(--gray-400);background:var(--gray-50)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-md);border:none;background:var(--red-400);color:#fff;font-size:14px;min-height:44px;touch-action:manipulation}.btn-danger:hover{background:var(--red-600)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:20px}.card,.input{background:#fff}.input{width:100%;padding:11px 12px;border-radius:var(--radius-md);border:1px solid var(--gray-200);font-size:16px;font-family:inherit;color:var(--gray-900);transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{outline:none;border-color:var(--teal-400)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-50)}.label{display:block;font-size:13px;color:var(--gray-400);margin-bottom:5px}.badge,.label{font-weight:500}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px}.badge-green{background:var(--teal-50);color:var(--teal-800)}.badge-amber{background:var(--amber-50);color:#633806}.badge-red{background:var(--red-50);color:var(--red-600)}.badge-gray{background:var(--gray-100);color:var(--gray-400)}.error-msg{color:var(--red-400)}.error-msg,.success-msg{font-size:13px;margin-top:6px}.success-msg{color:var(--teal-600)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spinner{animation:spin .8s linear infinite}.pulsing{animation:pulse 1.2s ease-in-out infinite}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:14px;gap:14px}.dashboard-layout{display:flex;min-height:100vh}.dashboard-main{margin-left:var(--sidebar-width);flex:1 1;padding:32px 36px;min-height:100vh}@media (max-width:768px){.dashboard-main{margin-left:0;padding:16px 16px 80px}.grid-2{grid-template-columns:1fr}.grid-auto{grid-template-columns:1fr 1fr}.card{padding:16px}.btn-danger,.btn-primary,.btn-secondary{width:100%;justify-content:center}.btn-row{flex-direction:column}}@media (max-width:400px){.grid-auto{grid-template-columns:1fr}}