.login-page{align-items:center;background:var(--purple-dark);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);max-width:380px;padding:40px;text-align:center;width:100%}.login-logo{display:flex;justify-content:center;margin-bottom:20px}.login-card h1{font-size:20px;font-weight:600;margin-bottom:10px}.login-card p{color:var(--gray-500);font-size:14px;line-height:1.5;margin-bottom:28px}.login-btn{display:block;font-size:15px;padding:11px;width:100%}.app-shell{display:flex;min-height:100vh}.sidebar{background:#fff;bottom:0;display:flex;flex-direction:column;flex-shrink:0;left:0;position:fixed;top:0;width:240px;z-index:100}.sidebar-logo{align-items:center;color:var(--purple-dark);display:flex;font-size:13px;font-weight:700;gap:10px;line-height:1.3;padding:22px 20px 18px}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto;padding:8px 14px}.sidebar-nav,.sidebar-nav-bottom,.sidebar-nav-top{display:flex;flex-direction:column;gap:6px}.sidebar-nav-bottom{padding-bottom:8px}.nav-item{align-items:center;border-radius:var(--radius);color:var(--gray-500);display:flex;font-size:14px;font-weight:400;gap:11px;padding:11px 14px;text-decoration:none;transition:background .12s,color .12s}.nav-item:hover{background:var(--gray-100);color:var(--gray-700);text-decoration:none}.nav-item.active{background:var(--gray-100);color:var(--gray-900);font-weight:500}.sidebar-user{gap:10px;padding:16px 20px}.sidebar-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:var(--purple);border-radius:50%;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.user-info{flex:1 1;min-width:0}.user-name{font-size:13px;font-weight:500}.user-name,.user-upn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-upn{color:var(--gray-500);font-size:11px}.main-content{flex:1 1;margin-left:240px;max-width:1200px;padding:32px 36px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.page-title{color:var(--gray-900);font-size:22px;font-weight:600}.page-subtitle{color:var(--gray-500);font-size:13px;margin-top:3px}.ms-signin-btn{align-items:center;background:#fff;border:1px solid #8c8c8c;border-radius:4px;color:#5e5e5e;cursor:pointer;display:inline-flex;font-family:Segoe UI,system-ui,sans-serif;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:10px 20px;text-decoration:none;transition:background .15s;width:100%}.ms-signin-btn:hover{background:#f3f3f3;color:#5e5e5e;text-decoration:none}.nav-item[style*="cursor: default"]:hover,.nav-item[style*="cursor:default"]:hover{background:#0000;cursor:default}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--purple:#534ab7;--purple-dark:#3c3489;--purple-mid:#7f77dd;--purple-light:#eeedfe;--purple-hover:#f5f4fe;--green:#107c10;--green-light:#dff6dd;--orange:#ed8732;--orange-light:#fef0e0;--red:#a4262c;--red-light:#fde7e9;--page-bg:#f7f6fb;--gray-50:#fafafa;--gray-100:#f3f2f8;--gray-200:#eae9f1;--gray-300:#d6d4e0;--gray-500:#8b899a;--gray-700:#55535f;--gray-900:#2e2c38;--radius:10px;--radius-lg:20px;--radius-pill:999px;--shadow:0 8px 24px #2e2c3814,0 2px 6px #2e2c380d;--shadow-md:0 8px 24px #2e2c3814,0 2px 6px #2e2c380d;--font:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--blue:var(--purple);--blue-dark:var(--purple-dark);--blue-light:var(--purple-light)}body{-webkit-font-smoothing:antialiased;background:#f7f6fb;background:var(--page-bg);color:#2e2c38;color:var(--gray-900);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:14px;line-height:1.55}h1,h2,h3{font-weight:600;letter-spacing:-.01em}a{color:#534ab7;color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button{border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:14px;transition:background .15s,opacity .15s,transform .1s}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{background:#f3f2f8;background:var(--gray-100);border:none;border-radius:10px;border-radius:var(--radius);color:#2e2c38;color:var(--gray-900);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:14px;outline:none;padding:9px 12px;transition:box-shadow .15s,background .15s;width:100%}input:focus,select:focus,textarea:focus{background:#fff;box-shadow:0 0 0 2px #7f77dd;box-shadow:0 0 0 2px var(--purple-mid)}input::placeholder,textarea::placeholder{color:#8b899a;color:var(--gray-500)}label{color:#55535f;color:var(--gray-700);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.card{background:#fff;border-radius:20px;border-radius:var(--radius-lg);padding:24px 28px}.btn-primary{background:#534ab7;background:var(--purple);border-radius:999px;border-radius:var(--radius-pill);color:#fff;font-weight:500;padding:10px 20px}.btn-primary:hover{background:#3c3489;background:var(--purple-dark)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#f3f2f8;background:var(--gray-100);border-radius:999px;border-radius:var(--radius-pill);color:#55535f;color:var(--gray-700);font-weight:500;padding:10px 20px}.btn-secondary:hover{background:#eae9f1;background:var(--gray-200)}.btn-secondary:active{transform:scale(.98)}.btn-danger{background:#fde7e9;background:var(--red-light);border-radius:999px;border-radius:var(--radius-pill);color:#a4262c;color:var(--red);font-weight:500;padding:7px 16px}.btn-danger:hover{background:#fbd0d3}.btn-ghost{background:#0000;border-radius:10px;border-radius:var(--radius);color:#8b899a;color:var(--gray-500);padding:6px 10px}.btn-ghost:hover{background:#f3f2f8;background:var(--gray-100);color:#55535f;color:var(--gray-700)}.badge{align-items:center;border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 11px}.badge-ok{background:#dff6dd;background:var(--green-light);color:#107c10;color:var(--green)}.badge-due{background:#fef0e0;background:var(--orange-light);color:#7a3c00}.badge-overdue{background:#fde7e9;background:var(--red-light);color:#a4262c;color:var(--red)}.badge-info{background:#eeedfe;background:var(--purple-light);color:#3c3489;color:var(--purple-dark)}.badge-neutral{background:#f3f2f8;background:var(--gray-100);color:#55535f;color:var(--gray-700)}.form-group{margin-bottom:18px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px}.spinner{animation:spin .6s linear infinite;border:2px solid #eae9f1;border-top-color:#534ab7;border:2px solid var(--gray-200);border-radius:50%;border-top-color:var(--purple);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{color:#8b899a;color:var(--gray-500);padding:56px 24px;text-align:center}.empty-state h3{color:#2e2c38;color:var(--gray-900);font-size:16px;font-weight:600;margin-bottom:6px}.modal-backdrop{align-items:center;background:#2e2c3859;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal{background:#fff;border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #2e2c3814,0 2px 6px #2e2c380d;box-shadow:var(--shadow-md);max-height:96vh;max-width:1040px;overflow-y:auto;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:20px 28px}.modal-header h2{font-size:16px;font-weight:600}.modal-body{padding:8px 28px 28px}.dropdown-list{background:#fff;border-radius:10px;border-radius:var(--radius);box-shadow:0 8px 24px #2e2c3814,0 2px 6px #2e2c380d;box-shadow:var(--shadow-md);left:0;max-height:220px;overflow-y:auto;position:absolute;top:calc(100% + 6px);width:100%;z-index:200}.dropdown-item{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 14px}.dropdown-item:hover{background:#f5f4fe;background:var(--purple-hover)}.dropdown-item .name{font-size:13px;font-weight:500}.dropdown-item .sub{color:#8b899a;color:var(--gray-500);font-size:12px}
/*# sourceMappingURL=main.2d16fc96.css.map*/